[PATCH v4 0/9] drm/bridge: Kconfig: cleanup DRM_PANEL usage

Luca Ceresoli posted 9 patches 1 week, 2 days ago
drivers/gpu/drm/bridge/Kconfig | 14 +++++++++-----
1 file changed, 9 insertions(+), 5 deletions(-)
[PATCH v4 0/9] drm/bridge: Kconfig: cleanup DRM_PANEL usage
Posted by Luca Ceresoli 1 week, 2 days ago
As a cleanup in preparation for making every drm_panel embed a drm_bridge,
fix missing or unnecessary usage of DRM_PANEL and DRM_PANEL_BRIDGE in
drivers/gpu/drm/bridge/Kconfig.

== Grand plan

This is part of the work to support hotplug of DRM bridges. The grand plan
was discussed in [0].

Here's the work breakdown (➜ marks the current series):

 1. ➜ add refcounting to DRM bridges struct drm_bridge,
      based on devm_drm_bridge_alloc()
    A. ✔ add new alloc API and refcounting (v6.16)
    B. ✔ convert all bridge drivers to new API (v6.17)
    C. ✔ kunit tests (v6.17)
    D. ✔ add get/put to drm_bridge_add/remove() + attach/detach()
         and warn on old allocation pattern (v6.17)
    E. ➜ add get/put on drm_bridge accessors
       1. ✔ drm_bridge_chain_get_first_bridge(), add cleanup action (v6.18)
       2. ✔ drm_bridge_get_prev_bridge() (v6.18)
       3. ✔ drm_bridge_get_next_bridge() (v6.19)
       4. ✔ drm_for_each_bridge_in_chain() (v6.19)
       5. ✔ drm_bridge_connector_init (v6.19)
       6. ✔ protect encoder bridge chain with a mutex (v7.2)
       7. ✔ of_drm_find_bridge
          a. ✔ add of_drm_get_bridge() (v7.0),
               convert basic direct users (v7.0-v7.1)
          b. ✔ convert direct of_drm_get_bridge() users, part 2 (v7.0)
          c. ✔ convert direct of_drm_get_bridge() users, part 3 (v7.0)
          d. ✔ convert direct of_drm_get_bridge() users, part 4 (v7.1-v7.2)
          e. ✔ bridge-only drm_of_find_panel_or_bridge() users (v7.2)
       8. ➜ panel_bridge lifetime
          a. ➜ cleanup DRM_PANEL in bridge drivers
	  b. … embed a drm_bridge in every drm_panel
       9. ✔ enforce drm_bridge_add before drm_bridge_attach (v6.19)
    F. ✔ debugfs improvements
       1. ✔ add top-level 'bridges' file (v6.16)
       2. ✔ show refcount and list lingering bridges (v6.19)
 2. ✔ handle gracefully atomic updates during bridge removal
    A. ✔ Add drm_bridge_enter/exit() to protect device resources (v7.0)
    B. ✔ Add drm_bridge_clear_and_put() (v7.1)
 3. … DSI host-device driver interaction
 4. ✔ removing the need for the "always-disconnected" connector
 5. ✔ Migrate i.MX LCDIF driver to bridge-connector (v7.2)
 6. … DRM bridge hotplug
    A. … Bridge hotplug management in the DRM core
       1. ✔ bridge-connector: attach encoder to the connector (v7.2)
       2. … drm bridge hotplug
    B.   Device tree description

[0] https://lore.kernel.org/lkml/20250206-hotplug-drm-bridge-v6-0-9d6f2c9c3058@bootlin.com/#t

Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com>
---
Changes in v4:
- Removed 4 patches now upstream
- Fixed commit message of the tc358767 patch
- Link to v3: https://patch.msgid.link/20260831-drm-bridge-drm_panel-cleanup-v3-0-50efd8168b3e@bootlin.com

Changes in v3:
- Fixed a few patches which incorrectly removed 'select DRM_BRIDGE'
- Added missing 'select DRM_PANEL_BRIDGE' to some patches where
  devm_drm_of_get_bridge() is used (thanks Doug)
- Added patch 13 for tc358764
- Removed boucing address spanda@codeaurora.org from Cc list
- Link to v2: https://patch.msgid.link/20260825-drm-bridge-drm_panel-cleanup-v2-0-c6c88ba7ffd2@bootlin.com

Changes in v2:
- Added maintainers and recent authors to per-patch Cc list (these are not
  added automatically by get-maintainers because the patches touch only the
  Kconfig file)
- Added review trailer
- No changes to commit messages and patch content
- Link to v1: https://patch.msgid.link/20260812-drm-bridge-drm_panel-cleanup-v1-0-0d86734e908a@bootlin.com

---
Luca Ceresoli (9):
      drm/bridge: tc358764: don't select unused DRM_PANEL
      drm/bridge: ti-dlpc3433: don't depend on DRM_PANEL, select DRM_PANEL_BRIDGE
      drm/bridge: nxp-ptn3460: select DRM_PANEL_BRIDGE, not DRM_PANEL
      drm/bridge: parade-ps8622: select DRM_PANEL_BRIDGE, not DRM_PANEL
      drm/bridge: tc358775: select DRM_PANEL_BRIDGE, not DRM_PANEL
      drm/bridge: tc358767: select DRM_PANEL_BRIDGE
      drm/bridge: tc358768: select DRM_PANEL_BRIDGE
      drm/bridge: ssd2825: select DRM_PANEL_BRIDGE
      drm/bridge: tc358764: select DRM_PANEL_BRIDGE

 drivers/gpu/drm/bridge/Kconfig | 14 +++++++++-----
 1 file changed, 9 insertions(+), 5 deletions(-)
---
base-commit: 2d70e1401dbbfc559b6a5d1ba8275d5282d71c2c
change-id: 20260812-drm-bridge-drm_panel-cleanup-09ed5cc10948

Best regards,
--  
Luca Ceresoli, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com

Re: [PATCH v4 0/9] drm/bridge: Kconfig: cleanup DRM_PANEL usage
Posted by Luca Ceresoli 1 week, 2 days ago
Hello Andrey, Andy, Christopher, Jagan, Maoyi, Marek, Marek, Michael,
Peter, Sam, Sean, Svyatoslav, Tomi, Tony, Vinay, Vincent,

On Tue Sep 15, 2026 at 6:46 PM CEST, Luca Ceresoli wrote:
> As a cleanup in preparation for making every drm_panel embed a drm_bridge,
> fix missing or unnecessary usage of DRM_PANEL and DRM_PANEL_BRIDGE in
> drivers/gpu/drm/bridge/Kconfig.

these patches are trivial oneliners and other work depends on them, but
cannot be applied as they have no reviews so far.

I'd appreciate if you could find a moment to review those you are in Cc as
maintainers, reviewers or recent contributors (and other patches in the
series you might find interesting).

Being just Kconfig changes, there should be no runtime regressions, only
build failures in the worst case.

Thank you in advance for your time.

Kind regards,
Luca

--
Luca Ceresoli, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
Re: [PATCH v4 0/9] drm/bridge: Kconfig: cleanup DRM_PANEL usage
Posted by Paul Cercueil 3 days, 15 hours ago
Hi Luca,

Le mardi 15 septembre 2026 à 18:46 +0200, Luca Ceresoli a écrit :
> As a cleanup in preparation for making every drm_panel embed a drm_bridge,
> fix missing or unnecessary usage of DRM_PANEL and DRM_PANEL_BRIDGE in
> drivers/gpu/drm/bridge/Kconfig.
> 
> == Grand plan
> 
> This is part of the work to support hotplug of DRM bridges. The grand plan
> was discussed in [0].
> 
> Here's the work breakdown (➜ marks the current series):
> 
>  1. ➜ add refcounting to DRM bridges struct drm_bridge,
>       based on devm_drm_bridge_alloc()
>     A. ✔ add new alloc API and refcounting (v6.16)
>     B. ✔ convert all bridge drivers to new API (v6.17)
>     C. ✔ kunit tests (v6.17)
>     D. ✔ add get/put to drm_bridge_add/remove() + attach/detach()
>          and warn on old allocation pattern (v6.17)
>     E. ➜ add get/put on drm_bridge accessors
>        1. ✔ drm_bridge_chain_get_first_bridge(), add cleanup action (v6.18)
>        2. ✔ drm_bridge_get_prev_bridge() (v6.18)
>        3. ✔ drm_bridge_get_next_bridge() (v6.19)
>        4. ✔ drm_for_each_bridge_in_chain() (v6.19)
>        5. ✔ drm_bridge_connector_init (v6.19)
>        6. ✔ protect encoder bridge chain with a mutex (v7.2)
>        7. ✔ of_drm_find_bridge
>           a. ✔ add of_drm_get_bridge() (v7.0),
>                convert basic direct users (v7.0-v7.1)
>           b. ✔ convert direct of_drm_get_bridge() users, part 2 (v7.0)
>           c. ✔ convert direct of_drm_get_bridge() users, part 3 (v7.0)
>           d. ✔ convert direct of_drm_get_bridge() users, part 4 (v7.1-v7.2)
>           e. ✔ bridge-only drm_of_find_panel_or_bridge() users (v7.2)
>        8. ➜ panel_bridge lifetime
>           a. ➜ cleanup DRM_PANEL in bridge drivers
> 	  b. … embed a drm_bridge in every drm_panel
>        9. ✔ enforce drm_bridge_add before drm_bridge_attach (v6.19)
>     F. ✔ debugfs improvements
>        1. ✔ add top-level 'bridges' file (v6.16)
>        2. ✔ show refcount and list lingering bridges (v6.19)
>  2. ✔ handle gracefully atomic updates during bridge removal
>     A. ✔ Add drm_bridge_enter/exit() to protect device resources (v7.0)
>     B. ✔ Add drm_bridge_clear_and_put() (v7.1)
>  3. … DSI host-device driver interaction
>  4. ✔ removing the need for the "always-disconnected" connector
>  5. ✔ Migrate i.MX LCDIF driver to bridge-connector (v7.2)
>  6. … DRM bridge hotplug
>     A. … Bridge hotplug management in the DRM core
>        1. ✔ bridge-connector: attach encoder to the connector (v7.2)
>        2. … drm bridge hotplug
>     B.   Device tree description
> 
> [0]
> https://lore.kernel.org/lkml/20250206-hotplug-drm-bridge-v6-0-9d6f2c9c3058@bootlin.com/#t
> 
> Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com>

I had a look and everything looks fine to me.

For the series:
Reviewed-by: Paul Cercueil <paul.cercueil@bootlin.com>


> ---
> Changes in v4:
> - Removed 4 patches now upstream
> - Fixed commit message of the tc358767 patch
> - Link to v3:
> https://patch.msgid.link/20260831-drm-bridge-drm_panel-cleanup-v3-0-50efd8168b3e@bootlin.com
> 
> Changes in v3:
> - Fixed a few patches which incorrectly removed 'select DRM_BRIDGE'
> - Added missing 'select DRM_PANEL_BRIDGE' to some patches where
>   devm_drm_of_get_bridge() is used (thanks Doug)
> - Added patch 13 for tc358764
> - Removed boucing address spanda@codeaurora.org from Cc list
> - Link to v2:
> https://patch.msgid.link/20260825-drm-bridge-drm_panel-cleanup-v2-0-c6c88ba7ffd2@bootlin.com
> 
> Changes in v2:
> - Added maintainers and recent authors to per-patch Cc list (these are not
>   added automatically by get-maintainers because the patches touch only the
>   Kconfig file)
> - Added review trailer
> - No changes to commit messages and patch content
> - Link to v1:
> https://patch.msgid.link/20260812-drm-bridge-drm_panel-cleanup-v1-0-0d86734e908a@bootlin.com
> 
> ---
> Luca Ceresoli (9):
>       drm/bridge: tc358764: don't select unused DRM_PANEL
>       drm/bridge: ti-dlpc3433: don't depend on DRM_PANEL, select
> DRM_PANEL_BRIDGE
>       drm/bridge: nxp-ptn3460: select DRM_PANEL_BRIDGE, not DRM_PANEL
>       drm/bridge: parade-ps8622: select DRM_PANEL_BRIDGE, not DRM_PANEL
>       drm/bridge: tc358775: select DRM_PANEL_BRIDGE, not DRM_PANEL
>       drm/bridge: tc358767: select DRM_PANEL_BRIDGE
>       drm/bridge: tc358768: select DRM_PANEL_BRIDGE
>       drm/bridge: ssd2825: select DRM_PANEL_BRIDGE
>       drm/bridge: tc358764: select DRM_PANEL_BRIDGE
> 
>  drivers/gpu/drm/bridge/Kconfig | 14 +++++++++-----
>  1 file changed, 9 insertions(+), 5 deletions(-)
> ---
> base-commit: 2d70e1401dbbfc559b6a5d1ba8275d5282d71c2c
> change-id: 20260812-drm-bridge-drm_panel-cleanup-09ed5cc10948
> 
> Best regards,
> --  
> Luca Ceresoli, Bootlin
> Embedded Linux and Kernel engineering
> https://bootlin.com

Cheers,

-- 
Paul Cercueil, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com