2023-08-31 15:57:45

by Biju Das

[permalink] [raw]
Subject: [PATCH v6 0/4] Drop ID table and conditionals around of_node pointers

This patch series aims to drop ID table and conditionals around of_node
pointers for anx78xx driver.

While at it, drop CONFIG_OF conditionals around of_node pointers from
drm_bridge.h and all the drm/bridge drivers.

v5->v6:
* Dropped CONFIG_OF conditionals from all bridge drivers.
* Added Rb tag from Douglas Anderson and for patch#2 and #3.
* Added Rb tag from Laurent for patch#2.
* Dropped unnecessary CONFIG_OF conditional around
devm_drm_of_get_bridge() and drmm_of_get_bridge().
v4->v5:
* Added Rb tag from Andy and Helen for patch#1.
* Split patch#2 into two
* Added struct device_node forward declaration for patch#2.
* Updated commit description for patch#2
v3->v4:
* Created patch#2 for dropping conditionals around of_node pointers.
* Added Rb tag from Laurent and Douglas Anderson for patch#1.
v2->v3:
* Updated commit header.
v1->v2:
* Dropped ID table support.

Biju Das (4):
drm/bridge/analogix/anx78xx: Drop ID table
drm/bridge: Drop conditionals around of_node pointers
drm/bridge: Drop CONFIG_OF conditionals around of_node pointers
drm/bridge: panel: Drop CONFIG_OF conditional around
*_of_get_bridge()

drivers/gpu/drm/bridge/analogix/analogix-anx78xx.c | 9 ---------
drivers/gpu/drm/bridge/panel.c | 5 -----
drivers/gpu/drm/bridge/synopsys/dw-hdmi.c | 2 --
drivers/gpu/drm/bridge/synopsys/dw-mipi-dsi.c | 2 --
include/drm/drm_bridge.h | 4 ++--
5 files changed, 2 insertions(+), 20 deletions(-)

--
2.25.1



2023-08-31 22:42:56

by Biju Das

[permalink] [raw]
Subject: [PATCH v6 3/4] drm/bridge: Drop CONFIG_OF conditionals around of_node pointers

Having conditional around the of_node pointers turns out to make driver
code use ugly #ifdef and #if blocks. So drop the conditionals.

Suggested-by: Douglas Anderson <[email protected]>
Signed-off-by: Biju Das <[email protected]>
Reviewed-by: Douglas Anderson <[email protected]>
---
v5->v6:
* Added Rb tag from Douglas Anderson.
* Dropped conditionals from remaining drm/bridge drivers.
v5:
* Split from patch#2
---
drivers/gpu/drm/bridge/analogix/analogix-anx78xx.c | 2 --
drivers/gpu/drm/bridge/panel.c | 2 --
drivers/gpu/drm/bridge/synopsys/dw-hdmi.c | 2 --
drivers/gpu/drm/bridge/synopsys/dw-mipi-dsi.c | 2 --
4 files changed, 8 deletions(-)

diff --git a/drivers/gpu/drm/bridge/analogix/analogix-anx78xx.c b/drivers/gpu/drm/bridge/analogix/analogix-anx78xx.c
index 6169db73d2fe..ad8241758896 100644
--- a/drivers/gpu/drm/bridge/analogix/analogix-anx78xx.c
+++ b/drivers/gpu/drm/bridge/analogix/analogix-anx78xx.c
@@ -1231,9 +1231,7 @@ static int anx78xx_i2c_probe(struct i2c_client *client)

mutex_init(&anx78xx->lock);

-#if IS_ENABLED(CONFIG_OF)
anx78xx->bridge.of_node = client->dev.of_node;
-#endif

anx78xx->client = client;
i2c_set_clientdata(client, anx78xx);
diff --git a/drivers/gpu/drm/bridge/panel.c b/drivers/gpu/drm/bridge/panel.c
index 9316384b4474..7f41525f7a6e 100644
--- a/drivers/gpu/drm/bridge/panel.c
+++ b/drivers/gpu/drm/bridge/panel.c
@@ -302,9 +302,7 @@ struct drm_bridge *drm_panel_bridge_add_typed(struct drm_panel *panel,
panel_bridge->panel = panel;

panel_bridge->bridge.funcs = &panel_bridge_bridge_funcs;
-#ifdef CONFIG_OF
panel_bridge->bridge.of_node = panel->dev->of_node;
-#endif
panel_bridge->bridge.ops = DRM_BRIDGE_OP_MODES;
panel_bridge->bridge.type = connector_type;

diff --git a/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c b/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
index 6c1d79474505..52d91a0df85e 100644
--- a/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
+++ b/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
@@ -3541,9 +3541,7 @@ struct dw_hdmi *dw_hdmi_probe(struct platform_device *pdev,
| DRM_BRIDGE_OP_HPD;
hdmi->bridge.interlace_allowed = true;
hdmi->bridge.ddc = hdmi->ddc;
-#ifdef CONFIG_OF
hdmi->bridge.of_node = pdev->dev.of_node;
-#endif

memset(&pdevinfo, 0, sizeof(pdevinfo));
pdevinfo.parent = dev;
diff --git a/drivers/gpu/drm/bridge/synopsys/dw-mipi-dsi.c b/drivers/gpu/drm/bridge/synopsys/dw-mipi-dsi.c
index 04d4a1a10698..a8dd2a2e7c7b 100644
--- a/drivers/gpu/drm/bridge/synopsys/dw-mipi-dsi.c
+++ b/drivers/gpu/drm/bridge/synopsys/dw-mipi-dsi.c
@@ -1182,9 +1182,7 @@ __dw_mipi_dsi_probe(struct platform_device *pdev,

dsi->bridge.driver_private = dsi;
dsi->bridge.funcs = &dw_mipi_dsi_bridge_funcs;
-#ifdef CONFIG_OF
dsi->bridge.of_node = pdev->dev.of_node;
-#endif

return dsi;
}
--
2.25.1


2023-09-05 16:05:45

by Laurent Pinchart

[permalink] [raw]
Subject: Re: [PATCH v6 3/4] drm/bridge: Drop CONFIG_OF conditionals around of_node pointers

Hi Biju,

Thank you for the patch.

On Thu, Aug 31, 2023 at 09:09:37AM +0100, Biju Das wrote:
> Having conditional around the of_node pointers turns out to make driver
> code use ugly #ifdef and #if blocks. So drop the conditionals.
>
> Suggested-by: Douglas Anderson <[email protected]>
> Signed-off-by: Biju Das <[email protected]>
> Reviewed-by: Douglas Anderson <[email protected]>

Reviewed-by: Laurent Pinchart <[email protected]>

> ---
> v5->v6:
> * Added Rb tag from Douglas Anderson.
> * Dropped conditionals from remaining drm/bridge drivers.
> v5:
> * Split from patch#2
> ---
> drivers/gpu/drm/bridge/analogix/analogix-anx78xx.c | 2 --
> drivers/gpu/drm/bridge/panel.c | 2 --
> drivers/gpu/drm/bridge/synopsys/dw-hdmi.c | 2 --
> drivers/gpu/drm/bridge/synopsys/dw-mipi-dsi.c | 2 --
> 4 files changed, 8 deletions(-)
>
> diff --git a/drivers/gpu/drm/bridge/analogix/analogix-anx78xx.c b/drivers/gpu/drm/bridge/analogix/analogix-anx78xx.c
> index 6169db73d2fe..ad8241758896 100644
> --- a/drivers/gpu/drm/bridge/analogix/analogix-anx78xx.c
> +++ b/drivers/gpu/drm/bridge/analogix/analogix-anx78xx.c
> @@ -1231,9 +1231,7 @@ static int anx78xx_i2c_probe(struct i2c_client *client)
>
> mutex_init(&anx78xx->lock);
>
> -#if IS_ENABLED(CONFIG_OF)
> anx78xx->bridge.of_node = client->dev.of_node;
> -#endif
>
> anx78xx->client = client;
> i2c_set_clientdata(client, anx78xx);
> diff --git a/drivers/gpu/drm/bridge/panel.c b/drivers/gpu/drm/bridge/panel.c
> index 9316384b4474..7f41525f7a6e 100644
> --- a/drivers/gpu/drm/bridge/panel.c
> +++ b/drivers/gpu/drm/bridge/panel.c
> @@ -302,9 +302,7 @@ struct drm_bridge *drm_panel_bridge_add_typed(struct drm_panel *panel,
> panel_bridge->panel = panel;
>
> panel_bridge->bridge.funcs = &panel_bridge_bridge_funcs;
> -#ifdef CONFIG_OF
> panel_bridge->bridge.of_node = panel->dev->of_node;
> -#endif
> panel_bridge->bridge.ops = DRM_BRIDGE_OP_MODES;
> panel_bridge->bridge.type = connector_type;
>
> diff --git a/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c b/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
> index 6c1d79474505..52d91a0df85e 100644
> --- a/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
> +++ b/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
> @@ -3541,9 +3541,7 @@ struct dw_hdmi *dw_hdmi_probe(struct platform_device *pdev,
> | DRM_BRIDGE_OP_HPD;
> hdmi->bridge.interlace_allowed = true;
> hdmi->bridge.ddc = hdmi->ddc;
> -#ifdef CONFIG_OF
> hdmi->bridge.of_node = pdev->dev.of_node;
> -#endif
>
> memset(&pdevinfo, 0, sizeof(pdevinfo));
> pdevinfo.parent = dev;
> diff --git a/drivers/gpu/drm/bridge/synopsys/dw-mipi-dsi.c b/drivers/gpu/drm/bridge/synopsys/dw-mipi-dsi.c
> index 04d4a1a10698..a8dd2a2e7c7b 100644
> --- a/drivers/gpu/drm/bridge/synopsys/dw-mipi-dsi.c
> +++ b/drivers/gpu/drm/bridge/synopsys/dw-mipi-dsi.c
> @@ -1182,9 +1182,7 @@ __dw_mipi_dsi_probe(struct platform_device *pdev,
>
> dsi->bridge.driver_private = dsi;
> dsi->bridge.funcs = &dw_mipi_dsi_bridge_funcs;
> -#ifdef CONFIG_OF
> dsi->bridge.of_node = pdev->dev.of_node;
> -#endif
>
> return dsi;
> }

--
Regards,

Laurent Pinchart