From: "Rafał Miłecki" <zajec5@gmail.com>
To: Pavel Machek <pavel@ucw.cz>
Cc: "Jacek Anaszewski" <j.anaszewski@samsung.com>,
"Jacek Anaszewski" <jacek.anaszewski@gmail.com>,
"Alan Stern" <stern@rowland.harvard.edu>,
"Richard Purdie" <rpurdie@rpsys.net>,
"Felipe Balbi" <balbi@kernel.org>,
"Greg KH" <gregkh@linuxfoundation.org>,
"Peter Chen" <hzpeterchen@gmail.com>,
"linux-usb@vger.kernel.org" <linux-usb@vger.kernel.org>,
"Rafał Miłecki" <rafal@milecki.pl>,
"Jonathan Corbet" <corbet@lwn.net>,
"Ezequiel Garcia" <ezequiel@vanguardiasur.com.ar>,
"Stephan Linz" <linz@li-pro.net>,
"Matthias Brugger" <mbrugger@suse.com>,
"Boris Brezillon" <boris.brezillon@free-electrons.com>,
"Geert Uytterhoeven" <geert@linux-m68k.org>,
"open list:DOCUMENTATION" <linux-doc@vger.kernel.org>,
"open list" <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH RFC V3.5] leds: trigger: Introduce an USB port trigger
Date: Mon, 29 Aug 2016 11:01:21 +0200 [thread overview]
Message-ID: <CACna6rzzmvAzS-yaQL8oKVjLkMwotYcwz+=MbjMLs0ordkYb0w@mail.gmail.com> (raw)
In-Reply-To: <20160829084127.GA10529@amd>
On 29 August 2016 at 10:41, Pavel Machek <pavel@ucw.cz> wrote:
> On Mon 2016-08-29 10:21:48, Rafał Miłecki wrote:
>> On 29 August 2016 at 10:05, Pavel Machek <pavel@ucw.cz> wrote:
>> >> >2) Having "ports" subdir with RW files, one per each existing physical port
>> >> >In this situation we don't need "new_port" or "remove_port". If we
>> >> >want port to be observable we just do:
>> >> >echo 1 > 1-1
>> >> >Implementing this solution needs reading more details from USB subsystem.
>> >>
>> >> The situation here is clear IMO - the number of USB ports in the system
>> >> can change dynamically. I'm not sure if this can be handled easily with
>> >> sysfs, where we usually expose an interface for known set of settings.
>> >> struct attribute arrays are usually defined statically at the compile
>> >> time and filled with the variables, that are created with DEVICE_ATTR
>> >> macro.
>> >
>> > sysfs already exposes current view of all usb devices. Just use it.
>>
>> We're talking about USB ports not devices, but this is still true. You
>> can find them in
>> /sys/bus/usb/devices/*/*-port*
>>
>> I can't see how we could use them. How could I develop sysfs interface
>> in /sys/class/leds/*/ to allow userspace assigning USB ports to the
>> LED trigger?
>
> Create /sys/bus/usb/devices/*/*-port*/led_trigger file?
>
> (Do you plan one USB trigger, or multiple ones?)
I guess it means slightly more complex cross-subsystem interaction I
may need help to understand.
First of all: I will need multiple USB port triggers. It's because
there are many devices with multiple USB LEDs. Some complex (but
existing!) case:
USB 2.0 white LED - activated by USB 2.0 dev in USB 2.0 port
USB 3.0 white LED - activated by USB 2.0 dev in USB 3.0 port
USB 3.0 green LED - activated by USB 3.0 dev in USB 3.0 port
(This devices has separated EHCI and XHCI controllers, so we have 2
logical ports for 1 physical one)
So I guess I'll need something more complex like
/sys/bus/usb/devices/*/*-port*/bcm53xx:white:usb2_led_trigger
/sys/bus/usb/devices/*/*-port*/bcm53xx:white:usb3_led_trigger
/sys/bus/usb/devices/*/*-port*/bcm53xx:green:usb3_led_trigger
in case every USB led has "usbport" trigger assigned.
How can I create above sysfs files? Should I write code for this in
ledtrig-usbport.c? That would require accessing struct usb_hub and
then struct usb_port, but both of them are internal structs defined in
drivers/usb/core/hub.h. How could I work with that?
--
Rafał
next prev parent reply other threads:[~2016-08-29 9:01 UTC|newest]
Thread overview: 35+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-08-23 22:03 [PATCH V3] leds: trigger: Introduce an USB port trigger Rafał Miłecki
2016-08-24 9:21 ` Greg KH
[not found] ` <20160824092129.GA23180-U8xfFu+wG4EAvxtiuMwx3w@public.gmane.org>
2016-08-24 9:26 ` Rafał Miłecki
2016-08-24 21:04 ` Greg KH
2016-08-24 9:22 ` Greg KH
2016-08-24 9:29 ` Rafał Miłecki
2016-08-24 21:04 ` Greg KH
2016-08-25 5:14 ` Rafał Miłecki
2016-08-25 12:53 ` Greg KH
2016-08-25 18:39 ` Bjørn Mork
2016-08-25 20:55 ` Greg KH
2016-08-24 10:49 ` Matthias Brugger
2016-08-24 11:02 ` Rafał Miłecki
2016-08-24 11:27 ` Matthias Brugger
2016-08-24 17:52 ` [PATCH RFC V3.5] " Rafał Miłecki
2016-08-24 18:48 ` Bjørn Mork
2016-08-24 20:42 ` Rafał Miłecki
2016-08-25 8:03 ` Jacek Anaszewski
2016-08-25 8:27 ` Matthias Brugger
2016-08-25 8:29 ` Rafał Miłecki
2016-08-25 9:04 ` Jacek Anaszewski
2016-08-25 14:30 ` Alan Stern
2016-08-25 18:48 ` Jacek Anaszewski
2016-08-25 19:35 ` Alan Stern
2016-08-25 20:08 ` Alan Stern
2016-08-26 15:58 ` Rafał Miłecki
2016-08-29 7:41 ` Jacek Anaszewski
2016-08-29 8:05 ` Pavel Machek
2016-08-29 8:21 ` Rafał Miłecki
2016-08-29 8:41 ` Pavel Machek
2016-08-29 9:01 ` Rafał Miłecki [this message]
2016-08-26 19:50 ` Pavel Machek
2016-08-29 8:29 ` Jacek Anaszewski
2016-08-26 19:48 ` Pavel Machek
2016-08-25 8:32 ` Rafał Miłecki
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to='CACna6rzzmvAzS-yaQL8oKVjLkMwotYcwz+=MbjMLs0ordkYb0w@mail.gmail.com' \
--to=zajec5@gmail.com \
--cc=balbi@kernel.org \
--cc=boris.brezillon@free-electrons.com \
--cc=corbet@lwn.net \
--cc=ezequiel@vanguardiasur.com.ar \
--cc=geert@linux-m68k.org \
--cc=gregkh@linuxfoundation.org \
--cc=hzpeterchen@gmail.com \
--cc=j.anaszewski@samsung.com \
--cc=jacek.anaszewski@gmail.com \
--cc=linux-doc@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-usb@vger.kernel.org \
--cc=linz@li-pro.net \
--cc=mbrugger@suse.com \
--cc=pavel@ucw.cz \
--cc=rafal@milecki.pl \
--cc=rpurdie@rpsys.net \
--cc=stern@rowland.harvard.edu \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).