[PATCH 04/10] panel/auo-a030jtn01: Use refcounted allocation in place of devm_kzalloc()

Borah, Chaitanya Kumar chaitanya.kumar.borah at intel.com
Tue Apr 8 13:03:27 UTC 2025


> -----Original Message-----
> From: Maxime Ripard <mripard at kernel.org>
> Sent: Tuesday, April 8, 2025 6:20 PM
> To: Borah, Chaitanya Kumar <chaitanya.kumar.borah at intel.com>
> Cc: Dixit, Ashutosh <ashutosh.dixit at intel.com>; Anusha Srivatsa
> <asrivats at redhat.com>; Deak, Imre <imre.deak at intel.com>; Neil Armstrong
> <neil.armstrong at linaro.org>; Jessica Zhang <quic_jesszhan at quicinc.com>;
> Maarten Lankhorst <maarten.lankhorst at linux.intel.com>; Thomas
> Zimmermann <tzimmermann at suse.de>; David Airlie <airlied at gmail.com>;
> Simona Vetter <simona at ffwll.ch>; Linus Walleij <linus.walleij at linaro.org>;
> Joel Selvaraj <jo at jsfamily.in>; Douglas Anderson <dianders at chromium.org>;
> dri-devel at lists.freedesktop.org; linux-kernel at vger.kernel.org
> Subject: Re: [PATCH 04/10] panel/auo-a030jtn01: Use refcounted allocation in
> place of devm_kzalloc()
> 
> On Tue, Apr 08, 2025 at 06:47:06AM +0000, Borah, Chaitanya Kumar wrote:
> >
> >
> > > -----Original Message-----
> > > From: dri-devel <dri-devel-bounces at lists.freedesktop.org> On Behalf
> > > Of Dixit, Ashutosh
> > > Sent: Tuesday, April 8, 2025 9:31 AM
> > > To: Anusha Srivatsa <asrivats at redhat.com>
> > > Cc: Deak, Imre <imre.deak at intel.com>; Neil Armstrong
> > > <neil.armstrong at linaro.org>; Jessica Zhang
> > > <quic_jesszhan at quicinc.com>; Maarten Lankhorst
> > > <maarten.lankhorst at linux.intel.com>; Maxime Ripard
> > > <mripard at kernel.org>; Thomas Zimmermann <tzimmermann at suse.de>;
> David
> > > Airlie <airlied at gmail.com>; Simona Vetter <simona at ffwll.ch>; Linus
> > > Walleij <linus.walleij at linaro.org>; Joel Selvaraj <jo at jsfamily.in>;
> > > Douglas Anderson <dianders at chromium.org>;
> > > dri-devel at lists.freedesktop.org; linux- kernel at vger.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 at redhat.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.
> 
> I couldn't reproduce this one on current drm-misc-next with arm64 and
> x86 allmodconfig. Could you share your configuration?
> 

Here is the config that our CI uses

https://gitlab.freedesktop.org/drm/xe/ci/-/raw/main/kernel/kconfig

Regards

Chaitanya

> Maxime


More information about the dri-devel mailing list