diff mbox series

[v3,08/10] gpio: mockup: pass the chip label as device property

Message ID 20200929101004.20288-9-brgl@bgdev.pl
State Superseded
Headers show
Series gpio: mockup: refactoring + documentation | expand

Commit Message

Bartosz Golaszewski Sept. 29, 2020, 10:10 a.m. UTC
From: Bartosz Golaszewski <bgolaszewski@baylibre.com>

While we do check the "chip-name" property in probe(), we never actually
use it. Let's pass the chip label to the driver using device properties
as we'll want to allow users to define their own once dynamically
created chips are supported.

The property is renamed to "chip-label" to not cause any confusion with
the actual chip name which is of the form: "gpiochipX".

If the "chip-label" property is missing, let's do what most devices in
drivers/gpio/ do and use dev_name().

Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com>
---
 drivers/gpio/gpio-mockup.c | 17 ++++++++---------
 1 file changed, 8 insertions(+), 9 deletions(-)

Comments

Andy Shevchenko Sept. 29, 2020, 10:53 a.m. UTC | #1
On Tue, Sep 29, 2020 at 12:10:02PM +0200, Bartosz Golaszewski wrote:
> From: Bartosz Golaszewski <bgolaszewski@baylibre.com>

> 

> While we do check the "chip-name" property in probe(), we never actually

> use it. Let's pass the chip label to the driver using device properties

> as we'll want to allow users to define their own once dynamically

> created chips are supported.

> 

> The property is renamed to "chip-label" to not cause any confusion with

> the actual chip name which is of the form: "gpiochipX".

> 

> If the "chip-label" property is missing, let's do what most devices in

> drivers/gpio/ do and use dev_name().


Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>


> Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com>

> ---

>  drivers/gpio/gpio-mockup.c | 17 ++++++++---------

>  1 file changed, 8 insertions(+), 9 deletions(-)

> 

> diff --git a/drivers/gpio/gpio-mockup.c b/drivers/gpio/gpio-mockup.c

> index 856ba5da1e8c..1466f480aacd 100644

> --- a/drivers/gpio/gpio-mockup.c

> +++ b/drivers/gpio/gpio-mockup.c

> @@ -429,21 +429,14 @@ static int gpio_mockup_probe(struct platform_device *pdev)

>  	if (rv)

>  		return rv;

>  

> -	rv = device_property_read_string(dev, "chip-name", &name);

> +	rv = device_property_read_string(dev, "chip-label", &name);

>  	if (rv)

> -		name = NULL;

> +		name = dev_name(dev);

>  

>  	chip = devm_kzalloc(dev, sizeof(*chip), GFP_KERNEL);

>  	if (!chip)

>  		return -ENOMEM;

>  

> -	if (!name) {

> -		name = devm_kasprintf(dev, GFP_KERNEL,

> -				      "%s-%c", pdev->name, pdev->id + 'A');

> -		if (!name)

> -			return -ENOMEM;

> -	}

> -

>  	mutex_init(&chip->lock);

>  

>  	gc = &chip->gc;

> @@ -523,6 +516,7 @@ static int __init gpio_mockup_init(void)

>  	int i, prop, num_chips, err = 0, base;

>  	struct platform_device_info pdevinfo;

>  	struct platform_device *pdev;

> +	char chip_label[32];

>  	u16 ngpio;

>  

>  	if ((gpio_mockup_num_ranges < 2) ||

> @@ -556,6 +550,11 @@ static int __init gpio_mockup_init(void)

>  		memset(&pdevinfo, 0, sizeof(pdevinfo));

>  		prop = 0;

>  

> +		snprintf(chip_label, sizeof(chip_label),

> +			 "gpio-mockup-%c", i + 'A');

> +		properties[prop++] = PROPERTY_ENTRY_STRING("chip-label",

> +							   chip_label);

> +

>  		base = gpio_mockup_range_base(i);

>  		if (base >= 0)

>  			properties[prop++] = PROPERTY_ENTRY_U32("gpio-base",

> -- 

> 2.26.1

> 


-- 
With Best Regards,
Andy Shevchenko
diff mbox series

Patch

diff --git a/drivers/gpio/gpio-mockup.c b/drivers/gpio/gpio-mockup.c
index 856ba5da1e8c..1466f480aacd 100644
--- a/drivers/gpio/gpio-mockup.c
+++ b/drivers/gpio/gpio-mockup.c
@@ -429,21 +429,14 @@  static int gpio_mockup_probe(struct platform_device *pdev)
 	if (rv)
 		return rv;
 
-	rv = device_property_read_string(dev, "chip-name", &name);
+	rv = device_property_read_string(dev, "chip-label", &name);
 	if (rv)
-		name = NULL;
+		name = dev_name(dev);
 
 	chip = devm_kzalloc(dev, sizeof(*chip), GFP_KERNEL);
 	if (!chip)
 		return -ENOMEM;
 
-	if (!name) {
-		name = devm_kasprintf(dev, GFP_KERNEL,
-				      "%s-%c", pdev->name, pdev->id + 'A');
-		if (!name)
-			return -ENOMEM;
-	}
-
 	mutex_init(&chip->lock);
 
 	gc = &chip->gc;
@@ -523,6 +516,7 @@  static int __init gpio_mockup_init(void)
 	int i, prop, num_chips, err = 0, base;
 	struct platform_device_info pdevinfo;
 	struct platform_device *pdev;
+	char chip_label[32];
 	u16 ngpio;
 
 	if ((gpio_mockup_num_ranges < 2) ||
@@ -556,6 +550,11 @@  static int __init gpio_mockup_init(void)
 		memset(&pdevinfo, 0, sizeof(pdevinfo));
 		prop = 0;
 
+		snprintf(chip_label, sizeof(chip_label),
+			 "gpio-mockup-%c", i + 'A');
+		properties[prop++] = PROPERTY_ENTRY_STRING("chip-label",
+							   chip_label);
+
 		base = gpio_mockup_range_base(i);
 		if (base >= 0)
 			properties[prop++] = PROPERTY_ENTRY_U32("gpio-base",