Re: [Intel-gfx] [PATCH v3 5/7] drm/tinydrm: Drop using tinydrm_device

2019-02-27 Thread Noralf Trønnes


Den 27.02.2019 15.27, skrev Gerd Hoffmann:
> On Mon, Feb 25, 2019 at 03:42:30PM +0100, Noralf Trønnes wrote:
>> Use devm_drm_dev_init() and drop using tinydrm_device.
>>
>> v2: devm_drm_dev_register() was dropped so add driver release callbacks.
>>
>> Signed-off-by: Noralf Trønnes 
>> ---
>>  drivers/gpu/drm/tinydrm/hx8357d.c  |  40 +--
>>  drivers/gpu/drm/tinydrm/ili9225.c  |  40 +--
>>  drivers/gpu/drm/tinydrm/ili9341.c  |  40 +--
>>  drivers/gpu/drm/tinydrm/mi0283qt.c |  40 +--
>>  drivers/gpu/drm/tinydrm/mipi-dbi.c |  67 +++---
>>  drivers/gpu/drm/tinydrm/st7586.c   | 105 -
>>  drivers/gpu/drm/tinydrm/st7735r.c  |  40 +--
>>  include/drm/tinydrm/mipi-dbi.h |  26 ---
> 
> Hmm, repaper got its own patch and these are all bundled.
> Slightly confusing, but at the end of the day it doesn't matter much.
> 

They had to since they all use the mipi-dbi helper which had to be
changed. The repaper driver is the only one that didn't use that helper.

thanks,
Noralf.

> Acked-by: Gerd Hoffmann 
> 
___
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

Re: [Intel-gfx] [PATCH v3 5/7] drm/tinydrm: Drop using tinydrm_device

2019-02-27 Thread Gerd Hoffmann
On Mon, Feb 25, 2019 at 03:42:30PM +0100, Noralf Trønnes wrote:
> Use devm_drm_dev_init() and drop using tinydrm_device.
> 
> v2: devm_drm_dev_register() was dropped so add driver release callbacks.
> 
> Signed-off-by: Noralf Trønnes 
> ---
>  drivers/gpu/drm/tinydrm/hx8357d.c  |  40 +--
>  drivers/gpu/drm/tinydrm/ili9225.c  |  40 +--
>  drivers/gpu/drm/tinydrm/ili9341.c  |  40 +--
>  drivers/gpu/drm/tinydrm/mi0283qt.c |  40 +--
>  drivers/gpu/drm/tinydrm/mipi-dbi.c |  67 +++---
>  drivers/gpu/drm/tinydrm/st7586.c   | 105 -
>  drivers/gpu/drm/tinydrm/st7735r.c  |  40 +--
>  include/drm/tinydrm/mipi-dbi.h |  26 ---

Hmm, repaper got its own patch and these are all bundled.
Slightly confusing, but at the end of the day it doesn't matter much.

Acked-by: Gerd Hoffmann 

___
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

[Intel-gfx] [PATCH v3 5/7] drm/tinydrm: Drop using tinydrm_device

2019-02-25 Thread Noralf Trønnes
Use devm_drm_dev_init() and drop using tinydrm_device.

v2: devm_drm_dev_register() was dropped so add driver release callbacks.

Signed-off-by: Noralf Trønnes 
---
 drivers/gpu/drm/tinydrm/hx8357d.c  |  40 +--
 drivers/gpu/drm/tinydrm/ili9225.c  |  40 +--
 drivers/gpu/drm/tinydrm/ili9341.c  |  40 +--
 drivers/gpu/drm/tinydrm/mi0283qt.c |  40 +--
 drivers/gpu/drm/tinydrm/mipi-dbi.c |  67 +++---
 drivers/gpu/drm/tinydrm/st7586.c   | 105 -
 drivers/gpu/drm/tinydrm/st7735r.c  |  40 +--
 include/drm/tinydrm/mipi-dbi.h |  26 ---
 8 files changed, 294 insertions(+), 104 deletions(-)

diff --git a/drivers/gpu/drm/tinydrm/hx8357d.c 
b/drivers/gpu/drm/tinydrm/hx8357d.c
index 84dda622df85..e9b9e08fafc7 100644
--- a/drivers/gpu/drm/tinydrm/hx8357d.c
+++ b/drivers/gpu/drm/tinydrm/hx8357d.c
@@ -18,6 +18,7 @@
 
 #include 
 #include 
+#include 
 #include 
 #include 
 #include 
@@ -189,6 +190,7 @@ DEFINE_DRM_GEM_CMA_FOPS(hx8357d_fops);
 static struct drm_driver hx8357d_driver = {
.driver_features= DRIVER_GEM | DRIVER_MODESET | DRIVER_PRIME | 
DRIVER_ATOMIC,
.fops   = _fops,
+   .release= mipi_dbi_release,
DRM_GEM_CMA_VMAP_DRIVER_OPS,
.debugfs_init   = mipi_dbi_debugfs_init,
.name   = "hx8357d",
@@ -213,15 +215,25 @@ MODULE_DEVICE_TABLE(spi, hx8357d_id);
 static int hx8357d_probe(struct spi_device *spi)
 {
struct device *dev = >dev;
+   struct drm_device *drm;
struct mipi_dbi *mipi;
struct gpio_desc *dc;
u32 rotation = 0;
int ret;
 
-   mipi = devm_kzalloc(dev, sizeof(*mipi), GFP_KERNEL);
+   mipi = kzalloc(sizeof(*mipi), GFP_KERNEL);
if (!mipi)
return -ENOMEM;
 
+   drm = >drm;
+   ret = devm_drm_dev_init(dev, drm, _driver);
+   if (ret) {
+   kfree(mipi);
+   return ret;
+   }
+
+   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");
@@ -238,14 +250,31 @@ static int hx8357d_probe(struct spi_device *spi)
if (ret)
return ret;
 
-   ret = mipi_dbi_init(>dev, mipi, _pipe_funcs,
-   _driver, _mode, rotation);
+   ret = mipi_dbi_init(mipi, _pipe_funcs, _mode, 
rotation);
if (ret)
return ret;
 
-   spi_set_drvdata(spi, mipi->tinydrm.drm);
+   drm_mode_config_reset(drm);
 
-   return devm_tinydrm_register(>tinydrm);
+   ret = drm_dev_register(drm, 0);
+   if (ret)
+   return ret;
+
+   spi_set_drvdata(spi, drm);
+
+   drm_fbdev_generic_setup(drm, 32);
+
+   return 0;
+}
+
+static int hx8357d_remove(struct spi_device *spi)
+{
+   struct drm_device *drm = spi_get_drvdata(spi);
+
+   drm_dev_unplug(drm);
+   drm_atomic_helper_shutdown(drm);
+
+   return 0;
 }
 
 static void hx8357d_shutdown(struct spi_device *spi)
@@ -260,6 +289,7 @@ static struct spi_driver hx8357d_spi_driver = {
},
.id_table = hx8357d_id,
.probe = hx8357d_probe,
+   .remove = hx8357d_remove,
.shutdown = hx8357d_shutdown,
 };
 module_spi_driver(hx8357d_spi_driver);
diff --git a/drivers/gpu/drm/tinydrm/ili9225.c 
b/drivers/gpu/drm/tinydrm/ili9225.c
index 3f59cfbd31ba..4d387a07c48b 100644
--- a/drivers/gpu/drm/tinydrm/ili9225.c
+++ b/drivers/gpu/drm/tinydrm/ili9225.c
@@ -24,6 +24,7 @@
 #include 
 #include 
 #include 
+#include 
 #include 
 #include 
 #include 
@@ -339,6 +340,7 @@ static struct drm_driver ili9225_driver = {
.driver_features= DRIVER_GEM | DRIVER_MODESET | DRIVER_PRIME |
  DRIVER_ATOMIC,
.fops   = _fops,
+   .release= mipi_dbi_release,
DRM_GEM_CMA_VMAP_DRIVER_OPS,
.name   = "ili9225",
.desc   = "Ilitek ILI9225",
@@ -362,15 +364,25 @@ MODULE_DEVICE_TABLE(spi, ili9225_id);
 static int ili9225_probe(struct spi_device *spi)
 {
struct device *dev = >dev;
+   struct drm_device *drm;
struct mipi_dbi *mipi;
struct gpio_desc *rs;
u32 rotation = 0;
int ret;
 
-   mipi = devm_kzalloc(dev, sizeof(*mipi), GFP_KERNEL);
+   mipi = kzalloc(sizeof(*mipi), GFP_KERNEL);
if (!mipi)
return -ENOMEM;
 
+   drm = >drm;
+   ret = devm_drm_dev_init(dev, drm, _driver);
+   if (ret) {
+   kfree(mipi);
+   return ret;
+   }
+
+   drm_mode_config_init(drm);
+
mipi->reset = devm_gpiod_get(dev, "reset", GPIOD_OUT_HIGH);
if (IS_ERR(mipi->reset)) {
DRM_DEV_ERROR(dev, "Failed to get gpio 'reset'\n");
@@ -392,14 +404,31 @@ static int ili9225_probe(struct spi_device *spi)
/*