diff options
author | Tomi Valkeinen <tomi.valkeinen@ti.com> | 2014-10-16 02:54:25 -0400 |
---|---|---|
committer | Tomi Valkeinen <tomi.valkeinen@ti.com> | 2014-10-22 04:07:07 -0400 |
commit | 422ccbd57170d18cfd9d4c0cdbdd4603929fc51b (patch) | |
tree | 122a6c2cd718492b86dc0c2537a65bd8d5a00304 | |
parent | 51b5cb3f4fe3e0ad9993942e95d179bdf2345f1b (diff) |
OMAPDSS: set suppress_bind_attrs
omapdss drivers cannot handle devices being unbound while the devices
are part of a connected display pipeline. Module refcounts are used to
prevent unloading the modules, but one can still manually unbind the
devices via sysfs, causing crash.
Set suppress_bind_attrs to disable the bind/unbind support via sysfs.
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
22 files changed, 22 insertions, 0 deletions
diff --git a/drivers/video/fbdev/omap2/displays-new/connector-analog-tv.c b/drivers/video/fbdev/omap2/displays-new/connector-analog-tv.c index 5ee3b5505f7f..05be3ade4584 100644 --- a/drivers/video/fbdev/omap2/displays-new/connector-analog-tv.c +++ b/drivers/video/fbdev/omap2/displays-new/connector-analog-tv.c | |||
@@ -308,6 +308,7 @@ static struct platform_driver tvc_connector_driver = { | |||
308 | .name = "connector-analog-tv", | 308 | .name = "connector-analog-tv", |
309 | .owner = THIS_MODULE, | 309 | .owner = THIS_MODULE, |
310 | .of_match_table = tvc_of_match, | 310 | .of_match_table = tvc_of_match, |
311 | .suppress_bind_attrs = true, | ||
311 | }, | 312 | }, |
312 | }; | 313 | }; |
313 | 314 | ||
diff --git a/drivers/video/fbdev/omap2/displays-new/connector-dvi.c b/drivers/video/fbdev/omap2/displays-new/connector-dvi.c index 74de2bc50c4f..2dfb6e5ff0cc 100644 --- a/drivers/video/fbdev/omap2/displays-new/connector-dvi.c +++ b/drivers/video/fbdev/omap2/displays-new/connector-dvi.c | |||
@@ -391,6 +391,7 @@ static struct platform_driver dvi_connector_driver = { | |||
391 | .name = "connector-dvi", | 391 | .name = "connector-dvi", |
392 | .owner = THIS_MODULE, | 392 | .owner = THIS_MODULE, |
393 | .of_match_table = dvic_of_match, | 393 | .of_match_table = dvic_of_match, |
394 | .suppress_bind_attrs = true, | ||
394 | }, | 395 | }, |
395 | }; | 396 | }; |
396 | 397 | ||
diff --git a/drivers/video/fbdev/omap2/displays-new/connector-hdmi.c b/drivers/video/fbdev/omap2/displays-new/connector-hdmi.c index 131c6e260898..7b25967a91eb 100644 --- a/drivers/video/fbdev/omap2/displays-new/connector-hdmi.c +++ b/drivers/video/fbdev/omap2/displays-new/connector-hdmi.c | |||
@@ -437,6 +437,7 @@ static struct platform_driver hdmi_connector_driver = { | |||
437 | .name = "connector-hdmi", | 437 | .name = "connector-hdmi", |
438 | .owner = THIS_MODULE, | 438 | .owner = THIS_MODULE, |
439 | .of_match_table = hdmic_of_match, | 439 | .of_match_table = hdmic_of_match, |
440 | .suppress_bind_attrs = true, | ||
440 | }, | 441 | }, |
441 | }; | 442 | }; |
442 | 443 | ||
diff --git a/drivers/video/fbdev/omap2/displays-new/encoder-tfp410.c b/drivers/video/fbdev/omap2/displays-new/encoder-tfp410.c index b4e9a42a79e6..47ee7cdee1c5 100644 --- a/drivers/video/fbdev/omap2/displays-new/encoder-tfp410.c +++ b/drivers/video/fbdev/omap2/displays-new/encoder-tfp410.c | |||
@@ -298,6 +298,7 @@ static struct platform_driver tfp410_driver = { | |||
298 | .name = "tfp410", | 298 | .name = "tfp410", |
299 | .owner = THIS_MODULE, | 299 | .owner = THIS_MODULE, |
300 | .of_match_table = tfp410_of_match, | 300 | .of_match_table = tfp410_of_match, |
301 | .suppress_bind_attrs = true, | ||
301 | }, | 302 | }, |
302 | }; | 303 | }; |
303 | 304 | ||
diff --git a/drivers/video/fbdev/omap2/displays-new/encoder-tpd12s015.c b/drivers/video/fbdev/omap2/displays-new/encoder-tpd12s015.c index c891d8f84cb2..c4abd56dd846 100644 --- a/drivers/video/fbdev/omap2/displays-new/encoder-tpd12s015.c +++ b/drivers/video/fbdev/omap2/displays-new/encoder-tpd12s015.c | |||
@@ -461,6 +461,7 @@ static struct platform_driver tpd_driver = { | |||
461 | .name = "tpd12s015", | 461 | .name = "tpd12s015", |
462 | .owner = THIS_MODULE, | 462 | .owner = THIS_MODULE, |
463 | .of_match_table = tpd_of_match, | 463 | .of_match_table = tpd_of_match, |
464 | .suppress_bind_attrs = true, | ||
464 | }, | 465 | }, |
465 | }; | 466 | }; |
466 | 467 | ||
diff --git a/drivers/video/fbdev/omap2/displays-new/panel-dpi.c b/drivers/video/fbdev/omap2/displays-new/panel-dpi.c index 3636b61dc9b4..a9c3dcf0f6b5 100644 --- a/drivers/video/fbdev/omap2/displays-new/panel-dpi.c +++ b/drivers/video/fbdev/omap2/displays-new/panel-dpi.c | |||
@@ -327,6 +327,7 @@ static struct platform_driver panel_dpi_driver = { | |||
327 | .name = "panel-dpi", | 327 | .name = "panel-dpi", |
328 | .owner = THIS_MODULE, | 328 | .owner = THIS_MODULE, |
329 | .of_match_table = panel_dpi_of_match, | 329 | .of_match_table = panel_dpi_of_match, |
330 | .suppress_bind_attrs = true, | ||
330 | }, | 331 | }, |
331 | }; | 332 | }; |
332 | 333 | ||
diff --git a/drivers/video/fbdev/omap2/displays-new/panel-dsi-cm.c b/drivers/video/fbdev/omap2/displays-new/panel-dsi-cm.c index d6f14e8717e8..899cb1ab523d 100644 --- a/drivers/video/fbdev/omap2/displays-new/panel-dsi-cm.c +++ b/drivers/video/fbdev/omap2/displays-new/panel-dsi-cm.c | |||
@@ -1378,6 +1378,7 @@ static struct platform_driver dsicm_driver = { | |||
1378 | .name = "panel-dsi-cm", | 1378 | .name = "panel-dsi-cm", |
1379 | .owner = THIS_MODULE, | 1379 | .owner = THIS_MODULE, |
1380 | .of_match_table = dsicm_of_match, | 1380 | .of_match_table = dsicm_of_match, |
1381 | .suppress_bind_attrs = true, | ||
1381 | }, | 1382 | }, |
1382 | }; | 1383 | }; |
1383 | 1384 | ||
diff --git a/drivers/video/fbdev/omap2/displays-new/panel-lgphilips-lb035q02.c b/drivers/video/fbdev/omap2/displays-new/panel-lgphilips-lb035q02.c index cc5b5124e0b4..27d4fcfa1824 100644 --- a/drivers/video/fbdev/omap2/displays-new/panel-lgphilips-lb035q02.c +++ b/drivers/video/fbdev/omap2/displays-new/panel-lgphilips-lb035q02.c | |||
@@ -394,6 +394,7 @@ static struct spi_driver lb035q02_spi_driver = { | |||
394 | .name = "panel_lgphilips_lb035q02", | 394 | .name = "panel_lgphilips_lb035q02", |
395 | .owner = THIS_MODULE, | 395 | .owner = THIS_MODULE, |
396 | .of_match_table = lb035q02_of_match, | 396 | .of_match_table = lb035q02_of_match, |
397 | .suppress_bind_attrs = true, | ||
397 | }, | 398 | }, |
398 | }; | 399 | }; |
399 | 400 | ||
diff --git a/drivers/video/fbdev/omap2/displays-new/panel-nec-nl8048hl11.c b/drivers/video/fbdev/omap2/displays-new/panel-nec-nl8048hl11.c index 3595f111aa35..ccf3f4f3c703 100644 --- a/drivers/video/fbdev/omap2/displays-new/panel-nec-nl8048hl11.c +++ b/drivers/video/fbdev/omap2/displays-new/panel-nec-nl8048hl11.c | |||
@@ -424,6 +424,7 @@ static struct spi_driver nec_8048_driver = { | |||
424 | .owner = THIS_MODULE, | 424 | .owner = THIS_MODULE, |
425 | .pm = NEC_8048_PM_OPS, | 425 | .pm = NEC_8048_PM_OPS, |
426 | .of_match_table = nec_8048_of_match, | 426 | .of_match_table = nec_8048_of_match, |
427 | .suppress_bind_attrs = true, | ||
427 | }, | 428 | }, |
428 | .probe = nec_8048_probe, | 429 | .probe = nec_8048_probe, |
429 | .remove = nec_8048_remove, | 430 | .remove = nec_8048_remove, |
diff --git a/drivers/video/fbdev/omap2/displays-new/panel-sharp-ls037v7dw01.c b/drivers/video/fbdev/omap2/displays-new/panel-sharp-ls037v7dw01.c index f1f72ce50a17..234142cc3764 100644 --- a/drivers/video/fbdev/omap2/displays-new/panel-sharp-ls037v7dw01.c +++ b/drivers/video/fbdev/omap2/displays-new/panel-sharp-ls037v7dw01.c | |||
@@ -410,6 +410,7 @@ static struct platform_driver sharp_ls_driver = { | |||
410 | .name = "panel-sharp-ls037v7dw01", | 410 | .name = "panel-sharp-ls037v7dw01", |
411 | .owner = THIS_MODULE, | 411 | .owner = THIS_MODULE, |
412 | .of_match_table = sharp_ls_of_match, | 412 | .of_match_table = sharp_ls_of_match, |
413 | .suppress_bind_attrs = true, | ||
413 | }, | 414 | }, |
414 | }; | 415 | }; |
415 | 416 | ||
diff --git a/drivers/video/fbdev/omap2/displays-new/panel-sony-acx565akm.c b/drivers/video/fbdev/omap2/displays-new/panel-sony-acx565akm.c index 617f8d2f5127..337ccc5c0f5e 100644 --- a/drivers/video/fbdev/omap2/displays-new/panel-sony-acx565akm.c +++ b/drivers/video/fbdev/omap2/displays-new/panel-sony-acx565akm.c | |||
@@ -904,6 +904,7 @@ static struct spi_driver acx565akm_driver = { | |||
904 | .name = "acx565akm", | 904 | .name = "acx565akm", |
905 | .owner = THIS_MODULE, | 905 | .owner = THIS_MODULE, |
906 | .of_match_table = acx565akm_of_match, | 906 | .of_match_table = acx565akm_of_match, |
907 | .suppress_bind_attrs = true, | ||
907 | }, | 908 | }, |
908 | .probe = acx565akm_probe, | 909 | .probe = acx565akm_probe, |
909 | .remove = acx565akm_remove, | 910 | .remove = acx565akm_remove, |
diff --git a/drivers/video/fbdev/omap2/displays-new/panel-tpo-td028ttec1.c b/drivers/video/fbdev/omap2/displays-new/panel-tpo-td028ttec1.c index 728808bcceeb..fbba0b8ca871 100644 --- a/drivers/video/fbdev/omap2/displays-new/panel-tpo-td028ttec1.c +++ b/drivers/video/fbdev/omap2/displays-new/panel-tpo-td028ttec1.c | |||
@@ -500,6 +500,7 @@ static struct spi_driver td028ttec1_spi_driver = { | |||
500 | .name = "panel-tpo-td028ttec1", | 500 | .name = "panel-tpo-td028ttec1", |
501 | .owner = THIS_MODULE, | 501 | .owner = THIS_MODULE, |
502 | .of_match_table = td028ttec1_of_match, | 502 | .of_match_table = td028ttec1_of_match, |
503 | .suppress_bind_attrs = true, | ||
503 | }, | 504 | }, |
504 | }; | 505 | }; |
505 | 506 | ||
diff --git a/drivers/video/fbdev/omap2/displays-new/panel-tpo-td043mtea1.c b/drivers/video/fbdev/omap2/displays-new/panel-tpo-td043mtea1.c index de78ab0caaa8..5aba76bca25a 100644 --- a/drivers/video/fbdev/omap2/displays-new/panel-tpo-td043mtea1.c +++ b/drivers/video/fbdev/omap2/displays-new/panel-tpo-td043mtea1.c | |||
@@ -673,6 +673,7 @@ static struct spi_driver tpo_td043_spi_driver = { | |||
673 | .owner = THIS_MODULE, | 673 | .owner = THIS_MODULE, |
674 | .pm = &tpo_td043_spi_pm, | 674 | .pm = &tpo_td043_spi_pm, |
675 | .of_match_table = tpo_td043_of_match, | 675 | .of_match_table = tpo_td043_of_match, |
676 | .suppress_bind_attrs = true, | ||
676 | }, | 677 | }, |
677 | .probe = tpo_td043_probe, | 678 | .probe = tpo_td043_probe, |
678 | .remove = tpo_td043_remove, | 679 | .remove = tpo_td043_remove, |
diff --git a/drivers/video/fbdev/omap2/dss/dispc.c b/drivers/video/fbdev/omap2/dss/dispc.c index be053aa80880..e67976bd0627 100644 --- a/drivers/video/fbdev/omap2/dss/dispc.c +++ b/drivers/video/fbdev/omap2/dss/dispc.c | |||
@@ -3843,6 +3843,7 @@ static struct platform_driver omap_dispchw_driver = { | |||
3843 | .owner = THIS_MODULE, | 3843 | .owner = THIS_MODULE, |
3844 | .pm = &dispc_pm_ops, | 3844 | .pm = &dispc_pm_ops, |
3845 | .of_match_table = dispc_of_match, | 3845 | .of_match_table = dispc_of_match, |
3846 | .suppress_bind_attrs = true, | ||
3846 | }, | 3847 | }, |
3847 | }; | 3848 | }; |
3848 | 3849 | ||
diff --git a/drivers/video/fbdev/omap2/dss/dpi.c b/drivers/video/fbdev/omap2/dss/dpi.c index 9368972d6962..4a3363dae74a 100644 --- a/drivers/video/fbdev/omap2/dss/dpi.c +++ b/drivers/video/fbdev/omap2/dss/dpi.c | |||
@@ -720,6 +720,7 @@ static struct platform_driver omap_dpi_driver = { | |||
720 | .driver = { | 720 | .driver = { |
721 | .name = "omapdss_dpi", | 721 | .name = "omapdss_dpi", |
722 | .owner = THIS_MODULE, | 722 | .owner = THIS_MODULE, |
723 | .suppress_bind_attrs = true, | ||
723 | }, | 724 | }, |
724 | }; | 725 | }; |
725 | 726 | ||
diff --git a/drivers/video/fbdev/omap2/dss/dsi.c b/drivers/video/fbdev/omap2/dss/dsi.c index b6f6ae1d4664..947bd7b93375 100644 --- a/drivers/video/fbdev/omap2/dss/dsi.c +++ b/drivers/video/fbdev/omap2/dss/dsi.c | |||
@@ -5754,6 +5754,7 @@ static struct platform_driver omap_dsihw_driver = { | |||
5754 | .owner = THIS_MODULE, | 5754 | .owner = THIS_MODULE, |
5755 | .pm = &dsi_pm_ops, | 5755 | .pm = &dsi_pm_ops, |
5756 | .of_match_table = dsi_of_match, | 5756 | .of_match_table = dsi_of_match, |
5757 | .suppress_bind_attrs = true, | ||
5757 | }, | 5758 | }, |
5758 | }; | 5759 | }; |
5759 | 5760 | ||
diff --git a/drivers/video/fbdev/omap2/dss/dss.c b/drivers/video/fbdev/omap2/dss/dss.c index 6daeb7ed44c6..14bcd6c43f72 100644 --- a/drivers/video/fbdev/omap2/dss/dss.c +++ b/drivers/video/fbdev/omap2/dss/dss.c | |||
@@ -966,6 +966,7 @@ static struct platform_driver omap_dsshw_driver = { | |||
966 | .owner = THIS_MODULE, | 966 | .owner = THIS_MODULE, |
967 | .pm = &dss_pm_ops, | 967 | .pm = &dss_pm_ops, |
968 | .of_match_table = dss_of_match, | 968 | .of_match_table = dss_of_match, |
969 | .suppress_bind_attrs = true, | ||
969 | }, | 970 | }, |
970 | }; | 971 | }; |
971 | 972 | ||
diff --git a/drivers/video/fbdev/omap2/dss/hdmi4.c b/drivers/video/fbdev/omap2/dss/hdmi4.c index 6a8550cf43e5..9a8713ca090c 100644 --- a/drivers/video/fbdev/omap2/dss/hdmi4.c +++ b/drivers/video/fbdev/omap2/dss/hdmi4.c | |||
@@ -781,6 +781,7 @@ static struct platform_driver omapdss_hdmihw_driver = { | |||
781 | .owner = THIS_MODULE, | 781 | .owner = THIS_MODULE, |
782 | .pm = &hdmi_pm_ops, | 782 | .pm = &hdmi_pm_ops, |
783 | .of_match_table = hdmi_of_match, | 783 | .of_match_table = hdmi_of_match, |
784 | .suppress_bind_attrs = true, | ||
784 | }, | 785 | }, |
785 | }; | 786 | }; |
786 | 787 | ||
diff --git a/drivers/video/fbdev/omap2/dss/hdmi5.c b/drivers/video/fbdev/omap2/dss/hdmi5.c index 32d02ec34d23..169b764bb9d4 100644 --- a/drivers/video/fbdev/omap2/dss/hdmi5.c +++ b/drivers/video/fbdev/omap2/dss/hdmi5.c | |||
@@ -806,6 +806,7 @@ static struct platform_driver omapdss_hdmihw_driver = { | |||
806 | .owner = THIS_MODULE, | 806 | .owner = THIS_MODULE, |
807 | .pm = &hdmi_pm_ops, | 807 | .pm = &hdmi_pm_ops, |
808 | .of_match_table = hdmi_of_match, | 808 | .of_match_table = hdmi_of_match, |
809 | .suppress_bind_attrs = true, | ||
809 | }, | 810 | }, |
810 | }; | 811 | }; |
811 | 812 | ||
diff --git a/drivers/video/fbdev/omap2/dss/rfbi.c b/drivers/video/fbdev/omap2/dss/rfbi.c index c8a81a2b879c..878273f58839 100644 --- a/drivers/video/fbdev/omap2/dss/rfbi.c +++ b/drivers/video/fbdev/omap2/dss/rfbi.c | |||
@@ -1044,6 +1044,7 @@ static struct platform_driver omap_rfbihw_driver = { | |||
1044 | .name = "omapdss_rfbi", | 1044 | .name = "omapdss_rfbi", |
1045 | .owner = THIS_MODULE, | 1045 | .owner = THIS_MODULE, |
1046 | .pm = &rfbi_pm_ops, | 1046 | .pm = &rfbi_pm_ops, |
1047 | .suppress_bind_attrs = true, | ||
1047 | }, | 1048 | }, |
1048 | }; | 1049 | }; |
1049 | 1050 | ||
diff --git a/drivers/video/fbdev/omap2/dss/sdi.c b/drivers/video/fbdev/omap2/dss/sdi.c index 911dcc9173a6..4c9c46d4ea60 100644 --- a/drivers/video/fbdev/omap2/dss/sdi.c +++ b/drivers/video/fbdev/omap2/dss/sdi.c | |||
@@ -377,6 +377,7 @@ static struct platform_driver omap_sdi_driver = { | |||
377 | .driver = { | 377 | .driver = { |
378 | .name = "omapdss_sdi", | 378 | .name = "omapdss_sdi", |
379 | .owner = THIS_MODULE, | 379 | .owner = THIS_MODULE, |
380 | .suppress_bind_attrs = true, | ||
380 | }, | 381 | }, |
381 | }; | 382 | }; |
382 | 383 | ||
diff --git a/drivers/video/fbdev/omap2/dss/venc.c b/drivers/video/fbdev/omap2/dss/venc.c index 21d81113962b..d077d8a75ddc 100644 --- a/drivers/video/fbdev/omap2/dss/venc.c +++ b/drivers/video/fbdev/omap2/dss/venc.c | |||
@@ -966,6 +966,7 @@ static struct platform_driver omap_venchw_driver = { | |||
966 | .owner = THIS_MODULE, | 966 | .owner = THIS_MODULE, |
967 | .pm = &venc_pm_ops, | 967 | .pm = &venc_pm_ops, |
968 | .of_match_table = venc_of_match, | 968 | .of_match_table = venc_of_match, |
969 | .suppress_bind_attrs = true, | ||
969 | }, | 970 | }, |
970 | }; | 971 | }; |
971 | 972 | ||