On Wed, Sep 24, 2014 at 11:05 PM, Robert Jarzmik <robert.jarzmik@xxxxxxx> wrote: > For this preparation, a preliminary cleanup is done : > - convert the probing of pxa27x_udc to gpio_desc. > The conversion is partial because : > - the platform data still provides a gpio number, not a gpio desc > - the "invert" attribute is lost, hence a loss in the translation > > The drawback with the gpio_desc conversion is that the "inverted" gpio > attribute is lost, as no gpiod_*() function exists to set the > "active_low" state of a gpio, and that attribute was at driver's > creation forecast to be set up by the driver and not the machine > specific code. This can be fixed as of kernel v3.17. > #include <linux/gpio.h> > +#include <linux/gpio/consumer.h> You should only need the lower include, remove <linux/gpio.h>. > @@ -2415,7 +2411,13 @@ static int pxa_udc_probe(struct platform_device *pdev) > { > struct resource *regs; > struct pxa_udc *udc = &memory; > - int retval = 0, gpio; > + struct pxa2xx_udc_mach_info *mach = dev_get_platdata(&pdev->dev); > + int retval = 0; > + > + if (mach) { > + udc->gpiod = gpio_to_desc(mach->gpio_pullup); > + udc->mach = mach; > + } } else { udv->gpiod = devm_gpiod_get(&pdev->dev, ...); } Here you can also use the flags. So the idea is to use device-bound GPIOs for the future. Please consult Documentation/gpio/consumer.txt Yours, Linus Walleij -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html