On Mon, 2011-09-26 at 15:22 +0100, Sangwook Lee wrote: > Add a gpio setup function which gives a chance to set up > platform specific configuration such as pin multiplexing, > input/output direction at the runtime or booting time. > > Signed-off-by: Sangwook Lee <sangwook.lee@xxxxxxxxxx> > --- > include/linux/rfkill-gpio.h | 2 ++ > net/rfkill/rfkill-gpio.c | 8 ++++++++ > 2 files changed, 10 insertions(+), 0 deletions(-) > > diff --git a/include/linux/rfkill-gpio.h b/include/linux/rfkill-gpio.h > index a175d05..786e7bb 100644 > --- a/include/linux/rfkill-gpio.h > +++ b/include/linux/rfkill-gpio.h > @@ -30,6 +30,7 @@ > * @reset_gpio: GPIO which is used for reseting rfkill switch > * @shutdown_gpio: GPIO which is used for shutdown of rfkill switch > * @power_clk_name: [optional] name of clk to turn off while blocked > + * @gpio_runtime_setup: set up platform specific gpio configuration > */ > > struct rfkill_gpio_platform_data { > @@ -38,6 +39,7 @@ struct rfkill_gpio_platform_data { > int shutdown_gpio; > const char *power_clk_name; > enum rfkill_type type; > + int (*gpio_runtime_setup)(struct platform_device *); > }; > > #endif /* __RFKILL_GPIO_H */ > diff --git a/net/rfkill/rfkill-gpio.c b/net/rfkill/rfkill-gpio.c > index 256c5dd..d6cec90 100644 > --- a/net/rfkill/rfkill-gpio.c > +++ b/net/rfkill/rfkill-gpio.c > @@ -101,6 +101,14 @@ static int rfkill_gpio_probe(struct platform_device *pdev) > if (!rfkill) > return -ENOMEM; > > + if (pdata->gpio_runtime_setup) { > + ret = pdata->gpio_runtime_setup(pdev); > + if (ret) { > + pr_warn("%s: can't set up gpio\n", __func__); > + return -EINVAL; Wouldn't you want to return ret? johannes -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html