All of lore.kernel.org
 help / color / mirror / Atom feed
From: Anton Vorontsov <avorontsov@ru.mvista.com>
To: Grant Likely <grant.likely@secretlab.ca>
Cc: Stephen Rothwell <sfr@canb.auug.org.au>,
	linux-kernel@vger.kernel.org, linuxppc-dev@ozlabs.org,
	Richard Purdie <rpurdie@rpsys.net>,
	Trent Piepho <tpiepho@freescale.com>
Subject: Re: [PATCH 2/2] leds: Support OpenFirmware led bindings
Date: Mon, 28 Jul 2008 22:02:04 +0400	[thread overview]
Message-ID: <20080728180204.GA13190@polina.dev.rtsoft.ru> (raw)
In-Reply-To: <20080728170914.GA21265@secretlab.ca>

On Mon, Jul 28, 2008 at 11:09:14AM -0600, Grant Likely wrote:
[...]
> > >> +- 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.

Maybe we can encode leds into devices themselves, via phandles?

E.g.

sata@101 {
	compatible = "fsl,sata";
	leds = <&red_led>;
};

And then the OF GPIO LEDs driver could do something like:

char *ide_disk_trigger_compatibles[] = {
	"fsl,sata",
	"ide-generic",
	...
};

for_each_node_with_leds_property(node, led_phandle) {
	if (if_ide_disk_compatible(node)) {
		struct gpio_led *led = phandle_to_led(led_phandle);

		led->default_trigger = "ide-disk";
	}
}

-- 
Anton Vorontsov
email: cbouatmailru@gmail.com
irc://irc.freenode.net/bd2

WARNING: multiple messages have this Message-ID (diff)
From: Anton Vorontsov <avorontsov@ru.mvista.com>
To: Grant Likely <grant.likely@secretlab.ca>
Cc: Trent Piepho <tpiepho@freescale.com>,
	linux-kernel@vger.kernel.org, Richard Purdie <rpurdie@rpsys.net>,
	Stephen Rothwell <sfr@canb.auug.org.au>,
	Kumar Gala <galak@kernel.crashing.org>,
	linuxppc-dev@ozlabs.org
Subject: Re: [PATCH 2/2] leds: Support OpenFirmware led bindings
Date: Mon, 28 Jul 2008 22:02:04 +0400	[thread overview]
Message-ID: <20080728180204.GA13190@polina.dev.rtsoft.ru> (raw)
In-Reply-To: <20080728170914.GA21265@secretlab.ca>

On Mon, Jul 28, 2008 at 11:09:14AM -0600, Grant Likely wrote:
[...]
> > >> +- 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.

Maybe we can encode leds into devices themselves, via phandles?

E.g.

sata@101 {
	compatible = "fsl,sata";
	leds = <&red_led>;
};

And then the OF GPIO LEDs driver could do something like:

char *ide_disk_trigger_compatibles[] = {
	"fsl,sata",
	"ide-generic",
	...
};

for_each_node_with_leds_property(node, led_phandle) {
	if (if_ide_disk_compatible(node)) {
		struct gpio_led *led = phandle_to_led(led_phandle);

		led->default_trigger = "ide-disk";
	}
}

-- 
Anton Vorontsov
email: cbouatmailru@gmail.com
irc://irc.freenode.net/bd2

  reply	other threads:[~2008-07-28 18:02 UTC|newest]

Thread overview: 117+ 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-14 16:41 ` Anton Vorontsov
2008-07-15  3:10 ` Stephen Rothwell
2008-07-15  3:10   ` Stephen Rothwell
2008-07-15 12:38   ` Anton Vorontsov
2008-07-15 12:38     ` Anton Vorontsov
2008-07-15 12:40     ` [PATCH v2] " Anton Vorontsov
2008-07-15 12:40       ` Anton Vorontsov
2008-07-15 12:54       ` Richard Purdie
2008-07-15 12:54         ` Richard Purdie
2008-07-15 13:24         ` Anton Vorontsov
2008-07-15 13:24           ` Anton Vorontsov
2008-07-15 13:31           ` Richard Purdie
2008-07-15 13:31             ` Richard Purdie
2008-07-15 14:23             ` Anton Vorontsov
2008-07-15 14:23               ` Anton Vorontsov
2008-07-15 14:43               ` Richard Purdie
2008-07-15 14:43                 ` Richard Purdie
2008-07-15 15:19                 ` [PATCH v3] " Anton Vorontsov
2008-07-15 15:19                   ` Anton Vorontsov
2008-07-16 23:18                   ` Trent Piepho
2008-07-16 23:18                     ` Trent Piepho
2008-07-17  4:15                     ` Grant Likely
2008-07-17  4:15                       ` Grant Likely
2008-07-17  5:13                       ` Trent Piepho
2008-07-17  5:13                         ` Trent Piepho
2008-07-17 13:55                         ` Anton Vorontsov
2008-07-17 13:55                           ` Anton Vorontsov
2008-07-17 20:01                           ` Trent Piepho
2008-07-17 20:01                             ` Trent Piepho
2008-07-17 14:05                       ` Anton Vorontsov
2008-07-17 14:05                         ` Anton Vorontsov
2008-07-17 14:13                         ` Anton Vorontsov
2008-07-17 14:13                           ` Anton Vorontsov
2008-07-17 15:04                           ` Grant Likely
2008-07-17 15:04                             ` Grant Likely
2008-07-17 15:20                             ` Anton Vorontsov
2008-07-17 15:20                               ` Anton Vorontsov
2008-07-17 18:05                               ` Grant Likely
2008-07-17 18:05                                 ` Grant Likely
2008-07-17 20:18                                 ` Trent Piepho
2008-07-17 20:18                                   ` Trent Piepho
2008-07-17 20:49                                   ` Grant Likely
2008-07-17 20:49                                     ` Grant Likely
2008-07-17 23:42                                   ` Anton Vorontsov
2008-07-17 23:42                                     ` Anton Vorontsov
2008-07-18  5:09                                     ` Grant Likely
2008-07-18  5:09                                       ` Grant Likely
2008-07-18  9:20                                     ` Trent Piepho
2008-07-18  9:20                                       ` Trent Piepho
2008-07-18 10:05                                       ` Anton Vorontsov
2008-07-18 10:05                                         ` Anton Vorontsov
2008-07-19 21:08                                         ` PIXIS gpio controller and gpio flags Trent Piepho
2008-07-19 21:08                                           ` Trent Piepho
2008-07-21 17:53                                           ` Anton Vorontsov
2008-07-21 17:53                                             ` Anton Vorontsov
2008-07-21 21:12                                             ` Trent Piepho
2008-07-21 21:12                                               ` Trent Piepho
2008-07-23 14:56                                               ` Anton Vorontsov
2008-07-23 14:56                                                 ` Anton Vorontsov
2008-07-23 23:42                                                 ` Trent Piepho
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-25 16:48                                                     ` Anton Vorontsov
2008-07-26  8:26                                                     ` Trent Piepho
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 20:38                                           ` Trent Piepho
2008-07-25 21:01                                           ` [PATCH 1/2] leds: make the default trigger name const Trent Piepho
2008-07-25 21:01                                             ` Trent Piepho
2008-07-27  2:08                                             ` Grant Likely
2008-07-27  2:08                                               ` Grant Likely
2008-07-27 13:11                                               ` Stephen Rothwell
2008-07-27 13:11                                                 ` Stephen Rothwell
2008-07-28  1:56                                                 ` Trent Piepho
2008-07-28  1:56                                                   ` Trent Piepho
2008-07-28  2:02                                                   ` [PATCH v2] " Trent Piepho
2008-07-28  2:02                                                     ` Trent Piepho
2008-07-28  9:53                                                   ` [PATCH 1/2] " Anton Vorontsov
2008-07-28  9:53                                                     ` Anton Vorontsov
2008-08-29  1:22                                                     ` Trent Piepho
2008-08-29  1:22                                                       ` Trent Piepho
2008-07-25 21:01                                           ` [PATCH 2/2] leds: Support OpenFirmware led bindings Trent Piepho
2008-07-25 21:01                                             ` Trent Piepho
2008-07-27  2:21                                             ` Grant Likely
2008-07-27  2:21                                               ` Grant Likely
2008-07-28  8:31                                               ` Trent Piepho
2008-07-28  8:31                                                 ` Trent Piepho
2008-07-28 17:09                                                 ` Grant Likely
2008-07-28 17:09                                                   ` Grant Likely
2008-07-28 18:02                                                   ` Anton Vorontsov [this message]
2008-07-28 18:02                                                     ` Anton Vorontsov
2008-07-28 18:06                                                     ` Grant Likely
2008-07-28 18:06                                                       ` Grant Likely
2008-07-28 18:26                                                     ` Trent Piepho
2008-07-28 18:26                                                       ` Trent Piepho
2008-07-28 18:49                                                       ` Grant Likely
2008-07-28 18:49                                                         ` Grant Likely
2008-07-28 18:51                                                       ` Anton Vorontsov
2008-07-28 18:51                                                         ` Anton Vorontsov
2008-07-28 19:11                                                         ` Trent Piepho
2008-07-28 19:11                                                           ` Trent Piepho
2008-07-17 21:29                   ` [PATCH v3] leds: implement OpenFirmare GPIO LED driver Nate Case
2008-07-17 21:29                     ` Nate Case
2008-07-16 23:22                 ` [PATCH v2] " Trent Piepho
2008-07-16 23:22                   ` Trent Piepho
2008-07-17  5:59 ` [PATCH] " Segher Boessenkool
2008-07-17  5:59   ` Segher Boessenkool
2008-07-17 11:07   ` Anton Vorontsov
2008-07-17 11:07     ` Anton Vorontsov
2008-07-17 14:58     ` Sean MacLennan
2008-07-17 14:58       ` Sean MacLennan
2008-07-17 15:07     ` Grant Likely
2008-07-17 15:07       ` Grant Likely
2008-07-18  3:35       ` David Gibson
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=20080728180204.GA13190@polina.dev.rtsoft.ru \
    --to=avorontsov@ru.mvista.com \
    --cc=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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.