There is one OF call in the driver that limits its area of use. Replace it to generic device_get_match_data() and get rid of OF dependency.
While here, cast SPI driver data to certain enumerator type.
Cc: Noralf Trønnes noralf@tronnes.org Cc: dri-devel@lists.freedesktop.org Cc: David Airlie airlied@linux.ie Cc: Daniel Vetter daniel@ffwll.ch Cc: David Lechner david@lechnology.com Signed-off-by: Andy Shevchenko andriy.shevchenko@linux.intel.com Reviewed-by: Sam Ravnborg sam@ravnborg.org --- v2: Replace cryptic macro with comment, add Rb tag (Sam) drivers/gpu/drm/tiny/repaper.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-)
diff --git a/drivers/gpu/drm/tiny/repaper.c b/drivers/gpu/drm/tiny/repaper.c index 76d179200775..e52a19ffd7c0 100644 --- a/drivers/gpu/drm/tiny/repaper.c +++ b/drivers/gpu/drm/tiny/repaper.c @@ -17,7 +17,7 @@ #include <linux/dma-buf.h> #include <linux/gpio/consumer.h> #include <linux/module.h> -#include <linux/of_device.h> +#include <linux/property.h> #include <linux/sched/clock.h> #include <linux/spi/spi.h> #include <linux/thermal.h> @@ -40,6 +40,7 @@ #define REPAPER_RID_G2_COG_ID 0x12
enum repaper_model { + /* 0 is reserved to avoid clashing with NULL */ E1144CS021 = 1, E1190CS021, E2200CS021, @@ -995,21 +996,21 @@ static int repaper_probe(struct spi_device *spi) { const struct drm_display_mode *mode; const struct spi_device_id *spi_id; - const struct of_device_id *match; struct device *dev = &spi->dev; enum repaper_model model; const char *thermal_zone; struct repaper_epd *epd; size_t line_buffer_size; struct drm_device *drm; + const void *match; int ret;
- match = of_match_device(repaper_of_match, dev); + match = device_get_match_data(dev); if (match) { - model = (enum repaper_model)match->data; + model = (enum repaper_model)match; } else { spi_id = spi_get_device_id(spi); - model = spi_id->driver_data; + model = (enum repaper_model)spi_id->driver_data; }
/* The SPI device is used to allocate dma memory */
The spi_register_driver() will set the ->owner member to THIS_MODULE.
Cc: Noralf Trønnes noralf@tronnes.org Cc: dri-devel@lists.freedesktop.org Cc: David Airlie airlied@linux.ie Cc: Daniel Vetter daniel@ffwll.ch Signed-off-by: Andy Shevchenko andriy.shevchenko@linux.intel.com Reviewed-by: David Lechner david@lechnology.com Reviewed-by: Sam Ravnborg sam@ravnborg.org --- v2: Add tags (Sam, David) drivers/gpu/drm/tiny/repaper.c | 1 - 1 file changed, 1 deletion(-)
diff --git a/drivers/gpu/drm/tiny/repaper.c b/drivers/gpu/drm/tiny/repaper.c index e52a19ffd7c0..322bcd389907 100644 --- a/drivers/gpu/drm/tiny/repaper.c +++ b/drivers/gpu/drm/tiny/repaper.c @@ -1198,7 +1198,6 @@ static void repaper_shutdown(struct spi_device *spi) static struct spi_driver repaper_spi_driver = { .driver = { .name = "repaper", - .owner = THIS_MODULE, .of_match_table = repaper_of_match, }, .id_table = repaper_id,
There is one OF call in the driver that limits its area of use. Replace it to generic device_get_match_data() and get rid of OF dependency.
Cc: Noralf Trønnes noralf@tronnes.org Cc: dri-devel@lists.freedesktop.org Cc: David Airlie airlied@linux.ie Cc: Daniel Vetter daniel@ffwll.ch Cc: Sam Ravnborg sam@ravnborg.org Signed-off-by: Andy Shevchenko andriy.shevchenko@linux.intel.com Acked-by: David Lechner david@lechnology.com --- v2: Add tag (David) drivers/gpu/drm/tiny/st7735r.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/drivers/gpu/drm/tiny/st7735r.c b/drivers/gpu/drm/tiny/st7735r.c index 32574f1b6071..a844cde6d14a 100644 --- a/drivers/gpu/drm/tiny/st7735r.c +++ b/drivers/gpu/drm/tiny/st7735r.c @@ -12,7 +12,6 @@ #include <linux/dma-buf.h> #include <linux/gpio/consumer.h> #include <linux/module.h> -#include <linux/of_device.h> #include <linux/property.h> #include <linux/spi/spi.h> #include <video/mipi_display.h> @@ -192,7 +191,7 @@ static int st7735r_probe(struct spi_device *spi) u32 rotation = 0; int ret;
- cfg = of_device_get_match_data(&spi->dev); + cfg = device_get_match_data(&spi->dev); if (!cfg) cfg = (void *)spi_get_device_id(spi)->driver_data;
The spi_register_driver() will set the ->owner member to THIS_MODULE.
Cc: Noralf Trønnes noralf@tronnes.org Cc: dri-devel@lists.freedesktop.org Cc: David Airlie airlied@linux.ie Cc: Daniel Vetter daniel@ffwll.ch Cc: Sam Ravnborg sam@ravnborg.org Signed-off-by: Andy Shevchenko andriy.shevchenko@linux.intel.com Reviewed-by: David Lechner david@lechnology.com --- v2: Add tag (David) drivers/gpu/drm/tiny/st7735r.c | 1 - 1 file changed, 1 deletion(-)
diff --git a/drivers/gpu/drm/tiny/st7735r.c b/drivers/gpu/drm/tiny/st7735r.c index a844cde6d14a..3cd9b8d9888d 100644 --- a/drivers/gpu/drm/tiny/st7735r.c +++ b/drivers/gpu/drm/tiny/st7735r.c @@ -276,7 +276,6 @@ static void st7735r_shutdown(struct spi_device *spi) static struct spi_driver st7735r_spi_driver = { .driver = { .name = "st7735r", - .owner = THIS_MODULE, .of_match_table = st7735r_of_match, }, .id_table = st7735r_id,
Hi David.
Are you planning to pick this series and apply it? Unless I get any other info I plan to process it tomorrow.
Sam
On Fri, Jan 31, 2020 at 10:49:22PM +0200, Andy Shevchenko wrote:
There is one OF call in the driver that limits its area of use. Replace it to generic device_get_match_data() and get rid of OF dependency.
While here, cast SPI driver data to certain enumerator type.
Cc: Noralf Trønnes noralf@tronnes.org Cc: dri-devel@lists.freedesktop.org Cc: David Airlie airlied@linux.ie Cc: Daniel Vetter daniel@ffwll.ch Cc: David Lechner david@lechnology.com Signed-off-by: Andy Shevchenko andriy.shevchenko@linux.intel.com Reviewed-by: Sam Ravnborg sam@ravnborg.org
v2: Replace cryptic macro with comment, add Rb tag (Sam) drivers/gpu/drm/tiny/repaper.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-)
diff --git a/drivers/gpu/drm/tiny/repaper.c b/drivers/gpu/drm/tiny/repaper.c index 76d179200775..e52a19ffd7c0 100644 --- a/drivers/gpu/drm/tiny/repaper.c +++ b/drivers/gpu/drm/tiny/repaper.c @@ -17,7 +17,7 @@ #include <linux/dma-buf.h> #include <linux/gpio/consumer.h> #include <linux/module.h> -#include <linux/of_device.h> +#include <linux/property.h> #include <linux/sched/clock.h> #include <linux/spi/spi.h> #include <linux/thermal.h> @@ -40,6 +40,7 @@ #define REPAPER_RID_G2_COG_ID 0x12
enum repaper_model {
- /* 0 is reserved to avoid clashing with NULL */ E1144CS021 = 1, E1190CS021, E2200CS021,
@@ -995,21 +996,21 @@ static int repaper_probe(struct spi_device *spi) { const struct drm_display_mode *mode; const struct spi_device_id *spi_id;
- const struct of_device_id *match; struct device *dev = &spi->dev; enum repaper_model model; const char *thermal_zone; struct repaper_epd *epd; size_t line_buffer_size; struct drm_device *drm;
- const void *match; int ret;
- match = of_match_device(repaper_of_match, dev);
- match = device_get_match_data(dev); if (match) {
model = (enum repaper_model)match->data;
} else { spi_id = spi_get_device_id(spi);model = (enum repaper_model)match;
model = spi_id->driver_data;
model = (enum repaper_model)spi_id->driver_data;
}
/* The SPI device is used to allocate dma memory */
-- 2.24.1
Hi Andy.
On Fri, Jan 31, 2020 at 10:49:22PM +0200, Andy Shevchenko wrote:
There is one OF call in the driver that limits its area of use. Replace it to generic device_get_match_data() and get rid of OF dependency.
While here, cast SPI driver data to certain enumerator type.
Cc: Noralf Trønnes noralf@tronnes.org Cc: dri-devel@lists.freedesktop.org Cc: David Airlie airlied@linux.ie Cc: Daniel Vetter daniel@ffwll.ch Cc: David Lechner david@lechnology.com Signed-off-by: Andy Shevchenko andriy.shevchenko@linux.intel.com Reviewed-by: Sam Ravnborg sam@ravnborg.org
v2: Replace cryptic macro with comment, add Rb tag (Sam) drivers/gpu/drm/tiny/repaper.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-)
Thanks, applied this and the other three patches to drm-misc-next.
Sam
diff --git a/drivers/gpu/drm/tiny/repaper.c b/drivers/gpu/drm/tiny/repaper.c index 76d179200775..e52a19ffd7c0 100644 --- a/drivers/gpu/drm/tiny/repaper.c +++ b/drivers/gpu/drm/tiny/repaper.c @@ -17,7 +17,7 @@ #include <linux/dma-buf.h> #include <linux/gpio/consumer.h> #include <linux/module.h> -#include <linux/of_device.h> +#include <linux/property.h> #include <linux/sched/clock.h> #include <linux/spi/spi.h> #include <linux/thermal.h> @@ -40,6 +40,7 @@ #define REPAPER_RID_G2_COG_ID 0x12
enum repaper_model {
- /* 0 is reserved to avoid clashing with NULL */ E1144CS021 = 1, E1190CS021, E2200CS021,
@@ -995,21 +996,21 @@ static int repaper_probe(struct spi_device *spi) { const struct drm_display_mode *mode; const struct spi_device_id *spi_id;
- const struct of_device_id *match; struct device *dev = &spi->dev; enum repaper_model model; const char *thermal_zone; struct repaper_epd *epd; size_t line_buffer_size; struct drm_device *drm;
- const void *match; int ret;
- match = of_match_device(repaper_of_match, dev);
- match = device_get_match_data(dev); if (match) {
model = (enum repaper_model)match->data;
} else { spi_id = spi_get_device_id(spi);model = (enum repaper_model)match;
model = spi_id->driver_data;
model = (enum repaper_model)spi_id->driver_data;
}
/* The SPI device is used to allocate dma memory */
-- 2.24.1
dri-devel@lists.freedesktop.org