[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20190814212012.GB22618@kroah.com>
Date: Wed, 14 Aug 2019 23:20:12 +0200
From: Greg Kroah-Hartman <gregkh@...uxfoundation.org>
To: Nick Crews <ncrews@...omium.org>
Cc: linux-usb@...r.kernel.org,
Enric Balletbo i Serra <enric.balletbo@...labora.com>,
linux-kernel <linux-kernel@...r.kernel.org>,
Daniel Kurtz <djkurtz@...gle.com>
Subject: Re: Policy to keep USB ports powered in low-power states
On Wed, Aug 14, 2019 at 02:12:07PM -0600, Nick Crews wrote:
> Thanks for the fast response!
>
> On Tue, Aug 13, 2019 at 12:02 AM Greg Kroah-Hartman
> <gregkh@...uxfoundation.org> wrote:
> >
> > On Mon, Aug 12, 2019 at 06:08:43PM -0600, Nick Crews wrote:
> > > Hi Greg!
> >
> > Hi!
> >
> > First off, please fix your email client to not send html so that vger
> > does not reject your messages :)
>
> Thanks, should be good now.
>
> >
> > > I am working on a Chrome OS device that supports a policy called "USB Power
> > > Share," which allows users to turn the laptop into a charge pack for their
> > > phone. When the policy is enabled, power will be supplied to the USB ports
> > > even when the system is in low power states such as S3 and S5. When
> > > disabled, then no power will be supplied in S3 and S5. I wrote a driver
> > > <https://lore.kernel.org/patchwork/patch/1062995/> for this already as part
> > > of drivers/platform/chrome/, but Enric Balletbo i Serra, the maintainer,
> > > had the reasonable suggestion of trying to move this into the USB subsystem.
> >
> > Correct suggestion.
> >
> > > Has anything like this been done before? Do you have any preliminary
> > > thoughts on this before I start writing code? A few things that I haven't
> > > figured out yet:
> > > - How to make this feature only available on certain devices. Using device
> > > tree? Kconfig? Making a separate driver just for this device that plugs
> > > into the USB core?
> > > - The feature is only supported on some USB ports, so we need a way of
> > > filtering on a per-port basis.
> >
> > Look at the drivers/usb/typec/ code, I think that should do everything
> > you need here as this is a typec standard functionality, right?
>
> Unfortunately this is for USB 2.0 ports, so it's not type-C.
> Is the type-C code still worth looking at?
If this is for USB 2, does it use the "non-standard" hub commands to
turn on and off power? If so, why not just use the usbreset userspace
program for that?
And how are you turning a USB 2 port into a power source? That feels
really odd given the spec. Is this part of the standard somewhere or
just a firmware/hardware hack that you are adding to a device?
Is there some port information in the firmware that describes this
functionality? If so, can you expose it through sysfs to the port that
way?
thanks,
greg k-h
Powered by blists - more mailing lists