mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-08-23 01:10:04 +00:00
USB: host: ohci-at91: merge loops in ohci_hcd_at91_drv_probe
ohci_hcd_at91_drv_probe() has four at91_for_each_port. They can be merged into two loops without changing the driver behaviour. Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com> Acked-by: Alan Stern <stern@rowland.harvard.edu> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
bd73bfcd44
commit
e4df92279f
1 changed files with 16 additions and 18 deletions
|
@ -476,20 +476,6 @@ static int ohci_hcd_at91_drv_probe(struct platform_device *pdev)
|
|||
if (!of_property_read_u32(np, "num-ports", &ports))
|
||||
pdata->ports = ports;
|
||||
|
||||
at91_for_each_port(i) {
|
||||
gpio = of_get_named_gpio_flags(np, "atmel,vbus-gpio", i, &flags);
|
||||
pdata->vbus_pin[i] = gpio;
|
||||
if (!gpio_is_valid(gpio))
|
||||
continue;
|
||||
pdata->vbus_pin_active_low[i] = flags & OF_GPIO_ACTIVE_LOW;
|
||||
}
|
||||
|
||||
at91_for_each_port(i)
|
||||
pdata->overcurrent_pin[i] =
|
||||
of_get_named_gpio_flags(np, "atmel,oc-gpio", i, &flags);
|
||||
|
||||
pdev->dev.platform_data = pdata;
|
||||
|
||||
at91_for_each_port(i) {
|
||||
/*
|
||||
* do not configure PIO if not in relation with
|
||||
|
@ -497,13 +483,15 @@ static int ohci_hcd_at91_drv_probe(struct platform_device *pdev)
|
|||
*/
|
||||
if (i >= pdata->ports) {
|
||||
pdata->vbus_pin[i] = -EINVAL;
|
||||
pdata->overcurrent_pin[i] = -EINVAL;
|
||||
break;
|
||||
continue;
|
||||
}
|
||||
|
||||
if (!gpio_is_valid(pdata->vbus_pin[i]))
|
||||
gpio = of_get_named_gpio_flags(np, "atmel,vbus-gpio", i,
|
||||
&flags);
|
||||
pdata->vbus_pin[i] = gpio;
|
||||
if (!gpio_is_valid(gpio))
|
||||
continue;
|
||||
gpio = pdata->vbus_pin[i];
|
||||
pdata->vbus_pin_active_low[i] = flags & OF_GPIO_ACTIVE_LOW;
|
||||
|
||||
ret = gpio_request(gpio, "ohci_vbus");
|
||||
if (ret) {
|
||||
|
@ -525,6 +513,14 @@ static int ohci_hcd_at91_drv_probe(struct platform_device *pdev)
|
|||
}
|
||||
|
||||
at91_for_each_port(i) {
|
||||
if (i >= pdata->ports) {
|
||||
pdata->overcurrent_pin[i] = -EINVAL;
|
||||
continue;
|
||||
}
|
||||
|
||||
pdata->overcurrent_pin[i] =
|
||||
of_get_named_gpio_flags(np, "atmel,oc-gpio", i, &flags);
|
||||
|
||||
if (!gpio_is_valid(pdata->overcurrent_pin[i]))
|
||||
continue;
|
||||
gpio = pdata->overcurrent_pin[i];
|
||||
|
@ -556,6 +552,8 @@ static int ohci_hcd_at91_drv_probe(struct platform_device *pdev)
|
|||
}
|
||||
}
|
||||
|
||||
pdev->dev.platform_data = pdata;
|
||||
|
||||
device_init_wakeup(&pdev->dev, 1);
|
||||
return usb_hcd_at91_probe(&ohci_at91_hc_driver, pdev);
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue