From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S933640AbcGKHei (ORCPT ); Mon, 11 Jul 2016 03:34:38 -0400 Received: from mailout4.w1.samsung.com ([210.118.77.14]:53604 "EHLO mailout4.w1.samsung.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751046AbcGKHee (ORCPT ); Mon, 11 Jul 2016 03:34:34 -0400 MIME-version: 1.0 Content-type: text/plain; charset=UTF-8; format=flowed X-AuditID: cbfec7f4-f796c6d000001486-d1-57834c0678b9 Content-transfer-encoding: 8BIT Message-id: <57834C06.4020506@samsung.com> Date: Mon, 11 Jul 2016 09:34:30 +0200 From: Jacek Anaszewski User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130804 Thunderbird/17.0.8 To: =?UTF-8?B?UmFmYcWCIE1pxYJlY2tp?= Cc: Richard Purdie , "open list:LED SUBSYSTEM" , open list Subject: Re: [PATCH] leds: leds-gpio: Set of_node for created LED devices References: <1467982420-15718-1-git-send-email-zajec5@gmail.com> In-reply-to: <1467982420-15718-1-git-send-email-zajec5@gmail.com> X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFtrPLMWRmVeSWpSXmKPExsVy+t/xq7psPs3hBt1PLS0u75rDZrH1zTpG i927nrJarDmZ6sDisXPWXXaPPfN/sHp83iQXwBzFZZOSmpNZllqkb5fAlbHqzV72gr/8Fec3 3WRuYLzG08XIySEhYCLx88UxFghbTOLCvfVsILaQwFJGifV3REBsXgFBiR+T7wHVcHAwC8hL HLmUDRJmFjCTeNSyjrmLkQuo/BmjxKNZn9kg6rUk/v29BjaTRUBVYs6q/0wgNpuAIdCu12C2 qECExJ/T+1hBbBEBc4knfY+YIIb2MEps+sQNYgsLeEoc/vuPEeIeB4mfK7vBZnIKOErsvHSZ bQKjwCwk581COG8WkvMWMDKvYhRNLU0uKE5KzzXUK07MLS7NS9dLzs/dxAgJ1i87GBcfszrE KMDBqMTDG7i9KVyINbGsuDL3EKMEB7OSCO8Xz+ZwId6UxMqq1KL8+KLSnNTiQ4zSHCxK4rxz d70PERJITyxJzU5NLUgtgskycXBKNTAKaBTYXjP+6roupfuYTeKC2Wb39mfF/+9Rsj8SO8OA eSrHg98at64ckItcWKfawauj5sJupqfkutkm0kLq0Mu1RmJdDi9dF3zaYL2pfJqM6jXRjbNd RMVT7zO853TZemFN9ppYpdykrjCn8qnpZ3YuXlqSxrSvKJHxjcxs7nNxZ2a5XjBkWaLEUpyR aKjFXFScCAAfE/eoUgIAAA== Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Rafał, Thanks for the patch. On 07/08/2016 02:53 PM, Rafał Miłecki wrote: > When working with Device Tree we iterate over children of "gpio-leds" > compatible node and create LED device for each of them. We take care of > all common DT properties (label, default trigger, state, etc.), however > some triggers may want to support more of them. > > It could be useful for timer trigger to support setting delay on/off > values with Device Tree property. Or for transient trigger to support > e.g. duration property. > > We obviously should handle such properties in triggers, not in generic > code. To let trigger drivers read properties from DT node we need to set > of_node to point the relevant node. This change allows using all kind of > of helpers in e.g. "activate" callbacks. > > Signed-off-by: Rafał Miłecki > --- > drivers/leds/leds-gpio.c | 5 +++-- > 1 file changed, 3 insertions(+), 2 deletions(-) > > diff --git a/drivers/leds/leds-gpio.c b/drivers/leds/leds-gpio.c > index 8229f06..9b991d4 100644 > --- a/drivers/leds/leds-gpio.c > +++ b/drivers/leds/leds-gpio.c > @@ -165,6 +165,7 @@ static struct gpio_leds_priv *gpio_leds_create(struct platform_device *pdev) > return ERR_PTR(-ENOMEM); > > device_for_each_child_node(dev, child) { > + struct gpio_led_data *led_dat = &priv->leds[priv->num_leds]; This seems to be an unrelated change. > struct gpio_led led = {}; > const char *state = NULL; > > @@ -205,12 +206,12 @@ static struct gpio_leds_priv *gpio_leds_create(struct platform_device *pdev) > if (fwnode_property_present(child, "panic-indicator")) > led.panic_indicator = 1; > > - ret = create_gpio_led(&led, &priv->leds[priv->num_leds], > - dev, NULL); > + ret = create_gpio_led(&led, led_dat, dev, NULL); > if (ret < 0) { > fwnode_handle_put(child); > goto err; > } > + led_dat->cdev.dev->of_node = np; > priv->num_leds++; > } > > -- Best regards, Jacek Anaszewski