aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTomi Valkeinen <tomi.valkeinen@ti.com>2012-09-06 06:57:39 -0400
committerTomi Valkeinen <tomi.valkeinen@ti.com>2012-09-18 09:10:32 -0400
commit8768a52f8f53e6f54bce77faade1007d4142fa7c (patch)
tree41ac02d9d8f78f349ad8a19f45808088b1fc0c54
parentfda7c362f9ef59de6d6db67a854e1a114af0c69a (diff)
OMAPDSS: omap_dss_register_device() doesn't take display index
We used to have all the displays of the board in one list, and we made a "displayX" directory in the sysfs, where X was the index of the display in the list. This doesn't work anymore with device tree, as there's no single list to get the number from, and it doesn't work very well even with non-DT as we need to do some tricks to get the index nowadays. This patch changes omap_dss_register_device() so that it doesn't take disp_num as a parameter anymore, but uses a private increasing counter for the display number. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
-rw-r--r--drivers/video/omap2/dss/core.c9
-rw-r--r--drivers/video/omap2/dss/dpi.c2
-rw-r--r--drivers/video/omap2/dss/dsi.c2
-rw-r--r--drivers/video/omap2/dss/dss.h2
-rw-r--r--drivers/video/omap2/dss/hdmi.c2
-rw-r--r--drivers/video/omap2/dss/rfbi.c2
-rw-r--r--drivers/video/omap2/dss/sdi.c2
-rw-r--r--drivers/video/omap2/dss/venc.c2
8 files changed, 12 insertions, 11 deletions
diff --git a/drivers/video/omap2/dss/core.c b/drivers/video/omap2/dss/core.c
index 58bd9c27369d..20c8bc8291b4 100644
--- a/drivers/video/omap2/dss/core.c
+++ b/drivers/video/omap2/dss/core.c
@@ -450,16 +450,17 @@ static void omap_dss_dev_release(struct device *dev)
450 reset_device(dev, 0); 450 reset_device(dev, 0);
451} 451}
452 452
453static int disp_num_counter;
454
453int omap_dss_register_device(struct omap_dss_device *dssdev, 455int omap_dss_register_device(struct omap_dss_device *dssdev,
454 struct device *parent, int disp_num) 456 struct device *parent)
455{ 457{
456 WARN_ON(!dssdev->driver_name);
457
458 reset_device(&dssdev->dev, 1); 458 reset_device(&dssdev->dev, 1);
459
459 dssdev->dev.bus = &dss_bus_type; 460 dssdev->dev.bus = &dss_bus_type;
460 dssdev->dev.parent = parent; 461 dssdev->dev.parent = parent;
461 dssdev->dev.release = omap_dss_dev_release; 462 dssdev->dev.release = omap_dss_dev_release;
462 dev_set_name(&dssdev->dev, "display%d", disp_num); 463 dev_set_name(&dssdev->dev, "display%d", disp_num_counter++);
463 return device_register(&dssdev->dev); 464 return device_register(&dssdev->dev);
464} 465}
465 466
diff --git a/drivers/video/omap2/dss/dpi.c b/drivers/video/omap2/dss/dpi.c
index 5ccce9b69e42..703fc1d8ec80 100644
--- a/drivers/video/omap2/dss/dpi.c
+++ b/drivers/video/omap2/dss/dpi.c
@@ -388,7 +388,7 @@ static void __init dpi_probe_pdata(struct platform_device *pdev)
388 continue; 388 continue;
389 } 389 }
390 390
391 r = omap_dss_register_device(dssdev, &pdev->dev, i); 391 r = omap_dss_register_device(dssdev, &pdev->dev);
392 if (r) 392 if (r)
393 DSSERR("device %s register failed: %d\n", 393 DSSERR("device %s register failed: %d\n",
394 dssdev->name, r); 394 dssdev->name, r);
diff --git a/drivers/video/omap2/dss/dsi.c b/drivers/video/omap2/dss/dsi.c
index 8d815e39e45d..f7078fc90459 100644
--- a/drivers/video/omap2/dss/dsi.c
+++ b/drivers/video/omap2/dss/dsi.c
@@ -5027,7 +5027,7 @@ static void __init dsi_probe_pdata(struct platform_device *dsidev)
5027 continue; 5027 continue;
5028 } 5028 }
5029 5029
5030 r = omap_dss_register_device(dssdev, &dsidev->dev, i); 5030 r = omap_dss_register_device(dssdev, &dsidev->dev);
5031 if (r) 5031 if (r)
5032 DSSERR("device %s register failed: %d\n", 5032 DSSERR("device %s register failed: %d\n",
5033 dssdev->name, r); 5033 dssdev->name, r);
diff --git a/drivers/video/omap2/dss/dss.h b/drivers/video/omap2/dss/dss.h
index 5e9fd7691728..7bac8ee078ad 100644
--- a/drivers/video/omap2/dss/dss.h
+++ b/drivers/video/omap2/dss/dss.h
@@ -185,7 +185,7 @@ int dss_set_min_bus_tput(struct device *dev, unsigned long tput);
185int dss_debugfs_create_file(const char *name, void (*write)(struct seq_file *)); 185int dss_debugfs_create_file(const char *name, void (*write)(struct seq_file *));
186 186
187int omap_dss_register_device(struct omap_dss_device *dssdev, 187int omap_dss_register_device(struct omap_dss_device *dssdev,
188 struct device *parent, int disp_num); 188 struct device *parent);
189void omap_dss_unregister_device(struct omap_dss_device *dssdev); 189void omap_dss_unregister_device(struct omap_dss_device *dssdev);
190void omap_dss_unregister_child_devices(struct device *parent); 190void omap_dss_unregister_child_devices(struct device *parent);
191 191
diff --git a/drivers/video/omap2/dss/hdmi.c b/drivers/video/omap2/dss/hdmi.c
index 83f18458a406..bb07143a2d79 100644
--- a/drivers/video/omap2/dss/hdmi.c
+++ b/drivers/video/omap2/dss/hdmi.c
@@ -923,7 +923,7 @@ static void __init hdmi_probe_pdata(struct platform_device *pdev)
923 continue; 923 continue;
924 } 924 }
925 925
926 r = omap_dss_register_device(dssdev, &pdev->dev, i); 926 r = omap_dss_register_device(dssdev, &pdev->dev);
927 if (r) 927 if (r)
928 DSSERR("device %s register failed: %d\n", 928 DSSERR("device %s register failed: %d\n",
929 dssdev->name, r); 929 dssdev->name, r);
diff --git a/drivers/video/omap2/dss/rfbi.c b/drivers/video/omap2/dss/rfbi.c
index 2e520d3085c8..845b4e70a28e 100644
--- a/drivers/video/omap2/dss/rfbi.c
+++ b/drivers/video/omap2/dss/rfbi.c
@@ -959,7 +959,7 @@ static void __init rfbi_probe_pdata(struct platform_device *pdev)
959 continue; 959 continue;
960 } 960 }
961 961
962 r = omap_dss_register_device(dssdev, &pdev->dev, i); 962 r = omap_dss_register_device(dssdev, &pdev->dev);
963 if (r) 963 if (r)
964 DSSERR("device %s register failed: %d\n", 964 DSSERR("device %s register failed: %d\n",
965 dssdev->name, r); 965 dssdev->name, r);
diff --git a/drivers/video/omap2/dss/sdi.c b/drivers/video/omap2/dss/sdi.c
index 66c8de4365d6..c9a9045e19f2 100644
--- a/drivers/video/omap2/dss/sdi.c
+++ b/drivers/video/omap2/dss/sdi.c
@@ -212,7 +212,7 @@ static void __init sdi_probe_pdata(struct platform_device *pdev)
212 continue; 212 continue;
213 } 213 }
214 214
215 r = omap_dss_register_device(dssdev, &pdev->dev, i); 215 r = omap_dss_register_device(dssdev, &pdev->dev);
216 if (r) 216 if (r)
217 DSSERR("device %s register failed: %d\n", 217 DSSERR("device %s register failed: %d\n",
218 dssdev->name, r); 218 dssdev->name, r);
diff --git a/drivers/video/omap2/dss/venc.c b/drivers/video/omap2/dss/venc.c
index 17b31029a793..60bfc5801636 100644
--- a/drivers/video/omap2/dss/venc.c
+++ b/drivers/video/omap2/dss/venc.c
@@ -752,7 +752,7 @@ static void __init venc_probe_pdata(struct platform_device *pdev)
752 continue; 752 continue;
753 } 753 }
754 754
755 r = omap_dss_register_device(dssdev, &pdev->dev, i); 755 r = omap_dss_register_device(dssdev, &pdev->dev);
756 if (r) 756 if (r)
757 DSSERR("device %s register failed: %d\n", 757 DSSERR("device %s register failed: %d\n",
758 dssdev->name, r); 758 dssdev->name, r);