Hi Bart, On 29/03/19 3:03 PM, Bartosz Golaszewski wrote: > From: Bartosz Golaszewski <bgolaszewski@xxxxxxxxxxxx> > > Instead of directly using the vbus GPIO we should model it as a fixed > regulator. Add all necessary fix-ups for the regulator to be registered > and configure the vbus GPIO as its enable pin. > > Signed-off-by: Bartosz Golaszewski <bgolaszewski@xxxxxxxxxxxx> > --- > arch/arm/mach-davinci/board-omapl138-hawk.c | 49 +++++++++++++++++++-- > 1 file changed, 46 insertions(+), 3 deletions(-) > > diff --git a/arch/arm/mach-davinci/board-omapl138-hawk.c b/arch/arm/mach-davinci/board-omapl138-hawk.c > index e244c8648594..0039b4d4c935 100644 > --- a/arch/arm/mach-davinci/board-omapl138-hawk.c > +++ b/arch/arm/mach-davinci/board-omapl138-hawk.c > @@ -21,6 +21,7 @@ > #include <linux/platform_data/mtd-davinci.h> > #include <linux/platform_data/mtd-davinci-aemif.h> > #include <linux/platform_data/ti-aemif.h> > +#include <linux/regulator/fixed.h> > #include <linux/regulator/machine.h> > > #include <asm/mach-types.h> > @@ -298,15 +299,50 @@ static const short da850_hawk_usb11_pins[] = { > -1 > }; > > -static struct gpiod_lookup_table hawk_usb_gpio_lookup = { > +static struct regulator_consumer_supply hawk_usb_supplies[] = { > + REGULATOR_SUPPLY("vbus", NULL), > +}; > + > +static struct regulator_init_data hawk_usb_vbus_data = { > + .consumer_supplies = hawk_usb_supplies, > + .num_consumer_supplies = ARRAY_SIZE(hawk_usb_supplies), > +}; > + > +static struct fixed_voltage_config hawk_usb_vbus = { > + .supply_name = "vbus", > + .microvolts = 3300000, > + .init_data = &hawk_usb_vbus_data, > +}; > + > +static struct platform_device hawk_usb_vbus_device = { > + .name = "reg-fixed-voltage", > + .id = 1, Can you explain choice of of 1 for id here? Its the first fixed regulator being registered. Shouldn't it be 0? Thanks, Sekhar