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

Imre Deak
2025-04-07T15:49:41Z

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@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(...);

> + 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
>