diff options
Diffstat (limited to 'drivers/video/omap2/dss/sdi.c')
-rw-r--r-- | drivers/video/omap2/dss/sdi.c | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/drivers/video/omap2/dss/sdi.c b/drivers/video/omap2/dss/sdi.c index 661b594225a2..3be8134ec2d9 100644 --- a/drivers/video/omap2/dss/sdi.c +++ b/drivers/video/omap2/dss/sdi.c | |||
@@ -178,11 +178,28 @@ int sdi_init_display(struct omap_dss_device *dssdev) | |||
178 | 178 | ||
179 | static int __init omap_sdi_probe(struct platform_device *pdev) | 179 | static int __init omap_sdi_probe(struct platform_device *pdev) |
180 | { | 180 | { |
181 | struct omap_dss_board_info *pdata = pdev->dev.platform_data; | ||
182 | int i, r; | ||
183 | |||
184 | for (i = 0; i < pdata->num_devices; ++i) { | ||
185 | struct omap_dss_device *dssdev = pdata->devices[i]; | ||
186 | |||
187 | if (dssdev->type != OMAP_DISPLAY_TYPE_SDI) | ||
188 | continue; | ||
189 | |||
190 | r = omap_dss_register_device(dssdev, &pdev->dev, i); | ||
191 | if (r) | ||
192 | DSSERR("device %s register failed: %d\n", | ||
193 | dssdev->name, r); | ||
194 | } | ||
195 | |||
181 | return 0; | 196 | return 0; |
182 | } | 197 | } |
183 | 198 | ||
184 | static int __exit omap_sdi_remove(struct platform_device *pdev) | 199 | static int __exit omap_sdi_remove(struct platform_device *pdev) |
185 | { | 200 | { |
201 | omap_dss_unregister_child_devices(&pdev->dev); | ||
202 | |||
186 | return 0; | 203 | return 0; |
187 | } | 204 | } |
188 | 205 | ||