Hi, On Sat, May 26, 2018 at 08:24:48PM +0300, Laurent Pinchart wrote: > The panel devices list isn't used anymore, all panel devices are > accessed through the global devices list. Remove it. > > Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> > --- Reviewed-by: Sebastian Reichel <sebastian.reichel@xxxxxxxxxxxxxxx> -- Sebastian > .../gpu/drm/omapdrm/displays/connector-analog-tv.c | 9 ++------ > drivers/gpu/drm/omapdrm/displays/connector-dvi.c | 14 ++--------- > drivers/gpu/drm/omapdrm/displays/connector-hdmi.c | 8 ++----- > drivers/gpu/drm/omapdrm/displays/panel-dpi.c | 8 ++----- > drivers/gpu/drm/omapdrm/displays/panel-dsi-cm.c | 8 ++----- > .../omapdrm/displays/panel-lgphilips-lb035q02.c | 8 ++----- > .../drm/omapdrm/displays/panel-nec-nl8048hl11.c | 8 ++----- > .../drm/omapdrm/displays/panel-sharp-ls037v7dw01.c | 8 ++----- > .../drm/omapdrm/displays/panel-sony-acx565akm.c | 27 +++++++--------------- > .../drm/omapdrm/displays/panel-tpo-td028ttec1.c | 8 ++----- > .../drm/omapdrm/displays/panel-tpo-td043mtea1.c | 22 ++++-------------- > drivers/gpu/drm/omapdrm/dss/display.c | 23 ------------------ > drivers/gpu/drm/omapdrm/dss/omapdss.h | 3 --- > 13 files changed, 31 insertions(+), 123 deletions(-) > > diff --git a/drivers/gpu/drm/omapdrm/displays/connector-analog-tv.c b/drivers/gpu/drm/omapdrm/displays/connector-analog-tv.c > index fb23fae7fbf4..f1d1c67d72b8 100644 > --- a/drivers/gpu/drm/omapdrm/displays/connector-analog-tv.c > +++ b/drivers/gpu/drm/omapdrm/displays/connector-analog-tv.c > @@ -154,7 +154,6 @@ static int tvc_probe(struct platform_device *pdev) > { > struct panel_drv_data *ddata; > struct omap_dss_device *dssdev; > - int r; > > ddata = devm_kzalloc(&pdev->dev, sizeof(*ddata), GFP_KERNEL); > if (!ddata) > @@ -172,11 +171,7 @@ static int tvc_probe(struct platform_device *pdev) > dssdev->owner = THIS_MODULE; > > omapdss_display_init(dssdev); > - r = omapdss_register_display(dssdev); > - if (r) { > - dev_err(&pdev->dev, "Failed to register panel\n"); > - return r; > - } > + omapdss_device_register(dssdev); > > return 0; > } > @@ -186,7 +181,7 @@ static int __exit tvc_remove(struct platform_device *pdev) > struct panel_drv_data *ddata = platform_get_drvdata(pdev); > struct omap_dss_device *dssdev = &ddata->dssdev; > > - omapdss_unregister_display(&ddata->dssdev); > + omapdss_device_unregister(&ddata->dssdev); > > tvc_disable(dssdev); > tvc_disconnect(dssdev); > diff --git a/drivers/gpu/drm/omapdrm/displays/connector-dvi.c b/drivers/gpu/drm/omapdrm/displays/connector-dvi.c > index 5333fb166c83..9e0b5a0b2eea 100644 > --- a/drivers/gpu/drm/omapdrm/displays/connector-dvi.c > +++ b/drivers/gpu/drm/omapdrm/displays/connector-dvi.c > @@ -391,19 +391,9 @@ static int dvic_probe(struct platform_device *pdev) > dssdev->owner = THIS_MODULE; > > omapdss_display_init(dssdev); > - r = omapdss_register_display(dssdev); > - if (r) { > - dev_err(&pdev->dev, "Failed to register panel\n"); > - goto err_reg; > - } > + omapdss_device_register(dssdev); > > return 0; > - > -err_reg: > - i2c_put_adapter(ddata->i2c_adapter); > - mutex_destroy(&ddata->hpd_lock); > - > - return r; > } > > static int __exit dvic_remove(struct platform_device *pdev) > @@ -411,7 +401,7 @@ static int __exit dvic_remove(struct platform_device *pdev) > struct panel_drv_data *ddata = platform_get_drvdata(pdev); > struct omap_dss_device *dssdev = &ddata->dssdev; > > - omapdss_unregister_display(&ddata->dssdev); > + omapdss_device_unregister(&ddata->dssdev); > > dvic_disable(dssdev); > dvic_disconnect(dssdev); > diff --git a/drivers/gpu/drm/omapdrm/displays/connector-hdmi.c b/drivers/gpu/drm/omapdrm/displays/connector-hdmi.c > index 2c5e8cf70c9f..064b051c0a29 100644 > --- a/drivers/gpu/drm/omapdrm/displays/connector-hdmi.c > +++ b/drivers/gpu/drm/omapdrm/displays/connector-hdmi.c > @@ -351,11 +351,7 @@ static int hdmic_probe(struct platform_device *pdev) > dssdev->owner = THIS_MODULE; > > omapdss_display_init(dssdev); > - r = omapdss_register_display(dssdev); > - if (r) { > - dev_err(&pdev->dev, "Failed to register panel\n"); > - return r; > - } > + omapdss_device_register(dssdev); > > return 0; > } > @@ -365,7 +361,7 @@ static int __exit hdmic_remove(struct platform_device *pdev) > struct panel_drv_data *ddata = platform_get_drvdata(pdev); > struct omap_dss_device *dssdev = &ddata->dssdev; > > - omapdss_unregister_display(&ddata->dssdev); > + omapdss_device_unregister(&ddata->dssdev); > > hdmic_disable(dssdev); > hdmic_disconnect(dssdev); > diff --git a/drivers/gpu/drm/omapdrm/displays/panel-dpi.c b/drivers/gpu/drm/omapdrm/displays/panel-dpi.c > index 87f11618e85f..bd598be1ba6b 100644 > --- a/drivers/gpu/drm/omapdrm/displays/panel-dpi.c > +++ b/drivers/gpu/drm/omapdrm/displays/panel-dpi.c > @@ -219,11 +219,7 @@ static int panel_dpi_probe(struct platform_device *pdev) > dssdev->owner = THIS_MODULE; > > omapdss_display_init(dssdev); > - r = omapdss_register_display(dssdev); > - if (r) { > - dev_err(&pdev->dev, "Failed to register panel\n"); > - return r; > - } > + omapdss_device_register(dssdev); > > return 0; > } > @@ -233,7 +229,7 @@ static int __exit panel_dpi_remove(struct platform_device *pdev) > struct panel_drv_data *ddata = platform_get_drvdata(pdev); > struct omap_dss_device *dssdev = &ddata->dssdev; > > - omapdss_unregister_display(dssdev); > + omapdss_device_unregister(dssdev); > > panel_dpi_disable(dssdev); > panel_dpi_disconnect(dssdev); > diff --git a/drivers/gpu/drm/omapdrm/displays/panel-dsi-cm.c b/drivers/gpu/drm/omapdrm/displays/panel-dsi-cm.c > index 94275fc931be..e27399ca3ac5 100644 > --- a/drivers/gpu/drm/omapdrm/displays/panel-dsi-cm.c > +++ b/drivers/gpu/drm/omapdrm/displays/panel-dsi-cm.c > @@ -1329,11 +1329,7 @@ static int dsicm_probe(struct platform_device *pdev) > OMAP_DSS_DISPLAY_CAP_TEAR_ELIM; > > omapdss_display_init(dssdev); > - r = omapdss_register_display(dssdev); > - if (r) { > - dev_err(dev, "Failed to register panel\n"); > - goto err_reg; > - } > + omapdss_device_register(dssdev); > > mutex_init(&ddata->lock); > > @@ -1404,7 +1400,7 @@ static int __exit dsicm_remove(struct platform_device *pdev) > > dev_dbg(&pdev->dev, "remove\n"); > > - omapdss_unregister_display(dssdev); > + omapdss_device_unregister(dssdev); > > dsicm_disable(dssdev); > dsicm_disconnect(dssdev); > diff --git a/drivers/gpu/drm/omapdrm/displays/panel-lgphilips-lb035q02.c b/drivers/gpu/drm/omapdrm/displays/panel-lgphilips-lb035q02.c > index 88c075414b7c..0e89fc1bc34c 100644 > --- a/drivers/gpu/drm/omapdrm/displays/panel-lgphilips-lb035q02.c > +++ b/drivers/gpu/drm/omapdrm/displays/panel-lgphilips-lb035q02.c > @@ -271,11 +271,7 @@ static int lb035q02_panel_spi_probe(struct spi_device *spi) > dssdev->owner = THIS_MODULE; > > omapdss_display_init(dssdev); > - r = omapdss_register_display(dssdev); > - if (r) { > - dev_err(&spi->dev, "Failed to register panel\n"); > - return r; > - } > + omapdss_device_register(dssdev); > > return 0; > } > @@ -285,7 +281,7 @@ static int lb035q02_panel_spi_remove(struct spi_device *spi) > struct panel_drv_data *ddata = dev_get_drvdata(&spi->dev); > struct omap_dss_device *dssdev = &ddata->dssdev; > > - omapdss_unregister_display(dssdev); > + omapdss_device_unregister(dssdev); > > lb035q02_disable(dssdev); > lb035q02_disconnect(dssdev); > diff --git a/drivers/gpu/drm/omapdrm/displays/panel-nec-nl8048hl11.c b/drivers/gpu/drm/omapdrm/displays/panel-nec-nl8048hl11.c > index fafb3e43f390..9f32343e5122 100644 > --- a/drivers/gpu/drm/omapdrm/displays/panel-nec-nl8048hl11.c > +++ b/drivers/gpu/drm/omapdrm/displays/panel-nec-nl8048hl11.c > @@ -294,11 +294,7 @@ static int nec_8048_probe(struct spi_device *spi) > dssdev->owner = THIS_MODULE; > > omapdss_display_init(dssdev); > - r = omapdss_register_display(dssdev); > - if (r) { > - dev_err(&spi->dev, "Failed to register panel\n"); > - return r; > - } > + omapdss_device_register(dssdev); > > return 0; > } > @@ -310,7 +306,7 @@ static int nec_8048_remove(struct spi_device *spi) > > dev_dbg(&ddata->spi->dev, "%s\n", __func__); > > - omapdss_unregister_display(dssdev); > + omapdss_device_unregister(dssdev); > > nec_8048_disable(dssdev); > nec_8048_disconnect(dssdev); > diff --git a/drivers/gpu/drm/omapdrm/displays/panel-sharp-ls037v7dw01.c b/drivers/gpu/drm/omapdrm/displays/panel-sharp-ls037v7dw01.c > index bb28994cedc0..320d2e73c40c 100644 > --- a/drivers/gpu/drm/omapdrm/displays/panel-sharp-ls037v7dw01.c > +++ b/drivers/gpu/drm/omapdrm/displays/panel-sharp-ls037v7dw01.c > @@ -270,11 +270,7 @@ static int sharp_ls_probe(struct platform_device *pdev) > dssdev->owner = THIS_MODULE; > > omapdss_display_init(dssdev); > - r = omapdss_register_display(dssdev); > - if (r) { > - dev_err(&pdev->dev, "Failed to register panel\n"); > - return r; > - } > + omapdss_device_register(dssdev); > > return 0; > } > @@ -284,7 +280,7 @@ static int __exit sharp_ls_remove(struct platform_device *pdev) > struct panel_drv_data *ddata = platform_get_drvdata(pdev); > struct omap_dss_device *dssdev = &ddata->dssdev; > > - omapdss_unregister_display(dssdev); > + omapdss_device_unregister(dssdev); > > sharp_ls_disable(dssdev); > sharp_ls_disconnect(dssdev); > diff --git a/drivers/gpu/drm/omapdrm/displays/panel-sony-acx565akm.c b/drivers/gpu/drm/omapdrm/displays/panel-sony-acx565akm.c > index 46ede08ce65b..5411c0ce9bb4 100644 > --- a/drivers/gpu/drm/omapdrm/displays/panel-sony-acx565akm.c > +++ b/drivers/gpu/drm/omapdrm/displays/panel-sony-acx565akm.c > @@ -733,7 +733,7 @@ static int acx565akm_probe(struct spi_device *spi) > r = devm_gpio_request_one(&spi->dev, ddata->reset_gpio, > GPIOF_OUT_INIT_LOW, "lcd reset"); > if (r) > - goto err_gpio; > + return r; > } > > if (gpio_is_valid(ddata->reset_gpio)) > @@ -754,7 +754,7 @@ static int acx565akm_probe(struct spi_device *spi) > > if (r) { > dev_err(&spi->dev, "%s panel detect error\n", __func__); > - goto err_detect; > + return r; > } > > memset(&props, 0, sizeof(props)); > @@ -764,17 +764,15 @@ static int acx565akm_probe(struct spi_device *spi) > > bldev = backlight_device_register("acx565akm", &ddata->spi->dev, > ddata, &acx565akm_bl_ops, &props); > - if (IS_ERR(bldev)) { > - r = PTR_ERR(bldev); > - goto err_reg_bl; > - } > + if (IS_ERR(bldev)) > + return PTR_ERR(bldev); > ddata->bl_dev = bldev; > if (ddata->has_cabc) { > r = sysfs_create_group(&bldev->dev.kobj, &bldev_attr_group); > if (r) { > dev_err(&bldev->dev, > "%s failed to create sysfs files\n", __func__); > - goto err_sysfs; > + goto err_backlight_unregister; > } > ddata->cabc_mode = get_hw_cabc_mode(ddata); > } > @@ -801,21 +799,12 @@ static int acx565akm_probe(struct spi_device *spi) > dssdev->owner = THIS_MODULE; > > omapdss_display_init(dssdev); > - r = omapdss_register_display(dssdev); > - if (r) { > - dev_err(&spi->dev, "Failed to register panel\n"); > - goto err_reg; > - } > + omapdss_device_register(dssdev); > > return 0; > > -err_reg: > - sysfs_remove_group(&bldev->dev.kobj, &bldev_attr_group); > -err_sysfs: > +err_backlight_unregister: > backlight_device_unregister(bldev); > -err_reg_bl: > -err_detect: > -err_gpio: > return r; > } > > @@ -829,7 +818,7 @@ static int acx565akm_remove(struct spi_device *spi) > sysfs_remove_group(&ddata->bl_dev->dev.kobj, &bldev_attr_group); > backlight_device_unregister(ddata->bl_dev); > > - omapdss_unregister_display(dssdev); > + omapdss_device_unregister(dssdev); > > acx565akm_disable(dssdev); > acx565akm_disconnect(dssdev); > diff --git a/drivers/gpu/drm/omapdrm/displays/panel-tpo-td028ttec1.c b/drivers/gpu/drm/omapdrm/displays/panel-tpo-td028ttec1.c > index a76387dfc0e2..839fc0eaf164 100644 > --- a/drivers/gpu/drm/omapdrm/displays/panel-tpo-td028ttec1.c > +++ b/drivers/gpu/drm/omapdrm/displays/panel-tpo-td028ttec1.c > @@ -395,11 +395,7 @@ static int td028ttec1_panel_probe(struct spi_device *spi) > dssdev->owner = THIS_MODULE; > > omapdss_display_init(dssdev); > - r = omapdss_register_display(dssdev); > - if (r) { > - dev_err(&spi->dev, "Failed to register panel\n"); > - return r; > - } > + omapdss_device_register(dssdev); > > return 0; > } > @@ -411,7 +407,7 @@ static int td028ttec1_panel_remove(struct spi_device *spi) > > dev_dbg(&ddata->spi_dev->dev, "%s\n", __func__); > > - omapdss_unregister_display(dssdev); > + omapdss_device_unregister(dssdev); > > td028ttec1_panel_disable(dssdev); > td028ttec1_panel_disconnect(dssdev); > diff --git a/drivers/gpu/drm/omapdrm/displays/panel-tpo-td043mtea1.c b/drivers/gpu/drm/omapdrm/displays/panel-tpo-td043mtea1.c > index dbb1abf1459a..5ad85326a84e 100644 > --- a/drivers/gpu/drm/omapdrm/displays/panel-tpo-td043mtea1.c > +++ b/drivers/gpu/drm/omapdrm/displays/panel-tpo-td043mtea1.c > @@ -509,8 +509,7 @@ static int tpo_td043_probe(struct spi_device *spi) > ddata->vcc_reg = devm_regulator_get(&spi->dev, "vcc"); > if (IS_ERR(ddata->vcc_reg)) { > dev_err(&spi->dev, "failed to get LCD VCC regulator\n"); > - r = PTR_ERR(ddata->vcc_reg); > - goto err_regulator; > + return PTR_ERR(ddata->vcc_reg); > } > > if (gpio_is_valid(ddata->nreset_gpio)) { > @@ -519,14 +518,14 @@ static int tpo_td043_probe(struct spi_device *spi) > "lcd reset"); > if (r < 0) { > dev_err(&spi->dev, "couldn't request reset GPIO\n"); > - goto err_gpio_req; > + return r; > } > } > > r = sysfs_create_group(&spi->dev.kobj, &tpo_td043_attr_group); > if (r) { > dev_err(&spi->dev, "failed to create sysfs files\n"); > - goto err_sysfs; > + return r; > } > > ddata->vm = tpo_td043_vm; > @@ -538,20 +537,9 @@ static int tpo_td043_probe(struct spi_device *spi) > dssdev->owner = THIS_MODULE; > > omapdss_display_init(dssdev); > - r = omapdss_register_display(dssdev); > - if (r) { > - dev_err(&spi->dev, "Failed to register panel\n"); > - goto err_reg; > - } > + omapdss_device_register(dssdev); > > return 0; > - > -err_reg: > - sysfs_remove_group(&spi->dev.kobj, &tpo_td043_attr_group); > -err_sysfs: > -err_gpio_req: > -err_regulator: > - return r; > } > > static int tpo_td043_remove(struct spi_device *spi) > @@ -561,7 +549,7 @@ static int tpo_td043_remove(struct spi_device *spi) > > dev_dbg(&ddata->spi->dev, "%s\n", __func__); > > - omapdss_unregister_display(dssdev); > + omapdss_device_unregister(dssdev); > > tpo_td043_disable(dssdev); > tpo_td043_disconnect(dssdev); > diff --git a/drivers/gpu/drm/omapdrm/dss/display.c b/drivers/gpu/drm/omapdrm/dss/display.c > index 057069b7a6cf..524e43f71af4 100644 > --- a/drivers/gpu/drm/omapdrm/dss/display.c > +++ b/drivers/gpu/drm/omapdrm/dss/display.c > @@ -28,8 +28,6 @@ > > #include "omapdss.h" > > -static LIST_HEAD(panel_list); > -static DEFINE_MUTEX(panel_list_mutex); > static int disp_num_counter; > > void omapdss_display_init(struct omap_dss_device *dssdev) > @@ -55,27 +53,6 @@ void omapdss_display_init(struct omap_dss_device *dssdev) > } > EXPORT_SYMBOL_GPL(omapdss_display_init); > > -int omapdss_register_display(struct omap_dss_device *dssdev) > -{ > - mutex_lock(&panel_list_mutex); > - list_add_tail(&dssdev->panel_list, &panel_list); > - mutex_unlock(&panel_list_mutex); > - > - omapdss_device_register(dssdev); > - return 0; > -} > -EXPORT_SYMBOL(omapdss_register_display); > - > -void omapdss_unregister_display(struct omap_dss_device *dssdev) > -{ > - mutex_lock(&panel_list_mutex); > - list_del(&dssdev->panel_list); > - mutex_unlock(&panel_list_mutex); > - > - omapdss_device_register(dssdev); > -} > -EXPORT_SYMBOL(omapdss_unregister_display); > - > struct omap_dss_device *omap_dss_get_device(struct omap_dss_device *dssdev) > { > if (!try_module_get(dssdev->owner)) > diff --git a/drivers/gpu/drm/omapdrm/dss/omapdss.h b/drivers/gpu/drm/omapdrm/dss/omapdss.h > index e42821583b91..5f71f6885991 100644 > --- a/drivers/gpu/drm/omapdrm/dss/omapdss.h > +++ b/drivers/gpu/drm/omapdrm/dss/omapdss.h > @@ -395,7 +395,6 @@ struct omap_dss_device { > struct omap_dss_device *dst; > > struct list_head list; > - struct list_head panel_list; > > unsigned int alias_id; > > @@ -488,8 +487,6 @@ static inline bool omapdss_is_initialized(void) > } > > void omapdss_display_init(struct omap_dss_device *dssdev); > -int omapdss_register_display(struct omap_dss_device *dssdev); > -void omapdss_unregister_display(struct omap_dss_device *dssdev); > #define for_each_dss_display(d) \ > while ((d = omapdss_device_get_next(d, true)) != NULL) > > -- > Regards, > > Laurent Pinchart > > _______________________________________________ > dri-devel mailing list > dri-devel@xxxxxxxxxxxxxxxxxxxxx > https://lists.freedesktop.org/mailman/listinfo/dri-devel
Attachment:
signature.asc
Description: PGP signature
_______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel