[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <SJ1PR11MB6129F0A86E4A543021A636E6B9B52@SJ1PR11MB6129.namprd11.prod.outlook.com>
Date: Tue, 8 Apr 2025 06:47:06 +0000
From: "Borah, Chaitanya Kumar" <chaitanya.kumar.borah@...el.com>
To: "Dixit, Ashutosh" <ashutosh.dixit@...el.com>, Anusha Srivatsa
<asrivats@...hat.com>
CC: "Deak, Imre" <imre.deak@...el.com>, Neil Armstrong
<neil.armstrong@...aro.org>, Jessica Zhang <quic_jesszhan@...cinc.com>,
Maarten Lankhorst <maarten.lankhorst@...ux.intel.com>, Maxime Ripard
<mripard@...nel.org>, Thomas Zimmermann <tzimmermann@...e.de>, David Airlie
<airlied@...il.com>, Simona Vetter <simona@...ll.ch>, Linus Walleij
<linus.walleij@...aro.org>, Joel Selvaraj <jo@...amily.in>, Douglas Anderson
<dianders@...omium.org>, "dri-devel@...ts.freedesktop.org"
<dri-devel@...ts.freedesktop.org>, "linux-kernel@...r.kernel.org"
<linux-kernel@...r.kernel.org>
Subject: RE: [PATCH 04/10] panel/auo-a030jtn01: Use refcounted allocation in
place of devm_kzalloc()
> -----Original Message-----
> From: dri-devel <dri-devel-bounces@...ts.freedesktop.org> On Behalf Of Dixit,
> Ashutosh
> Sent: Tuesday, April 8, 2025 9:31 AM
> To: Anusha Srivatsa <asrivats@...hat.com>
> Cc: Deak, Imre <imre.deak@...el.com>; Neil Armstrong
> <neil.armstrong@...aro.org>; Jessica Zhang <quic_jesszhan@...cinc.com>;
> Maarten Lankhorst <maarten.lankhorst@...ux.intel.com>; Maxime Ripard
> <mripard@...nel.org>; Thomas Zimmermann <tzimmermann@...e.de>;
> David Airlie <airlied@...il.com>; Simona Vetter <simona@...ll.ch>; Linus
> Walleij <linus.walleij@...aro.org>; Joel Selvaraj <jo@...amily.in>; Douglas
> Anderson <dianders@...omium.org>; dri-devel@...ts.freedesktop.org; linux-
> kernel@...r.kernel.org
> Subject: Re: [PATCH 04/10] panel/auo-a030jtn01: Use refcounted allocation
> in place of devm_kzalloc()
>
> On Mon, 07 Apr 2025 18:40:24 -0700, Dixit, Ashutosh wrote:
> >
> > On Mon, 07 Apr 2025 17:18:23 -0700, Dixit, Ashutosh wrote:
> > >
> > > On Mon, 07 Apr 2025 16:22:40 -0700, Dixit, Ashutosh wrote:
> > > >
> > > > On Mon, 07 Apr 2025 08:49:23 -0700, Imre Deak wrote:
> > > > >
> > > > > Hi,
> > > > >
> > > > > On Tue, Apr 01, 2025 at 12:03:47PM -0400, Anusha Srivatsa wrote:
> > > > > > Move to using the new API devm_drm_panel_alloc() to allocate
> > > > > > the panel.
> > > > > >
> > > > > > Signed-off-by: Anusha Srivatsa <asrivats@...hat.com>
> > > > > > ---
> > > > > > drivers/gpu/drm/panel/panel-auo-a030jtn01.c | 10 ++++------
> > > > > > 1 file changed, 4 insertions(+), 6 deletions(-)
> > > > > >
> > > > > > diff --git a/drivers/gpu/drm/panel/panel-auo-a030jtn01.c
> > > > > > b/drivers/gpu/drm/panel/panel-auo-a030jtn01.c
> > > > > > index
> > > > > >
> 77604d6a4e72c915c40575be0e47810c90b4ed71..83529b1c2bac2e29f41e
> > > > > > faf4028950214b056a95 100644
> > > > > > --- a/drivers/gpu/drm/panel/panel-auo-a030jtn01.c
> > > > > > +++ b/drivers/gpu/drm/panel/panel-auo-a030jtn01.c
> > > > > > @@ -200,9 +200,10 @@ static int a030jtn01_probe(struct
> > > > > > spi_device *spi)
> > > > > >
> > > > > > spi->mode |= SPI_MODE_3 | SPI_3WIRE;
> > > > > >
> > > > > > - priv = devm_kzalloc(dev, sizeof(*priv), GFP_KERNEL);
> > > > > > - if (!priv)
> > > > > > - return -ENOMEM;
> > > > > > + panel = devm_drm_panel_alloc(dev, struct a030jtn01, panel,
> > > > > > + &a030jtn01_funcs,
> DRM_MODE_CONNECTOR_DPI);
> > > > >
> > > > > This doesn't compile and (yet) it's pushed already to drm-tip.
> > > > >AFAIU it's supposed to be
> > > > > priv = devm_drm_panel_alloc(...);
> > > >
> > > > Yes:
> > > >
> > > > drivers/gpu/drm/panel/panel-auo-a030jtn01.c: In function
> ‘a030jtn01_probe’:
> > > > drivers/gpu/drm/panel/panel-auo-a030jtn01.c:203:9: error: ‘panel’
> undeclared (first use in this function)
> > > > 203 | panel = devm_drm_panel_alloc(dev, struct a030jtn01, panel,
> > > > | ^~~~~
> > > > drivers/gpu/drm/panel/panel-auo-a030jtn01.c:203:9: note: each
> > > > undeclared identifier is reported only once for each function it
> > > > appears in
> > > >
> > > > Please turn on the config options for particular module if you are
> > > > making changes to that module.
> > >
> > > Though probably, you can argue, that the pre-merge CI build should
> > > already be doing this. A sort of allmodconfig for the DRM subsystem,
> > > so that these kinds of issues don't get missed.
> >
> > More compile errors:
> >
> > I'm still getting some allmodconfig errors:
> >
> > ../drivers/gpu/drm/panel/panel-boe-th101mb31ig002-28a.c: In function
> 'boe_th101mb31ig002_dsi_probe':
> > ../drivers/gpu/drm/panel/panel-boe-th101mb31ig002-28a.c:352:9: error:
> 'panel' undeclared (first use in this function)
> > 352 | panel = devm_drm_panel_alloc(dev, struct panel_desc, panel,
> > | ^~~~~
> > ../drivers/gpu/drm/panel/panel-boe-th101mb31ig002-28a.c:352:9: note:
> > each undeclared identifier is reported only once for each function it appears
> in In file included from ../drivers/gpu/drm/panel/panel-boe-
> th101mb31ig002-28a.c:18:
> > ../drivers/gpu/drm/panel/panel-boe-th101mb31ig002-28a.c:352:38: error:
> 'dev' undeclared (first use in this function); did you mean 'cdev'?
> > 352 | panel = devm_drm_panel_alloc(dev, struct panel_desc, panel,
> > | ^~~
> > ../include/drm/drm_panel.h:305:41: note: in definition of macro
> 'devm_drm_panel_alloc'
> > 305 | ((type *)__devm_drm_panel_alloc(dev, sizeof(type), \
> > | ^~~
> > In file included from ../include/uapi/linux/posix_types.h:5,
> > from ../include/uapi/linux/types.h:14,
> > from ../include/linux/types.h:6,
> > from ../include/linux/math.h:5,
> > from ../include/linux/delay.h:12,
> > from ../drivers/gpu/drm/panel/panel-boe-th101mb31ig002-
> 28a.c:8:
> > ../include/linux/stddef.h:16:33: error: 'struct panel_desc' has no member
> named 'panel'
> > 16 | #define offsetof(TYPE, MEMBER) __builtin_offsetof(TYPE, MEMBER)
> > | ^~~~~~~~~~~~~~~~~~
> > ../include/drm/drm_panel.h:306:41: note: in expansion of macro 'offsetof'
> > 306 | offsetof(type, member), funcs, \
> > | ^~~~~~~~
> > ../drivers/gpu/drm/panel/panel-boe-th101mb31ig002-28a.c:352:17: note:
> in expansion of macro 'devm_drm_panel_alloc'
> > 352 | panel = devm_drm_panel_alloc(dev, struct panel_desc, panel,
> > | ^~~~~~~~~~~~~~~~~~~~
> >
>
> In case it is not clear, to reproduce and fix these, do:
>
> make -j$(nproc) allmodconfig
>
>
We will need more changes than fixing the variable names.
I get this error
ERROR: modpost: "__devm_drm_panel_alloc" [drivers/gpu/drm/panel/panel-auo-a030jtn01.ko] undefined!
make[2]: *** [scripts/Makefile.modpost:147: Module.symvers] Error 1
make[1]: *** [/home/chaitanya/exodus/repos/drm-tip-sandbox/Makefile:1956: modpost] Error 2
make: *** [Makefile:248: __sub-make] Error 2
after making the following change.
@@ -200,10 +200,10 @@ static int a030jtn01_probe(struct spi_device *spi)
spi->mode |= SPI_MODE_3 | SPI_3WIRE;
- panel = devm_drm_panel_alloc(dev, struct a030jtn01, panel,
+ priv = devm_drm_panel_alloc(dev, struct a030jtn01, panel,
&a030jtn01_funcs, DRM_MODE_CONNECTOR_DPI);
- if (IS_ERR(panel))
- return PTR_ERR(panel);
+ if (IS_ERR(priv))
+ return PTR_ERR(priv);
Regards
Chaitanya
> >
> >
> >
> > >
> > >
> > > >
> > > > >
> > > > > > + if (IS_ERR(panel))
> > > > > > + return PTR_ERR(panel);
> > > > > >
> > > > > > priv->spi = spi;
> > > > > > spi_set_drvdata(spi, priv);
> > > > > > @@ -223,9 +224,6 @@ static int a030jtn01_probe(struct spi_device
> *spi)
> > > > > > if (IS_ERR(priv->reset_gpio))
> > > > > > return dev_err_probe(dev, PTR_ERR(priv-
> >reset_gpio), "Failed
> > > > > >to get reset GPIO");
> > > > > >
> > > > > > - drm_panel_init(&priv->panel, dev, &a030jtn01_funcs,
> > > > > > - DRM_MODE_CONNECTOR_DPI);
> > > > > > -
> > > > > > err = drm_panel_of_backlight(&priv->panel);
> > > > > > if (err)
> > > > > > return err;
> > > > > >
> > > > > > --
> > > > > > 2.48.1
> > > > > >
Powered by blists - more mailing lists