Commit 14877bc7 authored by Daniel Vetter's avatar Daniel Vetter

drm/st7735r: Use devm_drm_dev_alloc

Already using devm_drm_dev_init, so very simple replacment.

Aside: There was an oddity in the old code, we allocated priv but in
the error path we've freed priv->dbidev ...
Acked-by: default avatarDavid Lechner <david@lechnology.com>
Acked-by: default avatarSam Ravnborg <sam@ravnborg.org>
Signed-off-by: default avatarDaniel Vetter <daniel.vetter@intel.com>
Cc: David Lechner <david@lechnology.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20200415074034.175360-14-daniel.vetter@ffwll.ch
parent 6ae355a2
...@@ -195,21 +195,16 @@ static int st7735r_probe(struct spi_device *spi) ...@@ -195,21 +195,16 @@ static int st7735r_probe(struct spi_device *spi)
if (!cfg) if (!cfg)
cfg = (void *)spi_get_device_id(spi)->driver_data; cfg = (void *)spi_get_device_id(spi)->driver_data;
priv = kzalloc(sizeof(*priv), GFP_KERNEL); priv = devm_drm_dev_alloc(dev, &st7735r_driver,
if (!priv) struct st7735r_priv, dbidev.drm);
return -ENOMEM; if (IS_ERR(priv))
return PTR_ERR(priv);
dbidev = &priv->dbidev; dbidev = &priv->dbidev;
priv->cfg = cfg; priv->cfg = cfg;
dbi = &dbidev->dbi; dbi = &dbidev->dbi;
drm = &dbidev->drm; drm = &dbidev->drm;
ret = devm_drm_dev_init(dev, drm, &st7735r_driver);
if (ret) {
kfree(dbidev);
return ret;
}
drmm_add_final_kfree(drm, dbidev);
dbi->reset = devm_gpiod_get(dev, "reset", GPIOD_OUT_HIGH); dbi->reset = devm_gpiod_get(dev, "reset", GPIOD_OUT_HIGH);
if (IS_ERR(dbi->reset)) { if (IS_ERR(dbi->reset)) {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment