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 <asriv...@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..83529b1c2bac2e29f41efaf4028950214b056a95 > > > > 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, | ^~~~~~~~~~~~~~~~~~~~ > > > > > > > > > > > + 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 > > > >