2017-07-13 06:44:38

by Jan Kiszka

[permalink] [raw]
Subject: [PATCH] gpio-exar: Use correct property prefix and document bindings

The device-specific property should be prefixed with the vendor name
Change this and document the bindings of this platform device.

Signed-off-by: Jan Kiszka <[email protected]>
---
Documentation/devicetree/bindings/gpio/gpio-exar.txt | 5 +++++
drivers/gpio/gpio-exar.c | 2 +-
drivers/tty/serial/8250/8250_exar.c | 4 ++--
3 files changed, 8 insertions(+), 3 deletions(-)
create mode 100644 Documentation/devicetree/bindings/gpio/gpio-exar.txt

diff --git a/Documentation/devicetree/bindings/gpio/gpio-exar.txt b/Documentation/devicetree/bindings/gpio/gpio-exar.txt
new file mode 100644
index 000000000000..452180229b36
--- /dev/null
+++ b/Documentation/devicetree/bindings/gpio/gpio-exar.txt
@@ -0,0 +1,5 @@
+Exportable MPIO interface of Exar UART chips
+
+Required properties of platform device:
+ - exar,first-pin: first exportable pins (0..15)
+ - ngpios: number of exportable pins (1..16)
diff --git a/drivers/gpio/gpio-exar.c b/drivers/gpio/gpio-exar.c
index fb8d304cfa17..0ecd2369c2ca 100644
--- a/drivers/gpio/gpio-exar.c
+++ b/drivers/gpio/gpio-exar.c
@@ -132,7 +132,7 @@ static int gpio_exar_probe(struct platform_device *pdev)
if (!p)
return -ENOMEM;

- ret = device_property_read_u32(&pdev->dev, "linux,first-pin",
+ ret = device_property_read_u32(&pdev->dev, "exar,first-pin",
&first_pin);
if (ret)
return ret;
diff --git a/drivers/tty/serial/8250/8250_exar.c b/drivers/tty/serial/8250/8250_exar.c
index b5c98e5bf524..c6360fbdf808 100644
--- a/drivers/tty/serial/8250/8250_exar.c
+++ b/drivers/tty/serial/8250/8250_exar.c
@@ -261,7 +261,7 @@ __xr17v35x_register_gpio(struct pci_dev *pcidev,
}

static const struct property_entry exar_gpio_properties[] = {
- PROPERTY_ENTRY_U32("linux,first-pin", 0),
+ PROPERTY_ENTRY_U32("exar,first-pin", 0),
PROPERTY_ENTRY_U32("ngpios", 16),
{ }
};
@@ -326,7 +326,7 @@ static int iot2040_rs485_config(struct uart_port *port,
}

static const struct property_entry iot2040_gpio_properties[] = {
- PROPERTY_ENTRY_U32("linux,first-pin", 10),
+ PROPERTY_ENTRY_U32("exar,first-pin", 10),
PROPERTY_ENTRY_U32("ngpios", 1),
{ }
};
--
2.12.3


2017-07-17 17:48:31

by Rob Herring (Arm)

[permalink] [raw]
Subject: Re: [PATCH] gpio-exar: Use correct property prefix and document bindings

On Thu, Jul 13, 2017 at 08:44:26AM +0200, Jan Kiszka wrote:
> The device-specific property should be prefixed with the vendor name
> Change this and document the bindings of this platform device.

You are breaking backwards compatibility. You minimally need to state
that and why that is okay in this case.

>
> Signed-off-by: Jan Kiszka <[email protected]>
> ---
> Documentation/devicetree/bindings/gpio/gpio-exar.txt | 5 +++++
> drivers/gpio/gpio-exar.c | 2 +-
> drivers/tty/serial/8250/8250_exar.c | 4 ++--
> 3 files changed, 8 insertions(+), 3 deletions(-)
> create mode 100644 Documentation/devicetree/bindings/gpio/gpio-exar.txt
>
> diff --git a/Documentation/devicetree/bindings/gpio/gpio-exar.txt b/Documentation/devicetree/bindings/gpio/gpio-exar.txt
> new file mode 100644
> index 000000000000..452180229b36
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/gpio/gpio-exar.txt
> @@ -0,0 +1,5 @@
> +Exportable MPIO interface of Exar UART chips
> +
> +Required properties of platform device:

platform device is a Linuxism.

> + - exar,first-pin: first exportable pins (0..15)
> + - ngpios: number of exportable pins (1..16)

Required, but you don't use it?

> diff --git a/drivers/gpio/gpio-exar.c b/drivers/gpio/gpio-exar.c
> index fb8d304cfa17..0ecd2369c2ca 100644
> --- a/drivers/gpio/gpio-exar.c
> +++ b/drivers/gpio/gpio-exar.c
> @@ -132,7 +132,7 @@ static int gpio_exar_probe(struct platform_device *pdev)
> if (!p)
> return -ENOMEM;
>
> - ret = device_property_read_u32(&pdev->dev, "linux,first-pin",
> + ret = device_property_read_u32(&pdev->dev, "exar,first-pin",
> &first_pin);
> if (ret)
> return ret;
> diff --git a/drivers/tty/serial/8250/8250_exar.c b/drivers/tty/serial/8250/8250_exar.c
> index b5c98e5bf524..c6360fbdf808 100644
> --- a/drivers/tty/serial/8250/8250_exar.c
> +++ b/drivers/tty/serial/8250/8250_exar.c
> @@ -261,7 +261,7 @@ __xr17v35x_register_gpio(struct pci_dev *pcidev,
> }
>
> static const struct property_entry exar_gpio_properties[] = {
> - PROPERTY_ENTRY_U32("linux,first-pin", 0),
> + PROPERTY_ENTRY_U32("exar,first-pin", 0),
> PROPERTY_ENTRY_U32("ngpios", 16),
> { }
> };
> @@ -326,7 +326,7 @@ static int iot2040_rs485_config(struct uart_port *port,
> }
>
> static const struct property_entry iot2040_gpio_properties[] = {
> - PROPERTY_ENTRY_U32("linux,first-pin", 10),
> + PROPERTY_ENTRY_U32("exar,first-pin", 10),
> PROPERTY_ENTRY_U32("ngpios", 1),
> { }
> };
> --
> 2.12.3
> --
> To unsubscribe from this list: send the line "unsubscribe devicetree" in
> the body of a message to [email protected]
> More majordomo info at http://vger.kernel.org/majordomo-info.html

2017-07-17 18:21:06

by Jan Kiszka

[permalink] [raw]
Subject: Re: [PATCH] gpio-exar: Use correct property prefix and document bindings

On 2017-07-17 19:48, Rob Herring wrote:
> On Thu, Jul 13, 2017 at 08:44:26AM +0200, Jan Kiszka wrote:
>> The device-specific property should be prefixed with the vendor name
>> Change this and document the bindings of this platform device.
>
> You are breaking backwards compatibility. You minimally need to state
> that and why that is okay in this case.

There is no previous version yet: The patch that introduced this just
entered for 4.13. Linus remarked that "linux," is the wrong prefix and
wanted this to be changed before this version becomes final.

>
>>
>> Signed-off-by: Jan Kiszka <[email protected]>
>> ---
>> Documentation/devicetree/bindings/gpio/gpio-exar.txt | 5 +++++
>> drivers/gpio/gpio-exar.c | 2 +-
>> drivers/tty/serial/8250/8250_exar.c | 4 ++--
>> 3 files changed, 8 insertions(+), 3 deletions(-)
>> create mode 100644 Documentation/devicetree/bindings/gpio/gpio-exar.txt
>>
>> diff --git a/Documentation/devicetree/bindings/gpio/gpio-exar.txt b/Documentation/devicetree/bindings/gpio/gpio-exar.txt
>> new file mode 100644
>> index 000000000000..452180229b36
>> --- /dev/null
>> +++ b/Documentation/devicetree/bindings/gpio/gpio-exar.txt
>> @@ -0,0 +1,5 @@
>> +Exportable MPIO interface of Exar UART chips
>> +
>> +Required properties of platform device:
>
> platform device is a Linuxism.

Will drop the term.

>
>> + - exar,first-pin: first exportable pins (0..15)
>> + - ngpios: number of exportable pins (1..16)
>
> Required, but you don't use it?

We do, see the code (parts visible below).

>
>> diff --git a/drivers/gpio/gpio-exar.c b/drivers/gpio/gpio-exar.c
>> index fb8d304cfa17..0ecd2369c2ca 100644
>> --- a/drivers/gpio/gpio-exar.c
>> +++ b/drivers/gpio/gpio-exar.c
>> @@ -132,7 +132,7 @@ static int gpio_exar_probe(struct platform_device *pdev)
>> if (!p)
>> return -ENOMEM;
>>
>> - ret = device_property_read_u32(&pdev->dev, "linux,first-pin",
>> + ret = device_property_read_u32(&pdev->dev, "exar,first-pin",
>> &first_pin);
>> if (ret)
>> return ret;
>> diff --git a/drivers/tty/serial/8250/8250_exar.c b/drivers/tty/serial/8250/8250_exar.c
>> index b5c98e5bf524..c6360fbdf808 100644
>> --- a/drivers/tty/serial/8250/8250_exar.c
>> +++ b/drivers/tty/serial/8250/8250_exar.c
>> @@ -261,7 +261,7 @@ __xr17v35x_register_gpio(struct pci_dev *pcidev,
>> }
>>
>> static const struct property_entry exar_gpio_properties[] = {
>> - PROPERTY_ENTRY_U32("linux,first-pin", 0),
>> + PROPERTY_ENTRY_U32("exar,first-pin", 0),
>> PROPERTY_ENTRY_U32("ngpios", 16),
>> { }
>> };
>> @@ -326,7 +326,7 @@ static int iot2040_rs485_config(struct uart_port *port,
>> }
>>
>> static const struct property_entry iot2040_gpio_properties[] = {
>> - PROPERTY_ENTRY_U32("linux,first-pin", 10),
>> + PROPERTY_ENTRY_U32("exar,first-pin", 10),
>> PROPERTY_ENTRY_U32("ngpios", 1),
>> { }
>> };
>> --
>> 2.12.3
>> --
>> To unsubscribe from this list: send the line "unsubscribe devicetree" in
>> the body of a message to [email protected]
>> More majordomo info at http://vger.kernel.org/majordomo-info.html

Thanks,
Jan

--
Siemens AG, Corporate Technology, CT RDA ITP SES-DE
Corporate Competence Center Embedded Linux

2017-07-18 14:37:28

by Rob Herring (Arm)

[permalink] [raw]
Subject: Re: [PATCH] gpio-exar: Use correct property prefix and document bindings

On Mon, Jul 17, 2017 at 1:20 PM, Jan Kiszka <[email protected]> wrote:
> On 2017-07-17 19:48, Rob Herring wrote:
>> On Thu, Jul 13, 2017 at 08:44:26AM +0200, Jan Kiszka wrote:
>>> The device-specific property should be prefixed with the vendor name
>>> Change this and document the bindings of this platform device.
>>
>> You are breaking backwards compatibility. You minimally need to state
>> that and why that is okay in this case.
>
> There is no previous version yet: The patch that introduced this just
> entered for 4.13. Linus remarked that "linux," is the wrong prefix and
> wanted this to be changed before this version becomes final.

Please describe this in the commit message and add a Fixes tag.

Rob