[PATCH 1/3] drm/bridge: fsl-ldb: make use of driver_private
Marco Felsch
m.felsch at pengutronix.de
Wed May 14 23:04:52 UTC 2025
Hi Laurent,
On 25-05-15, Laurent Pinchart wrote:
> Hi Marco,
>
> Thank you for the patch.
>
> On Thu, May 15, 2025 at 12:24:51AM +0200, Marco Felsch wrote:
> > Make use of the drm_bridge::driver_private data instead of
> > container_of() wrapper.
>
> I suppose this is a personal preference, but I like usage of
> container_of() better. In my opinion it conveys better that struct
> fsl_ldb "unherits" from struct drm_bridge.
Yes, we can drop this patch if container_of() or to_fsl_ldb() is
preferred. I just saw the driver_private field and why not making use of
it since we do that a lot, same is true for container_of :)
Regards,
Marco
> > No functional changes.
> >
> > Signed-off-by: Marco Felsch <m.felsch at pengutronix.de>
> > ---
> > drivers/gpu/drm/bridge/fsl-ldb.c | 14 +++++---------
> > 1 file changed, 5 insertions(+), 9 deletions(-)
> >
> > diff --git a/drivers/gpu/drm/bridge/fsl-ldb.c b/drivers/gpu/drm/bridge/fsl-ldb.c
> > index 0fc8a14fd800..fa29f2bf4031 100644
> > --- a/drivers/gpu/drm/bridge/fsl-ldb.c
> > +++ b/drivers/gpu/drm/bridge/fsl-ldb.c
> > @@ -99,11 +99,6 @@ static bool fsl_ldb_is_dual(const struct fsl_ldb *fsl_ldb)
> > return (fsl_ldb->ch0_enabled && fsl_ldb->ch1_enabled);
> > }
> >
> > -static inline struct fsl_ldb *to_fsl_ldb(struct drm_bridge *bridge)
> > -{
> > - return container_of(bridge, struct fsl_ldb, bridge);
> > -}
> > -
> > static unsigned long fsl_ldb_link_frequency(struct fsl_ldb *fsl_ldb, int clock)
> > {
> > if (fsl_ldb_is_dual(fsl_ldb))
> > @@ -115,7 +110,7 @@ static unsigned long fsl_ldb_link_frequency(struct fsl_ldb *fsl_ldb, int clock)
> > static int fsl_ldb_attach(struct drm_bridge *bridge,
> > enum drm_bridge_attach_flags flags)
> > {
> > - struct fsl_ldb *fsl_ldb = to_fsl_ldb(bridge);
> > + struct fsl_ldb *fsl_ldb = bridge->driver_private;
> >
> > return drm_bridge_attach(bridge->encoder, fsl_ldb->panel_bridge,
> > bridge, flags);
> > @@ -124,7 +119,7 @@ static int fsl_ldb_attach(struct drm_bridge *bridge,
> > static void fsl_ldb_atomic_enable(struct drm_bridge *bridge,
> > struct drm_bridge_state *old_bridge_state)
> > {
> > - struct fsl_ldb *fsl_ldb = to_fsl_ldb(bridge);
> > + struct fsl_ldb *fsl_ldb = bridge->driver_private;
> > struct drm_atomic_state *state = old_bridge_state->base.state;
> > const struct drm_bridge_state *bridge_state;
> > const struct drm_crtc_state *crtc_state;
> > @@ -226,7 +221,7 @@ static void fsl_ldb_atomic_enable(struct drm_bridge *bridge,
> > static void fsl_ldb_atomic_disable(struct drm_bridge *bridge,
> > struct drm_bridge_state *old_bridge_state)
> > {
> > - struct fsl_ldb *fsl_ldb = to_fsl_ldb(bridge);
> > + struct fsl_ldb *fsl_ldb = bridge->driver_private;
> >
> > /* Stop channel(s). */
> > if (fsl_ldb->devdata->lvds_en_bit)
> > @@ -270,7 +265,7 @@ fsl_ldb_mode_valid(struct drm_bridge *bridge,
> > const struct drm_display_info *info,
> > const struct drm_display_mode *mode)
> > {
> > - struct fsl_ldb *fsl_ldb = to_fsl_ldb(bridge);
> > + struct fsl_ldb *fsl_ldb = bridge->driver_private;
> >
> > if (mode->clock > (fsl_ldb_is_dual(fsl_ldb) ? 160000 : 80000))
> > return MODE_CLOCK_HIGH;
> > @@ -309,6 +304,7 @@ static int fsl_ldb_probe(struct platform_device *pdev)
> > fsl_ldb->dev = &pdev->dev;
> > fsl_ldb->bridge.funcs = &funcs;
> > fsl_ldb->bridge.of_node = dev->of_node;
> > + fsl_ldb->bridge.driver_private = fsl_ldb;
> >
> > fsl_ldb->clk = devm_clk_get(dev, "ldb");
> > if (IS_ERR(fsl_ldb->clk))
>
> --
> Regards,
>
> Laurent Pinchart
>
More information about the dri-devel
mailing list