On 07/04/2020 15:28:51+0300, cristian.birsan@xxxxxxxxxxxxx wrote: > From: Cristian Birsan <cristian.birsan@xxxxxxxxxxxxx> > > Rename errata structure into capabilities (caps). It will be used to add > capabilities for new SoCs. Get the pointer to PMC only for the SoCs that > need it to perform toggle_bias or pulse_bias. > > Signed-off-by: Cristian Birsan <cristian.birsan@xxxxxxxxxxxxx> > --- > drivers/usb/gadget/udc/atmel_usba_udc.c | 21 ++++++++++----------- > drivers/usb/gadget/udc/atmel_usba_udc.h | 4 ++-- > 2 files changed, 12 insertions(+), 13 deletions(-) > > diff --git a/drivers/usb/gadget/udc/atmel_usba_udc.c b/drivers/usb/gadget/udc/atmel_usba_udc.c > index 1e2194fe06cb..dfe30913c76b 100644 > --- a/drivers/usb/gadget/udc/atmel_usba_udc.c > +++ b/drivers/usb/gadget/udc/atmel_usba_udc.c > @@ -389,8 +389,8 @@ static int vbus_is_present(struct usba_udc *udc) > > static void toggle_bias(struct usba_udc *udc, int is_on) > { > - if (udc->errata && udc->errata->toggle_bias) > - udc->errata->toggle_bias(udc, is_on); > + if (udc->caps && udc->caps->toggle_bias) > + udc->caps->toggle_bias(udc, is_on); > } > > static void generate_bias_pulse(struct usba_udc *udc) > @@ -398,8 +398,8 @@ static void generate_bias_pulse(struct usba_udc *udc) > if (!udc->bias_pulse_needed) > return; > > - if (udc->errata && udc->errata->pulse_bias) > - udc->errata->pulse_bias(udc); > + if (udc->caps && udc->caps->pulse_bias) > + udc->caps->pulse_bias(udc); > > udc->bias_pulse_needed = false; > } > @@ -2032,17 +2032,17 @@ static void at91sam9g45_pulse_bias(struct usba_udc *udc) > AT91_PMC_BIASEN); > } > > -static const struct usba_udc_errata at91sam9rl_errata = { > +static const struct usba_udc_caps at91sam9rl_caps = { > .toggle_bias = at91sam9rl_toggle_bias, > }; > > -static const struct usba_udc_errata at91sam9g45_errata = { > +static const struct usba_udc_caps at91sam9g45_caps = { > .pulse_bias = at91sam9g45_pulse_bias, > }; > > static const struct of_device_id atmel_udc_dt_ids[] = { > - { .compatible = "atmel,at91sam9rl-udc", .data = &at91sam9rl_errata }, > - { .compatible = "atmel,at91sam9g45-udc", .data = &at91sam9g45_errata }, > + { .compatible = "atmel,at91sam9rl-udc", .data = &at91sam9rl_caps }, > + { .compatible = "atmel,at91sam9g45-udc", .data = &at91sam9g45_caps }, > { .compatible = "atmel,sama5d3-udc" }, > { /* sentinel */ } > }; > @@ -2053,7 +2053,6 @@ static const struct of_device_id atmel_pmc_dt_ids[] = { > { .compatible = "atmel,at91sam9g45-pmc" }, > { .compatible = "atmel,at91sam9rl-pmc" }, > { .compatible = "atmel,at91sam9x5-pmc" }, > - { .compatible = "microchip,sam9x60-pmc" }, This was added in 2/7 and is removed now. I believe the series needs a bit of rework. -- Alexandre Belloni, Bootlin Embedded Linux and Kernel engineering https://bootlin.com