Commit 148c2560 authored by Bartosz Golaszewski's avatar Bartosz Golaszewski
Browse files

gpio: mockup: pass the chip label as device property



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: default avatarBartosz Golaszewski <bgolaszewski@baylibre.com>
Reviewed-by: default avatarAndy Shevchenko <andriy.shevchenko@linux.intel.com>
parent 383bb2de
Loading
Loading
Loading
Loading
+8 −9
Original line number Diff line number Diff line
@@ -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",