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@xxxxxxxxxx> wrote: > >> Add support for HiSilicon GPIO controller in embedded platform, which >> boot from devicetree. >> >> Signed-off-by: Weilong Chen <chenweilong@xxxxxxxxxx> > 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. > .