* 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
pgpVAw1EWjIt1.pgp
Description: PGP signature
