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);
+       if (IS_ERR(panel))
+               return PTR_ERR(panel);
 
        priv->spi = spi;
        spi_set_drvdata(spi, priv);
        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;