Re: Driver for something that's neither a device nor an interface driver?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, 2019-09-27 at 21:25 +0200, Greg KH wrote:
> On Fri, Sep 27, 2019 at 08:49:12PM +0200, Bastien Nocera wrote:
> > On Fri, 2019-09-27 at 13:56 -0400, Alan Stern wrote:
> > <snip>
> > > Is there any reason this needs to be done in a kernel driver?
> > 
> > To offer a unified interface all the devices with similar needs.
> 
> What "other devices with similar needs?"

I would expect Android phones to be able to offer up a different
charging method depending on policy, and wanting to be able to switch
charging methods.

> > >   Can it 
> > > be handled from userspace instead?
> > 
> > It could, at a great infrastructure cost, trying to get buy-in from
> > various distributions, at the very least.
> 
> For USB devices that _can_ be handled in userspace, we ask that they
> be
> done in userspace and not with a kernel driver.  Something that only
> does usb control messages with no other in-kernel api interfaces is
> ripe
> for a tiny userspace program using libusb.  Not for an in-kernel
> driver.

I don't quite understand why that would be when the kernel already
offers the API to be able to control it.

> > > You said this was for a "power supply" class driver.  It's not
> > > clear 
> > > what that means -- the devices you want to communicate with are 
> > > iphones, ipads, etc., not power supplies.
> > 
> > There's tons of "device" scope "power_supply" devices in the
> > kernel,
> > which don't power the Linux machine they're running on. Grep for
> > "POWER_SUPPLY_SCOPE_DEVICE" in the kernel, most wireless mice and
> > keyboards implement this already.
> 
> Yes, but those are real devices that the "Host" uses for power or
> something else.  wireless mice and keyboards already have kernel
> drivers
> so that's fine as well (but probably could be done from userspace
> too.)

It probably couldn't when the pipes to get key presses and the battery
info are the same.

> > > Under what circumstances would these messages need to get sent?  
> > 
> > User-space would control it by changing the device's
> > POWER_SUPPLY_PROP_CHARGE_TYPE to "Fast", if available.
> > 
> > eg.
> > # echo "Fast" > /sys/devices/pci0000:00/0000:00:14.0/usb3/3-
> > 1/power_supply/apple_mfi_fastcharge/charge_type
> 
> power_supply class is for the power supply that is charging the cpu
> you
> type that on.  Not for the cpu of an attached device, right?

Again, power_supply class has a scope attached to it, so having the
driver in the kernel would actually make it easier, with user-space not
having to care whether the device uses an "Apple" method or something
else.




[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux