diff options
author | Tomi Valkeinen <tomi.valkeinen@ti.com> | 2012-02-20 16:57:37 +0200 |
---|---|---|
committer | Tomi Valkeinen <tomi.valkeinen@ti.com> | 2012-05-11 14:44:51 +0300 |
commit | a57dd4fe7bef557afaa1a6cdb77cd95b2cba094e (patch) | |
tree | 50cae3f775bc743299dc7285c758df599d2874cc /drivers/video/omap2/dss/core.c | |
parent | 53f576a8dc5729e719c862aba2ed3430867bd5cb (diff) | |
download | op-kernel-dev-a57dd4fe7bef557afaa1a6cdb77cd95b2cba094e.zip op-kernel-dev-a57dd4fe7bef557afaa1a6cdb77cd95b2cba094e.tar.gz |
OMAPDSS: create DPI & SDI drivers
We currently have separate device/driver for each DSS HW module. The DPI
and SDI outputs are more or less parts of the DSS or DISPC hardware
modules, but in SW it makes sense to represent them as device/driver
pairs similarly to all the other outputs. This also makes sense for
device tree, as each node under dss will be a platform device, and
handling DPI & SDI somehow differently than the rest would just make the
code more complex.
This patch modifies the dpi.c and sdi.c to create drivers for the
platform devices.
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Diffstat (limited to 'drivers/video/omap2/dss/core.c')
-rw-r--r-- | drivers/video/omap2/dss/core.c | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/drivers/video/omap2/dss/core.c b/drivers/video/omap2/dss/core.c index db45e6a..77fbd99 100644 --- a/drivers/video/omap2/dss/core.c +++ b/drivers/video/omap2/dss/core.c @@ -536,6 +536,18 @@ static int __init omap_dss_register_drivers(void) goto err_dispc; } + r = dpi_init_platform_driver(); + if (r) { + DSSERR("Failed to initialize dpi platform driver\n"); + goto err_dpi; + } + + r = sdi_init_platform_driver(); + if (r) { + DSSERR("Failed to initialize sdi platform driver\n"); + goto err_sdi; + } + r = rfbi_init_platform_driver(); if (r) { DSSERR("Failed to initialize rfbi platform driver\n"); @@ -569,6 +581,10 @@ err_dsi: err_venc: rfbi_uninit_platform_driver(); err_rfbi: + sdi_uninit_platform_driver(); +err_sdi: + dpi_uninit_platform_driver(); +err_dpi: dispc_uninit_platform_driver(); err_dispc: dss_uninit_platform_driver(); @@ -584,6 +600,8 @@ static void __exit omap_dss_unregister_drivers(void) dsi_uninit_platform_driver(); venc_uninit_platform_driver(); rfbi_uninit_platform_driver(); + sdi_uninit_platform_driver(); + dpi_uninit_platform_driver(); dispc_uninit_platform_driver(); dss_uninit_platform_driver(); |