@@ -510,6 +510,10 @@ int mipi_dbi_dev_init_with_formats(struct mipi_dbi_dev *dbidev,
if (!dbidev->dbi.command)
return -EINVAL;
+ ret = drm_mode_config_init(drm);
+ if (ret)
+ return ret;
+
dbidev->tx_buf = devm_kmalloc(drm->dev, tx_buf_size, GFP_KERNEL);
if (!dbidev->tx_buf)
return -ENOMEM;
@@ -239,8 +239,6 @@ static int hx8357d_probe(struct spi_device *spi)
}
drmm_add_final_kfree(drm, dbidev);
- drm_mode_config_init(drm);
-
dc = devm_gpiod_get(dev, "dc", GPIOD_OUT_LOW);
if (IS_ERR(dc)) {
DRM_DEV_ERROR(dev, "Failed to get gpio 'dc'\n");
@@ -390,8 +390,6 @@ static int ili9225_probe(struct spi_device *spi)
}
drmm_add_final_kfree(drm, dbidev);
- drm_mode_config_init(drm);
-
dbi->reset = devm_gpiod_get(dev, "reset", GPIOD_OUT_HIGH);
if (IS_ERR(dbi->reset)) {
DRM_DEV_ERROR(dev, "Failed to get gpio 'reset'\n");
@@ -197,8 +197,6 @@ static int ili9341_probe(struct spi_device *spi)
}
drmm_add_final_kfree(drm, dbidev);
- drm_mode_config_init(drm);
-
dbi->reset = devm_gpiod_get_optional(dev, "reset", GPIOD_OUT_HIGH);
if (IS_ERR(dbi->reset)) {
DRM_DEV_ERROR(dev, "Failed to get gpio 'reset'\n");
@@ -211,8 +211,6 @@ static int ili9486_probe(struct spi_device *spi)
}
drmm_add_final_kfree(drm, dbidev);
- drm_mode_config_init(drm);
-
dbi->reset = devm_gpiod_get(dev, "reset", GPIOD_OUT_HIGH);
if (IS_ERR(dbi->reset)) {
DRM_DEV_ERROR(dev, "Failed to get gpio 'reset'\n");
@@ -201,8 +201,6 @@ static int mi0283qt_probe(struct spi_device *spi)
}
drmm_add_final_kfree(drm, dbidev);
- drm_mode_config_init(drm);
-
dbi->reset = devm_gpiod_get_optional(dev, "reset", GPIOD_OUT_HIGH);
if (IS_ERR(dbi->reset)) {
DRM_DEV_ERROR(dev, "Failed to get gpio 'reset'\n");
@@ -331,8 +331,6 @@ static int st7586_probe(struct spi_device *spi)
}
drmm_add_final_kfree(drm, dbidev);
- drm_mode_config_init(drm);
-
bufsize = (st7586_mode.vdisplay + 2) / 3 * st7586_mode.hdisplay;
dbi->reset = devm_gpiod_get(dev, "reset", GPIOD_OUT_HIGH);
@@ -212,8 +212,6 @@ static int st7735r_probe(struct spi_device *spi)
}
drmm_add_final_kfree(drm, dbidev);
- drm_mode_config_init(drm);
-
dbi->reset = devm_gpiod_get(dev, "reset", GPIOD_OUT_HIGH);
if (IS_ERR(dbi->reset)) {
DRM_DEV_ERROR(dev, "Failed to get gpio 'reset'\n");
7/7 drivers agree that's the right choice, let's do this. This avoids duplicating the same old error checking code over all 7 drivers, which is the motivation here. Signed-off-by: Daniel Vetter <daniel.vetter@intel.com> --- drivers/gpu/drm/drm_mipi_dbi.c | 4 ++++ drivers/gpu/drm/tiny/hx8357d.c | 2 -- drivers/gpu/drm/tiny/ili9225.c | 2 -- drivers/gpu/drm/tiny/ili9341.c | 2 -- drivers/gpu/drm/tiny/ili9486.c | 2 -- drivers/gpu/drm/tiny/mi0283qt.c | 2 -- drivers/gpu/drm/tiny/st7586.c | 2 -- drivers/gpu/drm/tiny/st7735r.c | 2 -- 8 files changed, 4 insertions(+), 14 deletions(-)