Switch from PANEL_UCLASS to VIDEO_BRIDGE_UCLASS since now
its user driver has bridge support.
Signed-off-by: Svyatoslav Ryhel <clamo...@gmail.com>
---
 drivers/video/bridge/Kconfig |  2 +-
 drivers/video/bridge/dp501.c | 27 +++++++++++----------------
 2 files changed, 12 insertions(+), 17 deletions(-)

diff --git a/drivers/video/bridge/Kconfig b/drivers/video/bridge/Kconfig
index 21c5a043e02..23fc26729ef 100644
--- a/drivers/video/bridge/Kconfig
+++ b/drivers/video/bridge/Kconfig
@@ -9,7 +9,7 @@ config VIDEO_BRIDGE
 
 config VIDEO_BRIDGE_PARADE_DP501
        bool "Support Parade DP501 DP & DVI/HDMI dual mode transmitter"
-       depends on PANEL && DM_GPIO
+       depends on VIDEO_BRIDGE && PANEL && DM_GPIO
        select DM_I2C
        help
          The Parade DP501 is a DP & DVI/HDMI dual-mode transmitter. It
diff --git a/drivers/video/bridge/dp501.c b/drivers/video/bridge/dp501.c
index 095e3e71fed..9937cfe095b 100644
--- a/drivers/video/bridge/dp501.c
+++ b/drivers/video/bridge/dp501.c
@@ -9,6 +9,7 @@
 #include <log.h>
 #include <backlight.h>
 #include <panel.h>
+#include <video_bridge.h>
 #include <linux/delay.h>
 #include <linux/err.h>
 #include <power/regulator.h>
@@ -206,7 +207,6 @@ struct dp501_priv {
        struct udevice *chip2;
 
        struct udevice *vdd;
-       struct gpio_desc reset_gpio;
        struct gpio_desc enable_gpio;
 };
 
@@ -484,16 +484,19 @@ static int dp501_panel_timings(struct udevice *dev,
        return 0;
 }
 
-static void dp501_hw_init(struct dp501_priv *priv)
+static void dp501_hw_init(struct udevice *dev)
 {
-       dm_gpio_set_value(&priv->reset_gpio, 1);
+       struct dp501_priv *priv = dev_get_priv(dev);
+       struct video_bridge_priv *uc_priv = dev_get_uclass_priv(dev);
+
+       dm_gpio_set_value(&uc_priv->reset, 1);
 
        regulator_set_enable_if_allowed(priv->vdd, 1);
        dm_gpio_set_value(&priv->enable_gpio, 1);
 
        udelay(100);
 
-       dm_gpio_set_value(&priv->reset_gpio, 0);
+       dm_gpio_set_value(&uc_priv->reset, 0);
        mdelay(80);
 }
 
@@ -521,14 +524,6 @@ static int dp501_setup(struct udevice *dev)
        }
 
        /* get gpios */
-       ret = gpio_request_by_name(dev, "reset-gpios", 0,
-                                  &priv->reset_gpio, GPIOD_IS_OUT);
-       if (ret) {
-               log_debug("%s: Could not decode reset-gpios (%d)\n",
-                         __func__, ret);
-               return ret;
-       }
-
        ret = gpio_request_by_name(dev, "enable-gpios", 0,
                                   &priv->enable_gpio, GPIOD_IS_OUT);
        if (ret) {
@@ -544,7 +539,7 @@ static int dp501_setup(struct udevice *dev)
                return ret;
        }
 
-       dp501_hw_init(priv);
+       dp501_hw_init(dev);
 
        /* get EDID */
        return panel_get_display_timing(priv->panel, &priv->timing);
@@ -558,8 +553,8 @@ static int dp501_probe(struct udevice *dev)
        return dp501_setup(dev);
 }
 
-struct panel_ops dp501_ops = {
-       .enable_backlight       = dp501_attach,
+static const struct video_bridge_ops dp501_ops = {
+       .attach                 = dp501_attach,
        .set_backlight          = dp501_set_backlight,
        .get_display_timing     = dp501_panel_timings,
 };
@@ -571,7 +566,7 @@ static const struct udevice_id dp501_ids[] = {
 
 U_BOOT_DRIVER(dp501) = {
        .name           = "dp501",
-       .id             = UCLASS_PANEL,
+       .id             = UCLASS_VIDEO_BRIDGE,
        .of_match       = dp501_ids,
        .ops            = &dp501_ops,
        .probe          = dp501_probe,
-- 
2.43.0

Reply via email to