]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
drm/panel/raspberrypi: Use refcounted allocation in place of devm_kzalloc()
authorAnusha Srivatsa <asrivats@redhat.com>
Fri, 11 Jul 2025 04:31:13 +0000 (23:31 -0500)
committerMaxime Ripard <mripard@kernel.org>
Wed, 16 Jul 2025 14:58:08 +0000 (16:58 +0200)
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 <asrivats@redhat.com>
Link: https://lore.kernel.org/r/20250710-b4-driver-convert-last-part-july-v1-2-de73ba81b2f5@redhat.com
Signed-off-by: Maxime Ripard <mripard@kernel.org>
drivers/gpu/drm/panel/panel-raspberrypi-touchscreen.c

index e10e469aa7a6c5684c9240ea74c8d1184c7723a5..dc4bb8ad913185f94e3f7e1a34fbddc31f21f098 100644 (file)
@@ -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.
         */