[PATCH 6/7] usb: gadget: udc: atmel: rename errata into caps

cristian.birsan
2020-04-07T12:29:52Z

From: Cristian Birsan <cristian.birsan@microchip.com>

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@microchip.com>
---
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" },
{ /* sentinel */ }
};

@@ -2071,8 +2070,8 @@ static struct usba_ep * atmel_udc_of_init(struct platform_device *pdev,
if (!match)
return ERR_PTR(-EINVAL);

- udc->errata = match->data;
- if (udc->errata) {
+ udc->caps = match->data;
+ if (udc->caps && (udc->caps->pulse_bias || udc->caps->toggle_bias)) {
pp = of_find_matching_node_and_match(NULL, atmel_pmc_dt_ids,
NULL);
if (!pp)
diff --git a/drivers/usb/gadget/udc/atmel_usba_udc.h b/drivers/usb/gadget/udc/atmel_usba_udc.h
index 8de79356d31d..1a0f77bf8d4f 100644
--- a/drivers/usb/gadget/udc/atmel_usba_udc.h
+++ b/drivers/usb/gadget/udc/atmel_usba_udc.h
@@ -302,7 +302,7 @@ struct usba_request {
unsigned int mapped:1;
};

-struct usba_udc_errata {
+struct usba_udc_caps {
void (*toggle_bias)(struct usba_udc *udc, int is_on);
void (*pulse_bias)(struct usba_udc *udc);
};
@@ -320,7 +320,7 @@ struct usba_udc {
struct usb_gadget gadget;
struct usb_gadget_driver *driver;
struct platform_device *pdev;
- const struct usba_udc_errata *errata;
+ const struct usba_udc_caps *caps;
int irq;
struct gpio_desc *vbus_pin;
int num_ep;
--
2.17.1