From patchwork Fri Dec 1 16:56:12 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dan Murphy X-Patchwork-Id: 120356 Delivered-To: patch@linaro.org Received: by 10.140.22.227 with SMTP id 90csp1382864qgn; Fri, 1 Dec 2017 08:56:50 -0800 (PST) X-Google-Smtp-Source: AGs4zMYpwY/XkTMU4f3PHsngjsxkyNyTIylbBnSBINBjRmUTQuPbK0SOk3F7OqWm1sDRHPCb/U/M X-Received: by 10.84.140.131 with SMTP id 3mr6742930plt.394.1512147410683; Fri, 01 Dec 2017 08:56:50 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1512147410; cv=none; d=google.com; s=arc-20160816; b=EiieTHJR+aJZuJ3jncWA6Wdwp4AMNhpigWbH9E1+agQv/2hkDLGw+Bvo0PbBd92ar0 SJgfm7U7BTAWXw3ZVhXD82K/ciRumI48BPiv//yS6KgfQUGaz9/iG4v4wRTh88NhdA3C I7TzeMZQ1EGMLOYOwlry1jnyrmj8ejLP3o15YXLGwf8qh6VhUUHvaKxZsIMk7gHqM6JF WYAPCMUqi81SKI8T7o6Qdu0h3uaeAq5OaPnhjWeFZ4rlWhLkX5JqvyuiLI3JOvmEHLqy 4U+KTKVrgwGv2AN/+cltpXH41lz/Ky0gbTcCfv604LgR20ZY62/S0uc4zphwRO1W/2An VnAw== 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=LbCtAtHHqZZ+Qwkm/GCRgOsHSffwqnZLDkYxvokxr6U=; b=OnHzn1VT1jDzh+66IYYnN82gXgeqTPAAZXqOsLcEdMRBIRq94XHqItYFQJ5Objptw3 hRzhul1LVb9AZHnGX9ldU0wD86DPgdesvVbGJDAZwBxFUMgv/Jcf3IBLiI2irBt66Tem Zv2L5zH2xHbNQlP24d+D8/jE7sI2LALrK31i7llEQ+ZLLoTD0eoyX2RsyG/M63dTJv8V X27PSnEdh/Jz9cUTncD88n9AMNiFLjQAs/0RBb5mBxnPOVYeL5uZIJItd0f9wUP7hkdN 9EBL2ujZ5aEN8m/pwUwqBO3PsX/FJ/aG27DPtrvMH4CwmRdyh4+YW3rI4GDZfzUEPNWK WuVQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@ti.com header.s=ti-com-17Q1 header.b=eCs3UCU/; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-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 a7si5038785pgq.277.2017.12.01.08.56.50; Fri, 01 Dec 2017 08:56:50 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-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=eCs3UCU/; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-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 S1751443AbdLAQ4r (ORCPT + 28 others); Fri, 1 Dec 2017 11:56:47 -0500 Received: from lelnx194.ext.ti.com ([198.47.27.80]:20269 "EHLO lelnx194.ext.ti.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751254AbdLAQ4o (ORCPT ); Fri, 1 Dec 2017 11:56:44 -0500 Received: from dflxv15.itg.ti.com ([128.247.5.124]) by lelnx194.ext.ti.com (8.15.1/8.15.1) with ESMTP id vB1GuQCV020852; Fri, 1 Dec 2017 10:56:26 -0600 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ti.com; s=ti-com-17Q1; t=1512147386; bh=TrByKF+VHIq64vJTo3s6xKAgNvSs7NJ4NOQOEwd4I+s=; h=From:To:CC:Subject:Date:In-Reply-To:References; b=eCs3UCU/52D9OJkHZ6rDRSvDiji8EzxEhAw+MJuxO1guH2KHZepk1OWLWsaMgddaA LZPFkTe/EtVCMEV/Ic6jLaf1Q0wl1nIIwF1n7ASHld4zvUjAqRVvOI75uPe9v40mON 9BWISBxNp8i1SO7L9QsR0DI16QocfEoSwqK7H8MU= Received: from DLEE114.ent.ti.com (dlee114.ent.ti.com [157.170.170.25]) by dflxv15.itg.ti.com (8.14.3/8.13.8) with ESMTP id vB1GuQ5t016949; Fri, 1 Dec 2017 10:56:26 -0600 Received: from DLEE103.ent.ti.com (157.170.170.33) by DLEE114.ent.ti.com (157.170.170.25) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.1.845.34; Fri, 1 Dec 2017 10:56:25 -0600 Received: from dflp32.itg.ti.com (10.64.6.15) by DLEE103.ent.ti.com (157.170.170.33) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_RSA_WITH_AES_256_CBC_SHA) id 15.1.845.34 via Frontend Transport; Fri, 1 Dec 2017 10:56:25 -0600 Received: from legion.dal.design.ti.com (legion.dal.design.ti.com [128.247.22.53]) by dflp32.itg.ti.com (8.14.3/8.13.8) with ESMTP id vB1GuPDK013228; Fri, 1 Dec 2017 10:56:25 -0600 Received: from localhost (a0272616local-lt.dhcp.ti.com [172.22.70.55]) by legion.dal.design.ti.com (8.11.7p1+Sun/8.11.7) with ESMTP id vB1GuP303185; Fri, 1 Dec 2017 10:56:25 -0600 (CST) From: Dan Murphy To: , , CC: , , Dan Murphy Subject: [PATCH v6 5/6] leds: lp8860: Update the LED label generation Date: Fri, 1 Dec 2017 10:56:12 -0600 Message-ID: <20171201165613.10358-5-dmurphy@ti.com> X-Mailer: git-send-email 2.12.2 In-Reply-To: <20171201165613.10358-1-dmurphy@ti.com> References: <20171201165613.10358-1-dmurphy@ti.com> MIME-Version: 1.0 X-EXCLAIMER-MD-CONFIG: e1e8a2fd-e40a-4ac6-ac9b-f7e9cc9ee180 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Fix the LED label generation for the LP8860 to conform with the Documentation/devicetree/bindings/leds/common.txt document indicating the LED label should be part of a child node to the device parent. If no label is in the child node then the LED label is created based on the parent node name and the alternate name passed in. Signed-off-by: Dan Murphy --- v6 - New patch to use the new LED class API drivers/leds/leds-lp8860.c | 27 +++++++++++++++------------ 1 file changed, 15 insertions(+), 12 deletions(-) -- 2.15.0.124.g7668cbc60 diff --git a/drivers/leds/leds-lp8860.c b/drivers/leds/leds-lp8860.c index 3e70775a2d54..26bbfa144402 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 { @@ -318,7 +317,7 @@ static const struct regmap_config lp8860_regmap_config = { .max_register = LP8860_EEPROM_UNLOCK, .reg_defaults = lp8860_reg_defs, .num_reg_defaults = ARRAY_SIZE(lp8860_reg_defs), - .cache_type = REGCACHE_NONE, + .cache_type = REGCACHE_RBTREE, }; static const struct reg_default lp8860_eeprom_defs[] = { @@ -356,7 +355,7 @@ static const struct regmap_config lp8860_eeprom_regmap_config = { .max_register = LP8860_EEPROM_REG_24, .reg_defaults = lp8860_eeprom_defs, .num_reg_defaults = ARRAY_SIZE(lp8860_eeprom_defs), - .cache_type = REGCACHE_NONE, + .cache_type = REGCACHE_RBTREE, }; static int lp8860_probe(struct i2c_client *client, @@ -365,19 +364,23 @@ 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; + + if (!client->dev.of_node) + return -ENODEV; led = devm_kzalloc(&client->dev, sizeof(*led), GFP_KERNEL); if (!led) return -ENOMEM; - led->label = LP8860_DISP_LED_NAME; + for_each_available_child_of_node(np, child_node) { + led->led_dev.default_trigger = of_get_property(child_node, + "linux,default-trigger", + NULL); - 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; - } + of_led_compose_name(np, child_node, "white:backlight", + sizeof("white:backlight"), + led->label); } led->enable_gpio = devm_gpiod_get_optional(&client->dev,