From patchwork Tue Jan 3 13:12:46 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andy Shevchenko X-Patchwork-Id: 38424 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a5d:4e01:0:0:0:0:0 with SMTP id p1csp4611309wrt; Tue, 3 Jan 2023 05:15:01 -0800 (PST) X-Google-Smtp-Source: AMrXdXux/JYpzJlaWyQtI0OQuAJQSc3pCY2S6zftl3SYJCiXg6+pbgFf3PTfg+nsMbFJXhFmSFWF X-Received: by 2002:a17:902:b18b:b0:192:6198:a51b with SMTP id s11-20020a170902b18b00b001926198a51bmr40000864plr.20.1672751701535; Tue, 03 Jan 2023 05:15:01 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1672751701; cv=none; d=google.com; s=arc-20160816; b=uVHxq6GXFJDGZDtdXKTbiko0jluYrdDwPldx13iZWxFDSUxJf/XKE/Lr4kB77tg6qk /eTAu85lEPOFNlytM7Igdg4Un8F9MZJ67I+VutZ9azgtkoK2aSwbK610M+th0MhSxy3N asWzDCZ/TEwY6CF3dz3yPWRVeuoWi7ECWbswT7mEQFTnUa1yLr5oF7Kpcrw47D5DG/iA XaB8S10G5zvFl4HCjPStarYoVgyENG8T9Xpu7YmtK4nBuYqVdKNiiDAN3RXjt+z5TB6T OCEFcBJgUWJqpe7/3nW5uObvn31DBGv/2UMIOyCx/x9BQ6J9SowoX0rc6zQIkMksDG2T jDTA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=D5tHmAq8XEUna0E5RSbSOZ4xapHQ0h6yyTb36gWfi4Y=; b=V0PzxHeJBGbNIpir5iP2Zbfd/dcnhllCPVaqE52xMNJ9KJcmDVLdWG2jr7Lae4HgK/ s1bUz9xLmIEJbXQjDo8Y1kZyBOupjkwSVvKrZqMPVqT/ORAEfMUGembrDe13K8R9+SJ8 XLQZM08oP3rFBy0E0JAj4axC7YrvfR85MgPrIKY1HNqIldwFaKFxt9J+/SfDO2giMrey 155zGvqsWxs5DyLIYcUPPS9OlubH564+Cj695a32GKSqfR8yjENJZNQWbS0z8WuMip9I w6ydxtsbvNOwO8yUzn6SEKuBJ3TwwT9KJ+Dk/eZS814pId/0ph3qRXxOlJGRzdgriVtN pWxw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=And5CoS5; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id a9-20020a170902ee8900b001893efd3e00si30463989pld.49.2023.01.03.05.14.45; Tue, 03 Jan 2023 05:15:01 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=And5CoS5; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S237327AbjACNMu (ORCPT + 99 others); Tue, 3 Jan 2023 08:12:50 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:52562 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S237662AbjACNMh (ORCPT ); Tue, 3 Jan 2023 08:12:37 -0500 Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 10429FD3E; Tue, 3 Jan 2023 05:12:36 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1672751557; x=1704287557; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=b85nclneF9BX61RtcZxdbpTMJV7DSQfjZ+m4p4X2wC0=; b=And5CoS5AYO+F1LcLzpVB1+b6JPQ9qKguZD102C7kdEMHGTNk3g+RmKh 34ZrnkRi88Dw+qBYXi5TfADU44h4cmT/ySKDxRVdAU/miISoamFS+STkU mgRqfUBOu3M5BI8OUcE4EStmS64hhaiEWyPslf5ZKJ4kQudQvUEq9j028 UCRGVPVlfzgJOGjA6tMkbKYRgNwnaPUAtLVb3FXxWFjF3mQPtQVvk5SE4 yfp0gS9lnbi0tRIFvtuOMqn1xk9u/1f8Duea5tLWY+Pg9p2UMGc8vElAY fnTdTY61mKMyA3c2B9YrZ8nl3PFZaYRE8LASk86VLN7FgADN2G0eX31jr A==; X-IronPort-AV: E=McAfee;i="6500,9779,10579"; a="322887924" X-IronPort-AV: E=Sophos;i="5.96,297,1665471600"; d="scan'208";a="322887924" Received: from orsmga008.jf.intel.com ([10.7.209.65]) by orsmga102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 03 Jan 2023 05:12:33 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6500,9779,10579"; a="685397926" X-IronPort-AV: E=Sophos;i="5.96,297,1665471600"; d="scan'208";a="685397926" Received: from black.fi.intel.com ([10.237.72.28]) by orsmga008.jf.intel.com with ESMTP; 03 Jan 2023 05:12:28 -0800 Received: by black.fi.intel.com (Postfix, from userid 1003) id 79000F4; Tue, 3 Jan 2023 15:13:00 +0200 (EET) From: Andy Shevchenko To: Andy Shevchenko , Gene Chen , linux-leds@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-mediatek@lists.infradead.org, linux-kernel@vger.kernel.org, netdev@vger.kernel.org Cc: Pavel Machek , Lee Jones , Matthias Brugger , Sean Wang , Kurt Kanzenbach , Andrew Lunn , Florian Fainelli , Vladimir Oltean , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni Subject: [PATCH v4 01/11] leds: add missing includes and forward declarations in leds.h Date: Tue, 3 Jan 2023 15:12:46 +0200 Message-Id: <20230103131256.33894-2-andriy.shevchenko@linux.intel.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20230103131256.33894-1-andriy.shevchenko@linux.intel.com> References: <20230103131256.33894-1-andriy.shevchenko@linux.intel.com> MIME-Version: 1.0 X-Spam-Status: No, score=-4.3 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_EF,RCVD_IN_DNSWL_MED, RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL,SPF_HELO_NONE,SPF_NONE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1754007288394504124?= X-GMAIL-MSGID: =?utf-8?q?1754007288394504124?= Add missing includes and forward declarations to leds.h. While at it, replace headers by forward declarations and vise versa. Signed-off-by: Andy Shevchenko --- include/linux/leds.h | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/include/linux/leds.h b/include/linux/leds.h index ba4861ec73d3..499aea1e59b9 100644 --- a/include/linux/leds.h +++ b/include/linux/leds.h @@ -10,17 +10,21 @@ #include #include -#include -#include #include #include #include #include +#include #include -struct device; -struct led_pattern; +struct attribute_group; struct device_node; +struct fwnode_handle; +struct gpio_desc; +struct kernfs_node; +struct led_pattern; +struct platform_device; + /* * LED Core */ @@ -508,7 +512,6 @@ struct led_properties { const char *label; }; -struct gpio_desc; typedef int (*gpio_blink_set_t)(struct gpio_desc *desc, int state, unsigned long *delay_on, unsigned long *delay_off); From patchwork Tue Jan 3 13:12:47 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andy Shevchenko X-Patchwork-Id: 38421 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a5d:4e01:0:0:0:0:0 with SMTP id p1csp4611226wrt; Tue, 3 Jan 2023 05:14:51 -0800 (PST) X-Google-Smtp-Source: AMrXdXt+DyTZn5GkYhCgsLgzCnqYUwkgo+AH8as27D7sLx2oxkEYULgRWvXxyIWAn43XcJK2zPWX X-Received: by 2002:a17:902:d650:b0:188:6a62:9d89 with SMTP id y16-20020a170902d65000b001886a629d89mr58610544plh.54.1672751690796; Tue, 03 Jan 2023 05:14:50 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1672751690; cv=none; d=google.com; s=arc-20160816; b=duV7842JtbbTgluGfdL8Vds1QFejv+aXaIVAF7Y0hqDu1nPNn3sYdbMqZi6AtInxZY LS0RLfxfqepYhhaX6kBNmww1yqYGGY1i0wW5z0mbNrH4FFkpz9qAygn4mrn8WZe9LOlg AZEMEQlrnouwjmwl6rzWcYUvxoTc7hP9IQIA/JCH1bnsA2q8yrym2S0Zd38Vb9KAUsdk 02XviAIGHMTCrce8dQYEhiqjO5YakeZlqVC5WlEcEBI7x83Z7lFXshE2Fwj9jV4sqFpC Kbv803UfRZ72uMhH2Kc1+AWg1H3ATSKK+c1xZjoH0jE13TZM1pzpNhsg6ZgS+V9YtrEC He1w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=oVArDv0lIfvc7Grsn0zO3GkVHpa3SVAzDsMkv50A9yY=; b=J4KTZKpvxCOjRZL4O2/QD0SgMx9ujzJNUU5jmyCAu4X3jvTbAbjYPBuLB0dedPNhOb u3FIFGlrhXvfUZKOt4u8ulkjpdTyAgXoXUM5P4ahUtv4lpUD4O0Z4uXtSpBxstXZh6qB bNF+2vVzFsa1ptX0y0zqfQsf0PnpmzZ7WUib9HZa1ee4xY5lQJc5OTszeq5N8xdjeZfp ABFlW+1zGbcTvYCKyxtYG9V8Iw5VH4mnBmvyb/+6EvUnvgFz8/hDWTJvi6soCGbHc9CW sr0evlS3hxJsZ7bkTUheWAIlNwoc79D8EKMr9WAfYuFh8ny0rBdbTnaJpF2Z8hwssZMv +n4A== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=N74I6rDU; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id s5-20020a17090302c500b00192d567293asi3485070plk.447.2023.01.03.05.14.37; Tue, 03 Jan 2023 05:14:50 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=N74I6rDU; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S237375AbjACNMn (ORCPT + 99 others); Tue, 3 Jan 2023 08:12:43 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:52548 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S237656AbjACNMg (ORCPT ); Tue, 3 Jan 2023 08:12:36 -0500 Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id EFAD8EE37; Tue, 3 Jan 2023 05:12:35 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1672751556; x=1704287556; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=NEeFuL7s2HGlJGPjMrfp/6jwPjBk7uYpbdHP2kx39AA=; b=N74I6rDUI5LY4crRUGj9Iw/6qTocz4VKc5ogvmNc/Hr4AU7ArIHGxlnt kFnPQ6i/q48IrbAq4rul2XqQlX2K8GptalEIOZVC4eSBTWxxoX3l9LPxA yCL3wfdc7iwnphLOBnCg9i3ACyoLjZ0aTWhuRBjZr6B8x8TCmrKqOvWaW yWXcCLqJZPjsTD+/od2Es9fdfcUfqu3TTAZWOihJMgvasNwQe6tqzO+0I p+YujOSlXFquA/REbNRHPIrt3lPVvWObr1yFLw3l9pr+GSQKGD3Bijdpw p+KB5AU1a8ON3jj370R38G/H1mu9IbC+f/AyPou16ki0jc4SB+XtaMHeF Q==; X-IronPort-AV: E=McAfee;i="6500,9779,10579"; a="322887894" X-IronPort-AV: E=Sophos;i="5.96,297,1665471600"; d="scan'208";a="322887894" Received: from orsmga008.jf.intel.com ([10.7.209.65]) by orsmga102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 03 Jan 2023 05:12:33 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6500,9779,10579"; a="685397925" X-IronPort-AV: E=Sophos;i="5.96,297,1665471600"; d="scan'208";a="685397925" Received: from black.fi.intel.com ([10.237.72.28]) by orsmga008.jf.intel.com with ESMTP; 03 Jan 2023 05:12:28 -0800 Received: by black.fi.intel.com (Postfix, from userid 1003) id 85BF21CA; Tue, 3 Jan 2023 15:13:00 +0200 (EET) From: Andy Shevchenko To: Andy Shevchenko , Gene Chen , linux-leds@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-mediatek@lists.infradead.org, linux-kernel@vger.kernel.org, netdev@vger.kernel.org Cc: Pavel Machek , Lee Jones , Matthias Brugger , Sean Wang , Kurt Kanzenbach , Andrew Lunn , Florian Fainelli , Vladimir Oltean , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni Subject: [PATCH v4 02/11] leds: Move led_init_default_state_get() to the global header Date: Tue, 3 Jan 2023 15:12:47 +0200 Message-Id: <20230103131256.33894-3-andriy.shevchenko@linux.intel.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20230103131256.33894-1-andriy.shevchenko@linux.intel.com> References: <20230103131256.33894-1-andriy.shevchenko@linux.intel.com> MIME-Version: 1.0 X-Spam-Status: No, score=-4.3 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_EF,RCVD_IN_DNSWL_MED, RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL,SPF_HELO_NONE,SPF_NONE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1754007277141276621?= X-GMAIL-MSGID: =?utf-8?q?1754007277141276621?= There are users inside and outside LED framework that have implemented a local copy of led_init_default_state_get(). In order to deduplicate that, as the first step move the declaration from LED header to the global one. Signed-off-by: Andy Shevchenko --- drivers/leds/leds.h | 1 - include/linux/leds.h | 2 ++ 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/leds/leds.h b/drivers/leds/leds.h index aa64757a4d89..345062ccabda 100644 --- a/drivers/leds/leds.h +++ b/drivers/leds/leds.h @@ -27,7 +27,6 @@ ssize_t led_trigger_read(struct file *filp, struct kobject *kobj, ssize_t led_trigger_write(struct file *filp, struct kobject *kobj, struct bin_attribute *bin_attr, char *buf, loff_t pos, size_t count); -enum led_default_state led_init_default_state_get(struct fwnode_handle *fwnode); extern struct rw_semaphore leds_list_lock; extern struct list_head leds_list; diff --git a/include/linux/leds.h b/include/linux/leds.h index 499aea1e59b9..b96feacc73f8 100644 --- a/include/linux/leds.h +++ b/include/linux/leds.h @@ -67,6 +67,8 @@ struct led_init_data { bool devname_mandatory; }; +enum led_default_state led_init_default_state_get(struct fwnode_handle *fwnode); + struct led_hw_trigger_type { int dummy; }; From patchwork Tue Jan 3 13:12:48 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andy Shevchenko X-Patchwork-Id: 38418 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a5d:4e01:0:0:0:0:0 with SMTP id p1csp4611156wrt; Tue, 3 Jan 2023 05:14:43 -0800 (PST) X-Google-Smtp-Source: AMrXdXsziDPfoFx5aJb/CzZxsFgg1biNxhvXl3CJ/hNGAxxY9lWAn7Q9RrShK7jSzE3Ch1YXa0X8 X-Received: by 2002:a05:6a20:4295:b0:9d:efbe:a0fd with SMTP id o21-20020a056a20429500b0009defbea0fdmr69252258pzj.13.1672751683721; Tue, 03 Jan 2023 05:14:43 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1672751683; cv=none; d=google.com; s=arc-20160816; b=HwI0lR7YwOreoTACwzZA7ILu5qHIO+WzbijNlv+cwRJOgkJLgTaJ+1qyxpYo8GtsaP VqE/KLX0LHJnF8Klw6eiY8KPR5WOeYdfMCKGehvSSWrnlClACrrC/ChGQshSNF65HvC6 UQSzQeWV0MxlbWtMj0maI3baEIyLmaNAmd/CjFtlOIRC1Wi3usaRbc+m/He3PCMHn1S3 6rBN+9Y0g0XI2oVY4XqnuumJ2FkdjzvoZkxZQQVKsaOM739hX7rrvN+M2ym4ApFqRE/2 6juIfS7oxBDn43Cp8KMNkAXkVTW0zXLY8qCNrG+tHM8F9gysoX/41C42Bw5PG4LGHqyc RkDw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=whtg+X8APOE7axzskbilEU6qOgpVAHq4XkJqOAxAWVA=; b=V1TXiKe8giF+/7qKUq4wQbug4x1QfUpC5nEx+lnTl6VwuJNXmAp5cBShtXvypvGz1B WYRMhmJmpNJ+pcnFEYdUMkYPK056pc9pU04DuexaJy2JMv3wZnD2AferYUzsrDM3WzgF PrN9IsDWZqWsnj97d2+Sbh5FoLMPvvY86a/x5gvu34hztXSOfGGOQh+owNQz1hUZri/2 S2nnoqHxoF/q1JaljLXuZOblAr22b98VdozaJR5lRm4OyGAAZkq2r+XYagYkr0dhHG51 ku3TKpnQhO9ya/AuqWHgDnMnV39/WHi1OdSBTzNjaUbb6xPoqjuLi3GDFrfCodix5Fgf DXZQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=Swr37CLj; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id t9-20020a632249000000b00477bbd92cfdsi30808361pgm.592.2023.01.03.05.14.31; Tue, 03 Jan 2023 05:14:43 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=Swr37CLj; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S237699AbjACNMk (ORCPT + 99 others); Tue, 3 Jan 2023 08:12:40 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:52536 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233197AbjACNMf (ORCPT ); Tue, 3 Jan 2023 08:12:35 -0500 Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 9438FFAF4; Tue, 3 Jan 2023 05:12:34 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1672751554; x=1704287554; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=2vu7l/6K0nvkzNmUjyptRlngyguT+RoN4sYZnyNxAgU=; b=Swr37CLj2gh1BsOP9p5cf1C484uGxngOH57/mgOpKpilAQKS1YFXs1Bs 0ObO9JcQVrQRJ7JKS+4171kNy05X0JDL6792qxriiEZGg/9yvhmoZ7//J bFu2jKsyTO3/3CDdERqxQIN7SKRC4usiB9o7ODkvKMp/Ia2C9mT1+8mmp Ja6b64A8xZRAX/MeVIWhnp72MgmcFGXu3mERgV1YGRFDaYE8fPWCMV3Ct kbIqFhHm6WnmQhjyzBb6PZ8sjYS9yUMJIFPfOlqjihlTxN6b2os6O9s4L /RgfcYO363IPmYwW1Y1erlNI6MFWWytRD5vdL5FzqkJ67hudyLCkmeLsy A==; X-IronPort-AV: E=McAfee;i="6500,9779,10579"; a="320367246" X-IronPort-AV: E=Sophos;i="5.96,297,1665471600"; d="scan'208";a="320367246" Received: from orsmga002.jf.intel.com ([10.7.209.21]) by fmsmga104.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 03 Jan 2023 05:12:33 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6500,9779,10579"; a="654781131" X-IronPort-AV: E=Sophos;i="5.96,297,1665471600"; d="scan'208";a="654781131" Received: from black.fi.intel.com ([10.237.72.28]) by orsmga002.jf.intel.com with ESMTP; 03 Jan 2023 05:12:28 -0800 Received: by black.fi.intel.com (Postfix, from userid 1003) id 91CA1220; Tue, 3 Jan 2023 15:13:00 +0200 (EET) From: Andy Shevchenko To: Andy Shevchenko , Gene Chen , linux-leds@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-mediatek@lists.infradead.org, linux-kernel@vger.kernel.org, netdev@vger.kernel.org Cc: Pavel Machek , Lee Jones , Matthias Brugger , Sean Wang , Kurt Kanzenbach , Andrew Lunn , Florian Fainelli , Vladimir Oltean , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni Subject: [PATCH v4 03/11] leds: an30259a: Get rid of custom led_init_default_state_get() Date: Tue, 3 Jan 2023 15:12:48 +0200 Message-Id: <20230103131256.33894-4-andriy.shevchenko@linux.intel.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20230103131256.33894-1-andriy.shevchenko@linux.intel.com> References: <20230103131256.33894-1-andriy.shevchenko@linux.intel.com> MIME-Version: 1.0 X-Spam-Status: No, score=-4.3 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_EF,RCVD_IN_DNSWL_MED,SPF_HELO_NONE, SPF_NONE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1754007269662507713?= X-GMAIL-MSGID: =?utf-8?q?1754007269662507713?= LED core provides a helper to parse default state from firmware node. Use it instead of custom implementation. Signed-off-by: Andy Shevchenko --- drivers/leds/leds-an30259a.c | 21 ++++----------------- 1 file changed, 4 insertions(+), 17 deletions(-) diff --git a/drivers/leds/leds-an30259a.c b/drivers/leds/leds-an30259a.c index e072ee5409f7..89df267853a9 100644 --- a/drivers/leds/leds-an30259a.c +++ b/drivers/leds/leds-an30259a.c @@ -55,10 +55,6 @@ #define AN30259A_NAME "an30259a" -#define STATE_OFF 0 -#define STATE_KEEP 1 -#define STATE_ON 2 - struct an30259a; struct an30259a_led { @@ -66,7 +62,7 @@ struct an30259a_led { struct fwnode_handle *fwnode; struct led_classdev cdev; u32 num; - u32 default_state; + enum led_default_state default_state; bool sloping; }; @@ -205,7 +201,6 @@ static int an30259a_dt_init(struct i2c_client *client, struct device_node *np = dev_of_node(&client->dev), *child; int count, ret; int i = 0; - const char *str; struct an30259a_led *led; count = of_get_available_child_count(np); @@ -228,15 +223,7 @@ static int an30259a_dt_init(struct i2c_client *client, led->num = source; led->chip = chip; led->fwnode = of_fwnode_handle(child); - - if (!of_property_read_string(child, "default-state", &str)) { - if (!strcmp(str, "on")) - led->default_state = STATE_ON; - else if (!strcmp(str, "keep")) - led->default_state = STATE_KEEP; - else - led->default_state = STATE_OFF; - } + led->default_state = led_init_default_state_get(led->fwnode); i++; } @@ -261,10 +248,10 @@ static void an30259a_init_default_state(struct an30259a_led *led) int led_on, err; switch (led->default_state) { - case STATE_ON: + case LEDS_DEFSTATE_ON: led->cdev.brightness = LED_FULL; break; - case STATE_KEEP: + case LEDS_DEFSTATE_KEEP: err = regmap_read(chip->regmap, AN30259A_REG_LED_ON, &led_on); if (err) break; From patchwork Tue Jan 3 13:12:49 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andy Shevchenko X-Patchwork-Id: 38422 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a5d:4e01:0:0:0:0:0 with SMTP id p1csp4611242wrt; Tue, 3 Jan 2023 05:14:52 -0800 (PST) X-Google-Smtp-Source: AMrXdXu4/NOHV/vkpfyWg+qw93j39LDCImMNEm5Wh3kDiqVtVkAzvtST8INH/lafaaf5De9oMADi X-Received: by 2002:a05:6a00:1da5:b0:577:9807:2db8 with SMTP id z37-20020a056a001da500b0057798072db8mr49751495pfw.3.1672751692561; Tue, 03 Jan 2023 05:14:52 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1672751692; cv=none; d=google.com; s=arc-20160816; b=Fz9hwPiG8WAIb7uKd4GHF7keDG3J+aj5GCGg+J/6ZMhPFYQlg3o0GJdF29qRQ7FSxc dEfFkCtExNoGgmCTcSGDfJhl+DFznwrvK8P7WGpPTEr0RKq0Lf8bVV2Q94sbroVrUSsx a4YZeCPpCG3MrPtzrxbF46x64lk/peLUNyRrqs7DchYhVrhoR7DdklRwdiNXP5NtDlVl 5WERAhI1L40rJZKXw5tI3a0idFMu9RZu+bxCd+gAynMpmGWHF4LGL2RQdGdsJe0GtZ7+ FVr17qdCVUwvzRhtTu58rduqbt+zIqtoPsvNO305aCGGA7q5FRwIT8eN8CHeHlFPZ+04 zi0A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=0ZIENcKeaf489uFWiNYo7yRg+Cgbsq5yoCtVjXncWKc=; b=Njim237Z26sA831HqzAxzyYDAXxhl2fXqq0OxMkyp1o/P+c2GL+jSyHErLK3Aj/T1y lvFQNUXbj/K1pWHK7wL4lxCZpUmzDGPSXAnny/bLwUuEyNjx0ZbXHMI5gvMwSveE4sWQ x+gJsljRo5xf2MNBHxtQxQb9lKBVXckqigWEbmRqz9q8N0dnfkw1uFQwWzFpBIHZ/waK t4Cb+htJuA+Zvaj7rm/hFYPpMeOnYAhdNFy4f2mICHLI77s7kL6PjyQ00hDPf5wsE5Bn XkTVwRnNT49XP94A5RJk6tCay0RHKS6j1PC8UvOf+yiUYyN7Ow+7U9UVOsjuLDiJ9i5E mY2w== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=UMfWs+fa; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id bq8-20020a056a000e0800b0056de69b0c76si30178901pfb.283.2023.01.03.05.14.40; Tue, 03 Jan 2023 05:14:52 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=UMfWs+fa; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S237532AbjACNMr (ORCPT + 99 others); Tue, 3 Jan 2023 08:12:47 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:52560 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S237660AbjACNMh (ORCPT ); Tue, 3 Jan 2023 08:12:37 -0500 Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id B04D2FAFD; Tue, 3 Jan 2023 05:12:36 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1672751556; x=1704287556; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=fLglo+upgf8/JpSJNXXF1To0jqbOVKWrlAOKnDglss8=; b=UMfWs+faQ2yM3oIhVCeufdqzQA7CpsYpDrtbXyI2x09eh5xZ6gUUHIex Nqm/tiCW+YkdkYLQDOIANhJw2Wc5xI6BOfVt+9RTeFUAyiodh8YjyQFvr hQ8/L+Wq6eUPIrgyjsAQIBhajpvwtBMMmu96iG/Ol4Tundnvv1Y+wJUln Ij3J2EiD+CJlbuJ49Cd+xY+EaIeogBhPbaiL53vopUdoioKP5+Xi9Bje4 r2m9YXKfiso7nLI4qfjwaWPFUZRIRKSm70gbheVmEWO4uDENf4gvc8IIl Vt6urdkrswn7KhTcbB4Sb5hG/hoDMIMCpBiQGiBoM4mxuxxb4PwPdf8YP A==; X-IronPort-AV: E=McAfee;i="6500,9779,10579"; a="322887912" X-IronPort-AV: E=Sophos;i="5.96,297,1665471600"; d="scan'208";a="322887912" Received: from orsmga008.jf.intel.com ([10.7.209.65]) by orsmga102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 03 Jan 2023 05:12:33 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6500,9779,10579"; a="685397924" X-IronPort-AV: E=Sophos;i="5.96,297,1665471600"; d="scan'208";a="685397924" Received: from black.fi.intel.com ([10.237.72.28]) by orsmga008.jf.intel.com with ESMTP; 03 Jan 2023 05:12:28 -0800 Received: by black.fi.intel.com (Postfix, from userid 1003) id 9B761252; Tue, 3 Jan 2023 15:13:00 +0200 (EET) From: Andy Shevchenko To: Andy Shevchenko , Gene Chen , linux-leds@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-mediatek@lists.infradead.org, linux-kernel@vger.kernel.org, netdev@vger.kernel.org Cc: Pavel Machek , Lee Jones , Matthias Brugger , Sean Wang , Kurt Kanzenbach , Andrew Lunn , Florian Fainelli , Vladimir Oltean , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni Subject: [PATCH v4 04/11] leds: bcm6328: Get rid of custom led_init_default_state_get() Date: Tue, 3 Jan 2023 15:12:49 +0200 Message-Id: <20230103131256.33894-5-andriy.shevchenko@linux.intel.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20230103131256.33894-1-andriy.shevchenko@linux.intel.com> References: <20230103131256.33894-1-andriy.shevchenko@linux.intel.com> MIME-Version: 1.0 X-Spam-Status: No, score=-4.3 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_EF,RCVD_IN_DNSWL_MED, RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL,SPF_HELO_NONE,SPF_NONE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1754007278732987811?= X-GMAIL-MSGID: =?utf-8?q?1754007278732987811?= LED core provides a helper to parse default state from firmware node. Use it instead of custom implementation. Signed-off-by: Andy Shevchenko Reviewed-by: Florian Fainelli --- drivers/leds/leds-bcm6328.c | 49 ++++++++++++++++++------------------- 1 file changed, 24 insertions(+), 25 deletions(-) diff --git a/drivers/leds/leds-bcm6328.c b/drivers/leds/leds-bcm6328.c index 2d4d87957a30..246f1296ab09 100644 --- a/drivers/leds/leds-bcm6328.c +++ b/drivers/leds/leds-bcm6328.c @@ -330,7 +330,9 @@ static int bcm6328_led(struct device *dev, struct device_node *nc, u32 reg, { struct led_init_data init_data = {}; struct bcm6328_led *led; - const char *state; + enum led_default_state state; + unsigned long val, shift; + void __iomem *mode; int rc; led = devm_kzalloc(dev, sizeof(*led), GFP_KERNEL); @@ -346,31 +348,29 @@ static int bcm6328_led(struct device *dev, struct device_node *nc, u32 reg, if (of_property_read_bool(nc, "active-low")) led->active_low = true; - if (!of_property_read_string(nc, "default-state", &state)) { - if (!strcmp(state, "on")) { + init_data.fwnode = of_fwnode_handle(nc); + + state = led_init_default_state_get(init_data.fwnode); + switch (state) { + case LEDS_DEFSTATE_ON: + led->cdev.brightness = LED_FULL; + break; + case LEDS_DEFSTATE_KEEP: + shift = bcm6328_pin2shift(led->pin); + if (shift / 16) + mode = mem + BCM6328_REG_MODE_HI; + else + mode = mem + BCM6328_REG_MODE_LO; + + val = bcm6328_led_read(mode) >> BCM6328_LED_SHIFT(shift % 16); + val &= BCM6328_LED_MODE_MASK; + if ((led->active_low && val == BCM6328_LED_MODE_OFF) || + (!led->active_low && val == BCM6328_LED_MODE_ON)) led->cdev.brightness = LED_FULL; - } else if (!strcmp(state, "keep")) { - void __iomem *mode; - unsigned long val, shift; - - shift = bcm6328_pin2shift(led->pin); - if (shift / 16) - mode = mem + BCM6328_REG_MODE_HI; - else - mode = mem + BCM6328_REG_MODE_LO; - - val = bcm6328_led_read(mode) >> - BCM6328_LED_SHIFT(shift % 16); - val &= BCM6328_LED_MODE_MASK; - if ((led->active_low && val == BCM6328_LED_MODE_OFF) || - (!led->active_low && val == BCM6328_LED_MODE_ON)) - led->cdev.brightness = LED_FULL; - else - led->cdev.brightness = LED_OFF; - } else { + else led->cdev.brightness = LED_OFF; - } - } else { + break; + default: led->cdev.brightness = LED_OFF; } @@ -378,7 +378,6 @@ static int bcm6328_led(struct device *dev, struct device_node *nc, u32 reg, led->cdev.brightness_set = bcm6328_led_set; led->cdev.blink_set = bcm6328_blink_set; - init_data.fwnode = of_fwnode_handle(nc); rc = devm_led_classdev_register_ext(dev, &led->cdev, &init_data); if (rc < 0) From patchwork Tue Jan 3 13:12:50 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andy Shevchenko X-Patchwork-Id: 38420 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a5d:4e01:0:0:0:0:0 with SMTP id p1csp4611212wrt; Tue, 3 Jan 2023 05:14:49 -0800 (PST) X-Google-Smtp-Source: AMrXdXsjQGep2nx8GN2aqSi3F4RFTUa2eOxywMNxLlQMunS9hiav3nGvzSA4iMuqHQw1GJWR+uQh X-Received: by 2002:a05:6a20:4d8a:b0:ad:d182:cd50 with SMTP id gj10-20020a056a204d8a00b000add182cd50mr47767284pzb.36.1672751688777; Tue, 03 Jan 2023 05:14:48 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1672751688; cv=none; d=google.com; s=arc-20160816; b=Ll7sSixjhKszOllf0piZpc685IMk95zUkGyUWqVuRi7dsV6Qp4eBmy2JPcUgneS7OC f8fyBBst2dAZAnhX7LCZbyIScmP2q36WFpwoXrLS7g6wQXnJeHNx3NAcDhV7LBKDj+yL rWyRTGwk5iltvxvG1PbCu0OBjHEV/x7BK2VePcDcd2wCxvyhwagSgnEH9z7oJa7LMTZg U3GlOrguXS4ZR8AJ4OrmPKZ1qxru0a5iR4iEZre8uZY8kQ85tQ8bBjNYnvgoTJTo6cy4 7MhCinqrzGnfNaPLLLcEtAZSyB8Hx3sDfOjyBCYXhGt8RErqEL8TrG52pNmng2Z3Q1vZ 1shQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=uhiFLBFtyTtS9hkNkQi647HtLFPenm1IJPibK3iL+8U=; b=0rmSH++oxF+1awBWPDoBHXfp7XiyOE6JtBKfBTAzu4/W4obBNpsGkS2gvcTtP20rWo 3cZBXq60lBEFmmqsmzfSeyG2bTcRhzuDisx8pE4lYjyu99yPQQoNNiY3Lfmh1EZ4n3DR oS3/9jJkz0TIe8rlvMa+9FSvDm/ka8pilKYXQO45B2OMWNZhguQ2GZS45uMTAABB1iGQ SHjyrZXtqOdIsFEZmPFuVwNxgtffsxCZW0Vy/t8gExSgCmh5Axjr9R3DdwjUYDLJnCYX resPbiscps2OqXDFiDZItIj+4UxAvW2sdTHHAE12CRAhqrhJQD+nASlQvANus2lDiDZv vwPg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=j722cG7A; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id w189-20020a6362c6000000b0046fec9f9ed8si32361810pgb.704.2023.01.03.05.14.36; Tue, 03 Jan 2023 05:14:48 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=j722cG7A; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230131AbjACNNr (ORCPT + 99 others); Tue, 3 Jan 2023 08:13:47 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:53436 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S237731AbjACNNM (ORCPT ); Tue, 3 Jan 2023 08:13:12 -0500 Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 299E011149; Tue, 3 Jan 2023 05:12:44 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1672751564; x=1704287564; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=7p6zWbQRFO6BWGKdmzxHibs27PU9es81+rcbWbLCG20=; b=j722cG7A2lXzw/ka6jI1UYD83qpkWlRMTyb/+mfQJwHTjYrJiRIt1ngc mB+xPxgwjsgNCrNpXXUcY2kgrXbVG5olZbG2VhkQ8EiUqNR2prKGlkKmI Z21JqNnLBGOys8YQG+4TApLmTOSjlML1vZIOrfcD/Qtf6kB+dSx3oiM8F HJm6L/YUTkc6A6bmEDZg+ivX9aKIFHOJYxsRdzh5YbemjJ6ZxfIgnHzEH Rzqixq7bv9Pm5xxfKPGL1mnmkWM7dfgawQch8EqQlImC33+54tqqCb3o+ VWE/PCRSGjZdRnmfYQsv3ZvcAiJCVMdpjDwOmXDtYl2fvkcgq8GZMDa1a Q==; X-IronPort-AV: E=McAfee;i="6500,9779,10579"; a="322887977" X-IronPort-AV: E=Sophos;i="5.96,297,1665471600"; d="scan'208";a="322887977" Received: from orsmga008.jf.intel.com ([10.7.209.65]) by orsmga102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 03 Jan 2023 05:12:39 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6500,9779,10579"; a="685397941" X-IronPort-AV: E=Sophos;i="5.96,297,1665471600"; d="scan'208";a="685397941" Received: from black.fi.intel.com ([10.237.72.28]) by orsmga008.jf.intel.com with ESMTP; 03 Jan 2023 05:12:33 -0800 Received: by black.fi.intel.com (Postfix, from userid 1003) id A5E0C2AA; Tue, 3 Jan 2023 15:13:00 +0200 (EET) From: Andy Shevchenko To: Andy Shevchenko , Gene Chen , linux-leds@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-mediatek@lists.infradead.org, linux-kernel@vger.kernel.org, netdev@vger.kernel.org Cc: Pavel Machek , Lee Jones , Matthias Brugger , Sean Wang , Kurt Kanzenbach , Andrew Lunn , Florian Fainelli , Vladimir Oltean , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni Subject: [PATCH v4 05/11] leds: bcm6358: Get rid of custom led_init_default_state_get() Date: Tue, 3 Jan 2023 15:12:50 +0200 Message-Id: <20230103131256.33894-6-andriy.shevchenko@linux.intel.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20230103131256.33894-1-andriy.shevchenko@linux.intel.com> References: <20230103131256.33894-1-andriy.shevchenko@linux.intel.com> MIME-Version: 1.0 X-Spam-Status: No, score=-4.3 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_EF,RCVD_IN_DNSWL_MED, RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL,SPF_HELO_NONE,SPF_NONE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1754007274927274564?= X-GMAIL-MSGID: =?utf-8?q?1754007274927274564?= LED core provides a helper to parse default state from firmware node. Use it instead of custom implementation. Signed-off-by: Andy Shevchenko Reviewed-by: Florian Fainelli --- drivers/leds/leds-bcm6358.c | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/drivers/leds/leds-bcm6358.c b/drivers/leds/leds-bcm6358.c index 9d2e487fa08a..86e51d44a5a7 100644 --- a/drivers/leds/leds-bcm6358.c +++ b/drivers/leds/leds-bcm6358.c @@ -96,7 +96,8 @@ static int bcm6358_led(struct device *dev, struct device_node *nc, u32 reg, { struct led_init_data init_data = {}; struct bcm6358_led *led; - const char *state; + enum led_default_state state; + unsigned long val; int rc; led = devm_kzalloc(dev, sizeof(*led), GFP_KERNEL); @@ -110,29 +111,28 @@ static int bcm6358_led(struct device *dev, struct device_node *nc, u32 reg, if (of_property_read_bool(nc, "active-low")) led->active_low = true; - if (!of_property_read_string(nc, "default-state", &state)) { - if (!strcmp(state, "on")) { + init_data.fwnode = of_fwnode_handle(nc); + + state = led_init_default_state_get(init_data.fwnode); + switch (state) { + case LEDS_DEFSTATE_ON: + led->cdev.brightness = LED_FULL; + break; + case LEDS_DEFSTATE_KEEP: + val = bcm6358_led_read(led->mem + BCM6358_REG_MODE); + val &= BIT(led->pin); + if ((led->active_low && !val) || (!led->active_low && val)) led->cdev.brightness = LED_FULL; - } else if (!strcmp(state, "keep")) { - unsigned long val; - val = bcm6358_led_read(led->mem + BCM6358_REG_MODE); - val &= BIT(led->pin); - if ((led->active_low && !val) || - (!led->active_low && val)) - led->cdev.brightness = LED_FULL; - else - led->cdev.brightness = LED_OFF; - } else { + else led->cdev.brightness = LED_OFF; - } - } else { + break; + default: led->cdev.brightness = LED_OFF; } bcm6358_led_set(&led->cdev, led->cdev.brightness); led->cdev.brightness_set = bcm6358_led_set; - init_data.fwnode = of_fwnode_handle(nc); rc = devm_led_classdev_register_ext(dev, &led->cdev, &init_data); if (rc < 0) From patchwork Tue Jan 3 13:12:51 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andy Shevchenko X-Patchwork-Id: 38419 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a5d:4e01:0:0:0:0:0 with SMTP id p1csp4611192wrt; Tue, 3 Jan 2023 05:14:47 -0800 (PST) X-Google-Smtp-Source: AMrXdXsTRRkqAyeX2B4vzZwR9/NY67znNjoaeqg1vhDcZoGfDuS57vD4bYe0p9YlVPO80V3SCLRC X-Received: by 2002:a17:902:db05:b0:192:7c38:4842 with SMTP id m5-20020a170902db0500b001927c384842mr46841239plx.53.1672751687069; Tue, 03 Jan 2023 05:14:47 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1672751687; cv=none; d=google.com; s=arc-20160816; b=DXAl3M9j4ZO6h40tWKB/OPY+f2dlgO5c8lgEFd5ABf3df/ST1+L2fuBoDRkYyCwlQh O+P4QvNjTZkPPWm0EowSRX3ojesi3cYIfkgteay/7ejNxiQeA2hNsnz6vsNg9z6RCmOW hciLWSU+k9i/GfXbTsIXEMWv9A4Cnaqp95AyHOA7dbnnJnv6FDw/syKUBNN6gyFOE2+K jCzr1m+PJeYrFQ0dExt59KDInjvGxLlPbERupJ/HpYQ/iTAXcY/X0z5t5L6Br2g1TZab e1pk1sQWnK5xcBgWMp71APuMK5N8+sBIyZQt/wtejL/NVUGRZ4O2vaORhBqcV+dkPpoj cSvw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=+Tp/A4D03rch1SrDUAdccxl9ly1G2v9a1H0MgM+U3ew=; b=TysXapqXJwZMtmaJa3m3H1kFf42CjUq7C7qP4QF0/npRIVQyYepBNdLh/TGZkmWA+c RjKoVgX1oKCwaH/HKqus4JojqvwIX+t8Z/bZHdohKwXp8HtnkC5GqahjkshuZSLO3Twx 1Y6sjAX183s1PoLugKXIbKcqtG6B1htg8igqo7gAGWwZkZ42dhkdf7WpuFa9AE0auyur DANtY9d1QwkF2Q14z1g/8o5h2HIvwOAK2Xxnezl4Cxe5PE6bB6WehygsPqbom0wRPb5J UcwOUm3tZvOgBvqazsRlUJQ3y+IlbmO3rZalYhCP+yas9IVSHkHs5s4h5PIPwCw2bPxh pQug== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=MuDNEBml; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id bg11-20020a056a02010b00b0049876520724si26791528pgb.303.2023.01.03.05.14.34; Tue, 03 Jan 2023 05:14:47 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=MuDNEBml; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S237779AbjACNNj (ORCPT + 99 others); Tue, 3 Jan 2023 08:13:39 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:53410 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S237730AbjACNNM (ORCPT ); Tue, 3 Jan 2023 08:13:12 -0500 Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 2994F10FCA; Tue, 3 Jan 2023 05:12:44 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1672751564; x=1704287564; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=9YAyO0NuKkjE8s2MjpGiLsRbRFZd9cli0OG3nOsmD+I=; b=MuDNEBmli6TnNdQW14WCV4+aEE0WA9x1pYBpWmgz0R5onaKmxBMsocwg OBU1ChFtkiedbTFmseOiVEFfQqDAdJlf3T4hUYLxhTbr0wnmwk5inLsXz nzn6KVgxSUihqkrl+cgAYzMqShvJL2whKOAZLiy4bHqypjUbeui8e/jX7 1Vhgz5p/nyAL+3WUurV5er3JBFeKf+6/QepwI09K/ng9bq0dGo8CmYsxE cTqMdkvfOKNHkC8tMyndnpPeJrymrkHJ/Lazx1YSuzfoRYj3zJ4NrCbwJ RTTFl7TinoHYOsBD8ZI0HQbTCgDTF4ttawY9RFeiPV9TlL8jJDqSY0Upa A==; X-IronPort-AV: E=McAfee;i="6500,9779,10579"; a="322887989" X-IronPort-AV: E=Sophos;i="5.96,297,1665471600"; d="scan'208";a="322887989" Received: from orsmga008.jf.intel.com ([10.7.209.65]) by orsmga102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 03 Jan 2023 05:12:39 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6500,9779,10579"; a="685397942" X-IronPort-AV: E=Sophos;i="5.96,297,1665471600"; d="scan'208";a="685397942" Received: from black.fi.intel.com ([10.237.72.28]) by orsmga008.jf.intel.com with ESMTP; 03 Jan 2023 05:12:33 -0800 Received: by black.fi.intel.com (Postfix, from userid 1003) id B095E2AD; Tue, 3 Jan 2023 15:13:00 +0200 (EET) From: Andy Shevchenko To: Andy Shevchenko , Gene Chen , linux-leds@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-mediatek@lists.infradead.org, linux-kernel@vger.kernel.org, netdev@vger.kernel.org Cc: Pavel Machek , Lee Jones , Matthias Brugger , Sean Wang , Kurt Kanzenbach , Andrew Lunn , Florian Fainelli , Vladimir Oltean , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , AngeloGioacchino Del Regno Subject: [PATCH v4 06/11] leds: mt6323: Get rid of custom led_init_default_state_get() Date: Tue, 3 Jan 2023 15:12:51 +0200 Message-Id: <20230103131256.33894-7-andriy.shevchenko@linux.intel.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20230103131256.33894-1-andriy.shevchenko@linux.intel.com> References: <20230103131256.33894-1-andriy.shevchenko@linux.intel.com> MIME-Version: 1.0 X-Spam-Status: No, score=-4.3 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_EF,RCVD_IN_DNSWL_MED, RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL,SPF_HELO_NONE,SPF_NONE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1754007272988765177?= X-GMAIL-MSGID: =?utf-8?q?1754007272988765177?= LED core provides a helper to parse default state from firmware node. Use it instead of custom implementation. Signed-off-by: Andy Shevchenko Reviewed-by: AngeloGioacchino Del Regno --- drivers/leds/leds-mt6323.c | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/drivers/leds/leds-mt6323.c b/drivers/leds/leds-mt6323.c index f59e0e8bda8b..17ee88043f52 100644 --- a/drivers/leds/leds-mt6323.c +++ b/drivers/leds/leds-mt6323.c @@ -339,23 +339,23 @@ static int mt6323_led_set_dt_default(struct led_classdev *cdev, struct device_node *np) { struct mt6323_led *led = container_of(cdev, struct mt6323_led, cdev); - const char *state; + enum led_default_state state; int ret = 0; - state = of_get_property(np, "default-state", NULL); - if (state) { - if (!strcmp(state, "keep")) { - ret = mt6323_get_led_hw_brightness(cdev); - if (ret < 0) - return ret; - led->current_brightness = ret; - ret = 0; - } else if (!strcmp(state, "on")) { - ret = - mt6323_led_set_brightness(cdev, cdev->max_brightness); - } else { - ret = mt6323_led_set_brightness(cdev, LED_OFF); - } + state = led_init_default_state_get(of_fwnode_handle(np)); + switch (state) { + case LEDS_DEFSTATE_ON: + ret = mt6323_led_set_brightness(cdev, cdev->max_brightness); + break; + case LEDS_DEFSTATE_KEEP: + ret = mt6323_get_led_hw_brightness(cdev); + if (ret < 0) + return ret; + led->current_brightness = ret; + ret = 0; + break; + default: + ret = mt6323_led_set_brightness(cdev, LED_OFF); } return ret; From patchwork Tue Jan 3 13:12:52 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andy Shevchenko X-Patchwork-Id: 38425 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a5d:4e01:0:0:0:0:0 with SMTP id p1csp4611408wrt; Tue, 3 Jan 2023 05:15:12 -0800 (PST) X-Google-Smtp-Source: AMrXdXu7inqy1QcLi9PA4epi+B05Du+r/dWWmkrv429bDoNIwe5nhnS2mwyU2vMUX89Tz1Pjp92p X-Received: by 2002:a17:90a:1642:b0:219:ba34:a60 with SMTP id x2-20020a17090a164200b00219ba340a60mr48745817pje.43.1672751712588; Tue, 03 Jan 2023 05:15:12 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1672751712; cv=none; d=google.com; s=arc-20160816; b=w7qKceszLS2ORgYafdpaI3MaNYLGvvibwxlaEUykRaMoEjWduLlYk9W4RMCYiWJmb4 fkCJFpbp7Rg3FU/fW1Wl8bOthpTB5VSWYUGKyyFzTrz+kfJv+obS9+CITNj9G7A4Ic6A sCDt38j4g9Kg7+xlvpTdOXHJWGVUbEk6/2xJdcPnb2V5520V5P0+YrYqsDyUbI/wivog DsObKJ4g5OY/VXsJT/gddI7nLbbUk7gv/dblc0Rb3suXO2Mh4LQwuPONBaLiw3aK11na JH5EtufG78FzwmT4KCzAJ0U5l/dcbspoZMp14bFr77dWf9uRr3uwt/csVhbcQROubkgf zEXg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=GthTiGe9APuzkJw47QDQSsVQv1XQO85t7aEoWiJvnWg=; b=pGBZca862TFlIUWoe2ZESi46Kj7P9EBuaH5dLIkVOlT39R3DYUln6+Gegw+0STVoFd xJEH43ODDWXIITlVQSsYiqWWNqYy/mnd2C6Fi2PbH4GUNegvlWgiqJNZQBemIf3kd5iG O+tJXK79BbU+fXNG9RjoSqjH6z6pbeIQr8GDel6ucg66DhbUNuq4tnD+ElSNzoORTbXs 3+SkQLIqI5HVX1KK8+Hk7LO3xL2bNWh3OIx8h7yyXyIi10I8xOorXyB1rsTcAjecJjLW U2QHURh4lqAnrbEKfZ2QpwuUEfo1TnSStHBZTXnhuKxRrQ6wSr3QCaCfWa2laFyiPX+j Oyqg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=J3Zg0oMP; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id f10-20020a63de0a000000b0049f1702457bsi4606643pgg.685.2023.01.03.05.15.00; Tue, 03 Jan 2023 05:15:12 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=J3Zg0oMP; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S237724AbjACNNX (ORCPT + 99 others); Tue, 3 Jan 2023 08:13:23 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:53152 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233200AbjACNMz (ORCPT ); Tue, 3 Jan 2023 08:12:55 -0500 Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 63F3410B7E; Tue, 3 Jan 2023 05:12:40 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1672751560; x=1704287560; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=1oxY1AfVW3M6ZngxBRWmFDZ/ISoe8vMKVfgIGcibtG0=; b=J3Zg0oMPF8Dh9wen9AtdQFSIJRFg1555mmPhiN8JXyZcRjJhA5IpkMER eYuwUixM31ezy9FqsUP0Qc17vL1OkcAXVkEmUrahag1jXHC8VQ/duit6h Mvch/ly/vCDY6D6Vne/7vzZ89bHCIpkWOVnK3sh1Yt+YtOl0JtV2Wofyc XXxSLRZkIbOwnyXtZoG+tXO7Pqmz7VW/qDArmTucOe6qXye/u6qmLeqQ5 vBfO/sf6wX8nFf2F+GplfCJa5SUnwVWjpoJzFmGweg3xZ/kLgg88IEnQw 36YnhUVHbv0m5QdVe8LFUO4pKrhnoCdJaWlcmU1M7zrSTPWKae/9GZna9 w==; X-IronPort-AV: E=McAfee;i="6500,9779,10579"; a="322887947" X-IronPort-AV: E=Sophos;i="5.96,297,1665471600"; d="scan'208";a="322887947" Received: from orsmga008.jf.intel.com ([10.7.209.65]) by orsmga102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 03 Jan 2023 05:12:39 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6500,9779,10579"; a="685397945" X-IronPort-AV: E=Sophos;i="5.96,297,1665471600"; d="scan'208";a="685397945" Received: from black.fi.intel.com ([10.237.72.28]) by orsmga008.jf.intel.com with ESMTP; 03 Jan 2023 05:12:34 -0800 Received: by black.fi.intel.com (Postfix, from userid 1003) id BC69F3B3; Tue, 3 Jan 2023 15:13:00 +0200 (EET) From: Andy Shevchenko To: Andy Shevchenko , Gene Chen , linux-leds@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-mediatek@lists.infradead.org, linux-kernel@vger.kernel.org, netdev@vger.kernel.org Cc: Pavel Machek , Lee Jones , Matthias Brugger , Sean Wang , Kurt Kanzenbach , Andrew Lunn , Florian Fainelli , Vladimir Oltean , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , AngeloGioacchino Del Regno Subject: [PATCH v4 07/11] leds: mt6360: Get rid of custom led_init_default_state_get() Date: Tue, 3 Jan 2023 15:12:52 +0200 Message-Id: <20230103131256.33894-8-andriy.shevchenko@linux.intel.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20230103131256.33894-1-andriy.shevchenko@linux.intel.com> References: <20230103131256.33894-1-andriy.shevchenko@linux.intel.com> MIME-Version: 1.0 X-Spam-Status: No, score=-4.3 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_EF,RCVD_IN_DNSWL_MED, RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL,SPF_HELO_NONE,SPF_NONE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1754007299477564418?= X-GMAIL-MSGID: =?utf-8?q?1754007299477564418?= LED core provides a helper to parse default state from firmware node. Use it instead of custom implementation. Signed-off-by: Andy Shevchenko Reviewed-by: Matthias Brugger Reviewed-by: AngeloGioacchino Del Regno --- drivers/leds/flash/leds-mt6360.c | 38 +++++--------------------------- 1 file changed, 6 insertions(+), 32 deletions(-) diff --git a/drivers/leds/flash/leds-mt6360.c b/drivers/leds/flash/leds-mt6360.c index e1066a52d2d2..1af6c5898343 100644 --- a/drivers/leds/flash/leds-mt6360.c +++ b/drivers/leds/flash/leds-mt6360.c @@ -71,10 +71,6 @@ enum { #define MT6360_STRBTO_STEPUS 32000 #define MT6360_STRBTO_MAXUS 2432000 -#define STATE_OFF 0 -#define STATE_KEEP 1 -#define STATE_ON 2 - struct mt6360_led { union { struct led_classdev isnk; @@ -84,7 +80,7 @@ struct mt6360_led { struct v4l2_flash *v4l2_flash; struct mt6360_priv *priv; u32 led_no; - u32 default_state; + enum led_default_state default_state; }; struct mt6360_priv { @@ -405,10 +401,10 @@ static int mt6360_isnk_init_default_state(struct mt6360_led *led) level = LED_OFF; switch (led->default_state) { - case STATE_ON: + case LEDS_DEFSTATE_ON: led->isnk.brightness = led->isnk.max_brightness; break; - case STATE_KEEP: + case LEDS_DEFSTATE_KEEP: led->isnk.brightness = min(level, led->isnk.max_brightness); break; default: @@ -443,10 +439,10 @@ static int mt6360_flash_init_default_state(struct mt6360_led *led) level = LED_OFF; switch (led->default_state) { - case STATE_ON: + case LEDS_DEFSTATE_ON: flash->led_cdev.brightness = flash->led_cdev.max_brightness; break; - case STATE_KEEP: + case LEDS_DEFSTATE_KEEP: flash->led_cdev.brightness = min(level, flash->led_cdev.max_brightness); break; @@ -760,25 +756,6 @@ static int mt6360_init_flash_properties(struct mt6360_led *led, return 0; } -static int mt6360_init_common_properties(struct mt6360_led *led, - struct led_init_data *init_data) -{ - const char *const states[] = { "off", "keep", "on" }; - const char *str; - int ret; - - if (!fwnode_property_read_string(init_data->fwnode, - "default-state", &str)) { - ret = match_string(states, ARRAY_SIZE(states), str); - if (ret < 0) - ret = STATE_OFF; - - led->default_state = ret; - } - - return 0; -} - static void mt6360_v4l2_flash_release(struct mt6360_priv *priv) { int i; @@ -852,10 +829,7 @@ static int mt6360_led_probe(struct platform_device *pdev) led->led_no = reg; led->priv = priv; - - ret = mt6360_init_common_properties(led, &init_data); - if (ret) - goto out_flash_release; + led->default_state = led_init_default_state_get(child); if (reg == MT6360_VIRTUAL_MULTICOLOR || reg <= MT6360_LED_ISNKML) From patchwork Tue Jan 3 13:12:53 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andy Shevchenko X-Patchwork-Id: 38426 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a5d:4e01:0:0:0:0:0 with SMTP id p1csp4611430wrt; Tue, 3 Jan 2023 05:15:15 -0800 (PST) X-Google-Smtp-Source: AMrXdXsL/+UT5q50D33xAMwkKYtrnqBHTYgGTTpOjVxtdrOZ6enU0u1QO/oI+OcTmPwO2553cfBN X-Received: by 2002:a17:902:ea81:b0:192:6b94:7a89 with SMTP id x1-20020a170902ea8100b001926b947a89mr33786128plb.43.1672751715167; Tue, 03 Jan 2023 05:15:15 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1672751715; cv=none; d=google.com; s=arc-20160816; b=iINLIs7Esk4o/yNwf3EVs8AufbQxvYm6pDIZH/E4gE/H88reWHWazU8qo/XKO/ZRow U9rWM6IHgZqJUGIhvWSwnWLR7KlSgHRqv87FlDsVu4sfEyK15qTXBReQtmYNR78ymOYD lBCXqxcZZYSv3k8aZXdwFm14eiGCCgjsNSN+B7h/DKllqvTWAweW1IWVwgjic3YZZXLE dMFAddZkWj5pMCe8OSOwOJg7L0pcFG8upgQsBUJI7ndxljNq0Lj+vHsgu7Zfl8xYlPfK v+TVwwUXCwc4vI2OYiOMMUr+b/lUnSMyfT8Qd5rZPE+MmP80/bnoeMnuYUmFnFjIFWWS LtlQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=Amyx37cUS1Ga7+iBkem0FbcV4SxxuA5yDQCSKvbgEUY=; b=Kd6Nq9hEba+jGkLaVY2nUdUJ2+m2qa0QF8QwgPfrA9GlxbYBcJ/gxM37Hs1SWJbXii FH3FU8x940Dmi90XclZHxmdv7yP4ZnlDkaoi/KdIBg7RrLRcLpgBaTxmLm0Nv6gJGnbX TqoGMIKB/wNSWJ5qgRq1NctqpnDkq257VrcNx20KFz6Vtk5tVhTkKrJ9HFQRPRnuUlp4 gKvJb3SEh0ISUlF4qQyMys2lg7PHH9NNgecZtV+w8GP9h0BopPIZapazhUctfX2wFEG+ LjifzlXdz8jO53MlUkq4juQ9AQZJ+pmJBJHYY6EkfSJM2aG4OntYL0Ikco9fRd00GIlB FhuQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=lgTpR+DI; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id m11-20020a170902f20b00b00192659c74absi27071312plc.510.2023.01.03.05.15.00; Tue, 03 Jan 2023 05:15:15 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=lgTpR+DI; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S237746AbjACNNQ (ORCPT + 99 others); Tue, 3 Jan 2023 08:13:16 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:52734 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S237714AbjACNMn (ORCPT ); Tue, 3 Jan 2023 08:12:43 -0500 Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 1DD0110B75; Tue, 3 Jan 2023 05:12:39 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1672751560; x=1704287560; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=aeuQDv8IZ9zZxqvE4KXWp0tWzJlo3lpo6FSE4G48zc0=; b=lgTpR+DI1OObEwgOSMAcdLqjnYhm9oEJsBoB+kbi0mtRvPtmy4fUWDSX 3ICagxFiyE/iAXtuMeJJPVfwKJxe+6wKLmquV4Aik28JrlTWG2wHwgVWy PFBXda83fzC6x6gSu1Oxz/fVaKtia/zuz6E0NbQSsN3R3N5Rvl4vt7r8t ItSR/I8L3sF+PFUZg6IXWO6zKwWw7vKV3xQr+6yM/gEaR7OiyzjsRgMgN 16GNrd1GIwCmUkuiuHh/EF3JcnQRZveGEhasHmThjo2B8iQMKnn9KOL8D u2YKRIPiDK4CX2lfMAqmp5I46OiBFmNL2NyDksvOMw7vp4h1o1KsrvwqA A==; X-IronPort-AV: E=McAfee;i="6500,9779,10579"; a="320367289" X-IronPort-AV: E=Sophos;i="5.96,297,1665471600"; d="scan'208";a="320367289" Received: from orsmga002.jf.intel.com ([10.7.209.21]) by fmsmga104.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 03 Jan 2023 05:12:39 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6500,9779,10579"; a="654781149" X-IronPort-AV: E=Sophos;i="5.96,297,1665471600"; d="scan'208";a="654781149" Received: from black.fi.intel.com ([10.237.72.28]) by orsmga002.jf.intel.com with ESMTP; 03 Jan 2023 05:12:34 -0800 Received: by black.fi.intel.com (Postfix, from userid 1003) id C7B4719E; Tue, 3 Jan 2023 15:13:00 +0200 (EET) From: Andy Shevchenko To: Andy Shevchenko , Gene Chen , linux-leds@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-mediatek@lists.infradead.org, linux-kernel@vger.kernel.org, netdev@vger.kernel.org Cc: Pavel Machek , Lee Jones , Matthias Brugger , Sean Wang , Kurt Kanzenbach , Andrew Lunn , Florian Fainelli , Vladimir Oltean , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni Subject: [PATCH v4 08/11] leds: pca955x: Get rid of custom led_init_default_state_get() Date: Tue, 3 Jan 2023 15:12:53 +0200 Message-Id: <20230103131256.33894-9-andriy.shevchenko@linux.intel.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20230103131256.33894-1-andriy.shevchenko@linux.intel.com> References: <20230103131256.33894-1-andriy.shevchenko@linux.intel.com> MIME-Version: 1.0 X-Spam-Status: No, score=-4.3 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_EF,RCVD_IN_DNSWL_MED,SPF_HELO_NONE, SPF_NONE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1754007302616928928?= X-GMAIL-MSGID: =?utf-8?q?1754007302616928928?= LED core provides a helper to parse default state from firmware node. Use it instead of custom implementation. Signed-off-by: Andy Shevchenko --- drivers/leds/leds-pca955x.c | 26 ++++++-------------------- 1 file changed, 6 insertions(+), 20 deletions(-) diff --git a/drivers/leds/leds-pca955x.c b/drivers/leds/leds-pca955x.c index 33ec4543fb4f..1edd092e7894 100644 --- a/drivers/leds/leds-pca955x.c +++ b/drivers/leds/leds-pca955x.c @@ -130,7 +130,7 @@ struct pca955x_led { struct led_classdev led_cdev; int led_num; /* 0 .. 15 potentially */ u32 type; - int default_state; + enum led_default_state default_state; struct fwnode_handle *fwnode; }; @@ -437,7 +437,6 @@ pca955x_get_pdata(struct i2c_client *client, struct pca955x_chipdef *chip) return ERR_PTR(-ENOMEM); device_for_each_child_node(&client->dev, child) { - const char *state; u32 reg; int res; @@ -448,19 +447,9 @@ pca955x_get_pdata(struct i2c_client *client, struct pca955x_chipdef *chip) led = &pdata->leds[reg]; led->type = PCA955X_TYPE_LED; led->fwnode = child; - fwnode_property_read_u32(child, "type", &led->type); + led->default_state = led_init_default_state_get(child); - if (!fwnode_property_read_string(child, "default-state", - &state)) { - if (!strcmp(state, "keep")) - led->default_state = LEDS_GPIO_DEFSTATE_KEEP; - else if (!strcmp(state, "on")) - led->default_state = LEDS_GPIO_DEFSTATE_ON; - else - led->default_state = LEDS_GPIO_DEFSTATE_OFF; - } else { - led->default_state = LEDS_GPIO_DEFSTATE_OFF; - } + fwnode_property_read_u32(child, "type", &led->type); } pdata->num_leds = chip->bits; @@ -572,13 +561,11 @@ static int pca955x_probe(struct i2c_client *client) led->brightness_set_blocking = pca955x_led_set; led->brightness_get = pca955x_led_get; - if (pdata->leds[i].default_state == - LEDS_GPIO_DEFSTATE_OFF) { + if (pdata->leds[i].default_state == LEDS_DEFSTATE_OFF) { err = pca955x_led_set(led, LED_OFF); if (err) return err; - } else if (pdata->leds[i].default_state == - LEDS_GPIO_DEFSTATE_ON) { + } else if (pdata->leds[i].default_state == LEDS_DEFSTATE_ON) { err = pca955x_led_set(led, LED_FULL); if (err) return err; @@ -617,8 +604,7 @@ static int pca955x_probe(struct i2c_client *client) * brightness to see if it's using PWM1. If so, PWM1 * should not be written below. */ - if (pdata->leds[i].default_state == - LEDS_GPIO_DEFSTATE_KEEP) { + if (pdata->leds[i].default_state == LEDS_DEFSTATE_KEEP) { if (led->brightness != LED_FULL && led->brightness != LED_OFF && led->brightness != LED_HALF) From patchwork Tue Jan 3 13:12:54 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andy Shevchenko X-Patchwork-Id: 38416 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a5d:4e01:0:0:0:0:0 with SMTP id p1csp4611022wrt; Tue, 3 Jan 2023 05:14:31 -0800 (PST) X-Google-Smtp-Source: AMrXdXvaUcSj24d5AMH7gO+xjz9ApPSteYtGuc/SdlOLi8AMsTrmpHM3d1VnYgRh4uumfP4wElp6 X-Received: by 2002:a17:903:1014:b0:192:62dd:7cb4 with SMTP id a20-20020a170903101400b0019262dd7cb4mr33782732plb.51.1672751671026; Tue, 03 Jan 2023 05:14:31 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1672751671; cv=none; d=google.com; s=arc-20160816; b=Xx/wYuDq/82LSU5Zhpo0p9BZX9/dKV4GQUW4bhpq1qs4vxD3BuWkB4H7Jx79TlGtsm 6KHHImCQGKfkQ3UG7BpJAeMar1HAgVZEblHM23c5q5a2vi6gJH8eZ6A67XnTUOG4pLa2 AmbmRf8UTfJDQfeXfKIYVs1xpEZdteI8VRUgzbKBxzSYN1e2UltfwiyyqtNpz1MH3E3s aLKC2J1Cz1d56z07zdEqKFdxC76dVSpfaH0e1NU0vs0ygA5iB/EInZDWbCLFa4j0LugI HT8ywuTmxtepQrSFYU5YrHpXhJPbEkHSdAp5mjg3Ror4UDt/a5uhcNZhv0w5nvHidDZv DmvQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=e7w6baOKr4KB2PiuqgQdQHmUSuRlMcuXittrTw63Bx0=; b=U+I5ssfbatTEKNnNhSmvDAgA0RYGbRE3PIBW+eYNKLqN737uc92XcqxXkZMD1WEuhC JjOtszT46RicsRnnnP9v+oRfzyqgnWXXwaVOM+eELqnNpkT2cvTnyS+8B+Et1XGIlvPY YxBOxlf+1NF6a0RvxvYhm31ApNq3uOzWQtYockoPuNmKIW4RFjYcIxS1bc+6S6XKe12w JXwlkv6ZoyzPYXNtlcG85K1PlXmIMq1eYwyZd4XfuLSnHi07AeIjgVmDG+VougeikZXh Q9vvqDyPpPh8iD/xa90p5AaXR5viNSejfoqNlwz/DYXgaL11nN2JAXzNpztIPSPoLMXY HIHA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=m2K9HbaX; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id f8-20020a6547c8000000b004785ae0770dsi33688692pgs.327.2023.01.03.05.14.17; Tue, 03 Jan 2023 05:14:31 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=m2K9HbaX; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S237728AbjACNNM (ORCPT + 99 others); Tue, 3 Jan 2023 08:13:12 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:52732 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S237676AbjACNMn (ORCPT ); Tue, 3 Jan 2023 08:12:43 -0500 Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 1DACD10B70; Tue, 3 Jan 2023 05:12:39 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1672751560; x=1704287560; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=hvI26OhQ+1E3Y1b+RrDqvUOiyVnslqAALa2RhHdwGbY=; b=m2K9HbaXlAohLwUKkPBF8jj3ww+UpveJ7AB21Q5apwPCGrvhNPPqL5FV Zq2lES0nJIYwFPlnNCfoJYoGTzyZnYCwUJxqt3ObNKBy/cDnOvYpVXr5t xUplS96h3LU07X5+gGnSEB8P/fTuy3v0oh36zCFf9B4CDXjprJTe+v79V Nzn+K2eSa6bEI9gA3grxxE9vN7p37GGmGPcLLpdCSWe/hcHu/ZXALoawE 06a+PXvtCOhfaR+y/E68aRdEMvWxWNwBXAIXuhNXIuccP0tMvk+1ibkWU KDRHgCYYXBa4kkrTavlHe8fUnYc5RO9XrofVjuH9bIoxpFVQWCMx2OyIk w==; X-IronPort-AV: E=McAfee;i="6500,9779,10579"; a="320367274" X-IronPort-AV: E=Sophos;i="5.96,297,1665471600"; d="scan'208";a="320367274" Received: from orsmga002.jf.intel.com ([10.7.209.21]) by fmsmga104.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 03 Jan 2023 05:12:39 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6500,9779,10579"; a="654781148" X-IronPort-AV: E=Sophos;i="5.96,297,1665471600"; d="scan'208";a="654781148" Received: from black.fi.intel.com ([10.237.72.28]) by orsmga002.jf.intel.com with ESMTP; 03 Jan 2023 05:12:34 -0800 Received: by black.fi.intel.com (Postfix, from userid 1003) id D30BE3FD; Tue, 3 Jan 2023 15:13:00 +0200 (EET) From: Andy Shevchenko To: Andy Shevchenko , Gene Chen , linux-leds@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-mediatek@lists.infradead.org, linux-kernel@vger.kernel.org, netdev@vger.kernel.org Cc: Pavel Machek , Lee Jones , Matthias Brugger , Sean Wang , Kurt Kanzenbach , Andrew Lunn , Florian Fainelli , Vladimir Oltean , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni Subject: [PATCH v4 09/11] leds: pm8058: Get rid of custom led_init_default_state_get() Date: Tue, 3 Jan 2023 15:12:54 +0200 Message-Id: <20230103131256.33894-10-andriy.shevchenko@linux.intel.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20230103131256.33894-1-andriy.shevchenko@linux.intel.com> References: <20230103131256.33894-1-andriy.shevchenko@linux.intel.com> MIME-Version: 1.0 X-Spam-Status: No, score=-4.3 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_EF,RCVD_IN_DNSWL_MED,SPF_HELO_NONE, SPF_NONE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1754007256183693190?= X-GMAIL-MSGID: =?utf-8?q?1754007256183693190?= LED core provides a helper to parse default state from firmware node. Use it instead of custom implementation. Signed-off-by: Andy Shevchenko --- drivers/leds/leds-pm8058.c | 29 +++++++++++++++-------------- 1 file changed, 15 insertions(+), 14 deletions(-) diff --git a/drivers/leds/leds-pm8058.c b/drivers/leds/leds-pm8058.c index fb2ab72c0c40..b9233f14b646 100644 --- a/drivers/leds/leds-pm8058.c +++ b/drivers/leds/leds-pm8058.c @@ -93,8 +93,8 @@ static int pm8058_led_probe(struct platform_device *pdev) struct device_node *np; int ret; struct regmap *map; - const char *state; enum led_brightness maxbright; + enum led_default_state state; led = devm_kzalloc(dev, sizeof(*led), GFP_KERNEL); if (!led) @@ -125,25 +125,26 @@ static int pm8058_led_probe(struct platform_device *pdev) maxbright = 15; /* 4 bits */ led->cdev.max_brightness = maxbright; - state = of_get_property(np, "default-state", NULL); - if (state) { - if (!strcmp(state, "keep")) { - led->cdev.brightness = pm8058_led_get(&led->cdev); - } else if (!strcmp(state, "on")) { - led->cdev.brightness = maxbright; - pm8058_led_set(&led->cdev, maxbright); - } else { - led->cdev.brightness = LED_OFF; - pm8058_led_set(&led->cdev, LED_OFF); - } + init_data.fwnode = of_fwnode_handle(np); + + state = led_init_default_state_get(init_data.fwnode); + switch (state) { + case LEDS_DEFSTATE_ON: + led->cdev.brightness = maxbright; + pm8058_led_set(&led->cdev, maxbright); + break; + case LEDS_DEFSTATE_KEEP: + led->cdev.brightness = pm8058_led_get(&led->cdev); + break; + default: + led->cdev.brightness = LED_OFF; + pm8058_led_set(&led->cdev, LED_OFF); } if (led->ledtype == PM8058_LED_TYPE_KEYPAD || led->ledtype == PM8058_LED_TYPE_FLASH) led->cdev.flags = LED_CORE_SUSPENDRESUME; - init_data.fwnode = of_fwnode_handle(np); - ret = devm_led_classdev_register_ext(dev, &led->cdev, &init_data); if (ret) dev_err(dev, "Failed to register LED for %pOF\n", np); From patchwork Tue Jan 3 13:12:55 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andy Shevchenko X-Patchwork-Id: 38415 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a5d:4e01:0:0:0:0:0 with SMTP id p1csp4610936wrt; Tue, 3 Jan 2023 05:14:23 -0800 (PST) X-Google-Smtp-Source: AMrXdXsGN3QcJRE3q4X6WHLNOM7CcOuF0EmhB8KoaYtMp/3Iq80eHdCQ1S2GD/wEVbchOudfs4rK X-Received: by 2002:a17:902:ab5b:b0:192:b006:2075 with SMTP id ij27-20020a170902ab5b00b00192b0062075mr13268409plb.19.1672751662756; Tue, 03 Jan 2023 05:14:22 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1672751662; cv=none; d=google.com; s=arc-20160816; b=SriGb96PauUHhU+Qovdmmv+ZUFTTzOhaJfbRfa2yQlzhpV+FCczPoCWoC494qFPppQ HeW8hLIQP3E5XVr8deE0nl3TdYGTnfF/r3zRU1eOJde7MjeK363OwQiVEC8z0CMg2yW7 EMQhMEscFFAjmZPcCUrFZX1FiFpmhXg+V1m8DgMUG9t4O5zZoQ1HSvE9/V9Y1JNbJpEi MRnWlPNQ10nD5QtI0vaoaSK1XvATkUtpGEoOVH8e/hPl1xKFV+Ozf8Anrs4xmRyalC8x Xr7Z/TKWstqhCkV61N8HtAwrkcS0v49AazQ3d6ufOPeKFUuxbACaP5bDdjgoCf3FQh1G n5IQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=h1QxN/MVkmbtPgFiMVZumDBjcbxGPv7gkFEK3COMvWI=; b=xqsZCFIbrM5Q7hA0q3HWfL6Lg5az427Op2Y4OF1PDCG2izvqNHx/S+hj+j64IpDvEj MPFgPCRHyMLW6YPvFl1hkVhJi5A9b84BxvXs/hGvThUkL0ctnstmluT0+HQjbTkEAqcf 7aVV0sWjMKnFG7V7ZaHYI7QElRv61K53Nw+zZ+greKYzE6c9EYvVLCxzenqWczNyVNL8 FmRSFC5XBKbMDFGTIf9jRTmPBuXsWJW0HFY83FmSgBaK8Y1twfLALYFOv4i14iT1eoDk lIY3pkqYuQOIFFKix5SPuCfHUMt6l5agWK2UahTe5mOdoIfnYAzXUI00q4XjzKx5a6sj P+Rw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=TEbDYR+o; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id i16-20020a170902cf1000b00188b9b4139asi32430661plg.210.2023.01.03.05.14.09; Tue, 03 Jan 2023 05:14:22 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=TEbDYR+o; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S237752AbjACNNT (ORCPT + 99 others); Tue, 3 Jan 2023 08:13:19 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:53364 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233191AbjACNNI (ORCPT ); Tue, 3 Jan 2023 08:13:08 -0500 Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id DA1FF10FC9; Tue, 3 Jan 2023 05:12:40 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1672751560; x=1704287560; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=jvEYSO7lW++ymJ0bBLH7ZRL0Q9IiAhclprxNUtYU6Os=; b=TEbDYR+oV1uojHKgWUEqXAOt51pjF6ap4o8qCwFTaGCpZj/n6Bj+MH27 hf1syD06MQ0/o1O5xxBM5k2ALNkN7stv4inr2rLFalJtmzFUxkuTW+wc5 uOblp9lFvznKO9HZAoAHn0/ukQAGKJFS30TlRrsbS8Lf4NsCje7s7JFJD UIgYo2RvtwZ+ICCTbg13D2rk+BedEFYYfnHlIWxP6JZAz3oqNsbMgCF3Y 0bG9oyde7cuG+7qfxW8hIgWxwvewXqGZULqR4yv2eNGLpJBndOGmhIVLF xjAUDk6ce+5nfr9/MaHr47LYZtSInnRuG9ikWQio39JRfa+05KVW78SE0 Q==; X-IronPort-AV: E=McAfee;i="6500,9779,10579"; a="322887965" X-IronPort-AV: E=Sophos;i="5.96,297,1665471600"; d="scan'208";a="322887965" Received: from orsmga008.jf.intel.com ([10.7.209.65]) by orsmga102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 03 Jan 2023 05:12:39 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6500,9779,10579"; a="685397946" X-IronPort-AV: E=Sophos;i="5.96,297,1665471600"; d="scan'208";a="685397946" Received: from black.fi.intel.com ([10.237.72.28]) by orsmga008.jf.intel.com with ESMTP; 03 Jan 2023 05:12:34 -0800 Received: by black.fi.intel.com (Postfix, from userid 1003) id E24663BC; Tue, 3 Jan 2023 15:13:00 +0200 (EET) From: Andy Shevchenko To: Andy Shevchenko , Gene Chen , linux-leds@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-mediatek@lists.infradead.org, linux-kernel@vger.kernel.org, netdev@vger.kernel.org Cc: Pavel Machek , Lee Jones , Matthias Brugger , Sean Wang , Kurt Kanzenbach , Andrew Lunn , Florian Fainelli , Vladimir Oltean , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni Subject: [PATCH v4 10/11] leds: syscon: Get rid of custom led_init_default_state_get() Date: Tue, 3 Jan 2023 15:12:55 +0200 Message-Id: <20230103131256.33894-11-andriy.shevchenko@linux.intel.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20230103131256.33894-1-andriy.shevchenko@linux.intel.com> References: <20230103131256.33894-1-andriy.shevchenko@linux.intel.com> MIME-Version: 1.0 X-Spam-Status: No, score=-4.3 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_EF,RCVD_IN_DNSWL_MED, RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL,SPF_HELO_NONE,SPF_NONE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1754007247433309516?= X-GMAIL-MSGID: =?utf-8?q?1754007247433309516?= LED core provides a helper to parse default state from firmware node. Use it instead of custom implementation. Signed-off-by: Andy Shevchenko --- drivers/leds/leds-syscon.c | 49 ++++++++++++++++++-------------------- 1 file changed, 23 insertions(+), 26 deletions(-) diff --git a/drivers/leds/leds-syscon.c b/drivers/leds/leds-syscon.c index 7eddb8ecb44e..e38abb5e60c1 100644 --- a/drivers/leds/leds-syscon.c +++ b/drivers/leds/leds-syscon.c @@ -61,7 +61,8 @@ static int syscon_led_probe(struct platform_device *pdev) struct device *parent; struct regmap *map; struct syscon_led *sled; - const char *state; + enum led_default_state state; + u32 value; int ret; parent = dev->parent; @@ -86,34 +87,30 @@ static int syscon_led_probe(struct platform_device *pdev) if (of_property_read_u32(np, "mask", &sled->mask)) return -EINVAL; - state = of_get_property(np, "default-state", NULL); - if (state) { - if (!strcmp(state, "keep")) { - u32 val; - - ret = regmap_read(map, sled->offset, &val); - if (ret < 0) - return ret; - sled->state = !!(val & sled->mask); - } else if (!strcmp(state, "on")) { - sled->state = true; - ret = regmap_update_bits(map, sled->offset, - sled->mask, - sled->mask); - if (ret < 0) - return ret; - } else { - sled->state = false; - ret = regmap_update_bits(map, sled->offset, - sled->mask, 0); - if (ret < 0) - return ret; - } + init_data.fwnode = of_fwnode_handle(np); + + state = led_init_default_state_get(init_data.fwnode); + switch (state) { + case LEDS_DEFSTATE_ON: + ret = regmap_update_bits(map, sled->offset, sled->mask, sled->mask); + if (ret < 0) + return ret; + sled->state = true; + break; + case LEDS_DEFSTATE_KEEP: + ret = regmap_read(map, sled->offset, &value); + if (ret < 0) + return ret; + sled->state = !!(value & sled->mask); + break; + default: + ret = regmap_update_bits(map, sled->offset, sled->mask, 0); + if (ret < 0) + return ret; + sled->state = false; } sled->cdev.brightness_set = syscon_led_set; - init_data.fwnode = of_fwnode_handle(np); - ret = devm_led_classdev_register_ext(dev, &sled->cdev, &init_data); if (ret < 0) return ret; From patchwork Tue Jan 3 13:12:56 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andy Shevchenko X-Patchwork-Id: 38423 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a5d:4e01:0:0:0:0:0 with SMTP id p1csp4611245wrt; Tue, 3 Jan 2023 05:14:53 -0800 (PST) X-Google-Smtp-Source: AMrXdXtboTIXbSpfSWzwVxMH3paAYJ67iXS36sUwe2A+lMY0THR4GJENYx5wJyd5Ybo9m2B4Fima X-Received: by 2002:a05:6a20:3b87:b0:af:7762:3c29 with SMTP id b7-20020a056a203b8700b000af77623c29mr54923857pzh.10.1672751692822; Tue, 03 Jan 2023 05:14:52 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1672751692; cv=none; d=google.com; s=arc-20160816; b=uG0vHJCyxScHlNEPLINSeCpOrj4l0Ad7BCsx1nfn58TYJTougGp0L0FhbVnqaLAo/l KJxxS8a9LnLL4fuW3DVz6fV83NdBa19eNWtl02DEMG7tQotmm40ELTXR2hvb3J+MZ6mb n1VEG6+7xggr/7xIr/fWjOH4P1n3ZkPtE1Ps2qxAQ7TKlxCzXKo7W7dHm/EA9AqC22eD Xl42P+Y8iuSxYMul/HCbOS4Y+SqhGYIs7Knb3KNsN6taJfA6SJXakrOxu0f8c+TSIwE2 hZoqghsjJVTvTJVfekuHjaFSs7/IOSPl2N/rzsqawayLdd2uMv6OvwgpOpFMkaMqf4FV 7r5w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=zB9RCZahTy8yJATnLOpF1pfodSkHXOFYZBuM0cS+Q/E=; b=naCeMWD88XbiO0tAjnKOzaBNtC2UVKPe/ZLFd9guoHyivKXFVltr0rpSMXGLYkV7WA QBqjz5xtGoeJ+SQUpjC+UUBtpNASGfghikaTR5Zm4GTApumz9nxcd93R+Zu50/IIwv4T rqO8Earp+V4ZwXJizYWpb++XXVeU93fHUEO9Iz/kPLQaUlwHg4s93z6WX/x2KD7GrOOg 0seMNkiXbiCvsHXOuTcoFlCCAK6nvB59AStLQLEOBt+fLrem3tT28PneLXlQtJXM+I+A 78cEXY9Mre4eSsDLT7WR9VX4ekYzeySZsQF1Z+ysOlpRoarrGdW9kMZHavHSnUOTGLGA XREA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=VEnh19Vi; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id u203-20020a6279d4000000b00581dfd51d87si14476589pfc.324.2023.01.03.05.14.40; Tue, 03 Jan 2023 05:14:52 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=VEnh19Vi; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S237436AbjACNNx (ORCPT + 99 others); Tue, 3 Jan 2023 08:13:53 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:53448 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S237739AbjACNNN (ORCPT ); Tue, 3 Jan 2023 08:13:13 -0500 Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 645191114B; Tue, 3 Jan 2023 05:12:44 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1672751564; x=1704287564; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=WhGrjx6LzV2jk/LAfomo4zdb3Tdn1LBofxlORU1JDv0=; b=VEnh19VivwIMpe6hZMkoOBw+iPBVlOXfiQ8M2op6En9nltN6BPgVw4DI euIIJ/CmmnoVs1VUTkGT23dCqyadrpucX4OVJo91Bq0U1ze1AuxWYtt/u YykK1JW4P56mF2200zI2XHNZjnZq/axm7A1ehZUOVEMfEymHqeu8w5b1G orEgufqr5hm6ZKBsruoPzz4QS1CNrA3KiE52/zyI0sHoo2qIzR4n2G7cG Jh0LYNkVZfcyZzPZmdmMzYzc+gPX1kC8QTGHv/D3eT6GA8cgWn0Ns4lHk ucw/nJyo6mFCXcxjLVC6wzj2Lp00hMMpZ8kZH4dWwQyCMn50H5DvA0ta/ Q==; X-IronPort-AV: E=McAfee;i="6500,9779,10579"; a="322888002" X-IronPort-AV: E=Sophos;i="5.96,297,1665471600"; d="scan'208";a="322888002" Received: from orsmga008.jf.intel.com ([10.7.209.65]) by orsmga102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 03 Jan 2023 05:12:39 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6500,9779,10579"; a="685397947" X-IronPort-AV: E=Sophos;i="5.96,297,1665471600"; d="scan'208";a="685397947" Received: from black.fi.intel.com ([10.237.72.28]) by orsmga008.jf.intel.com with ESMTP; 03 Jan 2023 05:12:34 -0800 Received: by black.fi.intel.com (Postfix, from userid 1003) id EDD04458; Tue, 3 Jan 2023 15:13:00 +0200 (EET) From: Andy Shevchenko To: Andy Shevchenko , Gene Chen , linux-leds@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-mediatek@lists.infradead.org, linux-kernel@vger.kernel.org, netdev@vger.kernel.org Cc: Pavel Machek , Lee Jones , Matthias Brugger , Sean Wang , Kurt Kanzenbach , Andrew Lunn , Florian Fainelli , Vladimir Oltean , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni Subject: [PATCH v4 11/11] net: dsa: hellcreek: Get rid of custom led_init_default_state_get() Date: Tue, 3 Jan 2023 15:12:56 +0200 Message-Id: <20230103131256.33894-12-andriy.shevchenko@linux.intel.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20230103131256.33894-1-andriy.shevchenko@linux.intel.com> References: <20230103131256.33894-1-andriy.shevchenko@linux.intel.com> MIME-Version: 1.0 X-Spam-Status: No, score=-4.3 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_EF,RCVD_IN_DNSWL_MED, RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL,SPF_HELO_NONE,SPF_NONE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1754007279438251856?= X-GMAIL-MSGID: =?utf-8?q?1754007279438251856?= LED core provides a helper to parse default state from firmware node. Use it instead of custom implementation. Signed-off-by: Andy Shevchenko Reviewed-by: Kurt Kanzenbach --- drivers/net/dsa/hirschmann/hellcreek_ptp.c | 45 ++++++++++++---------- 1 file changed, 24 insertions(+), 21 deletions(-) diff --git a/drivers/net/dsa/hirschmann/hellcreek_ptp.c b/drivers/net/dsa/hirschmann/hellcreek_ptp.c index b28baab6d56a..793b2c296314 100644 --- a/drivers/net/dsa/hirschmann/hellcreek_ptp.c +++ b/drivers/net/dsa/hirschmann/hellcreek_ptp.c @@ -297,7 +297,8 @@ static enum led_brightness hellcreek_led_is_gm_get(struct led_classdev *ldev) static int hellcreek_led_setup(struct hellcreek *hellcreek) { struct device_node *leds, *led = NULL; - const char *label, *state; + enum led_default_state state; + const char *label; int ret = -EINVAL; of_node_get(hellcreek->dev->of_node); @@ -318,16 +319,17 @@ static int hellcreek_led_setup(struct hellcreek *hellcreek) ret = of_property_read_string(led, "label", &label); hellcreek->led_sync_good.name = ret ? "sync_good" : label; - ret = of_property_read_string(led, "default-state", &state); - if (!ret) { - if (!strcmp(state, "on")) - hellcreek->led_sync_good.brightness = 1; - else if (!strcmp(state, "off")) - hellcreek->led_sync_good.brightness = 0; - else if (!strcmp(state, "keep")) - hellcreek->led_sync_good.brightness = - hellcreek_get_brightness(hellcreek, - STATUS_OUT_SYNC_GOOD); + state = led_init_default_state_get(of_fwnode_handle(led)); + switch (state) { + case LEDS_DEFSTATE_ON: + hellcreek->led_sync_good.brightness = 1; + break; + case LEDS_DEFSTATE_KEEP: + hellcreek->led_sync_good.brightness = + hellcreek_get_brightness(hellcreek, STATUS_OUT_SYNC_GOOD); + break; + default: + hellcreek->led_sync_good.brightness = 0; } hellcreek->led_sync_good.max_brightness = 1; @@ -344,16 +346,17 @@ static int hellcreek_led_setup(struct hellcreek *hellcreek) ret = of_property_read_string(led, "label", &label); hellcreek->led_is_gm.name = ret ? "is_gm" : label; - ret = of_property_read_string(led, "default-state", &state); - if (!ret) { - if (!strcmp(state, "on")) - hellcreek->led_is_gm.brightness = 1; - else if (!strcmp(state, "off")) - hellcreek->led_is_gm.brightness = 0; - else if (!strcmp(state, "keep")) - hellcreek->led_is_gm.brightness = - hellcreek_get_brightness(hellcreek, - STATUS_OUT_IS_GM); + state = led_init_default_state_get(of_fwnode_handle(led)); + switch (state) { + case LEDS_DEFSTATE_ON: + hellcreek->led_is_gm.brightness = 1; + break; + case LEDS_DEFSTATE_KEEP: + hellcreek->led_is_gm.brightness = + hellcreek_get_brightness(hellcreek, STATUS_OUT_IS_GM); + break; + default: + hellcreek->led_is_gm.brightness = 0; } hellcreek->led_is_gm.max_brightness = 1;