All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v1 1/5] video: ssd1307fb: Convert driver to use ->probe_new()
@ 2020-03-24 17:05 ` Andy Shevchenko
       [not found]   ` <CGME20200324170551eucas1p2a568c0296a5773cdf70e162c5a1e9b72@eucas1p2.samsung.com>
                     ` (6 more replies)
  0 siblings, 7 replies; 19+ messages in thread
From: Andy Shevchenko @ 2020-03-24 17:05 UTC (permalink / raw)
  To: linux-fbdev

Use the ->probe_new() callback.

The driver does not use const struct i2c_device_id * argument,
so convert it to utilise the simplified I²C driver registration.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
---
 drivers/video/fbdev/ssd1307fb.c | 10 ++--------
 1 file changed, 2 insertions(+), 8 deletions(-)

diff --git a/drivers/video/fbdev/ssd1307fb.c b/drivers/video/fbdev/ssd1307fb.c
index 142535267fec..397eae246c2c 100644
--- a/drivers/video/fbdev/ssd1307fb.c
+++ b/drivers/video/fbdev/ssd1307fb.c
@@ -586,8 +586,7 @@ static const struct of_device_id ssd1307fb_of_match[] = {
 };
 MODULE_DEVICE_TABLE(of, ssd1307fb_of_match);
 
-static int ssd1307fb_probe(struct i2c_client *client,
-			   const struct i2c_device_id *id)
+static int ssd1307fb_probe(struct i2c_client *client)
 {
 	struct backlight_device *bl;
 	char bl_name[12];
@@ -599,11 +598,6 @@ static int ssd1307fb_probe(struct i2c_client *client,
 	void *vmem;
 	int ret;
 
-	if (!node) {
-		dev_err(&client->dev, "No device tree data found!\n");
-		return -EINVAL;
-	}
-
 	info = framebuffer_alloc(sizeof(struct ssd1307fb_par), &client->dev);
 	if (!info)
 		return -ENOMEM;
@@ -808,7 +802,7 @@ static const struct i2c_device_id ssd1307fb_i2c_id[] = {
 MODULE_DEVICE_TABLE(i2c, ssd1307fb_i2c_id);
 
 static struct i2c_driver ssd1307fb_driver = {
-	.probe = ssd1307fb_probe,
+	.probe_new = ssd1307fb_probe,
 	.remove = ssd1307fb_remove,
 	.id_table = ssd1307fb_i2c_id,
 	.driver = {
-- 
2.25.1

^ permalink raw reply related	[flat|nested] 19+ messages in thread

* [PATCH v1 2/5] video: ssd1307fb: Introduce temporary variable to increase readability
@ 2020-03-24 17:05     ` Andy Shevchenko
  2020-04-17 14:07         ` Bartlomiej Zolnierkiewicz
  0 siblings, 1 reply; 19+ messages in thread
From: Andy Shevchenko @ 2020-03-24 17:05 UTC (permalink / raw)
  To: linux-fbdev

Introduce temporary variable to increase readability of the code.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
---
 drivers/video/fbdev/ssd1307fb.c | 34 ++++++++++++++-------------------
 1 file changed, 14 insertions(+), 20 deletions(-)

diff --git a/drivers/video/fbdev/ssd1307fb.c b/drivers/video/fbdev/ssd1307fb.c
index 397eae246c2c..84dfd7b0f682 100644
--- a/drivers/video/fbdev/ssd1307fb.c
+++ b/drivers/video/fbdev/ssd1307fb.c
@@ -588,6 +588,7 @@ MODULE_DEVICE_TABLE(of, ssd1307fb_of_match);
 
 static int ssd1307fb_probe(struct i2c_client *client)
 {
+	struct device *dev = &client->dev;
 	struct backlight_device *bl;
 	char bl_name[12];
 	struct fb_info *info;
@@ -598,7 +599,7 @@ static int ssd1307fb_probe(struct i2c_client *client)
 	void *vmem;
 	int ret;
 
-	info = framebuffer_alloc(sizeof(struct ssd1307fb_par), &client->dev);
+	info = framebuffer_alloc(sizeof(struct ssd1307fb_par), dev);
 	if (!info)
 		return -ENOMEM;
 
@@ -608,23 +609,20 @@ static int ssd1307fb_probe(struct i2c_client *client)
 
 	par->device_info = of_device_get_match_data(&client->dev);
 
-	par->reset = devm_gpiod_get_optional(&client->dev, "reset",
-					     GPIOD_OUT_LOW);
+	par->reset = devm_gpiod_get_optional(dev, "reset", GPIOD_OUT_LOW);
 	if (IS_ERR(par->reset)) {
-		dev_err(&client->dev, "failed to get reset gpio: %ld\n",
-			PTR_ERR(par->reset));
+		dev_err(dev, "failed to get reset gpio: %ld\n", PTR_ERR(par->reset));
 		ret = PTR_ERR(par->reset);
 		goto fb_alloc_error;
 	}
 
-	par->vbat_reg = devm_regulator_get_optional(&client->dev, "vbat");
+	par->vbat_reg = devm_regulator_get_optional(dev, "vbat");
 	if (IS_ERR(par->vbat_reg)) {
 		ret = PTR_ERR(par->vbat_reg);
 		if (ret = -ENODEV) {
 			par->vbat_reg = NULL;
 		} else {
-			dev_err(&client->dev, "failed to get VBAT regulator: %d\n",
-				ret);
+			dev_err(dev, "failed to get VBAT regulator: %d\n", ret);
 			goto fb_alloc_error;
 		}
 	}
@@ -674,15 +672,14 @@ static int ssd1307fb_probe(struct i2c_client *client)
 	vmem = (void *)__get_free_pages(GFP_KERNEL | __GFP_ZERO,
 					get_order(vmem_size));
 	if (!vmem) {
-		dev_err(&client->dev, "Couldn't allocate graphical memory.\n");
+		dev_err(dev, "Couldn't allocate graphical memory.\n");
 		ret = -ENOMEM;
 		goto fb_alloc_error;
 	}
 
-	ssd1307fb_defio = devm_kzalloc(&client->dev, sizeof(*ssd1307fb_defio),
-				       GFP_KERNEL);
+	ssd1307fb_defio = devm_kzalloc(dev, sizeof(*ssd1307fb_defio), GFP_KERNEL);
 	if (!ssd1307fb_defio) {
-		dev_err(&client->dev, "Couldn't allocate deferred io.\n");
+		dev_err(dev, "Couldn't allocate deferred io.\n");
 		ret = -ENOMEM;
 		goto fb_alloc_error;
 	}
@@ -720,8 +717,7 @@ static int ssd1307fb_probe(struct i2c_client *client)
 	if (par->vbat_reg) {
 		ret = regulator_enable(par->vbat_reg);
 		if (ret) {
-			dev_err(&client->dev, "failed to enable VBAT: %d\n",
-				ret);
+			dev_err(dev, "failed to enable VBAT: %d\n", ret);
 			goto reset_oled_error;
 		}
 	}
@@ -732,17 +728,15 @@ static int ssd1307fb_probe(struct i2c_client *client)
 
 	ret = register_framebuffer(info);
 	if (ret) {
-		dev_err(&client->dev, "Couldn't register the framebuffer\n");
+		dev_err(dev, "Couldn't register the framebuffer\n");
 		goto panel_init_error;
 	}
 
 	snprintf(bl_name, sizeof(bl_name), "ssd1307fb%d", info->node);
-	bl = backlight_device_register(bl_name, &client->dev, par,
-				       &ssd1307fb_bl_ops, NULL);
+	bl = backlight_device_register(bl_name, dev, par, &ssd1307fb_bl_ops, NULL);
 	if (IS_ERR(bl)) {
 		ret = PTR_ERR(bl);
-		dev_err(&client->dev, "unable to register backlight device: %d\n",
-			ret);
+		dev_err(dev, "unable to register backlight device: %d\n", ret);
 		goto bl_init_error;
 	}
 
@@ -750,7 +744,7 @@ static int ssd1307fb_probe(struct i2c_client *client)
 	bl->props.max_brightness = MAX_CONTRAST;
 	info->bl_dev = bl;
 
-	dev_info(&client->dev, "fb%d: %s framebuffer device registered, using %d bytes of video memory\n", info->node, info->fix.id, vmem_size);
+	dev_info(dev, "fb%d: %s framebuffer device registered, using %d bytes of video memory\n", info->node, info->fix.id, vmem_size);
 
 	return 0;
 
-- 
2.25.1

^ permalink raw reply related	[flat|nested] 19+ messages in thread

* [PATCH v1 3/5] video: ssd1307fb: Make use of device properties
@ 2020-03-24 17:05     ` Andy Shevchenko
  2020-04-17 14:07         ` Bartlomiej Zolnierkiewicz
  0 siblings, 1 reply; 19+ messages in thread
From: Andy Shevchenko @ 2020-03-24 17:05 UTC (permalink / raw)
  To: linux-fbdev

Device property API allows to gather device resources from different sources,
such as ACPI. Convert the drivers to unleash the power of device property API.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
---
 drivers/video/fbdev/ssd1307fb.c | 40 ++++++++++++++++-----------------
 1 file changed, 19 insertions(+), 21 deletions(-)

diff --git a/drivers/video/fbdev/ssd1307fb.c b/drivers/video/fbdev/ssd1307fb.c
index 84dfd7b0f682..7a6a44a0b7a6 100644
--- a/drivers/video/fbdev/ssd1307fb.c
+++ b/drivers/video/fbdev/ssd1307fb.c
@@ -12,8 +12,7 @@
 #include <linux/i2c.h>
 #include <linux/kernel.h>
 #include <linux/module.h>
-#include <linux/of_device.h>
-#include <linux/of_gpio.h>
+#include <linux/property.h>
 #include <linux/pwm.h>
 #include <linux/uaccess.h>
 #include <linux/regulator/consumer.h>
@@ -592,7 +591,6 @@ static int ssd1307fb_probe(struct i2c_client *client)
 	struct backlight_device *bl;
 	char bl_name[12];
 	struct fb_info *info;
-	struct device_node *node = client->dev.of_node;
 	struct fb_deferred_io *ssd1307fb_defio;
 	u32 vmem_size;
 	struct ssd1307fb_par *par;
@@ -607,7 +605,7 @@ static int ssd1307fb_probe(struct i2c_client *client)
 	par->info = info;
 	par->client = client;
 
-	par->device_info = of_device_get_match_data(&client->dev);
+	par->device_info = device_get_match_data(dev);
 
 	par->reset = devm_gpiod_get_optional(dev, "reset", GPIOD_OUT_LOW);
 	if (IS_ERR(par->reset)) {
@@ -627,44 +625,44 @@ static int ssd1307fb_probe(struct i2c_client *client)
 		}
 	}
 
-	if (of_property_read_u32(node, "solomon,width", &par->width))
+	if (device_property_read_u32(dev, "solomon,width", &par->width))
 		par->width = 96;
 
-	if (of_property_read_u32(node, "solomon,height", &par->height))
+	if (device_property_read_u32(dev, "solomon,height", &par->height))
 		par->height = 16;
 
-	if (of_property_read_u32(node, "solomon,page-offset", &par->page_offset))
+	if (device_property_read_u32(dev, "solomon,page-offset", &par->page_offset))
 		par->page_offset = 1;
 
-	if (of_property_read_u32(node, "solomon,com-offset", &par->com_offset))
+	if (device_property_read_u32(dev, "solomon,com-offset", &par->com_offset))
 		par->com_offset = 0;
 
-	if (of_property_read_u32(node, "solomon,prechargep1", &par->prechargep1))
+	if (device_property_read_u32(dev, "solomon,prechargep1", &par->prechargep1))
 		par->prechargep1 = 2;
 
-	if (of_property_read_u32(node, "solomon,prechargep2", &par->prechargep2))
+	if (device_property_read_u32(dev, "solomon,prechargep2", &par->prechargep2))
 		par->prechargep2 = 2;
 
-	if (!of_property_read_u8_array(node, "solomon,lookup-table",
-				       par->lookup_table,
-				       ARRAY_SIZE(par->lookup_table)))
+	if (!device_property_read_u8_array(dev, "solomon,lookup-table",
+					   par->lookup_table,
+					   ARRAY_SIZE(par->lookup_table)))
 		par->lookup_table_set = 1;
 
-	par->seg_remap = !of_property_read_bool(node, "solomon,segment-no-remap");
-	par->com_seq = of_property_read_bool(node, "solomon,com-seq");
-	par->com_lrremap = of_property_read_bool(node, "solomon,com-lrremap");
-	par->com_invdir = of_property_read_bool(node, "solomon,com-invdir");
+	par->seg_remap = !device_property_read_bool(dev, "solomon,segment-no-remap");
+	par->com_seq = device_property_read_bool(dev, "solomon,com-seq");
+	par->com_lrremap = device_property_read_bool(dev, "solomon,com-lrremap");
+	par->com_invdir = device_property_read_bool(dev, "solomon,com-invdir");
 	par->area_color_enable -		of_property_read_bool(node, "solomon,area-color-enable");
-	par->low_power = of_property_read_bool(node, "solomon,low-power");
+		device_property_read_bool(dev, "solomon,area-color-enable");
+	par->low_power = device_property_read_bool(dev, "solomon,low-power");
 
 	par->contrast = 127;
 	par->vcomh = par->device_info->default_vcomh;
 
 	/* Setup display timing */
-	if (of_property_read_u32(node, "solomon,dclk-div", &par->dclk_div))
+	if (device_property_read_u32(dev, "solomon,dclk-div", &par->dclk_div))
 		par->dclk_div = par->device_info->default_dclk_div;
-	if (of_property_read_u32(node, "solomon,dclk-frq", &par->dclk_frq))
+	if (device_property_read_u32(dev, "solomon,dclk-frq", &par->dclk_frq))
 		par->dclk_frq = par->device_info->default_dclk_frq;
 
 	vmem_size = DIV_ROUND_UP(par->width, 8) * par->height;
-- 
2.25.1

^ permalink raw reply related	[flat|nested] 19+ messages in thread

* [PATCH v1 4/5] video: ssd1307fb: Convert to atomic PWM API
@ 2020-03-24 17:05     ` Andy Shevchenko
  2020-04-17 14:07         ` Bartlomiej Zolnierkiewicz
  0 siblings, 1 reply; 19+ messages in thread
From: Andy Shevchenko @ 2020-03-24 17:05 UTC (permalink / raw)
  To: linux-fbdev

Use the atomic API wherever appropriate and get rid of pwm_apply_args()
call (the reference period and polarity are now explicitly set when
calling pwm_apply_state()).

We also make use of the pwm_set_relative_duty_cycle() helper to ease
relative to absolute duty_cycle conversion.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
---
 drivers/video/fbdev/ssd1307fb.c | 17 +++++------------
 1 file changed, 5 insertions(+), 12 deletions(-)

diff --git a/drivers/video/fbdev/ssd1307fb.c b/drivers/video/fbdev/ssd1307fb.c
index 7a6a44a0b7a6..6e543396002a 100644
--- a/drivers/video/fbdev/ssd1307fb.c
+++ b/drivers/video/fbdev/ssd1307fb.c
@@ -79,7 +79,6 @@ struct ssd1307fb_par {
 	u32 prechargep1;
 	u32 prechargep2;
 	struct pwm_device *pwm;
-	u32 pwm_period;
 	struct gpio_desc *reset;
 	struct regulator *vbat_reg;
 	u32 vcomh;
@@ -297,9 +296,9 @@ static void ssd1307fb_deferred_io(struct fb_info *info,
 
 static int ssd1307fb_init(struct ssd1307fb_par *par)
 {
+	struct pwm_state pwmstate;
 	int ret;
 	u32 precharge, dclk, com_invdir, compins;
-	struct pwm_args pargs;
 
 	if (par->device_info->need_pwm) {
 		par->pwm = pwm_get(&par->client->dev, NULL);
@@ -308,21 +307,15 @@ static int ssd1307fb_init(struct ssd1307fb_par *par)
 			return PTR_ERR(par->pwm);
 		}
 
-		/*
-		 * FIXME: pwm_apply_args() should be removed when switching to
-		 * the atomic PWM API.
-		 */
-		pwm_apply_args(par->pwm);
+		pwm_init_state(par->pwm, &pwmstate);
+		pwm_set_relative_duty_cycle(&pwmstate, 50, 100);
+		pwm_apply_state(par->pwm, &pwmstate);
 
-		pwm_get_args(par->pwm, &pargs);
-
-		par->pwm_period = pargs.period;
 		/* Enable the PWM */
-		pwm_config(par->pwm, par->pwm_period / 2, par->pwm_period);
 		pwm_enable(par->pwm);
 
 		dev_dbg(&par->client->dev, "Using PWM%d with a %dns period.\n",
-			par->pwm->pwm, par->pwm_period);
+			par->pwm->pwm, pwm_get_period(par->pwm));
 	}
 
 	/* Set initial contrast */
-- 
2.25.1

^ permalink raw reply related	[flat|nested] 19+ messages in thread

* [PATCH v1 5/5] video: ssd1307fb: Remove redundant forward declaration
@ 2020-03-24 17:05     ` Andy Shevchenko
  2020-04-17 14:07         ` Bartlomiej Zolnierkiewicz
  0 siblings, 1 reply; 19+ messages in thread
From: Andy Shevchenko @ 2020-03-24 17:05 UTC (permalink / raw)
  To: linux-fbdev

There is no need to have forward declaration of struct ssd1307fb_par.
Drop it for good.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
---
 drivers/video/fbdev/ssd1307fb.c | 2 --
 1 file changed, 2 deletions(-)

diff --git a/drivers/video/fbdev/ssd1307fb.c b/drivers/video/fbdev/ssd1307fb.c
index 6e543396002a..509cab2c8b6c 100644
--- a/drivers/video/fbdev/ssd1307fb.c
+++ b/drivers/video/fbdev/ssd1307fb.c
@@ -48,8 +48,6 @@
 static u_int refreshrate = REFRESHRATE;
 module_param(refreshrate, uint, 0);
 
-struct ssd1307fb_par;
-
 struct ssd1307fb_deviceinfo {
 	u32 default_vcomh;
 	u32 default_dclk_div;
-- 
2.25.1

^ permalink raw reply related	[flat|nested] 19+ messages in thread

* Re: [PATCH v1 1/5] video: ssd1307fb: Convert driver to use ->probe_new()
  2020-03-24 17:05 ` [PATCH v1 1/5] video: ssd1307fb: Convert driver to use ->probe_new() Andy Shevchenko
                     ` (3 preceding siblings ...)
       [not found]   ` <CGME20200324170539eucas1p19f81f8c31975734ab56e19d15033be77@eucas1p1.samsung.com>
@ 2020-03-30  9:51   ` Andy Shevchenko
  2020-04-15 14:20   ` Andy Shevchenko
  2020-04-17 14:07     ` Bartlomiej Zolnierkiewicz
  6 siblings, 0 replies; 19+ messages in thread
From: Andy Shevchenko @ 2020-03-30  9:51 UTC (permalink / raw)
  To: linux-fbdev

On Tue, Mar 24, 2020 at 07:05:28PM +0200, Andy Shevchenko wrote:
> Use the ->probe_new() callback.
> 
> The driver does not use const struct i2c_device_id * argument,
> so convert it to utilise the simplified I²C driver registration.
> 

Bartlomiej, any comments on the series?

> Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
> ---
>  drivers/video/fbdev/ssd1307fb.c | 10 ++--------
>  1 file changed, 2 insertions(+), 8 deletions(-)
> 
> diff --git a/drivers/video/fbdev/ssd1307fb.c b/drivers/video/fbdev/ssd1307fb.c
> index 142535267fec..397eae246c2c 100644
> --- a/drivers/video/fbdev/ssd1307fb.c
> +++ b/drivers/video/fbdev/ssd1307fb.c
> @@ -586,8 +586,7 @@ static const struct of_device_id ssd1307fb_of_match[] = {
>  };
>  MODULE_DEVICE_TABLE(of, ssd1307fb_of_match);
>  
> -static int ssd1307fb_probe(struct i2c_client *client,
> -			   const struct i2c_device_id *id)
> +static int ssd1307fb_probe(struct i2c_client *client)
>  {
>  	struct backlight_device *bl;
>  	char bl_name[12];
> @@ -599,11 +598,6 @@ static int ssd1307fb_probe(struct i2c_client *client,
>  	void *vmem;
>  	int ret;
>  
> -	if (!node) {
> -		dev_err(&client->dev, "No device tree data found!\n");
> -		return -EINVAL;
> -	}
> -
>  	info = framebuffer_alloc(sizeof(struct ssd1307fb_par), &client->dev);
>  	if (!info)
>  		return -ENOMEM;
> @@ -808,7 +802,7 @@ static const struct i2c_device_id ssd1307fb_i2c_id[] = {
>  MODULE_DEVICE_TABLE(i2c, ssd1307fb_i2c_id);
>  
>  static struct i2c_driver ssd1307fb_driver = {
> -	.probe = ssd1307fb_probe,
> +	.probe_new = ssd1307fb_probe,
>  	.remove = ssd1307fb_remove,
>  	.id_table = ssd1307fb_i2c_id,
>  	.driver = {
> -- 
> 2.25.1
> 

-- 
With Best Regards,
Andy Shevchenko

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [PATCH v1 1/5] video: ssd1307fb: Convert driver to use ->probe_new()
  2020-03-24 17:05 ` [PATCH v1 1/5] video: ssd1307fb: Convert driver to use ->probe_new() Andy Shevchenko
                     ` (4 preceding siblings ...)
  2020-03-30  9:51   ` [PATCH v1 1/5] video: ssd1307fb: Convert driver to use ->probe_new() Andy Shevchenko
@ 2020-04-15 14:20   ` Andy Shevchenko
  2020-04-15 14:36       ` Bartlomiej Zolnierkiewicz
  2020-04-17 14:07     ` Bartlomiej Zolnierkiewicz
  6 siblings, 1 reply; 19+ messages in thread
From: Andy Shevchenko @ 2020-04-15 14:20 UTC (permalink / raw)
  To: linux-fbdev

On Mon, Mar 30, 2020 at 12:51:44PM +0300, Andy Shevchenko wrote:
> On Tue, Mar 24, 2020 at 07:05:28PM +0200, Andy Shevchenko wrote:
> > Use the ->probe_new() callback.
> > 
> > The driver does not use const struct i2c_device_id * argument,
> > so convert it to utilise the simplified I²C driver registration.
> > 
> 
> Bartlomiej, any comments on the series?

Do I need to do something with the series?

> > Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
> > ---
> >  drivers/video/fbdev/ssd1307fb.c | 10 ++--------
> >  1 file changed, 2 insertions(+), 8 deletions(-)
> > 
> > diff --git a/drivers/video/fbdev/ssd1307fb.c b/drivers/video/fbdev/ssd1307fb.c
> > index 142535267fec..397eae246c2c 100644
> > --- a/drivers/video/fbdev/ssd1307fb.c
> > +++ b/drivers/video/fbdev/ssd1307fb.c
> > @@ -586,8 +586,7 @@ static const struct of_device_id ssd1307fb_of_match[] = {
> >  };
> >  MODULE_DEVICE_TABLE(of, ssd1307fb_of_match);
> >  
> > -static int ssd1307fb_probe(struct i2c_client *client,
> > -			   const struct i2c_device_id *id)
> > +static int ssd1307fb_probe(struct i2c_client *client)
> >  {
> >  	struct backlight_device *bl;
> >  	char bl_name[12];
> > @@ -599,11 +598,6 @@ static int ssd1307fb_probe(struct i2c_client *client,
> >  	void *vmem;
> >  	int ret;
> >  
> > -	if (!node) {
> > -		dev_err(&client->dev, "No device tree data found!\n");
> > -		return -EINVAL;
> > -	}
> > -
> >  	info = framebuffer_alloc(sizeof(struct ssd1307fb_par), &client->dev);
> >  	if (!info)
> >  		return -ENOMEM;
> > @@ -808,7 +802,7 @@ static const struct i2c_device_id ssd1307fb_i2c_id[] = {
> >  MODULE_DEVICE_TABLE(i2c, ssd1307fb_i2c_id);
> >  
> >  static struct i2c_driver ssd1307fb_driver = {
> > -	.probe = ssd1307fb_probe,
> > +	.probe_new = ssd1307fb_probe,
> >  	.remove = ssd1307fb_remove,
> >  	.id_table = ssd1307fb_i2c_id,
> >  	.driver = {
> > -- 
> > 2.25.1
> > 
> 
> -- 
> With Best Regards,
> Andy Shevchenko
> 
> 

-- 
With Best Regards,
Andy Shevchenko

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [PATCH v1 1/5] video: ssd1307fb: Convert driver to use ->probe_new()
  2020-04-15 14:20   ` Andy Shevchenko
@ 2020-04-15 14:36       ` Bartlomiej Zolnierkiewicz
  0 siblings, 0 replies; 19+ messages in thread
From: Bartlomiej Zolnierkiewicz @ 2020-04-15 14:36 UTC (permalink / raw)
  To: Andy Shevchenko; +Cc: linux-fbdev, xllacyx, dri-devel


[ added dri-devel to Cc: ]

Hi,

On 4/15/20 4:20 PM, Andy Shevchenko wrote:
> On Mon, Mar 30, 2020 at 12:51:44PM +0300, Andy Shevchenko wrote:
>> On Tue, Mar 24, 2020 at 07:05:28PM +0200, Andy Shevchenko wrote:
>>> Use the ->probe_new() callback.
>>>
>>> The driver does not use const struct i2c_device_id * argument,
>>> so convert it to utilise the simplified I²C driver registration.
>>>
>>
>> Bartlomiej, any comments on the series?
> 
> Do I need to do something with the series?

It hasn't been lost :), just handling of fbdev patches posted too
late for v5.7 has been postponed after v5.7-rc1 release.

LGTM after quick look.

I'll review it properly / apply later this week (hopefully tomorrow).

Best regards,
--
Bartlomiej Zolnierkiewicz
Samsung R&D Institute Poland
Samsung Electronics

>>> Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
>>> ---
>>>  drivers/video/fbdev/ssd1307fb.c | 10 ++--------
>>>  1 file changed, 2 insertions(+), 8 deletions(-)
>>>
>>> diff --git a/drivers/video/fbdev/ssd1307fb.c b/drivers/video/fbdev/ssd1307fb.c
>>> index 142535267fec..397eae246c2c 100644
>>> --- a/drivers/video/fbdev/ssd1307fb.c
>>> +++ b/drivers/video/fbdev/ssd1307fb.c
>>> @@ -586,8 +586,7 @@ static const struct of_device_id ssd1307fb_of_match[] = {
>>>  };
>>>  MODULE_DEVICE_TABLE(of, ssd1307fb_of_match);
>>>  
>>> -static int ssd1307fb_probe(struct i2c_client *client,
>>> -			   const struct i2c_device_id *id)
>>> +static int ssd1307fb_probe(struct i2c_client *client)
>>>  {
>>>  	struct backlight_device *bl;
>>>  	char bl_name[12];
>>> @@ -599,11 +598,6 @@ static int ssd1307fb_probe(struct i2c_client *client,
>>>  	void *vmem;
>>>  	int ret;
>>>  
>>> -	if (!node) {
>>> -		dev_err(&client->dev, "No device tree data found!\n");
>>> -		return -EINVAL;
>>> -	}
>>> -
>>>  	info = framebuffer_alloc(sizeof(struct ssd1307fb_par), &client->dev);
>>>  	if (!info)
>>>  		return -ENOMEM;
>>> @@ -808,7 +802,7 @@ static const struct i2c_device_id ssd1307fb_i2c_id[] = {
>>>  MODULE_DEVICE_TABLE(i2c, ssd1307fb_i2c_id);
>>>  
>>>  static struct i2c_driver ssd1307fb_driver = {
>>> -	.probe = ssd1307fb_probe,
>>> +	.probe_new = ssd1307fb_probe,
>>>  	.remove = ssd1307fb_remove,
>>>  	.id_table = ssd1307fb_i2c_id,
>>>  	.driver = {
>>> -- 
>>> 2.25.1
>>>
>>
>> -- 
>> With Best Regards,
>> Andy Shevchenko

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [PATCH v1 1/5] video: ssd1307fb: Convert driver to use ->probe_new()
@ 2020-04-15 14:36       ` Bartlomiej Zolnierkiewicz
  0 siblings, 0 replies; 19+ messages in thread
From: Bartlomiej Zolnierkiewicz @ 2020-04-15 14:36 UTC (permalink / raw)
  To: Andy Shevchenko; +Cc: linux-fbdev, xllacyx, dri-devel


[ added dri-devel to Cc: ]

Hi,

On 4/15/20 4:20 PM, Andy Shevchenko wrote:
> On Mon, Mar 30, 2020 at 12:51:44PM +0300, Andy Shevchenko wrote:
>> On Tue, Mar 24, 2020 at 07:05:28PM +0200, Andy Shevchenko wrote:
>>> Use the ->probe_new() callback.
>>>
>>> The driver does not use const struct i2c_device_id * argument,
>>> so convert it to utilise the simplified I²C driver registration.
>>>
>>
>> Bartlomiej, any comments on the series?
> 
> Do I need to do something with the series?

It hasn't been lost :), just handling of fbdev patches posted too
late for v5.7 has been postponed after v5.7-rc1 release.

LGTM after quick look.

I'll review it properly / apply later this week (hopefully tomorrow).

Best regards,
--
Bartlomiej Zolnierkiewicz
Samsung R&D Institute Poland
Samsung Electronics

>>> Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
>>> ---
>>>  drivers/video/fbdev/ssd1307fb.c | 10 ++--------
>>>  1 file changed, 2 insertions(+), 8 deletions(-)
>>>
>>> diff --git a/drivers/video/fbdev/ssd1307fb.c b/drivers/video/fbdev/ssd1307fb.c
>>> index 142535267fec..397eae246c2c 100644
>>> --- a/drivers/video/fbdev/ssd1307fb.c
>>> +++ b/drivers/video/fbdev/ssd1307fb.c
>>> @@ -586,8 +586,7 @@ static const struct of_device_id ssd1307fb_of_match[] = {
>>>  };
>>>  MODULE_DEVICE_TABLE(of, ssd1307fb_of_match);
>>>  
>>> -static int ssd1307fb_probe(struct i2c_client *client,
>>> -			   const struct i2c_device_id *id)
>>> +static int ssd1307fb_probe(struct i2c_client *client)
>>>  {
>>>  	struct backlight_device *bl;
>>>  	char bl_name[12];
>>> @@ -599,11 +598,6 @@ static int ssd1307fb_probe(struct i2c_client *client,
>>>  	void *vmem;
>>>  	int ret;
>>>  
>>> -	if (!node) {
>>> -		dev_err(&client->dev, "No device tree data found!\n");
>>> -		return -EINVAL;
>>> -	}
>>> -
>>>  	info = framebuffer_alloc(sizeof(struct ssd1307fb_par), &client->dev);
>>>  	if (!info)
>>>  		return -ENOMEM;
>>> @@ -808,7 +802,7 @@ static const struct i2c_device_id ssd1307fb_i2c_id[] = {
>>>  MODULE_DEVICE_TABLE(i2c, ssd1307fb_i2c_id);
>>>  
>>>  static struct i2c_driver ssd1307fb_driver = {
>>> -	.probe = ssd1307fb_probe,
>>> +	.probe_new = ssd1307fb_probe,
>>>  	.remove = ssd1307fb_remove,
>>>  	.id_table = ssd1307fb_i2c_id,
>>>  	.driver = {
>>> -- 
>>> 2.25.1
>>>
>>
>> -- 
>> With Best Regards,
>> Andy Shevchenko
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [PATCH v1 1/5] video: ssd1307fb: Convert driver to use ->probe_new()
  2020-03-24 17:05 ` [PATCH v1 1/5] video: ssd1307fb: Convert driver to use ->probe_new() Andy Shevchenko
@ 2020-04-17 14:07     ` Bartlomiej Zolnierkiewicz
       [not found]   ` <CGME20200324170554eucas1p164794d0c08b18a1d066b2b83957c73a1@eucas1p1.samsung.com>
                       ` (5 subsequent siblings)
  6 siblings, 0 replies; 19+ messages in thread
From: Bartlomiej Zolnierkiewicz @ 2020-04-17 14:07 UTC (permalink / raw)
  To: Andy Shevchenko; +Cc: linux-fbdev, xllacyx, dri-devel


[ added dri-devel ML to Cc: ]

On 3/24/20 6:05 PM, Andy Shevchenko wrote:
> Use the ->probe_new() callback.
> 
> The driver does not use const struct i2c_device_id * argument,
> so convert it to utilise the simplified I²C driver registration.
> 
> Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>

Patch queued for v5.8, thanks.

Best regards,
--
Bartlomiej Zolnierkiewicz
Samsung R&D Institute Poland
Samsung Electronics

> ---
>  drivers/video/fbdev/ssd1307fb.c | 10 ++--------
>  1 file changed, 2 insertions(+), 8 deletions(-)
> 
> diff --git a/drivers/video/fbdev/ssd1307fb.c b/drivers/video/fbdev/ssd1307fb.c
> index 142535267fec..397eae246c2c 100644
> --- a/drivers/video/fbdev/ssd1307fb.c
> +++ b/drivers/video/fbdev/ssd1307fb.c
> @@ -586,8 +586,7 @@ static const struct of_device_id ssd1307fb_of_match[] = {
>  };
>  MODULE_DEVICE_TABLE(of, ssd1307fb_of_match);
>  
> -static int ssd1307fb_probe(struct i2c_client *client,
> -			   const struct i2c_device_id *id)
> +static int ssd1307fb_probe(struct i2c_client *client)
>  {
>  	struct backlight_device *bl;
>  	char bl_name[12];
> @@ -599,11 +598,6 @@ static int ssd1307fb_probe(struct i2c_client *client,
>  	void *vmem;
>  	int ret;
>  
> -	if (!node) {
> -		dev_err(&client->dev, "No device tree data found!\n");
> -		return -EINVAL;
> -	}
> -
>  	info = framebuffer_alloc(sizeof(struct ssd1307fb_par), &client->dev);
>  	if (!info)
>  		return -ENOMEM;
> @@ -808,7 +802,7 @@ static const struct i2c_device_id ssd1307fb_i2c_id[] = {
>  MODULE_DEVICE_TABLE(i2c, ssd1307fb_i2c_id);
>  
>  static struct i2c_driver ssd1307fb_driver = {
> -	.probe = ssd1307fb_probe,
> +	.probe_new = ssd1307fb_probe,
>  	.remove = ssd1307fb_remove,
>  	.id_table = ssd1307fb_i2c_id,
>  	.driver = {
> 

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [PATCH v1 1/5] video: ssd1307fb: Convert driver to use ->probe_new()
@ 2020-04-17 14:07     ` Bartlomiej Zolnierkiewicz
  0 siblings, 0 replies; 19+ messages in thread
From: Bartlomiej Zolnierkiewicz @ 2020-04-17 14:07 UTC (permalink / raw)
  To: Andy Shevchenko; +Cc: linux-fbdev, xllacyx, dri-devel


[ added dri-devel ML to Cc: ]

On 3/24/20 6:05 PM, Andy Shevchenko wrote:
> Use the ->probe_new() callback.
> 
> The driver does not use const struct i2c_device_id * argument,
> so convert it to utilise the simplified I²C driver registration.
> 
> Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>

Patch queued for v5.8, thanks.

Best regards,
--
Bartlomiej Zolnierkiewicz
Samsung R&D Institute Poland
Samsung Electronics

> ---
>  drivers/video/fbdev/ssd1307fb.c | 10 ++--------
>  1 file changed, 2 insertions(+), 8 deletions(-)
> 
> diff --git a/drivers/video/fbdev/ssd1307fb.c b/drivers/video/fbdev/ssd1307fb.c
> index 142535267fec..397eae246c2c 100644
> --- a/drivers/video/fbdev/ssd1307fb.c
> +++ b/drivers/video/fbdev/ssd1307fb.c
> @@ -586,8 +586,7 @@ static const struct of_device_id ssd1307fb_of_match[] = {
>  };
>  MODULE_DEVICE_TABLE(of, ssd1307fb_of_match);
>  
> -static int ssd1307fb_probe(struct i2c_client *client,
> -			   const struct i2c_device_id *id)
> +static int ssd1307fb_probe(struct i2c_client *client)
>  {
>  	struct backlight_device *bl;
>  	char bl_name[12];
> @@ -599,11 +598,6 @@ static int ssd1307fb_probe(struct i2c_client *client,
>  	void *vmem;
>  	int ret;
>  
> -	if (!node) {
> -		dev_err(&client->dev, "No device tree data found!\n");
> -		return -EINVAL;
> -	}
> -
>  	info = framebuffer_alloc(sizeof(struct ssd1307fb_par), &client->dev);
>  	if (!info)
>  		return -ENOMEM;
> @@ -808,7 +802,7 @@ static const struct i2c_device_id ssd1307fb_i2c_id[] = {
>  MODULE_DEVICE_TABLE(i2c, ssd1307fb_i2c_id);
>  
>  static struct i2c_driver ssd1307fb_driver = {
> -	.probe = ssd1307fb_probe,
> +	.probe_new = ssd1307fb_probe,
>  	.remove = ssd1307fb_remove,
>  	.id_table = ssd1307fb_i2c_id,
>  	.driver = {
> 

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [PATCH v1 2/5] video: ssd1307fb: Introduce temporary variable to increase readability
  2020-03-24 17:05     ` [PATCH v1 2/5] video: ssd1307fb: Introduce temporary variable to increase readability Andy Shevchenko
@ 2020-04-17 14:07         ` Bartlomiej Zolnierkiewicz
  0 siblings, 0 replies; 19+ messages in thread
From: Bartlomiej Zolnierkiewicz @ 2020-04-17 14:07 UTC (permalink / raw)
  To: Andy Shevchenko; +Cc: linux-fbdev, xllacyx, dri-devel


[ added dri-devel ML to Cc: ]

On 3/24/20 6:05 PM, Andy Shevchenko wrote:
> Introduce temporary variable to increase readability of the code.
> 
> Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>

Patch queued for v5.8 (w/ few lines over 80 characters fixed), thanks.

Best regards,
--
Bartlomiej Zolnierkiewicz
Samsung R&D Institute Poland
Samsung Electronics

> ---
>  drivers/video/fbdev/ssd1307fb.c | 34 ++++++++++++++-------------------
>  1 file changed, 14 insertions(+), 20 deletions(-)
> 
> diff --git a/drivers/video/fbdev/ssd1307fb.c b/drivers/video/fbdev/ssd1307fb.c
> index 397eae246c2c..84dfd7b0f682 100644
> --- a/drivers/video/fbdev/ssd1307fb.c
> +++ b/drivers/video/fbdev/ssd1307fb.c
> @@ -588,6 +588,7 @@ MODULE_DEVICE_TABLE(of, ssd1307fb_of_match);
>  
>  static int ssd1307fb_probe(struct i2c_client *client)
>  {
> +	struct device *dev = &client->dev;
>  	struct backlight_device *bl;
>  	char bl_name[12];
>  	struct fb_info *info;
> @@ -598,7 +599,7 @@ static int ssd1307fb_probe(struct i2c_client *client)
>  	void *vmem;
>  	int ret;
>  
> -	info = framebuffer_alloc(sizeof(struct ssd1307fb_par), &client->dev);
> +	info = framebuffer_alloc(sizeof(struct ssd1307fb_par), dev);
>  	if (!info)
>  		return -ENOMEM;
>  
> @@ -608,23 +609,20 @@ static int ssd1307fb_probe(struct i2c_client *client)
>  
>  	par->device_info = of_device_get_match_data(&client->dev);
>  
> -	par->reset = devm_gpiod_get_optional(&client->dev, "reset",
> -					     GPIOD_OUT_LOW);
> +	par->reset = devm_gpiod_get_optional(dev, "reset", GPIOD_OUT_LOW);
>  	if (IS_ERR(par->reset)) {
> -		dev_err(&client->dev, "failed to get reset gpio: %ld\n",
> -			PTR_ERR(par->reset));
> +		dev_err(dev, "failed to get reset gpio: %ld\n", PTR_ERR(par->reset));
>  		ret = PTR_ERR(par->reset);
>  		goto fb_alloc_error;
>  	}
>  
> -	par->vbat_reg = devm_regulator_get_optional(&client->dev, "vbat");
> +	par->vbat_reg = devm_regulator_get_optional(dev, "vbat");
>  	if (IS_ERR(par->vbat_reg)) {
>  		ret = PTR_ERR(par->vbat_reg);
>  		if (ret = -ENODEV) {
>  			par->vbat_reg = NULL;
>  		} else {
> -			dev_err(&client->dev, "failed to get VBAT regulator: %d\n",
> -				ret);
> +			dev_err(dev, "failed to get VBAT regulator: %d\n", ret);
>  			goto fb_alloc_error;
>  		}
>  	}
> @@ -674,15 +672,14 @@ static int ssd1307fb_probe(struct i2c_client *client)
>  	vmem = (void *)__get_free_pages(GFP_KERNEL | __GFP_ZERO,
>  					get_order(vmem_size));
>  	if (!vmem) {
> -		dev_err(&client->dev, "Couldn't allocate graphical memory.\n");
> +		dev_err(dev, "Couldn't allocate graphical memory.\n");
>  		ret = -ENOMEM;
>  		goto fb_alloc_error;
>  	}
>  
> -	ssd1307fb_defio = devm_kzalloc(&client->dev, sizeof(*ssd1307fb_defio),
> -				       GFP_KERNEL);
> +	ssd1307fb_defio = devm_kzalloc(dev, sizeof(*ssd1307fb_defio), GFP_KERNEL);
>  	if (!ssd1307fb_defio) {
> -		dev_err(&client->dev, "Couldn't allocate deferred io.\n");
> +		dev_err(dev, "Couldn't allocate deferred io.\n");
>  		ret = -ENOMEM;
>  		goto fb_alloc_error;
>  	}
> @@ -720,8 +717,7 @@ static int ssd1307fb_probe(struct i2c_client *client)
>  	if (par->vbat_reg) {
>  		ret = regulator_enable(par->vbat_reg);
>  		if (ret) {
> -			dev_err(&client->dev, "failed to enable VBAT: %d\n",
> -				ret);
> +			dev_err(dev, "failed to enable VBAT: %d\n", ret);
>  			goto reset_oled_error;
>  		}
>  	}
> @@ -732,17 +728,15 @@ static int ssd1307fb_probe(struct i2c_client *client)
>  
>  	ret = register_framebuffer(info);
>  	if (ret) {
> -		dev_err(&client->dev, "Couldn't register the framebuffer\n");
> +		dev_err(dev, "Couldn't register the framebuffer\n");
>  		goto panel_init_error;
>  	}
>  
>  	snprintf(bl_name, sizeof(bl_name), "ssd1307fb%d", info->node);
> -	bl = backlight_device_register(bl_name, &client->dev, par,
> -				       &ssd1307fb_bl_ops, NULL);
> +	bl = backlight_device_register(bl_name, dev, par, &ssd1307fb_bl_ops, NULL);
>  	if (IS_ERR(bl)) {
>  		ret = PTR_ERR(bl);
> -		dev_err(&client->dev, "unable to register backlight device: %d\n",
> -			ret);
> +		dev_err(dev, "unable to register backlight device: %d\n", ret);
>  		goto bl_init_error;
>  	}
>  
> @@ -750,7 +744,7 @@ static int ssd1307fb_probe(struct i2c_client *client)
>  	bl->props.max_brightness = MAX_CONTRAST;
>  	info->bl_dev = bl;
>  
> -	dev_info(&client->dev, "fb%d: %s framebuffer device registered, using %d bytes of video memory\n", info->node, info->fix.id, vmem_size);
> +	dev_info(dev, "fb%d: %s framebuffer device registered, using %d bytes of video memory\n", info->node, info->fix.id, vmem_size);
>  
>  	return 0;
>  

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [PATCH v1 2/5] video: ssd1307fb: Introduce temporary variable to increase readability
@ 2020-04-17 14:07         ` Bartlomiej Zolnierkiewicz
  0 siblings, 0 replies; 19+ messages in thread
From: Bartlomiej Zolnierkiewicz @ 2020-04-17 14:07 UTC (permalink / raw)
  To: Andy Shevchenko; +Cc: linux-fbdev, xllacyx, dri-devel


[ added dri-devel ML to Cc: ]

On 3/24/20 6:05 PM, Andy Shevchenko wrote:
> Introduce temporary variable to increase readability of the code.
> 
> Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>

Patch queued for v5.8 (w/ few lines over 80 characters fixed), thanks.

Best regards,
--
Bartlomiej Zolnierkiewicz
Samsung R&D Institute Poland
Samsung Electronics

> ---
>  drivers/video/fbdev/ssd1307fb.c | 34 ++++++++++++++-------------------
>  1 file changed, 14 insertions(+), 20 deletions(-)
> 
> diff --git a/drivers/video/fbdev/ssd1307fb.c b/drivers/video/fbdev/ssd1307fb.c
> index 397eae246c2c..84dfd7b0f682 100644
> --- a/drivers/video/fbdev/ssd1307fb.c
> +++ b/drivers/video/fbdev/ssd1307fb.c
> @@ -588,6 +588,7 @@ MODULE_DEVICE_TABLE(of, ssd1307fb_of_match);
>  
>  static int ssd1307fb_probe(struct i2c_client *client)
>  {
> +	struct device *dev = &client->dev;
>  	struct backlight_device *bl;
>  	char bl_name[12];
>  	struct fb_info *info;
> @@ -598,7 +599,7 @@ static int ssd1307fb_probe(struct i2c_client *client)
>  	void *vmem;
>  	int ret;
>  
> -	info = framebuffer_alloc(sizeof(struct ssd1307fb_par), &client->dev);
> +	info = framebuffer_alloc(sizeof(struct ssd1307fb_par), dev);
>  	if (!info)
>  		return -ENOMEM;
>  
> @@ -608,23 +609,20 @@ static int ssd1307fb_probe(struct i2c_client *client)
>  
>  	par->device_info = of_device_get_match_data(&client->dev);
>  
> -	par->reset = devm_gpiod_get_optional(&client->dev, "reset",
> -					     GPIOD_OUT_LOW);
> +	par->reset = devm_gpiod_get_optional(dev, "reset", GPIOD_OUT_LOW);
>  	if (IS_ERR(par->reset)) {
> -		dev_err(&client->dev, "failed to get reset gpio: %ld\n",
> -			PTR_ERR(par->reset));
> +		dev_err(dev, "failed to get reset gpio: %ld\n", PTR_ERR(par->reset));
>  		ret = PTR_ERR(par->reset);
>  		goto fb_alloc_error;
>  	}
>  
> -	par->vbat_reg = devm_regulator_get_optional(&client->dev, "vbat");
> +	par->vbat_reg = devm_regulator_get_optional(dev, "vbat");
>  	if (IS_ERR(par->vbat_reg)) {
>  		ret = PTR_ERR(par->vbat_reg);
>  		if (ret == -ENODEV) {
>  			par->vbat_reg = NULL;
>  		} else {
> -			dev_err(&client->dev, "failed to get VBAT regulator: %d\n",
> -				ret);
> +			dev_err(dev, "failed to get VBAT regulator: %d\n", ret);
>  			goto fb_alloc_error;
>  		}
>  	}
> @@ -674,15 +672,14 @@ static int ssd1307fb_probe(struct i2c_client *client)
>  	vmem = (void *)__get_free_pages(GFP_KERNEL | __GFP_ZERO,
>  					get_order(vmem_size));
>  	if (!vmem) {
> -		dev_err(&client->dev, "Couldn't allocate graphical memory.\n");
> +		dev_err(dev, "Couldn't allocate graphical memory.\n");
>  		ret = -ENOMEM;
>  		goto fb_alloc_error;
>  	}
>  
> -	ssd1307fb_defio = devm_kzalloc(&client->dev, sizeof(*ssd1307fb_defio),
> -				       GFP_KERNEL);
> +	ssd1307fb_defio = devm_kzalloc(dev, sizeof(*ssd1307fb_defio), GFP_KERNEL);
>  	if (!ssd1307fb_defio) {
> -		dev_err(&client->dev, "Couldn't allocate deferred io.\n");
> +		dev_err(dev, "Couldn't allocate deferred io.\n");
>  		ret = -ENOMEM;
>  		goto fb_alloc_error;
>  	}
> @@ -720,8 +717,7 @@ static int ssd1307fb_probe(struct i2c_client *client)
>  	if (par->vbat_reg) {
>  		ret = regulator_enable(par->vbat_reg);
>  		if (ret) {
> -			dev_err(&client->dev, "failed to enable VBAT: %d\n",
> -				ret);
> +			dev_err(dev, "failed to enable VBAT: %d\n", ret);
>  			goto reset_oled_error;
>  		}
>  	}
> @@ -732,17 +728,15 @@ static int ssd1307fb_probe(struct i2c_client *client)
>  
>  	ret = register_framebuffer(info);
>  	if (ret) {
> -		dev_err(&client->dev, "Couldn't register the framebuffer\n");
> +		dev_err(dev, "Couldn't register the framebuffer\n");
>  		goto panel_init_error;
>  	}
>  
>  	snprintf(bl_name, sizeof(bl_name), "ssd1307fb%d", info->node);
> -	bl = backlight_device_register(bl_name, &client->dev, par,
> -				       &ssd1307fb_bl_ops, NULL);
> +	bl = backlight_device_register(bl_name, dev, par, &ssd1307fb_bl_ops, NULL);
>  	if (IS_ERR(bl)) {
>  		ret = PTR_ERR(bl);
> -		dev_err(&client->dev, "unable to register backlight device: %d\n",
> -			ret);
> +		dev_err(dev, "unable to register backlight device: %d\n", ret);
>  		goto bl_init_error;
>  	}
>  
> @@ -750,7 +744,7 @@ static int ssd1307fb_probe(struct i2c_client *client)
>  	bl->props.max_brightness = MAX_CONTRAST;
>  	info->bl_dev = bl;
>  
> -	dev_info(&client->dev, "fb%d: %s framebuffer device registered, using %d bytes of video memory\n", info->node, info->fix.id, vmem_size);
> +	dev_info(dev, "fb%d: %s framebuffer device registered, using %d bytes of video memory\n", info->node, info->fix.id, vmem_size);
>  
>  	return 0;
>  
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [PATCH v1 3/5] video: ssd1307fb: Make use of device properties
  2020-03-24 17:05     ` [PATCH v1 3/5] video: ssd1307fb: Make use of device properties Andy Shevchenko
@ 2020-04-17 14:07         ` Bartlomiej Zolnierkiewicz
  0 siblings, 0 replies; 19+ messages in thread
From: Bartlomiej Zolnierkiewicz @ 2020-04-17 14:07 UTC (permalink / raw)
  To: Andy Shevchenko; +Cc: linux-fbdev, xllacyx, dri-devel


[ added dri-devel ML to Cc: ]

On 3/24/20 6:05 PM, Andy Shevchenko wrote:
> Device property API allows to gather device resources from different sources,
> such as ACPI. Convert the drivers to unleash the power of device property API.
> 
> Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>

Patch queued for v5.8, thanks.

Best regards,
--
Bartlomiej Zolnierkiewicz
Samsung R&D Institute Poland
Samsung Electronics

> ---
>  drivers/video/fbdev/ssd1307fb.c | 40 ++++++++++++++++-----------------
>  1 file changed, 19 insertions(+), 21 deletions(-)
> 
> diff --git a/drivers/video/fbdev/ssd1307fb.c b/drivers/video/fbdev/ssd1307fb.c
> index 84dfd7b0f682..7a6a44a0b7a6 100644
> --- a/drivers/video/fbdev/ssd1307fb.c
> +++ b/drivers/video/fbdev/ssd1307fb.c
> @@ -12,8 +12,7 @@
>  #include <linux/i2c.h>
>  #include <linux/kernel.h>
>  #include <linux/module.h>
> -#include <linux/of_device.h>
> -#include <linux/of_gpio.h>
> +#include <linux/property.h>
>  #include <linux/pwm.h>
>  #include <linux/uaccess.h>
>  #include <linux/regulator/consumer.h>
> @@ -592,7 +591,6 @@ static int ssd1307fb_probe(struct i2c_client *client)
>  	struct backlight_device *bl;
>  	char bl_name[12];
>  	struct fb_info *info;
> -	struct device_node *node = client->dev.of_node;
>  	struct fb_deferred_io *ssd1307fb_defio;
>  	u32 vmem_size;
>  	struct ssd1307fb_par *par;
> @@ -607,7 +605,7 @@ static int ssd1307fb_probe(struct i2c_client *client)
>  	par->info = info;
>  	par->client = client;
>  
> -	par->device_info = of_device_get_match_data(&client->dev);
> +	par->device_info = device_get_match_data(dev);
>  
>  	par->reset = devm_gpiod_get_optional(dev, "reset", GPIOD_OUT_LOW);
>  	if (IS_ERR(par->reset)) {
> @@ -627,44 +625,44 @@ static int ssd1307fb_probe(struct i2c_client *client)
>  		}
>  	}
>  
> -	if (of_property_read_u32(node, "solomon,width", &par->width))
> +	if (device_property_read_u32(dev, "solomon,width", &par->width))
>  		par->width = 96;
>  
> -	if (of_property_read_u32(node, "solomon,height", &par->height))
> +	if (device_property_read_u32(dev, "solomon,height", &par->height))
>  		par->height = 16;
>  
> -	if (of_property_read_u32(node, "solomon,page-offset", &par->page_offset))
> +	if (device_property_read_u32(dev, "solomon,page-offset", &par->page_offset))
>  		par->page_offset = 1;
>  
> -	if (of_property_read_u32(node, "solomon,com-offset", &par->com_offset))
> +	if (device_property_read_u32(dev, "solomon,com-offset", &par->com_offset))
>  		par->com_offset = 0;
>  
> -	if (of_property_read_u32(node, "solomon,prechargep1", &par->prechargep1))
> +	if (device_property_read_u32(dev, "solomon,prechargep1", &par->prechargep1))
>  		par->prechargep1 = 2;
>  
> -	if (of_property_read_u32(node, "solomon,prechargep2", &par->prechargep2))
> +	if (device_property_read_u32(dev, "solomon,prechargep2", &par->prechargep2))
>  		par->prechargep2 = 2;
>  
> -	if (!of_property_read_u8_array(node, "solomon,lookup-table",
> -				       par->lookup_table,
> -				       ARRAY_SIZE(par->lookup_table)))
> +	if (!device_property_read_u8_array(dev, "solomon,lookup-table",
> +					   par->lookup_table,
> +					   ARRAY_SIZE(par->lookup_table)))
>  		par->lookup_table_set = 1;
>  
> -	par->seg_remap = !of_property_read_bool(node, "solomon,segment-no-remap");
> -	par->com_seq = of_property_read_bool(node, "solomon,com-seq");
> -	par->com_lrremap = of_property_read_bool(node, "solomon,com-lrremap");
> -	par->com_invdir = of_property_read_bool(node, "solomon,com-invdir");
> +	par->seg_remap = !device_property_read_bool(dev, "solomon,segment-no-remap");
> +	par->com_seq = device_property_read_bool(dev, "solomon,com-seq");
> +	par->com_lrremap = device_property_read_bool(dev, "solomon,com-lrremap");
> +	par->com_invdir = device_property_read_bool(dev, "solomon,com-invdir");
>  	par->area_color_enable > -		of_property_read_bool(node, "solomon,area-color-enable");
> -	par->low_power = of_property_read_bool(node, "solomon,low-power");
> +		device_property_read_bool(dev, "solomon,area-color-enable");
> +	par->low_power = device_property_read_bool(dev, "solomon,low-power");
>  
>  	par->contrast = 127;
>  	par->vcomh = par->device_info->default_vcomh;
>  
>  	/* Setup display timing */
> -	if (of_property_read_u32(node, "solomon,dclk-div", &par->dclk_div))
> +	if (device_property_read_u32(dev, "solomon,dclk-div", &par->dclk_div))
>  		par->dclk_div = par->device_info->default_dclk_div;
> -	if (of_property_read_u32(node, "solomon,dclk-frq", &par->dclk_frq))
> +	if (device_property_read_u32(dev, "solomon,dclk-frq", &par->dclk_frq))
>  		par->dclk_frq = par->device_info->default_dclk_frq;
>  
>  	vmem_size = DIV_ROUND_UP(par->width, 8) * par->height;
> 

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [PATCH v1 3/5] video: ssd1307fb: Make use of device properties
@ 2020-04-17 14:07         ` Bartlomiej Zolnierkiewicz
  0 siblings, 0 replies; 19+ messages in thread
From: Bartlomiej Zolnierkiewicz @ 2020-04-17 14:07 UTC (permalink / raw)
  To: Andy Shevchenko; +Cc: linux-fbdev, xllacyx, dri-devel


[ added dri-devel ML to Cc: ]

On 3/24/20 6:05 PM, Andy Shevchenko wrote:
> Device property API allows to gather device resources from different sources,
> such as ACPI. Convert the drivers to unleash the power of device property API.
> 
> Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>

Patch queued for v5.8, thanks.

Best regards,
--
Bartlomiej Zolnierkiewicz
Samsung R&D Institute Poland
Samsung Electronics

> ---
>  drivers/video/fbdev/ssd1307fb.c | 40 ++++++++++++++++-----------------
>  1 file changed, 19 insertions(+), 21 deletions(-)
> 
> diff --git a/drivers/video/fbdev/ssd1307fb.c b/drivers/video/fbdev/ssd1307fb.c
> index 84dfd7b0f682..7a6a44a0b7a6 100644
> --- a/drivers/video/fbdev/ssd1307fb.c
> +++ b/drivers/video/fbdev/ssd1307fb.c
> @@ -12,8 +12,7 @@
>  #include <linux/i2c.h>
>  #include <linux/kernel.h>
>  #include <linux/module.h>
> -#include <linux/of_device.h>
> -#include <linux/of_gpio.h>
> +#include <linux/property.h>
>  #include <linux/pwm.h>
>  #include <linux/uaccess.h>
>  #include <linux/regulator/consumer.h>
> @@ -592,7 +591,6 @@ static int ssd1307fb_probe(struct i2c_client *client)
>  	struct backlight_device *bl;
>  	char bl_name[12];
>  	struct fb_info *info;
> -	struct device_node *node = client->dev.of_node;
>  	struct fb_deferred_io *ssd1307fb_defio;
>  	u32 vmem_size;
>  	struct ssd1307fb_par *par;
> @@ -607,7 +605,7 @@ static int ssd1307fb_probe(struct i2c_client *client)
>  	par->info = info;
>  	par->client = client;
>  
> -	par->device_info = of_device_get_match_data(&client->dev);
> +	par->device_info = device_get_match_data(dev);
>  
>  	par->reset = devm_gpiod_get_optional(dev, "reset", GPIOD_OUT_LOW);
>  	if (IS_ERR(par->reset)) {
> @@ -627,44 +625,44 @@ static int ssd1307fb_probe(struct i2c_client *client)
>  		}
>  	}
>  
> -	if (of_property_read_u32(node, "solomon,width", &par->width))
> +	if (device_property_read_u32(dev, "solomon,width", &par->width))
>  		par->width = 96;
>  
> -	if (of_property_read_u32(node, "solomon,height", &par->height))
> +	if (device_property_read_u32(dev, "solomon,height", &par->height))
>  		par->height = 16;
>  
> -	if (of_property_read_u32(node, "solomon,page-offset", &par->page_offset))
> +	if (device_property_read_u32(dev, "solomon,page-offset", &par->page_offset))
>  		par->page_offset = 1;
>  
> -	if (of_property_read_u32(node, "solomon,com-offset", &par->com_offset))
> +	if (device_property_read_u32(dev, "solomon,com-offset", &par->com_offset))
>  		par->com_offset = 0;
>  
> -	if (of_property_read_u32(node, "solomon,prechargep1", &par->prechargep1))
> +	if (device_property_read_u32(dev, "solomon,prechargep1", &par->prechargep1))
>  		par->prechargep1 = 2;
>  
> -	if (of_property_read_u32(node, "solomon,prechargep2", &par->prechargep2))
> +	if (device_property_read_u32(dev, "solomon,prechargep2", &par->prechargep2))
>  		par->prechargep2 = 2;
>  
> -	if (!of_property_read_u8_array(node, "solomon,lookup-table",
> -				       par->lookup_table,
> -				       ARRAY_SIZE(par->lookup_table)))
> +	if (!device_property_read_u8_array(dev, "solomon,lookup-table",
> +					   par->lookup_table,
> +					   ARRAY_SIZE(par->lookup_table)))
>  		par->lookup_table_set = 1;
>  
> -	par->seg_remap = !of_property_read_bool(node, "solomon,segment-no-remap");
> -	par->com_seq = of_property_read_bool(node, "solomon,com-seq");
> -	par->com_lrremap = of_property_read_bool(node, "solomon,com-lrremap");
> -	par->com_invdir = of_property_read_bool(node, "solomon,com-invdir");
> +	par->seg_remap = !device_property_read_bool(dev, "solomon,segment-no-remap");
> +	par->com_seq = device_property_read_bool(dev, "solomon,com-seq");
> +	par->com_lrremap = device_property_read_bool(dev, "solomon,com-lrremap");
> +	par->com_invdir = device_property_read_bool(dev, "solomon,com-invdir");
>  	par->area_color_enable =
> -		of_property_read_bool(node, "solomon,area-color-enable");
> -	par->low_power = of_property_read_bool(node, "solomon,low-power");
> +		device_property_read_bool(dev, "solomon,area-color-enable");
> +	par->low_power = device_property_read_bool(dev, "solomon,low-power");
>  
>  	par->contrast = 127;
>  	par->vcomh = par->device_info->default_vcomh;
>  
>  	/* Setup display timing */
> -	if (of_property_read_u32(node, "solomon,dclk-div", &par->dclk_div))
> +	if (device_property_read_u32(dev, "solomon,dclk-div", &par->dclk_div))
>  		par->dclk_div = par->device_info->default_dclk_div;
> -	if (of_property_read_u32(node, "solomon,dclk-frq", &par->dclk_frq))
> +	if (device_property_read_u32(dev, "solomon,dclk-frq", &par->dclk_frq))
>  		par->dclk_frq = par->device_info->default_dclk_frq;
>  
>  	vmem_size = DIV_ROUND_UP(par->width, 8) * par->height;
> 
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [PATCH v1 4/5] video: ssd1307fb: Convert to atomic PWM API
  2020-03-24 17:05     ` [PATCH v1 4/5] video: ssd1307fb: Convert to atomic PWM API Andy Shevchenko
@ 2020-04-17 14:07         ` Bartlomiej Zolnierkiewicz
  0 siblings, 0 replies; 19+ messages in thread
From: Bartlomiej Zolnierkiewicz @ 2020-04-17 14:07 UTC (permalink / raw)
  To: Andy Shevchenko; +Cc: linux-fbdev, xllacyx, dri-devel


[ added dri-devel ML to Cc: ]

On 3/24/20 6:05 PM, Andy Shevchenko wrote:
> Use the atomic API wherever appropriate and get rid of pwm_apply_args()
> call (the reference period and polarity are now explicitly set when
> calling pwm_apply_state()).
> 
> We also make use of the pwm_set_relative_duty_cycle() helper to ease
> relative to absolute duty_cycle conversion.
> 
> Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>

Patch queued for v5.8, thanks.

Best regards,
--
Bartlomiej Zolnierkiewicz
Samsung R&D Institute Poland
Samsung Electronics

> ---
>  drivers/video/fbdev/ssd1307fb.c | 17 +++++------------
>  1 file changed, 5 insertions(+), 12 deletions(-)
> 
> diff --git a/drivers/video/fbdev/ssd1307fb.c b/drivers/video/fbdev/ssd1307fb.c
> index 7a6a44a0b7a6..6e543396002a 100644
> --- a/drivers/video/fbdev/ssd1307fb.c
> +++ b/drivers/video/fbdev/ssd1307fb.c
> @@ -79,7 +79,6 @@ struct ssd1307fb_par {
>  	u32 prechargep1;
>  	u32 prechargep2;
>  	struct pwm_device *pwm;
> -	u32 pwm_period;
>  	struct gpio_desc *reset;
>  	struct regulator *vbat_reg;
>  	u32 vcomh;
> @@ -297,9 +296,9 @@ static void ssd1307fb_deferred_io(struct fb_info *info,
>  
>  static int ssd1307fb_init(struct ssd1307fb_par *par)
>  {
> +	struct pwm_state pwmstate;
>  	int ret;
>  	u32 precharge, dclk, com_invdir, compins;
> -	struct pwm_args pargs;
>  
>  	if (par->device_info->need_pwm) {
>  		par->pwm = pwm_get(&par->client->dev, NULL);
> @@ -308,21 +307,15 @@ static int ssd1307fb_init(struct ssd1307fb_par *par)
>  			return PTR_ERR(par->pwm);
>  		}
>  
> -		/*
> -		 * FIXME: pwm_apply_args() should be removed when switching to
> -		 * the atomic PWM API.
> -		 */
> -		pwm_apply_args(par->pwm);
> +		pwm_init_state(par->pwm, &pwmstate);
> +		pwm_set_relative_duty_cycle(&pwmstate, 50, 100);
> +		pwm_apply_state(par->pwm, &pwmstate);
>  
> -		pwm_get_args(par->pwm, &pargs);
> -
> -		par->pwm_period = pargs.period;
>  		/* Enable the PWM */
> -		pwm_config(par->pwm, par->pwm_period / 2, par->pwm_period);
>  		pwm_enable(par->pwm);
>  
>  		dev_dbg(&par->client->dev, "Using PWM%d with a %dns period.\n",
> -			par->pwm->pwm, par->pwm_period);
> +			par->pwm->pwm, pwm_get_period(par->pwm));
>  	}
>  
>  	/* Set initial contrast */
> 

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [PATCH v1 4/5] video: ssd1307fb: Convert to atomic PWM API
@ 2020-04-17 14:07         ` Bartlomiej Zolnierkiewicz
  0 siblings, 0 replies; 19+ messages in thread
From: Bartlomiej Zolnierkiewicz @ 2020-04-17 14:07 UTC (permalink / raw)
  To: Andy Shevchenko; +Cc: linux-fbdev, xllacyx, dri-devel


[ added dri-devel ML to Cc: ]

On 3/24/20 6:05 PM, Andy Shevchenko wrote:
> Use the atomic API wherever appropriate and get rid of pwm_apply_args()
> call (the reference period and polarity are now explicitly set when
> calling pwm_apply_state()).
> 
> We also make use of the pwm_set_relative_duty_cycle() helper to ease
> relative to absolute duty_cycle conversion.
> 
> Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>

Patch queued for v5.8, thanks.

Best regards,
--
Bartlomiej Zolnierkiewicz
Samsung R&D Institute Poland
Samsung Electronics

> ---
>  drivers/video/fbdev/ssd1307fb.c | 17 +++++------------
>  1 file changed, 5 insertions(+), 12 deletions(-)
> 
> diff --git a/drivers/video/fbdev/ssd1307fb.c b/drivers/video/fbdev/ssd1307fb.c
> index 7a6a44a0b7a6..6e543396002a 100644
> --- a/drivers/video/fbdev/ssd1307fb.c
> +++ b/drivers/video/fbdev/ssd1307fb.c
> @@ -79,7 +79,6 @@ struct ssd1307fb_par {
>  	u32 prechargep1;
>  	u32 prechargep2;
>  	struct pwm_device *pwm;
> -	u32 pwm_period;
>  	struct gpio_desc *reset;
>  	struct regulator *vbat_reg;
>  	u32 vcomh;
> @@ -297,9 +296,9 @@ static void ssd1307fb_deferred_io(struct fb_info *info,
>  
>  static int ssd1307fb_init(struct ssd1307fb_par *par)
>  {
> +	struct pwm_state pwmstate;
>  	int ret;
>  	u32 precharge, dclk, com_invdir, compins;
> -	struct pwm_args pargs;
>  
>  	if (par->device_info->need_pwm) {
>  		par->pwm = pwm_get(&par->client->dev, NULL);
> @@ -308,21 +307,15 @@ static int ssd1307fb_init(struct ssd1307fb_par *par)
>  			return PTR_ERR(par->pwm);
>  		}
>  
> -		/*
> -		 * FIXME: pwm_apply_args() should be removed when switching to
> -		 * the atomic PWM API.
> -		 */
> -		pwm_apply_args(par->pwm);
> +		pwm_init_state(par->pwm, &pwmstate);
> +		pwm_set_relative_duty_cycle(&pwmstate, 50, 100);
> +		pwm_apply_state(par->pwm, &pwmstate);
>  
> -		pwm_get_args(par->pwm, &pargs);
> -
> -		par->pwm_period = pargs.period;
>  		/* Enable the PWM */
> -		pwm_config(par->pwm, par->pwm_period / 2, par->pwm_period);
>  		pwm_enable(par->pwm);
>  
>  		dev_dbg(&par->client->dev, "Using PWM%d with a %dns period.\n",
> -			par->pwm->pwm, par->pwm_period);
> +			par->pwm->pwm, pwm_get_period(par->pwm));
>  	}
>  
>  	/* Set initial contrast */
> 
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [PATCH v1 5/5] video: ssd1307fb: Remove redundant forward declaration
  2020-03-24 17:05     ` [PATCH v1 5/5] video: ssd1307fb: Remove redundant forward declaration Andy Shevchenko
@ 2020-04-17 14:07         ` Bartlomiej Zolnierkiewicz
  0 siblings, 0 replies; 19+ messages in thread
From: Bartlomiej Zolnierkiewicz @ 2020-04-17 14:07 UTC (permalink / raw)
  To: Andy Shevchenko; +Cc: linux-fbdev, xllacyx, dri-devel


[ added dri-devel ML to Cc: ]

On 3/24/20 6:05 PM, Andy Shevchenko wrote:
> There is no need to have forward declaration of struct ssd1307fb_par.
> Drop it for good.
> 
> Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>

Patch queued for v5.8, thanks.

Best regards,
--
Bartlomiej Zolnierkiewicz
Samsung R&D Institute Poland
Samsung Electronics

> ---
>  drivers/video/fbdev/ssd1307fb.c | 2 --
>  1 file changed, 2 deletions(-)
> 
> diff --git a/drivers/video/fbdev/ssd1307fb.c b/drivers/video/fbdev/ssd1307fb.c
> index 6e543396002a..509cab2c8b6c 100644
> --- a/drivers/video/fbdev/ssd1307fb.c
> +++ b/drivers/video/fbdev/ssd1307fb.c
> @@ -48,8 +48,6 @@
>  static u_int refreshrate = REFRESHRATE;
>  module_param(refreshrate, uint, 0);
>  
> -struct ssd1307fb_par;
> -
>  struct ssd1307fb_deviceinfo {
>  	u32 default_vcomh;
>  	u32 default_dclk_div;
> 

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [PATCH v1 5/5] video: ssd1307fb: Remove redundant forward declaration
@ 2020-04-17 14:07         ` Bartlomiej Zolnierkiewicz
  0 siblings, 0 replies; 19+ messages in thread
From: Bartlomiej Zolnierkiewicz @ 2020-04-17 14:07 UTC (permalink / raw)
  To: Andy Shevchenko; +Cc: linux-fbdev, xllacyx, dri-devel


[ added dri-devel ML to Cc: ]

On 3/24/20 6:05 PM, Andy Shevchenko wrote:
> There is no need to have forward declaration of struct ssd1307fb_par.
> Drop it for good.
> 
> Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>

Patch queued for v5.8, thanks.

Best regards,
--
Bartlomiej Zolnierkiewicz
Samsung R&D Institute Poland
Samsung Electronics

> ---
>  drivers/video/fbdev/ssd1307fb.c | 2 --
>  1 file changed, 2 deletions(-)
> 
> diff --git a/drivers/video/fbdev/ssd1307fb.c b/drivers/video/fbdev/ssd1307fb.c
> index 6e543396002a..509cab2c8b6c 100644
> --- a/drivers/video/fbdev/ssd1307fb.c
> +++ b/drivers/video/fbdev/ssd1307fb.c
> @@ -48,8 +48,6 @@
>  static u_int refreshrate = REFRESHRATE;
>  module_param(refreshrate, uint, 0);
>  
> -struct ssd1307fb_par;
> -
>  struct ssd1307fb_deviceinfo {
>  	u32 default_vcomh;
>  	u32 default_dclk_div;
> 
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply	[flat|nested] 19+ messages in thread

end of thread, other threads:[~2020-04-17 14:07 UTC | newest]

Thread overview: 19+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <CGME20200324170539eucas1p25909201d48429c9489c286ac18af0f1c@eucas1p2.samsung.com>
2020-03-24 17:05 ` [PATCH v1 1/5] video: ssd1307fb: Convert driver to use ->probe_new() Andy Shevchenko
     [not found]   ` <CGME20200324170551eucas1p2a568c0296a5773cdf70e162c5a1e9b72@eucas1p2.samsung.com>
2020-03-24 17:05     ` [PATCH v1 2/5] video: ssd1307fb: Introduce temporary variable to increase readability Andy Shevchenko
2020-04-17 14:07       ` Bartlomiej Zolnierkiewicz
2020-04-17 14:07         ` Bartlomiej Zolnierkiewicz
     [not found]   ` <CGME20200324170554eucas1p164794d0c08b18a1d066b2b83957c73a1@eucas1p1.samsung.com>
2020-03-24 17:05     ` [PATCH v1 3/5] video: ssd1307fb: Make use of device properties Andy Shevchenko
2020-04-17 14:07       ` Bartlomiej Zolnierkiewicz
2020-04-17 14:07         ` Bartlomiej Zolnierkiewicz
     [not found]   ` <CGME20200324170539eucas1p12a3a4f7cd0d8cbd86f40d70a65ab0df5@eucas1p1.samsung.com>
2020-03-24 17:05     ` [PATCH v1 4/5] video: ssd1307fb: Convert to atomic PWM API Andy Shevchenko
2020-04-17 14:07       ` Bartlomiej Zolnierkiewicz
2020-04-17 14:07         ` Bartlomiej Zolnierkiewicz
     [not found]   ` <CGME20200324170539eucas1p19f81f8c31975734ab56e19d15033be77@eucas1p1.samsung.com>
2020-03-24 17:05     ` [PATCH v1 5/5] video: ssd1307fb: Remove redundant forward declaration Andy Shevchenko
2020-04-17 14:07       ` Bartlomiej Zolnierkiewicz
2020-04-17 14:07         ` Bartlomiej Zolnierkiewicz
2020-03-30  9:51   ` [PATCH v1 1/5] video: ssd1307fb: Convert driver to use ->probe_new() Andy Shevchenko
2020-04-15 14:20   ` Andy Shevchenko
2020-04-15 14:36     ` Bartlomiej Zolnierkiewicz
2020-04-15 14:36       ` Bartlomiej Zolnierkiewicz
2020-04-17 14:07   ` Bartlomiej Zolnierkiewicz
2020-04-17 14:07     ` Bartlomiej Zolnierkiewicz

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.