OMAPDSS: provide default get_timings function for panels
With this we can eliminate some duplicate code in panel drivers. Also lgphilips-lb035q02, nec-nl8048hl11-01b, picodlp and tpo-td043mtea1 gain support of reading timings over sysfs. Signed-off-by: Grazvydas Ignotas <notasas@gmail.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
This commit is contained in:
parent
f3fb3bbc7f
commit
4b6430fc98
@ -738,12 +738,6 @@ static void acx_panel_set_timings(struct omap_dss_device *dssdev,
|
||||
}
|
||||
}
|
||||
|
||||
static void acx_panel_get_timings(struct omap_dss_device *dssdev,
|
||||
struct omap_video_timings *timings)
|
||||
{
|
||||
*timings = dssdev->panel.timings;
|
||||
}
|
||||
|
||||
static int acx_panel_check_timings(struct omap_dss_device *dssdev,
|
||||
struct omap_video_timings *timings)
|
||||
{
|
||||
@ -761,7 +755,6 @@ static struct omap_dss_driver acx_panel_driver = {
|
||||
.resume = acx_panel_resume,
|
||||
|
||||
.set_timings = acx_panel_set_timings,
|
||||
.get_timings = acx_panel_get_timings,
|
||||
.check_timings = acx_panel_check_timings,
|
||||
|
||||
.get_recommended_bpp = acx_get_recommended_bpp,
|
||||
|
@ -549,12 +549,6 @@ static void generic_dpi_panel_set_timings(struct omap_dss_device *dssdev,
|
||||
dpi_set_timings(dssdev, timings);
|
||||
}
|
||||
|
||||
static void generic_dpi_panel_get_timings(struct omap_dss_device *dssdev,
|
||||
struct omap_video_timings *timings)
|
||||
{
|
||||
*timings = dssdev->panel.timings;
|
||||
}
|
||||
|
||||
static int generic_dpi_panel_check_timings(struct omap_dss_device *dssdev,
|
||||
struct omap_video_timings *timings)
|
||||
{
|
||||
@ -571,7 +565,6 @@ static struct omap_dss_driver dpi_driver = {
|
||||
.resume = generic_dpi_panel_resume,
|
||||
|
||||
.set_timings = generic_dpi_panel_set_timings,
|
||||
.get_timings = generic_dpi_panel_get_timings,
|
||||
.check_timings = generic_dpi_panel_check_timings,
|
||||
|
||||
.driver = {
|
||||
|
@ -610,12 +610,6 @@ static int n8x0_panel_resume(struct omap_dss_device *dssdev)
|
||||
return 0;
|
||||
}
|
||||
|
||||
static void n8x0_panel_get_timings(struct omap_dss_device *dssdev,
|
||||
struct omap_video_timings *timings)
|
||||
{
|
||||
*timings = dssdev->panel.timings;
|
||||
}
|
||||
|
||||
static void n8x0_panel_get_resolution(struct omap_dss_device *dssdev,
|
||||
u16 *xres, u16 *yres)
|
||||
{
|
||||
@ -678,8 +672,6 @@ static struct omap_dss_driver n8x0_panel_driver = {
|
||||
.get_resolution = n8x0_panel_get_resolution,
|
||||
.get_recommended_bpp = omapdss_default_get_recommended_bpp,
|
||||
|
||||
.get_timings = n8x0_panel_get_timings,
|
||||
|
||||
.driver = {
|
||||
.name = "n8x0_panel",
|
||||
.owner = THIS_MODULE,
|
||||
|
@ -507,12 +507,6 @@ static const struct backlight_ops taal_bl_ops = {
|
||||
.update_status = taal_bl_update_status,
|
||||
};
|
||||
|
||||
static void taal_get_timings(struct omap_dss_device *dssdev,
|
||||
struct omap_video_timings *timings)
|
||||
{
|
||||
*timings = dssdev->panel.timings;
|
||||
}
|
||||
|
||||
static void taal_get_resolution(struct omap_dss_device *dssdev,
|
||||
u16 *xres, u16 *yres)
|
||||
{
|
||||
@ -1807,8 +1801,6 @@ static struct omap_dss_driver taal_driver = {
|
||||
.run_test = taal_run_test,
|
||||
.memory_read = taal_memory_read,
|
||||
|
||||
.get_timings = taal_get_timings,
|
||||
|
||||
.driver = {
|
||||
.name = "taal",
|
||||
.owner = THIS_MODULE,
|
||||
|
@ -391,6 +391,8 @@ int omap_dss_register_driver(struct omap_dss_driver *dssdriver)
|
||||
if (dssdriver->get_recommended_bpp == NULL)
|
||||
dssdriver->get_recommended_bpp =
|
||||
omapdss_default_get_recommended_bpp;
|
||||
if (dssdriver->get_timings == NULL)
|
||||
dssdriver->get_timings = omapdss_default_get_timings;
|
||||
|
||||
return driver_register(&dssdriver->driver);
|
||||
}
|
||||
|
@ -308,6 +308,13 @@ int omapdss_default_get_recommended_bpp(struct omap_dss_device *dssdev)
|
||||
}
|
||||
EXPORT_SYMBOL(omapdss_default_get_recommended_bpp);
|
||||
|
||||
void omapdss_default_get_timings(struct omap_dss_device *dssdev,
|
||||
struct omap_video_timings *timings)
|
||||
{
|
||||
*timings = dssdev->panel.timings;
|
||||
}
|
||||
EXPORT_SYMBOL(omapdss_default_get_timings);
|
||||
|
||||
/* Checks if replication logic should be used. Only use for active matrix,
|
||||
* when overlay is in RGB12U or RGB16 mode, and LCD interface is
|
||||
* 18bpp or 24bpp */
|
||||
|
@ -579,12 +579,6 @@ static int venc_panel_resume(struct omap_dss_device *dssdev)
|
||||
return venc_panel_enable(dssdev);
|
||||
}
|
||||
|
||||
static void venc_get_timings(struct omap_dss_device *dssdev,
|
||||
struct omap_video_timings *timings)
|
||||
{
|
||||
*timings = dssdev->panel.timings;
|
||||
}
|
||||
|
||||
static void venc_set_timings(struct omap_dss_device *dssdev,
|
||||
struct omap_video_timings *timings)
|
||||
{
|
||||
@ -663,7 +657,6 @@ static struct omap_dss_driver venc_driver = {
|
||||
.get_resolution = omapdss_default_get_resolution,
|
||||
.get_recommended_bpp = omapdss_default_get_recommended_bpp,
|
||||
|
||||
.get_timings = venc_get_timings,
|
||||
.set_timings = venc_set_timings,
|
||||
.check_timings = venc_check_timings,
|
||||
|
||||
|
@ -667,6 +667,8 @@ struct omap_overlay *omap_dss_get_overlay(int num);
|
||||
void omapdss_default_get_resolution(struct omap_dss_device *dssdev,
|
||||
u16 *xres, u16 *yres);
|
||||
int omapdss_default_get_recommended_bpp(struct omap_dss_device *dssdev);
|
||||
void omapdss_default_get_timings(struct omap_dss_device *dssdev,
|
||||
struct omap_video_timings *timings);
|
||||
|
||||
typedef void (*omap_dispc_isr_t) (void *arg, u32 mask);
|
||||
int omap_dispc_register_isr(omap_dispc_isr_t isr, void *arg, u32 mask);
|
||||
|
Loading…
Reference in New Issue
Block a user