Message ID | 20221101082442.263448-1-chenweilong@huawei.com |
---|---|
State | Accepted |
Commit | 80280df758c1498485988b30cf6887fde7796056 |
Headers | show |
Series | [next,v3,1/2] gpio: hisi: Add initial device tree support | expand |
On Tue, Nov 1, 2022 at 9:17 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> > --- This is v3 - just like the previous version. Are there any changes? Also: you don't need that -next in your patch tag. Bart
On Tue, 01 Nov 2022 16:24:42 +0800, Weilong Chen wrote: > Add the new compatible for HiSilicon gpio controller driver. > > Signed-off-by: Weilong Chen <chenweilong@huawei.com> > --- > Change since v2: > - No change. > Link: https://lore.kernel.org/lkml/20221028022453.163186-2-chenweilong@huawei.com/ > > Change since v1: > - Drop "Device Tree Bindings" and reg's description > - Move description in top-level description. > - Add gpio-cells to required > - Use additionalProperties and decimal numbers > - Use IRQ flags > - Use vendor,soc-ipblock format > Link: https://lore.kernel.org/lkml/20221026034219.172880-2-chenweilong@huawei.com/ > > .../gpio/hisilicon,ascend910-gpio.yaml | 56 +++++++++++++++++++ > MAINTAINERS | 1 + > 2 files changed, 57 insertions(+) > create mode 100644 Documentation/devicetree/bindings/gpio/hisilicon,ascend910-gpio.yaml > Reviewed-by: Rob Herring <robh@kernel.org>
On 2022/11/2 20:49, Bartosz Golaszewski wrote: > On Tue, Nov 1, 2022 at 9:17 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> >> --- > This is v3 - just like the previous version. Are there any changes? Hi, v3 is the same with v2, but v2 had a lot change to v1. Link for v2: https://lore.kernel.org/lkml/20221028022453.163186-2-chenweilong@huawei.com/ There's a change log in commit message to describe the changes. I send v3 patch to fix problem of the other patch in the series: Link is: https://lore.kernel.org/lkml/791619d1-a227-477a-99c6-7ba15b4a28df@huawei.com/ > > Also: you don't need that -next in your patch tag. Thanks for the advice, I will adjust it in subsequent work. Thanks. > > Bart > > .
On 2022/11/1 16:24, Weilong Chen wrote: > Add support for HiSilicon GPIO controller in embedded platform, which > boot from devicetree. > > Signed-off-by: Weilong Chen <chenweilong@huawei.com> > --- > Change since v2: > - Drop wrong use ACPI_PTR/of_match_ptr > Link: https://lore.kernel.org/lkml/20221028022453.163186-1-chenweilong@huawei.com/ > > drivers/gpio/Kconfig | 2 +- > drivers/gpio/gpio-hisi.c | 7 +++++++ > 2 files changed, 8 insertions(+), 1 deletion(-) > > 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..55bd69043bf4 100644 > --- a/drivers/gpio/gpio-hisi.c > +++ b/drivers/gpio/gpio-hisi.c > @@ -221,6 +221,12 @@ static const struct acpi_device_id hisi_gpio_acpi_match[] = { > }; > MODULE_DEVICE_TABLE(acpi, hisi_gpio_acpi_match); > > +static const struct of_device_id hisi_gpio_dts_match[] = { > + { .compatible = "hisilicon,ascend910-gpio", }, > + { } > +}; > +MODULE_DEVICE_TABLE(of, hisi_gpio_dts_match); > + > static void hisi_gpio_get_pdata(struct device *dev, > struct hisi_gpio *hisi_gpio) > { > @@ -311,6 +317,7 @@ static struct platform_driver hisi_gpio_driver = { > .driver = { > .name = HISI_GPIO_DRIVER_NAME, > .acpi_match_table = hisi_gpio_acpi_match, > + .of_match_table = hisi_gpio_dts_match, > }, > .probe = hisi_gpio_probe, > }; > Acked-by: Jay Fang <f.fangjian@huawei.com>
On 2022/11/1 16:24, Weilong Chen wrote: This is the latest version for the patch, I used the v3 version number incorrectly. Sorry for the mistake. I will pay attention next time. > Add support for HiSilicon GPIO controller in embedded platform, which > boot from devicetree. > > Signed-off-by: Weilong Chen <chenweilong@huawei.com> > --- > Change since v2: > - Drop wrong use ACPI_PTR/of_match_ptr > Link: https://lore.kernel.org/lkml/20221028022453.163186-1-chenweilong@huawei.com/ > > drivers/gpio/Kconfig | 2 +- > drivers/gpio/gpio-hisi.c | 7 +++++++ > 2 files changed, 8 insertions(+), 1 deletion(-) > > 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..55bd69043bf4 100644 > --- a/drivers/gpio/gpio-hisi.c > +++ b/drivers/gpio/gpio-hisi.c > @@ -221,6 +221,12 @@ static const struct acpi_device_id hisi_gpio_acpi_match[] = { > }; > MODULE_DEVICE_TABLE(acpi, hisi_gpio_acpi_match); > > +static const struct of_device_id hisi_gpio_dts_match[] = { > + { .compatible = "hisilicon,ascend910-gpio", }, > + { } > +}; > +MODULE_DEVICE_TABLE(of, hisi_gpio_dts_match); > + > static void hisi_gpio_get_pdata(struct device *dev, > struct hisi_gpio *hisi_gpio) > { > @@ -311,6 +317,7 @@ static struct platform_driver hisi_gpio_driver = { > .driver = { > .name = HISI_GPIO_DRIVER_NAME, > .acpi_match_table = hisi_gpio_acpi_match, > + .of_match_table = hisi_gpio_dts_match, > }, > .probe = hisi_gpio_probe, > };
On 2022/11/1 16:24, Weilong Chen wrote: > Add support for HiSilicon GPIO controller in embedded platform, which > boot from devicetree. > > Signed-off-by: Weilong Chen <chenweilong@huawei.com> Reviewed-by: Yicong Yang <yangyicong@hisilicon.com> > --- > Change since v2: > - Drop wrong use ACPI_PTR/of_match_ptr > Link: https://lore.kernel.org/lkml/20221028022453.163186-1-chenweilong@huawei.com/ > > drivers/gpio/Kconfig | 2 +- > drivers/gpio/gpio-hisi.c | 7 +++++++ > 2 files changed, 8 insertions(+), 1 deletion(-) > > 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..55bd69043bf4 100644 > --- a/drivers/gpio/gpio-hisi.c > +++ b/drivers/gpio/gpio-hisi.c > @@ -221,6 +221,12 @@ static const struct acpi_device_id hisi_gpio_acpi_match[] = { > }; > MODULE_DEVICE_TABLE(acpi, hisi_gpio_acpi_match); > > +static const struct of_device_id hisi_gpio_dts_match[] = { > + { .compatible = "hisilicon,ascend910-gpio", }, > + { } > +}; > +MODULE_DEVICE_TABLE(of, hisi_gpio_dts_match); > + > static void hisi_gpio_get_pdata(struct device *dev, > struct hisi_gpio *hisi_gpio) > { > @@ -311,6 +317,7 @@ static struct platform_driver hisi_gpio_driver = { > .driver = { > .name = HISI_GPIO_DRIVER_NAME, > .acpi_match_table = hisi_gpio_acpi_match, > + .of_match_table = hisi_gpio_dts_match, > }, > .probe = hisi_gpio_probe, > }; >
On 2022/11/1 16:24, Weilong Chen wrote: > Add the new compatible for HiSilicon gpio controller driver. > > Signed-off-by: Weilong Chen <chenweilong@huawei.com> Looks good to me, Reviewed-by: Yicong Yang <yangyicong@hisilicon.com> > --- > Change since v2: > - No change. > Link: https://lore.kernel.org/lkml/20221028022453.163186-2-chenweilong@huawei.com/ > > Change since v1: > - Drop "Device Tree Bindings" and reg's description > - Move description in top-level description. > - Add gpio-cells to required > - Use additionalProperties and decimal numbers > - Use IRQ flags > - Use vendor,soc-ipblock format > Link: https://lore.kernel.org/lkml/20221026034219.172880-2-chenweilong@huawei.com/ > > .../gpio/hisilicon,ascend910-gpio.yaml | 56 +++++++++++++++++++ > MAINTAINERS | 1 + > 2 files changed, 57 insertions(+) > create mode 100644 Documentation/devicetree/bindings/gpio/hisilicon,ascend910-gpio.yaml > > diff --git a/Documentation/devicetree/bindings/gpio/hisilicon,ascend910-gpio.yaml b/Documentation/devicetree/bindings/gpio/hisilicon,ascend910-gpio.yaml > new file mode 100644 > index 000000000000..735d97d645a0 > --- /dev/null > +++ b/Documentation/devicetree/bindings/gpio/hisilicon,ascend910-gpio.yaml > @@ -0,0 +1,56 @@ > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/gpio/hisilicon,ascend910-gpio.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: HiSilicon common GPIO controller > + > +maintainers: > + - Jay Fang <f.fangjian@huawei.com> > + > +description: > + The HiSilicon common GPIO controller can be used for many different > + types of SoC such as Huawei Ascend AI series chips. > + > +properties: > + compatible: > + const: hisilicon,ascend910-gpio > + > + reg: > + maxItems: 1 > + > + interrupts: > + maxItems: 1 > + > + gpio-controller: true > + > + "#gpio-cells": > + const: 2 > + > + ngpios: > + minimum: 1 > + maximum: 32 > + > +required: > + - compatible > + - reg > + - interrupts > + - gpio-controller > + - "#gpio-cells" > + - ngpios > + > +additionalProperties: false > + > +examples: > + - | > + #include <dt-bindings/interrupt-controller/arm-gic.h> > + > + gpio@840d0000 { > + compatible = "hisilicon,ascend910-gpio"; > + reg = <0x840d0000 0x1000>; > + ngpios = <32>; > + gpio-controller; > + #gpio-cells = <2>; > + interrupts = <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>; > + }; > diff --git a/MAINTAINERS b/MAINTAINERS > index d42e34d1e8e2..74ac2e7a8e4b 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,ascend910-gpio.yaml > F: drivers/gpio/gpio-hisi.c > > HISILICON HIGH PERFORMANCE RSA ENGINE DRIVER (HPRE) >
On Thu, Nov 3, 2022 at 9:51 AM chenweilong <chenweilong@huawei.com> wrote: > > On 2022/11/1 16:24, Weilong Chen wrote: > > This is the latest version for the patch, I used the v3 version number incorrectly. > Sorry for the mistake. I will pay attention next time. > > > Add support for HiSilicon GPIO controller in embedded platform, which > > boot from devicetree. > > > > Signed-off-by: Weilong Chen <chenweilong@huawei.com> > > --- > > Change since v2: > > - Drop wrong use ACPI_PTR/of_match_ptr > > Link: https://lore.kernel.org/lkml/20221028022453.163186-1-chenweilong@huawei.com/ > > > > drivers/gpio/Kconfig | 2 +- > > drivers/gpio/gpio-hisi.c | 7 +++++++ > > 2 files changed, 8 insertions(+), 1 deletion(-) > > > > 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..55bd69043bf4 100644 > > --- a/drivers/gpio/gpio-hisi.c > > +++ b/drivers/gpio/gpio-hisi.c > > @@ -221,6 +221,12 @@ static const struct acpi_device_id hisi_gpio_acpi_match[] = { > > }; > > MODULE_DEVICE_TABLE(acpi, hisi_gpio_acpi_match); > > > > +static const struct of_device_id hisi_gpio_dts_match[] = { > > + { .compatible = "hisilicon,ascend910-gpio", }, > > + { } > > +}; > > +MODULE_DEVICE_TABLE(of, hisi_gpio_dts_match); > > + > > static void hisi_gpio_get_pdata(struct device *dev, > > struct hisi_gpio *hisi_gpio) > > { > > @@ -311,6 +317,7 @@ static struct platform_driver hisi_gpio_driver = { > > .driver = { > > .name = HISI_GPIO_DRIVER_NAME, > > .acpi_match_table = hisi_gpio_acpi_match, > > + .of_match_table = hisi_gpio_dts_match, > > }, > > .probe = hisi_gpio_probe, > > }; > > I applied both, but reversed the order as dt bindings should come first. Thanks! Bart
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..55bd69043bf4 100644 --- a/drivers/gpio/gpio-hisi.c +++ b/drivers/gpio/gpio-hisi.c @@ -221,6 +221,12 @@ static const struct acpi_device_id hisi_gpio_acpi_match[] = { }; MODULE_DEVICE_TABLE(acpi, hisi_gpio_acpi_match); +static const struct of_device_id hisi_gpio_dts_match[] = { + { .compatible = "hisilicon,ascend910-gpio", }, + { } +}; +MODULE_DEVICE_TABLE(of, hisi_gpio_dts_match); + static void hisi_gpio_get_pdata(struct device *dev, struct hisi_gpio *hisi_gpio) { @@ -311,6 +317,7 @@ static struct platform_driver hisi_gpio_driver = { .driver = { .name = HISI_GPIO_DRIVER_NAME, .acpi_match_table = hisi_gpio_acpi_match, + .of_match_table = hisi_gpio_dts_match, }, .probe = hisi_gpio_probe, };
Add support for HiSilicon GPIO controller in embedded platform, which boot from devicetree. Signed-off-by: Weilong Chen <chenweilong@huawei.com> --- Change since v2: - Drop wrong use ACPI_PTR/of_match_ptr Link: https://lore.kernel.org/lkml/20221028022453.163186-1-chenweilong@huawei.com/ drivers/gpio/Kconfig | 2 +- drivers/gpio/gpio-hisi.c | 7 +++++++ 2 files changed, 8 insertions(+), 1 deletion(-)