Thread (8 messages) 8 messages, 4 authors, 2022-11-08

Re: [PATCH next 1/2] gpio: hisi: Add initial device tree support

From: Linus Walleij <hidden>
Date: 2022-11-08 10:34:18
Also in: linux-gpio, lkml

Hi Weilong,

thanks for your patch!

On Wed, Oct 26, 2022 at 5:34 AM Weilong Chen [off-list ref] wrote:
Add support for HiSilicon GPIO controller in embedded platform, which
boot from devicetree.

Signed-off-by: Weilong Chen <redacted>
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.
quoted hunk ↗ jump to hunk
 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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help