[PATCH 01/13] drm/omap: panel-dpi: remove non-DT support
Laurent Pinchart
laurent.pinchart at ideasonboard.com
Fri May 12 12:08:14 UTC 2017
Hi Tomi,
Thank you for the patch.
On Friday 12 May 2017 13:41:30 Tomi Valkeinen wrote:
> Non-DT booting is no longer supported, so remove legacy code.
>
> Signed-off-by: Tomi Valkeinen <tomi.valkeinen at ti.com>
> ---
> drivers/gpu/drm/omapdrm/displays/panel-dpi.c | 78 +++----------------------
> 1 file changed, 6 insertions(+), 72 deletions(-)
>
> diff --git a/drivers/gpu/drm/omapdrm/displays/panel-dpi.c
> b/drivers/gpu/drm/omapdrm/displays/panel-dpi.c index
> 04ce8c5f2954..75b98bb81de2 100644
> --- a/drivers/gpu/drm/omapdrm/displays/panel-dpi.c
> +++ b/drivers/gpu/drm/omapdrm/displays/panel-dpi.c
> @@ -18,7 +18,6 @@
I think you can drop linux/of_gpio.h.
> #include <linux/regulator/consumer.h>
> #include <linux/backlight.h>
>
> -#include <video/omap-panel-data.h>
> #include <video/of_display_timing.h>
>
> #include "../dss/omapdss.h"
> @@ -33,9 +32,6 @@ struct panel_drv_data {
>
> struct backlight_device *backlight;
>
> - /* used for non-DT boot, to be removed */
> - int backlight_gpio;
> -
> struct gpio_desc *enable_gpio;
> struct regulator *vcc_supply;
> };
> @@ -97,9 +93,6 @@ static int panel_dpi_enable(struct omap_dss_device
> *dssdev)
>
> gpiod_set_value_cansleep(ddata->enable_gpio, 1);
>
> - if (gpio_is_valid(ddata->backlight_gpio))
> - gpio_set_value_cansleep(ddata->backlight_gpio, 1);
> -
> if (ddata->backlight) {
> ddata->backlight->props.power = FB_BLANK_UNBLANK;
> backlight_update_status(ddata->backlight);
> @@ -118,9 +111,6 @@ static void panel_dpi_disable(struct omap_dss_device
> *dssdev) if (!omapdss_device_is_enabled(dssdev))
> return;
>
> - if (gpio_is_valid(ddata->backlight_gpio))
> - gpio_set_value_cansleep(ddata->backlight_gpio, 0);
> -
> if (ddata->backlight) {
> ddata->backlight->props.power = FB_BLANK_POWERDOWN;
> backlight_update_status(ddata->backlight);
> @@ -177,47 +167,6 @@ static struct omap_dss_driver panel_dpi_ops = {
> .get_resolution = omapdss_default_get_resolution,
> };
>
> -static int panel_dpi_probe_pdata(struct platform_device *pdev)
> -{
> - const struct panel_dpi_platform_data *pdata;
> - struct panel_drv_data *ddata = platform_get_drvdata(pdev);
> - struct omap_dss_device *dssdev, *in;
> - int r;
> -
> - pdata = dev_get_platdata(&pdev->dev);
> -
> - in = omap_dss_find_output(pdata->source);
> - if (in == NULL) {
> - dev_err(&pdev->dev, "failed to find video source '%s'\n",
> - pdata->source);
> - return -EPROBE_DEFER;
> - }
> -
> - ddata->in = in;
> -
> - ddata->data_lines = pdata->data_lines;
> -
> - videomode_from_timing(pdata->display_timing, &ddata->vm);
> -
> - dssdev = &ddata->dssdev;
> - dssdev->name = pdata->name;
> -
> - r = devm_gpio_request_one(&pdev->dev, pdata->enable_gpio,
> - GPIOF_OUT_INIT_LOW, "panel enable");
> - if (r)
> - goto err_gpio;
> -
> - ddata->enable_gpio = gpio_to_desc(pdata->enable_gpio);
> -
> - ddata->backlight_gpio = pdata->backlight_gpio;
> -
> - return 0;
> -
> -err_gpio:
> - omap_dss_put_device(ddata->in);
> - return r;
> -}
> -
> static int panel_dpi_probe_of(struct platform_device *pdev)
> {
> struct panel_drv_data *ddata = platform_get_drvdata(pdev);
> @@ -248,8 +197,6 @@ static int panel_dpi_probe_of(struct platform_device
> *pdev) if (IS_ERR(ddata->vcc_supply))
> return PTR_ERR(ddata->vcc_supply);
>
> - ddata->backlight_gpio = -ENOENT;
> -
> bl_node = of_parse_phandle(node, "backlight", 0);
> if (bl_node) {
> ddata->backlight = of_find_backlight_by_node(bl_node);
> @@ -291,30 +238,18 @@ static int panel_dpi_probe(struct platform_device
> *pdev) struct omap_dss_device *dssdev;
> int r;
>
> + if (!pdev->dev.of_node)
> + return -ENODEV;
> +
This can't happen.
> ddata = devm_kzalloc(&pdev->dev, sizeof(*ddata), GFP_KERNEL);
> if (ddata == NULL)
> return -ENOMEM;
>
> platform_set_drvdata(pdev, ddata);
>
> - if (dev_get_platdata(&pdev->dev)) {
> - r = panel_dpi_probe_pdata(pdev);
> - if (r)
> - return r;
> - } else if (pdev->dev.of_node) {
> - r = panel_dpi_probe_of(pdev);
> - if (r)
> - return r;
> - } else {
> - return -ENODEV;
> - }
> -
> - if (gpio_is_valid(ddata->backlight_gpio)) {
> - r = devm_gpio_request_one(&pdev->dev, ddata->backlight_gpio,
> - GPIOF_OUT_INIT_LOW, "panel backlight");
> - if (r)
> - goto err_gpio;
> - }
> + r = panel_dpi_probe_of(pdev);
> + if (r)
> + return r;
>
> dssdev = &ddata->dssdev;
> dssdev->dev = &pdev->dev;
> @@ -333,7 +268,6 @@ static int panel_dpi_probe(struct platform_device *pdev)
> return 0;
>
> err_reg:
> -err_gpio:
> omap_dss_put_device(ddata->in);
> return r;
> }
--
Regards,
Laurent Pinchart
More information about the dri-devel
mailing list