From: Grant Likely <grant.likely@secretlab.ca>
To: Trent Piepho <tpiepho@freescale.com>
Cc: Stephen Rothwell <sfr@canb.auug.org.au>,
linux-kernel@vger.kernel.org, linuxppc-dev@ozlabs.org,
Richard Purdie <rpurdie@rpsys.net>
Subject: Re: [PATCH 2/2] leds: Support OpenFirmware led bindings
Date: Mon, 28 Jul 2008 11:09:14 -0600 [thread overview]
Message-ID: <20080728170914.GA21265@secretlab.ca> (raw)
In-Reply-To: <Pine.LNX.4.64.0807272159500.26456@t2.domain.actdsltmp>
On Mon, Jul 28, 2008 at 01:31:47AM -0700, Trent Piepho wrote:
> On Sat, 26 Jul 2008, Grant Likely wrote:
> > On Fri, Jul 25, 2008 at 02:01:45PM -0700, Trent Piepho wrote:
> >> Add bindings to support LEDs defined as of_platform devices in addition to
> >> the existing bindings for platform devices.
> >
> >> +- gpios : Should specify the LED GPIO.
> >
> > Question: it is possible/desirable for a single LED to be assigned
> > multiple GPIO pins? Say, for a tri-color LED? (I'm fishing for
> > opinions; I really don't know if it would be a good idea or not)
>
> Good question. The Linux LED layer has no concept of multi-color LEDs, so
> it's more difficult that just adding support to the gpio led driver. I have
> a device with a tri-color red/green/orange LED and this posed some
> difficulty. It's defined as independent red and greed LEDs, which is mostly
> fine, except I wanted it to flash orange. I can make both the red LED and
> green LED flash, but there is nothing to insure their flashing remains in
> sync.
>
> Other OF bindings allow multiple GPIOs to be listed in a gpios property, so
> that's not a problem if someone wants to do that. There would need to be a
> way to define what the gpios mean. I don't think it's worthwhile to come up
> with a binding for that until there is a real user.
True. The binding can be extended at a later date anyway. It might be
as simple as adding an array of strings that define what each gpio value
means. ie. if 2 gpio lines are used for a led, then that maps to
numbers in the range [0, 1, 2, 3]. It could be encoded thus:
led-states = "off", "green", "red", "orange";
The driver would then need to interpret/adapt these strings to something
useful in the LED driver. Just a thought.
> >> +- function : (optional) This parameter, if present, is a string
> >> + defining the function of the LED. It can be used to put the LED
> >> + under software control, e.g. Linux LED triggers like "heartbeat",
> >> + "ide-disk", and "timer". Or it could be used to attach a hardware
> >> + signal to the LED, e.g. a SoC that can configured to put a SATA
> >> + activity signal on a GPIO line.
> >
> > This makes me nervous. It exposes Linux internal implementation details
> > into the device tree data. If you want to have a property that
> > describes the LED usage, then the possible values and meanings should be
> > documented here.
>
> Should it be a linux specific property then? I could list all the current
> linux triggers, but enumerating every possible function someone might want
> to assign to an LED seems hopeless.
I don't like adding Linux specific properties to the device tree if at
all possible, and I really don't like encoding Linux internal details
(like trigger names). They can change between kernel versions and
breaking compatibility with older device trees is strongly avoided.
That's why so much effort goes into getting bindings correct the first
time.
I'd rather see the device tree provide 'hints' toward the expected usage
and if a platform needs something specific, then the platform specific
code should setup the trigger.
Regardless, any hints provided by the binding must be documented. In
most cases the gpio-leds driver should be able to figure out which trigger
to bind without platform code intervention.
g.
next prev parent reply other threads:[~2008-07-28 17:09 UTC|newest]
Thread overview: 59+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-07-14 16:41 [PATCH] leds: implement OpenFirmare GPIO LED driver Anton Vorontsov
2008-07-15 3:10 ` Stephen Rothwell
2008-07-15 12:38 ` Anton Vorontsov
2008-07-15 12:40 ` [PATCH v2] " Anton Vorontsov
2008-07-15 12:54 ` Richard Purdie
2008-07-15 13:24 ` Anton Vorontsov
2008-07-15 13:31 ` Richard Purdie
2008-07-15 14:23 ` Anton Vorontsov
2008-07-15 14:43 ` Richard Purdie
2008-07-15 15:19 ` [PATCH v3] " Anton Vorontsov
2008-07-16 23:18 ` Trent Piepho
2008-07-17 4:15 ` Grant Likely
2008-07-17 5:13 ` Trent Piepho
2008-07-17 13:55 ` Anton Vorontsov
2008-07-17 20:01 ` Trent Piepho
2008-07-17 14:05 ` Anton Vorontsov
2008-07-17 14:13 ` Anton Vorontsov
2008-07-17 15:04 ` Grant Likely
2008-07-17 15:20 ` Anton Vorontsov
2008-07-17 18:05 ` Grant Likely
2008-07-17 20:18 ` Trent Piepho
2008-07-17 20:49 ` Grant Likely
2008-07-17 23:42 ` Anton Vorontsov
2008-07-18 5:09 ` Grant Likely
2008-07-18 9:20 ` Trent Piepho
2008-07-18 10:05 ` Anton Vorontsov
2008-07-19 21:08 ` PIXIS gpio controller and gpio flags Trent Piepho
2008-07-21 17:53 ` Anton Vorontsov
2008-07-21 21:12 ` Trent Piepho
2008-07-23 14:56 ` Anton Vorontsov
2008-07-23 23:42 ` Trent Piepho
2008-07-25 16:48 ` [RFC PATCH] of_gpio: implement of_get_gpio_flags() Anton Vorontsov
2008-07-26 8:26 ` Trent Piepho
2008-07-25 20:38 ` [PATCH v3] leds: implement OpenFirmare GPIO LED driver Trent Piepho
2008-07-25 21:01 ` [PATCH 1/2] leds: make the default trigger name const Trent Piepho
2008-07-27 2:08 ` Grant Likely
2008-07-27 13:11 ` Stephen Rothwell
2008-07-28 1:56 ` Trent Piepho
2008-07-28 2:02 ` [PATCH v2] " Trent Piepho
2008-07-28 9:53 ` [PATCH 1/2] " Anton Vorontsov
2008-08-29 1:22 ` Trent Piepho
2008-07-25 21:01 ` [PATCH 2/2] leds: Support OpenFirmware led bindings Trent Piepho
2008-07-27 2:21 ` Grant Likely
2008-07-28 8:31 ` Trent Piepho
2008-07-28 17:09 ` Grant Likely [this message]
2008-07-28 18:02 ` Anton Vorontsov
2008-07-28 18:06 ` Grant Likely
2008-07-28 18:26 ` Trent Piepho
2008-07-28 18:49 ` Grant Likely
2008-07-28 18:51 ` Anton Vorontsov
2008-07-28 19:11 ` Trent Piepho
2008-07-17 21:29 ` [PATCH v3] leds: implement OpenFirmare GPIO LED driver Nate Case
2008-07-16 23:22 ` [PATCH v2] " Trent Piepho
2008-07-17 5:59 ` [PATCH] " Segher Boessenkool
2008-07-17 11:07 ` Anton Vorontsov
2008-07-17 14:58 ` Sean MacLennan
2008-07-17 15:07 ` Grant Likely
2008-07-18 3:35 ` David Gibson
2008-07-18 4:44 ` Grant Likely
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=20080728170914.GA21265@secretlab.ca \
--to=grant.likely@secretlab.ca \
--cc=linux-kernel@vger.kernel.org \
--cc=linuxppc-dev@ozlabs.org \
--cc=rpurdie@rpsys.net \
--cc=sfr@canb.auug.org.au \
--cc=tpiepho@freescale.com \
/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).