From patchwork Tue Dec 12 22:01:40 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dan Murphy X-Patchwork-Id: 121657 Delivered-To: patch@linaro.org Received: by 10.140.22.227 with SMTP id 90csp4680796qgn; Tue, 12 Dec 2017 14:02:06 -0800 (PST) X-Google-Smtp-Source: ACJfBosfGIREKgFiptonIpzN9lUTQ/DGymJX3PTFpKOLnlJWBxTAsI1TURxkp/zku23GQyDyUwKv X-Received: by 10.84.168.198 with SMTP id f64mr3719500plb.324.1513116126345; Tue, 12 Dec 2017 14:02:06 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1513116126; cv=none; d=google.com; s=arc-20160816; b=ZcqMTz0sC2CZP0qJgVKAVjgZ8teXXDRZNBwuyOvEquVr9JbJ6wS+5ArEvn9CIKr66F 7gX7IN/JYfOMh2A1N4ehpJh+lfPEbw+2/ahZqBcNHSPT4pjpYrrPmegbv5iBycWCB6TF xYHMIOs0mB8OtsmRLeru+OmxrlcNzJHIcplJEPHopwcgr/9mwmpouBEJOBbcBzkiul0E kdW2VAo3iAlViK6kKGCaXIFglFBortNEDqmyQmo4C9eucSDq9AkHk8VZzudnd2cIxFzX OvSNJJIaW5r9lH8y/w2GNfqbNgF1GLRB0p89AT+BGNZjPhoCjpDYCOep770R6W1v9rFv pfYw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:dkim-signature :arc-authentication-results; bh=G4AJ9ifi6Fdzofzo31VFmTSfA6JetyCrxQ6wRahQ/xc=; b=A7gnwhYkApv0FrMw8gh1IbIC5NxrsAqQMxy9C9SsdMYFLzIJu6RtLIKIP9xrdMUR4j D6D1IHgIEGhjMTVXL1Dlxho9i3v1BEiRiEyK8WKcd5SzUJ7u+lfJyglp9WA7OA3cIZoB U/xGSPLzRISjVSs6P9E05xzqWiozC2T8x7E8YJ7ZoIzl2hYISNZZXoO1DX1WsoX8/oG4 ULpiVCDhWi/7iEYIqPcQW32h6J3nAN1V6FS/60CLwl08FINdUshjFfvq9L4SxPpz0V2t 7A3mqfr/bcZr8ywmsVd3sv8TI2rFApYixAjeRhVYFgxQ2CPrZmZICKvbtW0d6MxnMa4D efwg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@ti.com header.s=ti-com-17Q1 header.b=EEZNXQaR; spf=pass (google.com: best guess record for domain of linux-leds-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-leds-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=NONE dis=NONE) header.from=ti.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id l1si134480pld.20.2017.12.12.14.02.06 for ; Tue, 12 Dec 2017 14:02:06 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-leds-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@ti.com header.s=ti-com-17Q1 header.b=EEZNXQaR; spf=pass (google.com: best guess record for domain of linux-leds-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-leds-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=NONE dis=NONE) header.from=ti.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752711AbdLLWCF (ORCPT ); Tue, 12 Dec 2017 17:02:05 -0500 Received: from fllnx210.ext.ti.com ([198.47.19.17]:24954 "EHLO fllnx210.ext.ti.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752658AbdLLWCD (ORCPT ); Tue, 12 Dec 2017 17:02:03 -0500 Received: from dlelxv90.itg.ti.com ([172.17.2.17]) by fllnx210.ext.ti.com (8.15.1/8.15.1) with ESMTP id vBCM1mPm015505; Tue, 12 Dec 2017 16:01:48 -0600 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ti.com; s=ti-com-17Q1; t=1513116108; bh=vXHDx7XkhZ4O4Ewglc7Qfyk1b57OaG81tUBr7oxN2HU=; h=From:To:CC:Subject:Date:In-Reply-To:References; b=EEZNXQaRoyoe/N4ha9hTpgpMfkUkPsWMk7AEEBaRh1HcMr+dG4likKZrIERSOrIg2 m2oROM0ghUE3R3tQXaE139BTzXlGMx3wKCnuywRWW4D/m5oWZvNiSoeWP75syJDwC5 gtmLSpkWTtnOUJuXtub6j/ld8b7zqbDXKUE1S5FY= Received: from DFLE110.ent.ti.com (dfle110.ent.ti.com [10.64.6.31]) by dlelxv90.itg.ti.com (8.14.3/8.13.8) with ESMTP id vBCM1mBP022642; Tue, 12 Dec 2017 16:01:48 -0600 Received: from DFLE105.ent.ti.com (10.64.6.26) by DFLE110.ent.ti.com (10.64.6.31) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.1.845.34; Tue, 12 Dec 2017 16:01:48 -0600 Received: from dlep32.itg.ti.com (157.170.170.100) by DFLE105.ent.ti.com (10.64.6.26) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_RSA_WITH_AES_256_CBC_SHA) id 15.1.845.34 via Frontend Transport; Tue, 12 Dec 2017 16:01:48 -0600 Received: from legion.dal.design.ti.com (legion.dal.design.ti.com [128.247.22.53]) by dlep32.itg.ti.com (8.14.3/8.13.8) with ESMTP id vBCM1mUo014054; Tue, 12 Dec 2017 16:01:48 -0600 Received: from localhost (a0272616local-lt.dhcp.ti.com [172.22.69.253]) by legion.dal.design.ti.com (8.11.7p1+Sun/8.11.7) with ESMTP id vBCM1lx11344; Tue, 12 Dec 2017 16:01:48 -0600 (CST) From: Dan Murphy To: , , , , CC: , , , Dan Murphy Subject: [PATCH v4 3/6] leds: lp8860: Update the dt parsing for LED labeling Date: Tue, 12 Dec 2017 16:01:40 -0600 Message-ID: <20171212220143.31210-4-dmurphy@ti.com> X-Mailer: git-send-email 2.12.2 In-Reply-To: <20171212220143.31210-1-dmurphy@ti.com> References: <20171212220143.31210-1-dmurphy@ti.com> MIME-Version: 1.0 X-EXCLAIMER-MD-CONFIG: e1e8a2fd-e40a-4ac6-ac9b-f7e9cc9ee180 Sender: linux-leds-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-leds@vger.kernel.org Update the DT parsing for the label node so that the label is retrieved from the device child as opposed to being part of the parent. This will align this driver with the LED binding documentation Documentation/devicetree/bindings/leds/common.txt Signed-off-by: Dan Murphy --- v4 - Fix checkpatch warning for code indentation - https://patchwork.kernel.org/patch/10108157/ v3 - Changed the label generation to pull the name from the i2c device id as opposed to pulling the id from the parent dt node since that will just be led-controller - https://patchwork.kernel.org/patch/10093753/ v2 - no changes drivers/leds/leds-lp8860.c | 23 ++++++++++++----------- 1 file changed, 12 insertions(+), 11 deletions(-) -- 2.15.0.124.g7668cbc60 diff --git a/drivers/leds/leds-lp8860.c b/drivers/leds/leds-lp8860.c index 3e70775a2d54..46578fbc36be 100644 --- a/drivers/leds/leds-lp8860.c +++ b/drivers/leds/leds-lp8860.c @@ -22,6 +22,7 @@ #include #include #include +#include #define LP8860_DISP_CL1_BRT_MSB 0x00 #define LP8860_DISP_CL1_BRT_LSB 0x01 @@ -86,8 +87,6 @@ #define LP8860_CLEAR_FAULTS 0x01 -#define LP8860_DISP_LED_NAME "display_cluster" - /** * struct lp8860_led - * @lock - Lock for reading/writing the device @@ -107,7 +106,7 @@ struct lp8860_led { struct regmap *eeprom_regmap; struct gpio_desc *enable_gpio; struct regulator *regulator; - const char *label; + char label[LED_MAX_NAME_SIZE]; }; struct lp8860_eeprom_reg { @@ -365,19 +364,21 @@ static int lp8860_probe(struct i2c_client *client, int ret; struct lp8860_led *led; struct device_node *np = client->dev.of_node; + struct device_node *child_node; + const char *name; led = devm_kzalloc(&client->dev, sizeof(*led), GFP_KERNEL); if (!led) return -ENOMEM; - led->label = LP8860_DISP_LED_NAME; - - if (client->dev.of_node) { - ret = of_property_read_string(np, "label", &led->label); - if (ret) { - dev_err(&client->dev, "Missing label in dt\n"); - return -EINVAL; - } + for_each_available_child_of_node(np, child_node) { + ret = of_property_read_string(child_node, "label", &name); + if (!ret) + snprintf(led->label, sizeof(led->label), "%s:%s", + id->name, name); + else + snprintf(led->label, sizeof(led->label), + "%s::display_cluster", id->name); } led->enable_gpio = devm_gpiod_get_optional(&client->dev,