Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 185393
b: refs/heads/master
c: 640e95a
h: refs/heads/master
i:
  185391: 1a31b9b
v: v3
  • Loading branch information
Eirik Aanonsen authored and Greg Kroah-Hartman committed Mar 2, 2010
1 parent e842dbe commit 502697a
Show file tree
Hide file tree
Showing 5 changed files with 11 additions and 5 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 90f7976880bbbf9968629500972f8e2f80401217
refs/heads/master: 640e95abdfae9fef5949084c92e80c8f2f8b5ec5
7 changes: 5 additions & 2 deletions trunk/arch/avr32/mach-at32ap/at32ap700x.c
Original file line number Diff line number Diff line change
Expand Up @@ -1770,10 +1770,13 @@ at32_add_device_usba(unsigned int id, struct usba_platform_data *data)
ARRAY_SIZE(usba0_resource)))
goto out_free_pdev;

if (data)
if (data) {
usba_data.pdata.vbus_pin = data->vbus_pin;
else
usba_data.pdata.vbus_pin_inverted = data->vbus_pin_inverted;
} else {
usba_data.pdata.vbus_pin = -EINVAL;
usba_data.pdata.vbus_pin_inverted = -EINVAL;
}

data = &usba_data.pdata;
data->num_ep = ARRAY_SIZE(at32_usba_ep);
Expand Down
5 changes: 3 additions & 2 deletions trunk/drivers/usb/gadget/atmel_usba_udc.c
Original file line number Diff line number Diff line change
Expand Up @@ -320,7 +320,7 @@ static inline void usba_cleanup_debugfs(struct usba_udc *udc)
static int vbus_is_present(struct usba_udc *udc)
{
if (gpio_is_valid(udc->vbus_pin))
return gpio_get_value(udc->vbus_pin);
return gpio_get_value(udc->vbus_pin) ^ udc->vbus_pin_inverted;

/* No Vbus detection: Assume always present */
return 1;
Expand Down Expand Up @@ -1763,7 +1763,7 @@ static irqreturn_t usba_vbus_irq(int irq, void *devid)
if (!udc->driver)
goto out;

vbus = gpio_get_value(udc->vbus_pin);
vbus = vbus_is_present(udc);
if (vbus != udc->vbus_prev) {
if (vbus) {
toggle_bias(1);
Expand Down Expand Up @@ -2000,6 +2000,7 @@ static int __init usba_udc_probe(struct platform_device *pdev)
if (gpio_is_valid(pdata->vbus_pin)) {
if (!gpio_request(pdata->vbus_pin, "atmel_usba_udc")) {
udc->vbus_pin = pdata->vbus_pin;
udc->vbus_pin_inverted = pdata->vbus_pin_inverted;

ret = request_irq(gpio_to_irq(udc->vbus_pin),
usba_vbus_irq, 0,
Expand Down
1 change: 1 addition & 0 deletions trunk/drivers/usb/gadget/atmel_usba_udc.h
Original file line number Diff line number Diff line change
Expand Up @@ -323,6 +323,7 @@ struct usba_udc {
struct platform_device *pdev;
int irq;
int vbus_pin;
int vbus_pin_inverted;
struct clk *pclk;
struct clk *hclk;

Expand Down
1 change: 1 addition & 0 deletions trunk/include/linux/usb/atmel_usba_udc.h
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ struct usba_ep_data {

struct usba_platform_data {
int vbus_pin;
int vbus_pin_inverted;
int num_ep;
struct usba_ep_data ep[0];
};
Expand Down

0 comments on commit 502697a

Please sign in to comment.