From: Senthilvadivu Guruswamy <svadivu@xxxxxx> Move DSS driver register from board file to devices.c Changed device name from omapdss to omap_display as the driver takes care of panel information. Signed-off-by: Senthilvadivu Guruswamy <svadivu@xxxxxx> --- arch/arm/mach-omap2/devices.c | 32 +++++++++++++++++++++++++++++ arch/arm/plat-omap/include/plat/display.h | 4 +++ drivers/video/omap2/dss/core.c | 2 +- 3 files changed, 37 insertions(+), 1 deletions(-) diff --git a/arch/arm/mach-omap2/devices.c b/arch/arm/mach-omap2/devices.c index 5a0c148..0f6eabe 100644 --- a/arch/arm/mach-omap2/devices.c +++ b/arch/arm/mach-omap2/devices.c @@ -28,6 +28,7 @@ #include <mach/gpio.h> #include <plat/mmc.h> #include <plat/dma.h> +#include <plat/display.h> #include <plat/omap_hwmod.h> #include <plat/omap_device.h> @@ -923,6 +924,37 @@ static inline void omap_hdq_init(void) {} #endif /*---------------------------------------------------------------------------*/ +#ifdef CONFIG_OMAP2_DSS + +static struct platform_device omap_display_device = { + .name = "omap_display", + .id = -1, + .dev = { + .platform_data = NULL, + }, +}; + +int __init omap_display_init(struct omap_dss_board_info + *board_data) +{ + int r = 0; + omap_display_device.dev.platform_data = board_data; + + r = platform_device_register(&omap_display_device); + if (r < 0) + printk(KERN_ERR "Unable to register OMAP-Display device\n"); + + return r; +} + +#else +int __init omap_display_init(struct omap_dss_board_info *board_data) +{ +return 0; +} +#endif + +/*---------------------------------------------------------------------------*/ #if defined(CONFIG_VIDEO_OMAP2_VOUT) || \ defined(CONFIG_VIDEO_OMAP2_VOUT_MODULE) diff --git a/arch/arm/plat-omap/include/plat/display.h b/arch/arm/plat-omap/include/plat/display.h index c915a66..871bbae 100644 --- a/arch/arm/plat-omap/include/plat/display.h +++ b/arch/arm/plat-omap/include/plat/display.h @@ -23,6 +23,7 @@ #include <linux/list.h> #include <linux/kobject.h> #include <linux/device.h> +#include <linux/platform_device.h> #include <asm/atomic.h> #define DISPC_IRQ_FRAMEDONE (1 << 0) @@ -220,6 +221,9 @@ struct omap_dss_board_info { struct omap_dss_device *default_device; }; +/* Init with the board info */ +extern int omap_display_init(struct omap_dss_board_info *board_data); + struct omap_video_timings { /* Unit: pixels */ u16 x_res; diff --git a/drivers/video/omap2/dss/core.c b/drivers/video/omap2/dss/core.c index 8e89f60..48d20d8 100644 --- a/drivers/video/omap2/dss/core.c +++ b/drivers/video/omap2/dss/core.c @@ -715,7 +715,7 @@ static struct platform_driver omap_dss_driver = { .suspend = omap_dss_suspend, .resume = omap_dss_resume, .driver = { - .name = "omapdss", + .name = "omap_display", .owner = THIS_MODULE, }, }; -- 1.6.3.3 -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html