> -----Original Message----- > From: Maxime Ripard <[email protected]> > Sent: Tuesday, April 8, 2025 6:20 PM > To: Borah, Chaitanya Kumar <[email protected]> > Cc: Dixit, Ashutosh <[email protected]>; Anusha Srivatsa > <[email protected]>; Deak, Imre <[email protected]>; Neil Armstrong > <[email protected]>; Jessica Zhang <[email protected]>; > Maarten Lankhorst <[email protected]>; Thomas > Zimmermann <[email protected]>; David Airlie <[email protected]>; > Simona Vetter <[email protected]>; Linus Walleij <[email protected]>; > Joel Selvaraj <[email protected]>; Douglas Anderson <[email protected]>; > [email protected]; [email protected] > 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 <[email protected]> On Behalf > > > Of Dixit, Ashutosh > > > Sent: Tuesday, April 8, 2025 9:31 AM > > > To: Anusha Srivatsa <[email protected]> > > > Cc: Deak, Imre <[email protected]>; Neil Armstrong > > > <[email protected]>; Jessica Zhang > > > <[email protected]>; Maarten Lankhorst > > > <[email protected]>; Maxime Ripard > > > <[email protected]>; Thomas Zimmermann <[email protected]>; > David > > > Airlie <[email protected]>; Simona Vetter <[email protected]>; Linus > > > Walleij <[email protected]>; Joel Selvaraj <[email protected]>; > > > Douglas Anderson <[email protected]>; > > > [email protected]; linux- [email protected] > > > 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 <[email protected]> > > > > > > > > --- > > > > > > > > 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
