* Marc Dietrich wrote: > +#ifdef CONFIG_OF [...] > +#else [...] > +#define of_rfkill_gpio_match NULL This can be dropped, see below. > +#endif > + > static int rfkill_gpio_probe(struct platform_device *pdev) > { > struct rfkill_gpio_data *rfkill; > struct rfkill_gpio_platform_data *pdata = pdev->dev.platform_data; > + struct device_node *np = pdev->dev.of_node; > int ret = 0; > int len = 0; > > + if (np) > + pdata = rfkill_gpio_parse_pdata(pdev); > + > if (!pdata) { > pr_warn("%s: No platform data specified\n", __func__); > return -EINVAL; > @@ -210,13 +268,13 @@ static int rfkill_gpio_remove(struct platform_device *pdev) > > return 0; > } > - Are you removing this line on purpose? > static struct platform_driver rfkill_gpio_driver = { > .probe = rfkill_gpio_probe, > .remove = __devexit_p(rfkill_gpio_remove), > .driver = { > .name = "rfkill_gpio", > .owner = THIS_MODULE, > + .of_match_table = of_rfkill_gpio_match, I think the canonical way to do this is of_match_ptr() and leave out the definition to NULL in the !CONFIG_OF above. Thierry
Attachment:
pgp3MutQNjEUX.pgp
Description: PGP signature