* [PATCH] twl4030-usb: Report correct vbus value for accessory charger adapters1
@ 2011-04-01 21:02 Matthias Kaehlcke
2011-04-13 23:47 ` Greg KH
0 siblings, 1 reply; 2+ messages in thread
From: Matthias Kaehlcke @ 2011-04-01 21:02 UTC (permalink / raw)
To: Felipe Balbi, David Brownell; +Cc: linux-usb, linux-omap
The twl4030-usb driver exports the status of VBUS as sysfs attribute.
In case an accessory charger adapter (ACA) is connected to the OTG
transceiver the attribute is always 'off', even when the charger
provides VBUS. Added a variable to keep track of the status of VBUS
and report it correctly
Signed-off-by: Matthias Kaehlcke <matthias.kaehlcke@tomtom.com>
---
drivers/usb/otg/twl4030-usb.c | 9 ++++++++-
1 files changed, 8 insertions(+), 1 deletions(-)
diff --git a/drivers/usb/otg/twl4030-usb.c b/drivers/usb/otg/twl4030-usb.c
index e01b073..efeb4d1 100644
--- a/drivers/usb/otg/twl4030-usb.c
+++ b/drivers/usb/otg/twl4030-usb.c
@@ -160,6 +160,7 @@ struct twl4030_usb {
int irq;
u8 linkstat;
+ bool vbus_supplied;
u8 asleep;
bool irq_enabled;
};
@@ -250,6 +251,8 @@ static enum usb_xceiv_events
twl4030_usb_linkstat(struct twl4030_usb *twl)
int status;
int linkstat = USB_EVENT_NONE;
+ twl->vbus_supplied = false;
+
/*
* For ID/VBUS sensing, see manual section 15.4.8 ...
* except when using only battery backup power, two
@@ -265,6 +268,9 @@ static enum usb_xceiv_events
twl4030_usb_linkstat(struct twl4030_usb *twl)
if (status < 0)
dev_err(twl->dev, "USB link status err %d\n", status);
else if (status & (BIT(7) | BIT(2))) {
+ if (status & (BIT(7)))
+ twl->vbus_supplied = true;
+
if (status & BIT(2))
linkstat = USB_EVENT_ID;
else
@@ -484,7 +490,7 @@ static ssize_t twl4030_usb_vbus_show(struct device *dev,
spin_lock_irqsave(&twl->lock, flags);
ret = sprintf(buf, "%s\n",
- (twl->linkstat == USB_EVENT_VBUS) ? "on" : "off");
+ twl->vbus_supplied ? "on" : "off");
spin_unlock_irqrestore(&twl->lock, flags);
return ret;
@@ -608,6 +614,7 @@ static int __devinit twl4030_usb_probe(struct
platform_device *pdev)
twl->otg.set_peripheral = twl4030_set_peripheral;
twl->otg.set_suspend = twl4030_set_suspend;
twl->usb_mode = pdata->usb_mode;
+ twl->vbus_supplied = false;
twl->asleep = 1;
/* init spinlock for workqueue */
--
1.7.1
^ permalink raw reply related [flat|nested] 2+ messages in thread* Re: [PATCH] twl4030-usb: Report correct vbus value for accessory charger adapters1
2011-04-01 21:02 [PATCH] twl4030-usb: Report correct vbus value for accessory charger adapters1 Matthias Kaehlcke
@ 2011-04-13 23:47 ` Greg KH
0 siblings, 0 replies; 2+ messages in thread
From: Greg KH @ 2011-04-13 23:47 UTC (permalink / raw)
To: Matthias Kaehlcke; +Cc: Felipe Balbi, David Brownell, linux-usb, linux-omap
On Fri, Apr 01, 2011 at 11:02:07PM +0200, Matthias Kaehlcke wrote:
> The twl4030-usb driver exports the status of VBUS as sysfs attribute.
> In case an accessory charger adapter (ACA) is connected to the OTG
> transceiver the attribute is always 'off', even when the charger
> provides VBUS. Added a variable to keep track of the status of VBUS
> and report it correctly
>
> Signed-off-by: Matthias Kaehlcke <matthias.kaehlcke@tomtom.com>
Ick, your email software turned the patch into a mess. I've edited it
by hand, fixing it up, but next time, please fix your email client so
this doesn't happen again.
thanks,
greg k-h
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2011-04-13 23:49 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-04-01 21:02 [PATCH] twl4030-usb: Report correct vbus value for accessory charger adapters1 Matthias Kaehlcke
2011-04-13 23:47 ` Greg KH
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.