Move to using the new API devm_drm_panel_alloc() to allocate the
panel. In the call to the new API, avoid using explicit type and use
__typeof() for more type safety.

Signed-off-by: Anusha Srivatsa <asriv...@redhat.com>
---
 drivers/gpu/drm/panel/panel-raspberrypi-touchscreen.c | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/drivers/gpu/drm/panel/panel-raspberrypi-touchscreen.c 
b/drivers/gpu/drm/panel/panel-raspberrypi-touchscreen.c
index 
e10e469aa7a6c5684c9240ea74c8d1184c7723a5..dc4bb8ad913185f94e3f7e1a34fbddc31f21f098
 100644
--- a/drivers/gpu/drm/panel/panel-raspberrypi-touchscreen.c
+++ b/drivers/gpu/drm/panel/panel-raspberrypi-touchscreen.c
@@ -373,9 +373,12 @@ static int rpi_touchscreen_probe(struct i2c_client *i2c)
                .node = NULL,
        };
 
-       ts = devm_kzalloc(dev, sizeof(*ts), GFP_KERNEL);
-       if (!ts)
-               return -ENOMEM;
+       ts = devm_drm_panel_alloc(dev, __typeof(*ts), base,
+                                 &rpi_touchscreen_funcs,
+                                 DRM_MODE_CONNECTOR_DSI);
+
+       if (IS_ERR(ts))
+               return PTR_ERR(ts);
 
        i2c_set_clientdata(i2c, ts);
 
@@ -428,9 +431,6 @@ static int rpi_touchscreen_probe(struct i2c_client *i2c)
                return PTR_ERR(ts->dsi);
        }
 
-       drm_panel_init(&ts->base, dev, &rpi_touchscreen_funcs,
-                      DRM_MODE_CONNECTOR_DSI);
-
        /* This appears last, as it's what will unblock the DSI host
         * driver's component bind function.
         */

-- 
2.48.1

Reply via email to