linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH next 1/2] gpio: hisi: Add initial device tree support
@ 2022-10-26  3:42 Weilong Chen
  2022-10-26  3:42 ` [PATCH next 2/2] dt-bindings: gpio: add entry for hisilicon,gpio-ascend910 Weilong Chen
  2022-11-08 10:33 ` [PATCH next 1/2] gpio: hisi: Add initial device tree support Linus Walleij
  0 siblings, 2 replies; 8+ messages in thread
From: Weilong Chen @ 2022-10-26  3:42 UTC (permalink / raw)
  To: chenweilong, f.fangjian, linus.walleij, yangyicong, xuwei5,
	robh+dt, robh, krzysztof.kozlowski+dt
  Cc: linux-gpio, linux-kernel, devicetree

Add support for HiSilicon GPIO controller in embedded platform, which
boot from devicetree.

Signed-off-by: Weilong Chen <chenweilong@huawei.com>
---
 drivers/gpio/Kconfig     |  2 +-
 drivers/gpio/gpio-hisi.c | 15 ++++++++++++++-
 2 files changed, 15 insertions(+), 2 deletions(-)

diff --git a/drivers/gpio/Kconfig b/drivers/gpio/Kconfig
index e034f752e7ce..71a7880af59d 100644
--- a/drivers/gpio/Kconfig
+++ b/drivers/gpio/Kconfig
@@ -310,7 +310,7 @@ config GPIO_GRGPIO
 
 config GPIO_HISI
 	tristate "HiSilicon GPIO controller driver"
-	depends on (ARM64 && ACPI) || COMPILE_TEST
+	depends on ARM64 || COMPILE_TEST
 	select GPIO_GENERIC
 	select GPIOLIB_IRQCHIP
 	help
diff --git a/drivers/gpio/gpio-hisi.c b/drivers/gpio/gpio-hisi.c
index 3caabef5c7a2..813c0c1d4e49 100644
--- a/drivers/gpio/gpio-hisi.c
+++ b/drivers/gpio/gpio-hisi.c
@@ -1,8 +1,10 @@
 // SPDX-License-Identifier: GPL-2.0-only
 /* Copyright (c) 2020 HiSilicon Limited. */
+#include <linux/acpi.h>
 #include <linux/gpio/driver.h>
 #include <linux/module.h>
 #include <linux/mod_devicetable.h>
+#include <linux/of.h>
 #include <linux/platform_device.h>
 #include <linux/property.h>
 
@@ -215,11 +217,21 @@ static void hisi_gpio_init_irq(struct hisi_gpio *hisi_gpio)
 	hisi_gpio_write_reg(chip, HISI_GPIO_INTCOMB_MASK_WX, 1);
 }
 
+#ifdef CONFIG_ACPI
 static const struct acpi_device_id hisi_gpio_acpi_match[] = {
 	{"HISI0184", 0},
 	{}
 };
 MODULE_DEVICE_TABLE(acpi, hisi_gpio_acpi_match);
+#endif
+
+#ifdef CONFIG_OF
+static const struct of_device_id hisi_gpio_dts_match[] = {
+	{ .compatible = "hisilicon,gpio-ascend910", },
+	{ }
+};
+MODULE_DEVICE_TABLE(of, hisi_gpio_dts_match);
+#endif
 
 static void hisi_gpio_get_pdata(struct device *dev,
 				struct hisi_gpio *hisi_gpio)
@@ -310,7 +322,8 @@ static int hisi_gpio_probe(struct platform_device *pdev)
 static struct platform_driver hisi_gpio_driver = {
 	.driver		= {
 		.name	= HISI_GPIO_DRIVER_NAME,
-		.acpi_match_table = hisi_gpio_acpi_match,
+		.acpi_match_table = ACPI_PTR(hisi_gpio_acpi_match),
+		.of_match_table = of_match_ptr(hisi_gpio_dts_match),
 	},
 	.probe		= hisi_gpio_probe,
 };
-- 
2.31.GIT


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

* [PATCH next 2/2] dt-bindings: gpio: add entry for hisilicon,gpio-ascend910
  2022-10-26  3:42 [PATCH next 1/2] gpio: hisi: Add initial device tree support Weilong Chen
@ 2022-10-26  3:42 ` Weilong Chen
  2022-10-26 14:46   ` Krzysztof Kozlowski
  2022-10-26 20:11   ` Rob Herring
  2022-11-08 10:33 ` [PATCH next 1/2] gpio: hisi: Add initial device tree support Linus Walleij
  1 sibling, 2 replies; 8+ messages in thread
From: Weilong Chen @ 2022-10-26  3:42 UTC (permalink / raw)
  To: chenweilong, f.fangjian, linus.walleij, yangyicong, xuwei5,
	robh+dt, robh, krzysztof.kozlowski+dt
  Cc: linux-gpio, linux-kernel, devicetree

Add the new compatible for HiSilicon gpio controller driver.

Signed-off-by: Weilong Chen <chenweilong@huawei.com>
---
 .../gpio/hisilicon,gpio-ascend910.yaml        | 54 +++++++++++++++++++
 MAINTAINERS                                   |  1 +
 2 files changed, 55 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/gpio/hisilicon,gpio-ascend910.yaml

diff --git a/Documentation/devicetree/bindings/gpio/hisilicon,gpio-ascend910.yaml b/Documentation/devicetree/bindings/gpio/hisilicon,gpio-ascend910.yaml
new file mode 100644
index 000000000000..912e4b808cae
--- /dev/null
+++ b/Documentation/devicetree/bindings/gpio/hisilicon,gpio-ascend910.yaml
@@ -0,0 +1,54 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/gpio/hisilicon,gpio-ascend910.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: HiSilicon common GPIO controller Device Tree Bindings
+
+maintainers:
+  - Jay Fang <f.fangjian@huawei.com>
+
+properties:
+  compatible:
+    const: hisilicon,gpio-ascend910
+    description:
+      The HiSilicon common GPIO controller can be used for many different
+      types of SoC such as Huawei Ascend AI series chips.
+
+  reg:
+    description:
+      Address and length of the register set for the device.
+    maxItems: 1
+
+  interrupts:
+    maxItems: 1
+
+  gpio-controller: true
+
+  "#gpio-cells":
+    const: 2
+
+  ngpios:
+    minimum: 1
+    maximum: 32
+
+required:
+  - compatible
+  - gpio-controller
+  - reg
+  - interrupts
+  - ngpios
+
+unevaluatedProperties: false
+
+examples:
+  - |
+    gpio@840d0000 {
+      compatible = "hisilicon,gpio-ascend910";
+      reg = <0x840d0000 0x1000>;
+      ngpios = <0x20>;
+      gpio-controller;
+      #gpio-cells = <2>;
+      interrupts = <0x0 33 0x4>;
+    };
diff --git a/MAINTAINERS b/MAINTAINERS
index 746becb5fe92..0ec86558cdce 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -9212,6 +9212,7 @@ HISILICON GPIO DRIVER
 M:	Jay Fang <f.fangjian@huawei.com>
 L:	linux-gpio@vger.kernel.org
 S:	Maintained
+F:	Documentation/devicetree/bindings/gpio/hisilicon,gpio-ascend910.yaml
 F:	drivers/gpio/gpio-hisi.c
 
 HISILICON HIGH PERFORMANCE RSA ENGINE DRIVER (HPRE)
-- 
2.31.GIT


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

* Re: [PATCH next 2/2] dt-bindings: gpio: add entry for hisilicon,gpio-ascend910
  2022-10-26  3:42 ` [PATCH next 2/2] dt-bindings: gpio: add entry for hisilicon,gpio-ascend910 Weilong Chen
@ 2022-10-26 14:46   ` Krzysztof Kozlowski
  2022-10-27  7:47     ` chenweilong
  2022-10-26 20:11   ` Rob Herring
  1 sibling, 1 reply; 8+ messages in thread
From: Krzysztof Kozlowski @ 2022-10-26 14:46 UTC (permalink / raw)
  To: Weilong Chen, f.fangjian, linus.walleij, yangyicong, xuwei5,
	robh+dt, robh, krzysztof.kozlowski+dt
  Cc: linux-gpio, linux-kernel, devicetree

On 25/10/2022 23:42, Weilong Chen wrote:
> Add the new compatible for HiSilicon gpio controller driver.
> 
> Signed-off-by: Weilong Chen <chenweilong@huawei.com>
> ---
>  .../gpio/hisilicon,gpio-ascend910.yaml        | 54 +++++++++++++++++++
>  MAINTAINERS                                   |  1 +
>  2 files changed, 55 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/gpio/hisilicon,gpio-ascend910.yaml
> 
> diff --git a/Documentation/devicetree/bindings/gpio/hisilicon,gpio-ascend910.yaml b/Documentation/devicetree/bindings/gpio/hisilicon,gpio-ascend910.yaml
> new file mode 100644
> index 000000000000..912e4b808cae
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/gpio/hisilicon,gpio-ascend910.yaml
> @@ -0,0 +1,54 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/gpio/hisilicon,gpio-ascend910.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: HiSilicon common GPIO controller Device Tree Bindings

Drop "Device Tree Bindings"

> +
> +maintainers:
> +  - Jay Fang <f.fangjian@huawei.com>
> +
> +properties:
> +  compatible:
> +    const: hisilicon,gpio-ascend910
> +    description:
> +      The HiSilicon common GPIO controller can be used for many different
> +      types of SoC such as Huawei Ascend AI series chips.

Put this description in top-level description.

> +
> +  reg:
> +    description:
> +      Address and length of the register set for the device.

Drop description.

> +    maxItems: 1
> +
> +  interrupts:
> +    maxItems: 1
> +
> +  gpio-controller: true
> +
> +  "#gpio-cells":
> +    const: 2
> +
> +  ngpios:
> +    minimum: 1
> +    maximum: 32
> +
> +required:
> +  - compatible
> +  - gpio-controller

gpio-cells are not required?

> +  - reg
> +  - interrupts
> +  - ngpios
> +
> +unevaluatedProperties: false

Instead:
additionalProperties: false

> +
> +examples:
> +  - |
> +    gpio@840d0000 {
> +      compatible = "hisilicon,gpio-ascend910";
> +      reg = <0x840d0000 0x1000>;
> +      ngpios = <0x20>;

Convention for counting is to use decimal numbers.

> +      gpio-controller;
> +      #gpio-cells = <2>;
> +      interrupts = <0x0 33 0x4>;

This looks like standard IRQ flags, so use respective defines.


Best regards,
Krzysztof


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

* Re: [PATCH next 2/2] dt-bindings: gpio: add entry for hisilicon,gpio-ascend910
  2022-10-26  3:42 ` [PATCH next 2/2] dt-bindings: gpio: add entry for hisilicon,gpio-ascend910 Weilong Chen
  2022-10-26 14:46   ` Krzysztof Kozlowski
@ 2022-10-26 20:11   ` Rob Herring
  1 sibling, 0 replies; 8+ messages in thread
From: Rob Herring @ 2022-10-26 20:11 UTC (permalink / raw)
  To: Weilong Chen
  Cc: f.fangjian, linus.walleij, yangyicong, xuwei5,
	krzysztof.kozlowski+dt, linux-gpio, linux-kernel, devicetree

On Wed, Oct 26, 2022 at 11:42:19AM +0800, Weilong Chen wrote:
> Add the new compatible for HiSilicon gpio controller driver.
> 
> Signed-off-by: Weilong Chen <chenweilong@huawei.com>
> ---
>  .../gpio/hisilicon,gpio-ascend910.yaml        | 54 +++++++++++++++++++
>  MAINTAINERS                                   |  1 +
>  2 files changed, 55 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/gpio/hisilicon,gpio-ascend910.yaml
> 
> diff --git a/Documentation/devicetree/bindings/gpio/hisilicon,gpio-ascend910.yaml b/Documentation/devicetree/bindings/gpio/hisilicon,gpio-ascend910.yaml
> new file mode 100644
> index 000000000000..912e4b808cae
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/gpio/hisilicon,gpio-ascend910.yaml
> @@ -0,0 +1,54 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/gpio/hisilicon,gpio-ascend910.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: HiSilicon common GPIO controller Device Tree Bindings
> +
> +maintainers:
> +  - Jay Fang <f.fangjian@huawei.com>
> +
> +properties:
> +  compatible:
> +    const: hisilicon,gpio-ascend910

The normal convention is: vendor,soc-ipblock

> +    description:
> +      The HiSilicon common GPIO controller can be used for many different
> +      types of SoC such as Huawei Ascend AI series chips.
> +
> +  reg:
> +    description:
> +      Address and length of the register set for the device.
> +    maxItems: 1
> +
> +  interrupts:
> +    maxItems: 1
> +
> +  gpio-controller: true
> +
> +  "#gpio-cells":
> +    const: 2
> +
> +  ngpios:
> +    minimum: 1
> +    maximum: 32
> +
> +required:
> +  - compatible
> +  - gpio-controller
> +  - reg
> +  - interrupts
> +  - ngpios
> +
> +unevaluatedProperties: false
> +
> +examples:
> +  - |
> +    gpio@840d0000 {
> +      compatible = "hisilicon,gpio-ascend910";
> +      reg = <0x840d0000 0x1000>;
> +      ngpios = <0x20>;
> +      gpio-controller;
> +      #gpio-cells = <2>;
> +      interrupts = <0x0 33 0x4>;
> +    };
> diff --git a/MAINTAINERS b/MAINTAINERS
> index 746becb5fe92..0ec86558cdce 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -9212,6 +9212,7 @@ HISILICON GPIO DRIVER
>  M:	Jay Fang <f.fangjian@huawei.com>
>  L:	linux-gpio@vger.kernel.org
>  S:	Maintained
> +F:	Documentation/devicetree/bindings/gpio/hisilicon,gpio-ascend910.yaml
>  F:	drivers/gpio/gpio-hisi.c
>  
>  HISILICON HIGH PERFORMANCE RSA ENGINE DRIVER (HPRE)
> -- 
> 2.31.GIT
> 
> 

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

* Re: [PATCH next 2/2] dt-bindings: gpio: add entry for hisilicon,gpio-ascend910
  2022-10-26 14:46   ` Krzysztof Kozlowski
@ 2022-10-27  7:47     ` chenweilong
  2022-10-27 12:51       ` Krzysztof Kozlowski
  0 siblings, 1 reply; 8+ messages in thread
From: chenweilong @ 2022-10-27  7:47 UTC (permalink / raw)
  To: Krzysztof Kozlowski, f.fangjian, linus.walleij, yangyicong,
	xuwei5, robh+dt, robh, krzysztof.kozlowski+dt
  Cc: linux-gpio, linux-kernel, devicetree

On 2022/10/26 22:46, Krzysztof Kozlowski wrote:
> On 25/10/2022 23:42, Weilong Chen wrote:
>> Add the new compatible for HiSilicon gpio controller driver.
>>
>> Signed-off-by: Weilong Chen <chenweilong@huawei.com>
>> ---
>>  .../gpio/hisilicon,gpio-ascend910.yaml        | 54 +++++++++++++++++++
>>  MAINTAINERS                                   |  1 +
>>  2 files changed, 55 insertions(+)
>>  create mode 100644 Documentation/devicetree/bindings/gpio/hisilicon,gpio-ascend910.yaml
>>
>> diff --git a/Documentation/devicetree/bindings/gpio/hisilicon,gpio-ascend910.yaml b/Documentation/devicetree/bindings/gpio/hisilicon,gpio-ascend910.yaml
>> new file mode 100644
>> index 000000000000..912e4b808cae
>> --- /dev/null
>> +++ b/Documentation/devicetree/bindings/gpio/hisilicon,gpio-ascend910.yaml
>> @@ -0,0 +1,54 @@
>> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
>> +%YAML 1.2
>> +---
>> +$id: http://devicetree.org/schemas/gpio/hisilicon,gpio-ascend910.yaml#
>> +$schema: http://devicetree.org/meta-schemas/core.yaml#
>> +
>> +title: HiSilicon common GPIO controller Device Tree Bindings
> Drop "Device Tree Bindings"
>
>> +
>> +maintainers:
>> +  - Jay Fang <f.fangjian@huawei.com>
>> +
>> +properties:
>> +  compatible:
>> +    const: hisilicon,gpio-ascend910
>> +    description:
>> +      The HiSilicon common GPIO controller can be used for many different
>> +      types of SoC such as Huawei Ascend AI series chips.
> Put this description in top-level description.
>
>> +
>> +  reg:
>> +    description:
>> +      Address and length of the register set for the device.
> Drop description.
>
>> +    maxItems: 1
>> +
>> +  interrupts:
>> +    maxItems: 1
>> +
>> +  gpio-controller: true
>> +
>> +  "#gpio-cells":
>> +    const: 2
>> +
>> +  ngpios:
>> +    minimum: 1
>> +    maximum: 32
>> +
>> +required:
>> +  - compatible
>> +  - gpio-controller
> gpio-cells are not required?
>
>> +  - reg
>> +  - interrupts
>> +  - ngpios
>> +
>> +unevaluatedProperties: false
> Instead:
> additionalProperties: false
>
>> +
>> +examples:
>> +  - |
>> +    gpio@840d0000 {
>> +      compatible = "hisilicon,gpio-ascend910";
>> +      reg = <0x840d0000 0x1000>;
>> +      ngpios = <0x20>;
> Convention for counting is to use decimal numbers.
>
>> +      gpio-controller;
>> +      #gpio-cells = <2>;
>> +      interrupts = <0x0 33 0x4>;
> This looks like standard IRQ flags, so use respective defines.

Sorry, I don't get this, you mean like this? :

interrupts = <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>;

Thanks.

>
> Best regards,
> Krzysztof
>
> .



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

* Re: [PATCH next 2/2] dt-bindings: gpio: add entry for hisilicon,gpio-ascend910
  2022-10-27  7:47     ` chenweilong
@ 2022-10-27 12:51       ` Krzysztof Kozlowski
  0 siblings, 0 replies; 8+ messages in thread
From: Krzysztof Kozlowski @ 2022-10-27 12:51 UTC (permalink / raw)
  To: chenweilong, f.fangjian, linus.walleij, yangyicong, xuwei5,
	robh+dt, robh, krzysztof.kozlowski+dt
  Cc: linux-gpio, linux-kernel, devicetree

On 27/10/2022 03:47, chenweilong wrote:
>> Convention for counting is to use decimal numbers.
>>
>>> +      gpio-controller;
>>> +      #gpio-cells = <2>;
>>> +      interrupts = <0x0 33 0x4>;
>> This looks like standard IRQ flags, so use respective defines.
> 
> Sorry, I don't get this, you mean like this? :
> 
> interrupts = <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>;

Yes.

Best regards,
Krzysztof


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

* Re: [PATCH next 1/2] gpio: hisi: Add initial device tree support
  2022-10-26  3:42 [PATCH next 1/2] gpio: hisi: Add initial device tree support Weilong Chen
  2022-10-26  3:42 ` [PATCH next 2/2] dt-bindings: gpio: add entry for hisilicon,gpio-ascend910 Weilong Chen
@ 2022-11-08 10:33 ` Linus Walleij
  2022-11-08 11:17   ` chenweilong
  1 sibling, 1 reply; 8+ messages in thread
From: Linus Walleij @ 2022-11-08 10:33 UTC (permalink / raw)
  To: Weilong Chen, Andy Shevchenko
  Cc: f.fangjian, yangyicong, xuwei5, robh+dt, robh,
	krzysztof.kozlowski+dt, linux-gpio, linux-kernel, devicetree

Hi Weilong,

thanks for your patch!

On Wed, Oct 26, 2022 at 5:34 AM Weilong Chen <chenweilong@huawei.com> wrote:

> Add support for HiSilicon GPIO controller in embedded platform, which
> boot from devicetree.
>
> Signed-off-by: Weilong Chen <chenweilong@huawei.com>

I will provide OF comments, I let Andy and other ACPI experts say
what is necessary for ACPI.

(...)
> +#include <linux/acpi.h>

I don't know if this is necessary, check it.

>  #include <linux/gpio/driver.h>
>  #include <linux/module.h>
>  #include <linux/mod_devicetable.h>
> +#include <linux/of.h>

This is unnecessary for what you are trying to do. Drop it.

> +#ifdef CONFIG_ACPI
>  static const struct acpi_device_id hisi_gpio_acpi_match[] = {
>         {"HISI0184", 0},
>         {}
>  };
>  MODULE_DEVICE_TABLE(acpi, hisi_gpio_acpi_match);
> +#endif

Don't know about this #ifdef, check if it is needed.

> +#ifdef CONFIG_OF
> +static const struct of_device_id hisi_gpio_dts_match[] = {
> +       { .compatible = "hisilicon,gpio-ascend910", },
> +       { }
> +};
> +MODULE_DEVICE_TABLE(of, hisi_gpio_dts_match);
> +#endif

Drop the ifdef, it is not needed.

>  static void hisi_gpio_get_pdata(struct device *dev,
>                                 struct hisi_gpio *hisi_gpio)
> @@ -310,7 +322,8 @@ static int hisi_gpio_probe(struct platform_device *pdev)
>  static struct platform_driver hisi_gpio_driver = {
>         .driver         = {
>                 .name   = HISI_GPIO_DRIVER_NAME,
> -               .acpi_match_table = hisi_gpio_acpi_match,
> +               .acpi_match_table = ACPI_PTR(hisi_gpio_acpi_match),
> +               .of_match_table = of_match_ptr(hisi_gpio_dts_match),

Drop of_match_ptr() just assign it.

The reason it works is because we put struct of_device_id into the generic
headers so we can avoid the ifdefing.

Yours,
Linus Walleij

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

* Re: [PATCH next 1/2] gpio: hisi: Add initial device tree support
  2022-11-08 10:33 ` [PATCH next 1/2] gpio: hisi: Add initial device tree support Linus Walleij
@ 2022-11-08 11:17   ` chenweilong
  0 siblings, 0 replies; 8+ messages in thread
From: chenweilong @ 2022-11-08 11:17 UTC (permalink / raw)
  To: Linus Walleij, Andy Shevchenko
  Cc: f.fangjian, yangyicong, xuwei5, robh+dt, robh,
	krzysztof.kozlowski+dt, linux-gpio, linux-kernel, devicetree

On 2022/11/8 18:33, Linus Walleij wrote:
> Hi Weilong,
>
> thanks for your patch!
>
> On Wed, Oct 26, 2022 at 5:34 AM Weilong Chen <chenweilong@huawei.com> wrote:
>
>> Add support for HiSilicon GPIO controller in embedded platform, which
>> boot from devicetree.
>>
>> Signed-off-by: Weilong Chen <chenweilong@huawei.com>
> I will provide OF comments, I let Andy and other ACPI experts say
> what is necessary for ACPI.
>
> (...)
>> +#include <linux/acpi.h>
> I don't know if this is necessary, check it.
>
>>  #include <linux/gpio/driver.h>
>>  #include <linux/module.h>
>>  #include <linux/mod_devicetable.h>
>> +#include <linux/of.h>
> This is unnecessary for what you are trying to do. Drop it.
>
>> +#ifdef CONFIG_ACPI
>>  static const struct acpi_device_id hisi_gpio_acpi_match[] = {
>>         {"HISI0184", 0},
>>         {}
>>  };
>>  MODULE_DEVICE_TABLE(acpi, hisi_gpio_acpi_match);
>> +#endif
> Don't know about this #ifdef, check if it is needed.
>
>> +#ifdef CONFIG_OF
>> +static const struct of_device_id hisi_gpio_dts_match[] = {
>> +       { .compatible = "hisilicon,gpio-ascend910", },
>> +       { }
>> +};
>> +MODULE_DEVICE_TABLE(of, hisi_gpio_dts_match);
>> +#endif
> Drop the ifdef, it is not needed.
>
>>  static void hisi_gpio_get_pdata(struct device *dev,
>>                                 struct hisi_gpio *hisi_gpio)
>> @@ -310,7 +322,8 @@ static int hisi_gpio_probe(struct platform_device *pdev)
>>  static struct platform_driver hisi_gpio_driver = {
>>         .driver         = {
>>                 .name   = HISI_GPIO_DRIVER_NAME,
>> -               .acpi_match_table = hisi_gpio_acpi_match,
>> +               .acpi_match_table = ACPI_PTR(hisi_gpio_acpi_match),
>> +               .of_match_table = of_match_ptr(hisi_gpio_dts_match),
> Drop of_match_ptr() just assign it.
>
> The reason it works is because we put struct of_device_id into the generic
> headers so we can avoid the ifdefing.
>
> Yours,
> Linus Walleij

Thank for your review,I get it,and make  improvements in subsequent patches.


Best regards,

Weilong Chen.

> .



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

end of thread, other threads:[~2022-11-08 11:17 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-10-26  3:42 [PATCH next 1/2] gpio: hisi: Add initial device tree support Weilong Chen
2022-10-26  3:42 ` [PATCH next 2/2] dt-bindings: gpio: add entry for hisilicon,gpio-ascend910 Weilong Chen
2022-10-26 14:46   ` Krzysztof Kozlowski
2022-10-27  7:47     ` chenweilong
2022-10-27 12:51       ` Krzysztof Kozlowski
2022-10-26 20:11   ` Rob Herring
2022-11-08 10:33 ` [PATCH next 1/2] gpio: hisi: Add initial device tree support Linus Walleij
2022-11-08 11:17   ` chenweilong

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).