From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753160AbaJCOHj (ORCPT ); Fri, 3 Oct 2014 10:07:39 -0400 Received: from cam-admin0.cambridge.arm.com ([217.140.96.50]:64776 "EHLO cam-admin0.cambridge.arm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752498AbaJCOHd (ORCPT ); Fri, 3 Oct 2014 10:07:33 -0400 Date: Fri, 3 Oct 2014 15:07:28 +0100 From: Mark Rutland To: "Rafael J. Wysocki" Cc: "linux-kernel@vger.kernel.org" , Mika Westerberg , "linux-acpi@vger.kernel.org" , "devicetree@vger.kernel.org" , Greg Kroah-Hartman , Linus Walleij , Alexandre Courbot , Dmitry Torokhov , Bryan Wu , Lee Jones , "grant.likely@linaro.org" , Arnd Bergmann , Aaron Lu , Darren Hart Subject: Re: [PATCH v3 09/15] leds: leds-gpio: Make use of device property API Message-ID: <20141003140728.GO26643@leverpostej> References: <1410868367-11056-1-git-send-email-mika.westerberg@linux.intel.com> <1852462.V1jlbi8OPt@vostro.rjw.lan> <83082601.pjR7TmeO0m@vostro.rjw.lan> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <83082601.pjR7TmeO0m@vostro.rjw.lan> User-Agent: Mutt/1.5.21 (2010-09-15) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, Oct 01, 2014 at 03:16:25AM +0100, Rafael J. Wysocki wrote: > From: Max Eliaser > > Make use of device property API in this driver so that both OF and ACPI > based system can use the same driver. > > Signed-off-by: Max Eliaser > Signed-off-by: Mika Westerberg > Signed-off-by: Rafael J. Wysocki > --- > drivers/leds/leds-gpio.c | 99 +++++++++++++++++++---------------------------- > 1 file changed, 42 insertions(+), 57 deletions(-) > > Index: linux-pm/drivers/leds/leds-gpio.c > =================================================================== > --- linux-pm.orig/drivers/leds/leds-gpio.c > +++ linux-pm/drivers/leds/leds-gpio.c > @@ -15,13 +15,11 @@ > #include > #include > #include > -#include > -#include > -#include > #include > #include > #include > #include > +#include > > struct gpio_led_data { > struct led_classdev cdev; > @@ -171,65 +169,59 @@ static inline int sizeof_gpio_leds_priv( > (sizeof(struct gpio_led_data) * num_leds); > } > > -/* Code to create from OpenFirmware platform devices */ > -#ifdef CONFIG_OF_GPIO > -static struct gpio_leds_priv *gpio_leds_create_of(struct platform_device *pdev) > +static int gpio_leds_create_led(struct device *dev, void *child, void *data) > +{ > + struct gpio_leds_priv *priv = data; > + struct gpio_led led = {}; > + const char *state = NULL; > + > + led.gpiod = devm_get_named_gpiod_from_child(dev, child, "gpios", 0); > + if (IS_ERR(led.gpiod)) > + return PTR_ERR(led.gpiod); > + > + device_child_property_read_string(dev, child, "label", &led.name); > + device_child_property_read_string(dev, child, "linux,default-trigger", > + &led.default_trigger); > + > + device_child_property_read_string(dev, child, "linux,default_state", > + &state); Do we really want "linux," properties in ACPI tables? Thanks, Mark.