[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CACna6rwU_55+xi3ZtZRAaxiCeBmZGSfMZcMtuRdbj-wV_vj+Lg@mail.gmail.com>
Date: Thu, 15 Sep 2016 15:33:19 +0200
From: Rafał Miłecki <zajec5@...il.com>
To: Pavel Machek <pavel@....cz>
Cc: Greg KH <gregkh@...uxfoundation.org>,
Peter Chen <hzpeterchen@...il.com>,
Richard Purdie <rpurdie@...ys.net>,
Jacek Anaszewski <j.anaszewski@...sung.com>,
Felipe Balbi <balbi@...nel.org>,
"linux-usb@...r.kernel.org" <linux-usb@...r.kernel.org>,
Rafał Miłecki <rafal@...ecki.pl>,
Jonathan Corbet <corbet@....net>,
Ezequiel Garcia <ezequiel@...guardiasur.com.ar>,
Matthias Brugger <mbrugger@...e.com>,
Stephan Linz <linz@...pro.net>,
Boris Brezillon <boris.brezillon@...e-electrons.com>,
open list <linux-kernel@...r.kernel.org>,
"open list:DOCUMENTATION" <linux-doc@...r.kernel.org>,
"open list:LED SUBSYSTEM" <linux-leds@...r.kernel.org>
Subject: Re: [PATCH V5] leds: trigger: Introduce a USB port trigger
On 15 September 2016 at 14:56, Pavel Machek <pavel@....cz> wrote:
> On Fri 2016-09-09 13:31:10, Rafał Miłecki wrote:
>> On 9 September 2016 at 13:05, Greg KH <gregkh@...uxfoundation.org> wrote:
>> > On Fri, Sep 09, 2016 at 05:34:40PM +0800, Peter Chen wrote:
>> >> On Thu, Sep 08, 2016 at 06:08:24PM +0200, Rafał Miłecki wrote:
>> >> > From: Rafał Miłecki <rafal@...ecki.pl>
>> >> >
>> >> > This commit adds a new trigger responsible for turning on LED when USB
>> >> > device gets connected to the selected USB port. This can can useful for
>> >> > various home routers that have USB port(s) and a proper LED telling user
>> >> > a device is connected.
>> >> >
>> >> > The trigger gets its documentation file but basically it just requires
>> >> > enabling it and selecting USB ports (e.g. echo 1 > ports/usb1-1).
>> >> >
>> >> > There was a long discussion on design of this driver. Its current state
>> >> > is a result of picking them most adjustable solution as others couldn't
>> >> > handle all cases.
>> >> >
>> >> > 1) It wasn't possible for the driver to register separated trigger for
>> >> > each USB port. Some physical USB ports are handled by more than one
>> >> > controller and so by more than one USB port. E.g. USB 2.0 physical
>> >> > port may be handled by OHCI's port and EHCI's port.
>> >> > It's also not possible to assign more than 1 trigger to a single LED
>> >> > and implementing such feature would be tricky due to syncing triggers
>> >> > and sysfs conflicts with old triggers.
>> >> >
>> >> > 2) Another idea was to register trigger per USB hub. This wouldn't allow
>> >> > handling devices with multiple USB LEDs and controllers (hubs)
>> >> > controlling more than 1 physical port. It's common for hubs to have
>> >> > few ports and each may have its own LED.
>> >> >
>> >> > This final trigger is highly flexible. It allows selecting any USB ports
>> >> > for any LED. It was also modified (compared to the initial version) to
>> >> > allow choosing ports rather than having user /guess/ proper names. It
>> >> > was successfully tested on SmartRG SR400ac which has 3 USB LEDs,
>> >> > 2 physical ports and 3 controllers.
>> >> >
>> >> > Another planned feature is support for LED reacting to the USB activity.
>> >> > This can be implemented with another sysfs file for setting mode. The
>> >> > default mode wouldn't change so there won't be ABI breakage and such
>> >> > feature can be safely implemented later.
>> >> >
>> >>
>> >> It has such driver at: drivers/usb/common/led.c
>> >
>> > Ugh, I thought I had seen something like this before...
>> >
>> > Rafał, can you just use this in-kernel code instead?
>>
>> I really don't think I can because of all the reasons I carefully
>> listed in the commit message.
>>
>> Have you took a look at that simple driver? It does nothing I need.
>> Its design doesn't allow implementing features I clearly listed in the
>> commit message.
>
> In any case, the new driver should probably go near the old one, at
> the very least.
I can do that. Anyone objects?
--
Rafał
Powered by blists - more mailing lists