Hi, On Fri, Jan 11, 2019 at 05:51:20AM +0200, Laurent Pinchart wrote: > Panels are now supported through the drm_panel infrastructure, remove > the omapdrm-specific driver. > > Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> > Reviewed-by: Sebastian Reichel <sebastian.reichel@xxxxxxxxxxxxx> > --- Tested-by: Sebastian Reichel <sebastian.reichel@xxxxxxxxxxxxx> -- Sebastian > drivers/gpu/drm/omapdrm/displays/Kconfig | 6 - > drivers/gpu/drm/omapdrm/displays/Makefile | 1 - > drivers/gpu/drm/omapdrm/displays/panel-dpi.c | 199 ------------------ > .../gpu/drm/omapdrm/dss/omapdss-boot-init.c | 1 - > 4 files changed, 207 deletions(-) > delete mode 100644 drivers/gpu/drm/omapdrm/displays/panel-dpi.c > > diff --git a/drivers/gpu/drm/omapdrm/displays/Kconfig b/drivers/gpu/drm/omapdrm/displays/Kconfig > index 38d066ac966e..7b0bcb494b5c 100644 > --- a/drivers/gpu/drm/omapdrm/displays/Kconfig > +++ b/drivers/gpu/drm/omapdrm/displays/Kconfig > @@ -22,12 +22,6 @@ config DRM_OMAP_CONNECTOR_ANALOG_TV > help > Driver for a generic analog TV connector. > > -config DRM_OMAP_PANEL_DPI > - tristate "Generic DPI panel" > - depends on BACKLIGHT_CLASS_DEVICE > - help > - Driver for generic DPI panels. > - > config DRM_OMAP_PANEL_DSI_CM > tristate "Generic DSI Command Mode Panel" > depends on BACKLIGHT_CLASS_DEVICE > diff --git a/drivers/gpu/drm/omapdrm/displays/Makefile b/drivers/gpu/drm/omapdrm/displays/Makefile > index da1d5321ef50..1db34d4fed64 100644 > --- a/drivers/gpu/drm/omapdrm/displays/Makefile > +++ b/drivers/gpu/drm/omapdrm/displays/Makefile > @@ -3,7 +3,6 @@ obj-$(CONFIG_DRM_OMAP_ENCODER_OPA362) += encoder-opa362.o > obj-$(CONFIG_DRM_OMAP_ENCODER_TPD12S015) += encoder-tpd12s015.o > obj-$(CONFIG_DRM_OMAP_CONNECTOR_HDMI) += connector-hdmi.o > obj-$(CONFIG_DRM_OMAP_CONNECTOR_ANALOG_TV) += connector-analog-tv.o > -obj-$(CONFIG_DRM_OMAP_PANEL_DPI) += panel-dpi.o > obj-$(CONFIG_DRM_OMAP_PANEL_DSI_CM) += panel-dsi-cm.o > obj-$(CONFIG_DRM_OMAP_PANEL_SONY_ACX565AKM) += panel-sony-acx565akm.o > obj-$(CONFIG_DRM_OMAP_PANEL_LGPHILIPS_LB035Q02) += panel-lgphilips-lb035q02.o > diff --git a/drivers/gpu/drm/omapdrm/displays/panel-dpi.c b/drivers/gpu/drm/omapdrm/displays/panel-dpi.c > deleted file mode 100644 > index 389ae2821222..000000000000 > --- a/drivers/gpu/drm/omapdrm/displays/panel-dpi.c > +++ /dev/null > @@ -1,199 +0,0 @@ > -/* > - * Generic MIPI DPI Panel Driver > - * > - * Copyright (C) 2013 Texas Instruments Incorporated - http://www.ti.com/ > - * Author: Tomi Valkeinen <tomi.valkeinen@xxxxxx> > - * > - * This program is free software; you can redistribute it and/or modify it > - * under the terms of the GNU General Public License version 2 as published by > - * the Free Software Foundation. > - */ > - > -#include <linux/gpio/consumer.h> > -#include <linux/module.h> > -#include <linux/platform_device.h> > -#include <linux/slab.h> > -#include <linux/of.h> > -#include <linux/regulator/consumer.h> > -#include <linux/backlight.h> > - > -#include <video/of_display_timing.h> > - > -#include "../dss/omapdss.h" > - > -struct panel_drv_data { > - struct omap_dss_device dssdev; > - > - struct videomode vm; > - > - struct backlight_device *backlight; > - > - struct gpio_desc *enable_gpio; > - struct regulator *vcc_supply; > -}; > - > -#define to_panel_data(p) container_of(p, struct panel_drv_data, dssdev) > - > -static int panel_dpi_connect(struct omap_dss_device *src, > - struct omap_dss_device *dst) > -{ > - return 0; > -} > - > -static void panel_dpi_disconnect(struct omap_dss_device *src, > - struct omap_dss_device *dst) > -{ > -} > - > -static void panel_dpi_enable(struct omap_dss_device *dssdev) > -{ > - struct panel_drv_data *ddata = to_panel_data(dssdev); > - int r; > - > - r = regulator_enable(ddata->vcc_supply); > - if (r) > - return; > - > - gpiod_set_value_cansleep(ddata->enable_gpio, 1); > - backlight_enable(ddata->backlight); > -} > - > -static void panel_dpi_disable(struct omap_dss_device *dssdev) > -{ > - struct panel_drv_data *ddata = to_panel_data(dssdev); > - > - backlight_disable(ddata->backlight); > - > - gpiod_set_value_cansleep(ddata->enable_gpio, 0); > - regulator_disable(ddata->vcc_supply); > -} > - > -static int panel_dpi_get_modes(struct omap_dss_device *dssdev, > - struct drm_connector *connector) > -{ > - struct panel_drv_data *ddata = to_panel_data(dssdev); > - > - return omapdss_display_get_modes(connector, &ddata->vm); > -} > - > -static const struct omap_dss_device_ops panel_dpi_ops = { > - .connect = panel_dpi_connect, > - .disconnect = panel_dpi_disconnect, > - > - .enable = panel_dpi_enable, > - .disable = panel_dpi_disable, > - > - .get_modes = panel_dpi_get_modes, > -}; > - > -static int panel_dpi_probe_of(struct platform_device *pdev) > -{ > - struct panel_drv_data *ddata = platform_get_drvdata(pdev); > - struct device_node *node = pdev->dev.of_node; > - int r; > - struct display_timing timing; > - struct gpio_desc *gpio; > - > - gpio = devm_gpiod_get_optional(&pdev->dev, "enable", GPIOD_OUT_LOW); > - if (IS_ERR(gpio)) > - return PTR_ERR(gpio); > - > - ddata->enable_gpio = gpio; > - > - /* > - * Many different panels are supported by this driver and there are > - * probably very different needs for their reset pins in regards to > - * timing and order relative to the enable gpio. So for now it's just > - * ensured that the reset line isn't active. > - */ > - gpio = devm_gpiod_get_optional(&pdev->dev, "reset", GPIOD_OUT_LOW); > - if (IS_ERR(gpio)) > - return PTR_ERR(gpio); > - > - ddata->vcc_supply = devm_regulator_get(&pdev->dev, "vcc"); > - if (IS_ERR(ddata->vcc_supply)) > - return PTR_ERR(ddata->vcc_supply); > - > - ddata->backlight = devm_of_find_backlight(&pdev->dev); > - > - if (IS_ERR(ddata->backlight)) > - return PTR_ERR(ddata->backlight); > - > - r = of_get_display_timing(node, "panel-timing", &timing); > - if (r) { > - dev_err(&pdev->dev, "failed to get video timing\n"); > - return r; > - } > - > - videomode_from_timing(&timing, &ddata->vm); > - > - return 0; > -} > - > -static int panel_dpi_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 == NULL) > - return -ENOMEM; > - > - platform_set_drvdata(pdev, ddata); > - > - r = panel_dpi_probe_of(pdev); > - if (r) > - return r; > - > - dssdev = &ddata->dssdev; > - dssdev->dev = &pdev->dev; > - dssdev->ops = &panel_dpi_ops; > - dssdev->type = OMAP_DISPLAY_TYPE_DPI; > - dssdev->display = true; > - dssdev->owner = THIS_MODULE; > - dssdev->of_ports = BIT(0); > - dssdev->ops_flags = OMAP_DSS_DEVICE_OP_MODES; > - drm_bus_flags_from_videomode(&ddata->vm, &dssdev->bus_flags); > - > - omapdss_display_init(dssdev); > - omapdss_device_register(dssdev); > - > - return 0; > -} > - > -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_device_unregister(dssdev); > - > - if (omapdss_device_is_enabled(dssdev)) > - panel_dpi_disable(dssdev); > - > - return 0; > -} > - > -static const struct of_device_id panel_dpi_of_match[] = { > - { .compatible = "omapdss,panel-dpi", }, > - {}, > -}; > - > -MODULE_DEVICE_TABLE(of, panel_dpi_of_match); > - > -static struct platform_driver panel_dpi_driver = { > - .probe = panel_dpi_probe, > - .remove = __exit_p(panel_dpi_remove), > - .driver = { > - .name = "panel-dpi", > - .of_match_table = panel_dpi_of_match, > - .suppress_bind_attrs = true, > - }, > -}; > - > -module_platform_driver(panel_dpi_driver); > - > -MODULE_AUTHOR("Tomi Valkeinen <tomi.valkeinen@xxxxxx>"); > -MODULE_DESCRIPTION("Generic MIPI DPI Panel Driver"); > -MODULE_LICENSE("GPL"); > diff --git a/drivers/gpu/drm/omapdrm/dss/omapdss-boot-init.c b/drivers/gpu/drm/omapdrm/dss/omapdss-boot-init.c > index dfeaea639920..2b41c75ce988 100644 > --- a/drivers/gpu/drm/omapdrm/dss/omapdss-boot-init.c > +++ b/drivers/gpu/drm/omapdrm/dss/omapdss-boot-init.c > @@ -189,7 +189,6 @@ static const struct of_device_id omapdss_of_fixups_whitelist[] __initconst = { > { .compatible = "hdmi-connector" }, > { .compatible = "lgphilips,lb035q02" }, > { .compatible = "nec,nl8048hl11" }, > - { .compatible = "panel-dpi" }, > { .compatible = "panel-dsi-cm" }, > { .compatible = "sharp,ls037v7dw01" }, > { .compatible = "sony,acx565akm" }, > -- > 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