提交 422ccbd5 编写于 作者: T Tomi Valkeinen

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: NTomi Valkeinen <tomi.valkeinen@ti.com>
上级 51b5cb3f
...@@ -308,6 +308,7 @@ static struct platform_driver tvc_connector_driver = { ...@@ -308,6 +308,7 @@ static struct platform_driver tvc_connector_driver = {
.name = "connector-analog-tv", .name = "connector-analog-tv",
.owner = THIS_MODULE, .owner = THIS_MODULE,
.of_match_table = tvc_of_match, .of_match_table = tvc_of_match,
.suppress_bind_attrs = true,
}, },
}; };
......
...@@ -391,6 +391,7 @@ static struct platform_driver dvi_connector_driver = { ...@@ -391,6 +391,7 @@ static struct platform_driver dvi_connector_driver = {
.name = "connector-dvi", .name = "connector-dvi",
.owner = THIS_MODULE, .owner = THIS_MODULE,
.of_match_table = dvic_of_match, .of_match_table = dvic_of_match,
.suppress_bind_attrs = true,
}, },
}; };
......
...@@ -437,6 +437,7 @@ static struct platform_driver hdmi_connector_driver = { ...@@ -437,6 +437,7 @@ static struct platform_driver hdmi_connector_driver = {
.name = "connector-hdmi", .name = "connector-hdmi",
.owner = THIS_MODULE, .owner = THIS_MODULE,
.of_match_table = hdmic_of_match, .of_match_table = hdmic_of_match,
.suppress_bind_attrs = true,
}, },
}; };
......
...@@ -298,6 +298,7 @@ static struct platform_driver tfp410_driver = { ...@@ -298,6 +298,7 @@ static struct platform_driver tfp410_driver = {
.name = "tfp410", .name = "tfp410",
.owner = THIS_MODULE, .owner = THIS_MODULE,
.of_match_table = tfp410_of_match, .of_match_table = tfp410_of_match,
.suppress_bind_attrs = true,
}, },
}; };
......
...@@ -461,6 +461,7 @@ static struct platform_driver tpd_driver = { ...@@ -461,6 +461,7 @@ static struct platform_driver tpd_driver = {
.name = "tpd12s015", .name = "tpd12s015",
.owner = THIS_MODULE, .owner = THIS_MODULE,
.of_match_table = tpd_of_match, .of_match_table = tpd_of_match,
.suppress_bind_attrs = true,
}, },
}; };
......
...@@ -327,6 +327,7 @@ static struct platform_driver panel_dpi_driver = { ...@@ -327,6 +327,7 @@ static struct platform_driver panel_dpi_driver = {
.name = "panel-dpi", .name = "panel-dpi",
.owner = THIS_MODULE, .owner = THIS_MODULE,
.of_match_table = panel_dpi_of_match, .of_match_table = panel_dpi_of_match,
.suppress_bind_attrs = true,
}, },
}; };
......
...@@ -1378,6 +1378,7 @@ static struct platform_driver dsicm_driver = { ...@@ -1378,6 +1378,7 @@ static struct platform_driver dsicm_driver = {
.name = "panel-dsi-cm", .name = "panel-dsi-cm",
.owner = THIS_MODULE, .owner = THIS_MODULE,
.of_match_table = dsicm_of_match, .of_match_table = dsicm_of_match,
.suppress_bind_attrs = true,
}, },
}; };
......
...@@ -394,6 +394,7 @@ static struct spi_driver lb035q02_spi_driver = { ...@@ -394,6 +394,7 @@ static struct spi_driver lb035q02_spi_driver = {
.name = "panel_lgphilips_lb035q02", .name = "panel_lgphilips_lb035q02",
.owner = THIS_MODULE, .owner = THIS_MODULE,
.of_match_table = lb035q02_of_match, .of_match_table = lb035q02_of_match,
.suppress_bind_attrs = true,
}, },
}; };
......
...@@ -424,6 +424,7 @@ static struct spi_driver nec_8048_driver = { ...@@ -424,6 +424,7 @@ static struct spi_driver nec_8048_driver = {
.owner = THIS_MODULE, .owner = THIS_MODULE,
.pm = NEC_8048_PM_OPS, .pm = NEC_8048_PM_OPS,
.of_match_table = nec_8048_of_match, .of_match_table = nec_8048_of_match,
.suppress_bind_attrs = true,
}, },
.probe = nec_8048_probe, .probe = nec_8048_probe,
.remove = nec_8048_remove, .remove = nec_8048_remove,
......
...@@ -410,6 +410,7 @@ static struct platform_driver sharp_ls_driver = { ...@@ -410,6 +410,7 @@ static struct platform_driver sharp_ls_driver = {
.name = "panel-sharp-ls037v7dw01", .name = "panel-sharp-ls037v7dw01",
.owner = THIS_MODULE, .owner = THIS_MODULE,
.of_match_table = sharp_ls_of_match, .of_match_table = sharp_ls_of_match,
.suppress_bind_attrs = true,
}, },
}; };
......
...@@ -904,6 +904,7 @@ static struct spi_driver acx565akm_driver = { ...@@ -904,6 +904,7 @@ static struct spi_driver acx565akm_driver = {
.name = "acx565akm", .name = "acx565akm",
.owner = THIS_MODULE, .owner = THIS_MODULE,
.of_match_table = acx565akm_of_match, .of_match_table = acx565akm_of_match,
.suppress_bind_attrs = true,
}, },
.probe = acx565akm_probe, .probe = acx565akm_probe,
.remove = acx565akm_remove, .remove = acx565akm_remove,
......
...@@ -500,6 +500,7 @@ static struct spi_driver td028ttec1_spi_driver = { ...@@ -500,6 +500,7 @@ static struct spi_driver td028ttec1_spi_driver = {
.name = "panel-tpo-td028ttec1", .name = "panel-tpo-td028ttec1",
.owner = THIS_MODULE, .owner = THIS_MODULE,
.of_match_table = td028ttec1_of_match, .of_match_table = td028ttec1_of_match,
.suppress_bind_attrs = true,
}, },
}; };
......
...@@ -673,6 +673,7 @@ static struct spi_driver tpo_td043_spi_driver = { ...@@ -673,6 +673,7 @@ static struct spi_driver tpo_td043_spi_driver = {
.owner = THIS_MODULE, .owner = THIS_MODULE,
.pm = &tpo_td043_spi_pm, .pm = &tpo_td043_spi_pm,
.of_match_table = tpo_td043_of_match, .of_match_table = tpo_td043_of_match,
.suppress_bind_attrs = true,
}, },
.probe = tpo_td043_probe, .probe = tpo_td043_probe,
.remove = tpo_td043_remove, .remove = tpo_td043_remove,
......
...@@ -3843,6 +3843,7 @@ static struct platform_driver omap_dispchw_driver = { ...@@ -3843,6 +3843,7 @@ static struct platform_driver omap_dispchw_driver = {
.owner = THIS_MODULE, .owner = THIS_MODULE,
.pm = &dispc_pm_ops, .pm = &dispc_pm_ops,
.of_match_table = dispc_of_match, .of_match_table = dispc_of_match,
.suppress_bind_attrs = true,
}, },
}; };
......
...@@ -720,6 +720,7 @@ static struct platform_driver omap_dpi_driver = { ...@@ -720,6 +720,7 @@ static struct platform_driver omap_dpi_driver = {
.driver = { .driver = {
.name = "omapdss_dpi", .name = "omapdss_dpi",
.owner = THIS_MODULE, .owner = THIS_MODULE,
.suppress_bind_attrs = true,
}, },
}; };
......
...@@ -5754,6 +5754,7 @@ static struct platform_driver omap_dsihw_driver = { ...@@ -5754,6 +5754,7 @@ static struct platform_driver omap_dsihw_driver = {
.owner = THIS_MODULE, .owner = THIS_MODULE,
.pm = &dsi_pm_ops, .pm = &dsi_pm_ops,
.of_match_table = dsi_of_match, .of_match_table = dsi_of_match,
.suppress_bind_attrs = true,
}, },
}; };
......
...@@ -966,6 +966,7 @@ static struct platform_driver omap_dsshw_driver = { ...@@ -966,6 +966,7 @@ static struct platform_driver omap_dsshw_driver = {
.owner = THIS_MODULE, .owner = THIS_MODULE,
.pm = &dss_pm_ops, .pm = &dss_pm_ops,
.of_match_table = dss_of_match, .of_match_table = dss_of_match,
.suppress_bind_attrs = true,
}, },
}; };
......
...@@ -781,6 +781,7 @@ static struct platform_driver omapdss_hdmihw_driver = { ...@@ -781,6 +781,7 @@ static struct platform_driver omapdss_hdmihw_driver = {
.owner = THIS_MODULE, .owner = THIS_MODULE,
.pm = &hdmi_pm_ops, .pm = &hdmi_pm_ops,
.of_match_table = hdmi_of_match, .of_match_table = hdmi_of_match,
.suppress_bind_attrs = true,
}, },
}; };
......
...@@ -806,6 +806,7 @@ static struct platform_driver omapdss_hdmihw_driver = { ...@@ -806,6 +806,7 @@ static struct platform_driver omapdss_hdmihw_driver = {
.owner = THIS_MODULE, .owner = THIS_MODULE,
.pm = &hdmi_pm_ops, .pm = &hdmi_pm_ops,
.of_match_table = hdmi_of_match, .of_match_table = hdmi_of_match,
.suppress_bind_attrs = true,
}, },
}; };
......
...@@ -1044,6 +1044,7 @@ static struct platform_driver omap_rfbihw_driver = { ...@@ -1044,6 +1044,7 @@ static struct platform_driver omap_rfbihw_driver = {
.name = "omapdss_rfbi", .name = "omapdss_rfbi",
.owner = THIS_MODULE, .owner = THIS_MODULE,
.pm = &rfbi_pm_ops, .pm = &rfbi_pm_ops,
.suppress_bind_attrs = true,
}, },
}; };
......
...@@ -377,6 +377,7 @@ static struct platform_driver omap_sdi_driver = { ...@@ -377,6 +377,7 @@ static struct platform_driver omap_sdi_driver = {
.driver = { .driver = {
.name = "omapdss_sdi", .name = "omapdss_sdi",
.owner = THIS_MODULE, .owner = THIS_MODULE,
.suppress_bind_attrs = true,
}, },
}; };
......
...@@ -966,6 +966,7 @@ static struct platform_driver omap_venchw_driver = { ...@@ -966,6 +966,7 @@ static struct platform_driver omap_venchw_driver = {
.owner = THIS_MODULE, .owner = THIS_MODULE,
.pm = &venc_pm_ops, .pm = &venc_pm_ops,
.of_match_table = venc_of_match, .of_match_table = venc_of_match,
.suppress_bind_attrs = true,
}, },
}; };
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册