From patchwork Mon Mar 20 14:22:20 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Lin, Meng-Bo" X-Patchwork-Id: 72179 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a5d:604a:0:0:0:0:0 with SMTP id j10csp1247911wrt; Mon, 20 Mar 2023 07:27:39 -0700 (PDT) X-Google-Smtp-Source: AK7set9QymP48ed0V2f9y1ikbI2gs68kKqJAPyAGI648RNLCtiFGvZl2muPgMvlm0zSNpFYcIxoT X-Received: by 2002:a17:90a:1950:b0:23f:e48:8bde with SMTP id 16-20020a17090a195000b0023f0e488bdemr18645623pjh.27.1679322459534; Mon, 20 Mar 2023 07:27:39 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1679322459; cv=none; d=google.com; s=arc-20160816; b=s+oQVuIXLc3JYl01hVN0l5aRPrc85UDm49lvZuU+ZUb/hW5Tx9OJqaH9qFTMy3Cgby t+hiXhZ4o79D6g6fQkqk75BWMDBRokCdU8TZkl+AeZySvdUfzRwp+BY/glpdZAO2ftyD NYrCRDwXQOc+26CBZClG9/Ha5KY0Ku2JazEF74urqm8WteTkiM2UA4sEOCj4NLKEVK5M StXXVNHJvYv6UFX846ME++GnJE7uN1w2hIiPwqfd4R0uNiLzKreLSnp3JuVcrb4ajMRs FdzNundTWj0GKrpwQmUmdrxDE1c7ZbU8NRcFhIZOp2B1bWzuM41CtAXXUSaPoXcKHDX+ B+5A== 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 :feedback-id:references:in-reply-to:message-id:subject:cc:from:to :dkim-signature:date; bh=PyBkroZpp5Idh5EiLvqP12MWQHI/I6jk1Thl/HtlRy0=; b=V23C9kkPX64HuFY9HVPl5n9iw+tvpir1CWxbqtU9UE7RG+OD3JN9bdwVqkgsfjxR4q 6YlT2PY+gnuW8qbyY9YYVSopawcAhwR2JY7z611eJzvfYKEEuWLIYt8bRehiRZQpvUYR mOI9e37F5U06dZnuO3AtnIcuHfUcnaiqQQ3zce6hwVWKzouiwZuSVUMFA4sT53QvZX/j IUrbSj5w2mpVYSfMFiZvW9LwJRWICoROptFg4EXDcGRczltzUyIjZB3zp4/LIzgdCVy7 iJGQtSSQ0UdpYeXjQGGOCMzplCnUnS/w+joKmq58PqzkuRdf8uXGo6m0wyHCD+up/hGR BZfg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@protonmail.com header.s=protonmail3 header.b=q2mL4lvg; 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=QUARANTINE sp=QUARANTINE dis=NONE) header.from=protonmail.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id q67-20020a17090a1b4900b00233e50c1117si9992949pjq.71.2023.03.20.07.27.26; Mon, 20 Mar 2023 07:27:39 -0700 (PDT) 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=@protonmail.com header.s=protonmail3 header.b=q2mL4lvg; 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=QUARANTINE sp=QUARANTINE dis=NONE) header.from=protonmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231239AbjCTOWo (ORCPT + 99 others); Mon, 20 Mar 2023 10:22:44 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:48576 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231625AbjCTOWl (ORCPT ); Mon, 20 Mar 2023 10:22:41 -0400 Received: from mail-0201.mail-europe.com (mail-0201.mail-europe.com [51.77.79.158]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 0A3232203D; Mon, 20 Mar 2023 07:22:38 -0700 (PDT) Date: Mon, 20 Mar 2023 14:22:20 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=protonmail.com; s=protonmail3; t=1679322154; x=1679581354; bh=PyBkroZpp5Idh5EiLvqP12MWQHI/I6jk1Thl/HtlRy0=; h=Date:To:From:Cc:Subject:Message-ID:In-Reply-To:References: Feedback-ID:From:To:Cc:Date:Subject:Reply-To:Feedback-ID: Message-ID:BIMI-Selector; b=q2mL4lvgqq6/UT0kzVkGmepQtIBR6RAoGnxho6bvKGLlC4mnjndRTyRybHHjkrQG9 o3/KldHRayXXuqnvLQWQNJEuS0hX722OevRqQksAJ7Dj/Tmv+UBcmjjJGSsvjb+e3B BSxTABGUPWgHtLcgChRVgth7FvhxLgwf2ncmf7YSw8UzuXN9Jvh1WSJwKjF7yeST21 kEp1TTmxo/zZXvjexnHrXq1SHs9pnpKn5CohBY9Kv6UrGQ3FPDWfhux0OCQlaCh++l QhR+Jgad6PLbRbBq0pY6wyQ4myRQT7qygFd3qNEo2fOvu8OHbgecHZpMEyw8N1gBW5 hpXXhAuZahOpw== To: linux-kernel@vger.kernel.org From: "Lin, Meng-Bo" Cc: Pavel Machek , Lee Jones , Rob Herring , Krzysztof Kozlowski , Nikita Travkin , Stephan Gerhold , linux-leds@vger.kernel.org, devicetree@vger.kernel.org, ~postmarketos/upstreaming@lists.sr.ht Subject: [PATCH 1/2] dt-bindings: leds: aw2013: Document vdd-supply Message-ID: <20230320142103.3440-1-linmengbo0689@protonmail.com> In-Reply-To: <20230320141638.3378-1-linmengbo0689@protonmail.com> References: <20230320141638.3378-1-linmengbo0689@protonmail.com> Feedback-ID: 40467236:user:proton MIME-Version: 1.0 X-Spam-Status: No, score=-1.8 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM,RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS autolearn=unavailable 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?1760897227344803803?= X-GMAIL-MSGID: =?utf-8?q?1760897227344803803?= Document vdd-supply, a regulator providing power to the "VDD" pin. Signed-off-by: Lin, Meng-Bo --- Documentation/devicetree/bindings/leds/leds-aw2013.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/Documentation/devicetree/bindings/leds/leds-aw2013.yaml b/Documentation/devicetree/bindings/leds/leds-aw2013.yaml index 08f3e1cfc1b1..51a58f4b8ed6 100644 --- a/Documentation/devicetree/bindings/leds/leds-aw2013.yaml +++ b/Documentation/devicetree/bindings/leds/leds-aw2013.yaml @@ -23,6 +23,9 @@ properties: vcc-supply: description: Regulator providing power to the "VCC" pin. + vdd-supply: + description: Regulator providing power to the "VDD" pin. + "#address-cells": const: 1 From patchwork Mon Mar 20 14:22:48 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Lin, Meng-Bo" X-Patchwork-Id: 72181 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a5d:604a:0:0:0:0:0 with SMTP id j10csp1249857wrt; Mon, 20 Mar 2023 07:31:37 -0700 (PDT) X-Google-Smtp-Source: AK7set+BWg4WOEfOnqIWhtnV1W7o/R7zXopa8bA2CY66Ytw7HJf2ZXLHyzdCFzs+ydn3Xr2AbA+4 X-Received: by 2002:a17:902:e845:b0:1a1:953b:9559 with SMTP id t5-20020a170902e84500b001a1953b9559mr17544652plg.3.1679322696657; Mon, 20 Mar 2023 07:31:36 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1679322696; cv=none; d=google.com; s=arc-20160816; b=eVL0KHgzMqNH4qYbMsWbOvw1pmylapudl6BYaRn9i7C/D43kfHoqUKv5396777nP+/ lg7UqQm3e3aF39QcJwH4qXI1Isw6zbwpijcns0wIQFL8fIU8bJozjTwO33vQlhFx/kjw AGXKNdFtAjWSsJbiuR7Hrj1tPMvJjhFZpazpNPipx15FLNuNW6Sl2cQRE6KrzK1gG8ai rkLb3CYuc9OW9QVKW9PJbKvOvMy1KUiQSmK5HN+0YzXHUZlZw8xvHoHcO/hDONORXNCg Fl8fyqT+K/hKG6oc6O1IDWpHIHFdPRtMjAm6v//hUI0OVFb6k0PC1rkvRw33/3XMUEdM IkXw== 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 :feedback-id:references:in-reply-to:message-id:subject:cc:from:to :dkim-signature:date; bh=hnNQw8IGieeGXczUkQFigxPqYaJQ3wX8rs+fIziAfsA=; b=Ct0PQJBHwdrUnlzlhFxDxpXkxDgqJYkmCK6F+AFfXpSrErAzWk7lETVKNthmRvmfkm ZPVn/+WRjnXaoSyS+IAW85oAfwfjuNbXKPwWw2QLzoJPeJMbLR83ftZ0W8fmxUPwcqVq rK8xng6EGmv40IrsXn3EeZaYDSzpv45V7m3FyuhcZ0ou/EzLRUkAnGZ9NSUuzwV9W6yu Bx99a5hgr+qFQd6b051WvsZktvUNQNxV3CDWk9i2ex5XrevkFWvbHMeyBfXyRO2k/Dxh zaPtz50YC0K1DK1x/s33hrxGkDQYuOIaAVfqnrkXAJNCcZXvj2Eaffd/2AVJFTnQHQ3w CHUw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@protonmail.com header.s=protonmail3 header.b=cFCg2QVg; 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=QUARANTINE sp=QUARANTINE dis=NONE) header.from=protonmail.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id y3-20020a1709027c8300b001a071f98c39si10843343pll.166.2023.03.20.07.31.20; Mon, 20 Mar 2023 07:31:36 -0700 (PDT) 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=@protonmail.com header.s=protonmail3 header.b=cFCg2QVg; 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=QUARANTINE sp=QUARANTINE dis=NONE) header.from=protonmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231630AbjCTOXG (ORCPT + 99 others); Mon, 20 Mar 2023 10:23:06 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:49138 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231536AbjCTOXD (ORCPT ); Mon, 20 Mar 2023 10:23:03 -0400 X-Greylist: delayed 140 seconds by postgrey-1.37 at lindbergh.monkeyblade.net; Mon, 20 Mar 2023 07:22:57 PDT Received: from mail-40130.protonmail.ch (mail-40130.protonmail.ch [185.70.40.130]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id C096F2200D for ; Mon, 20 Mar 2023 07:22:57 -0700 (PDT) Date: Mon, 20 Mar 2023 14:22:48 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=protonmail.com; s=protonmail3; t=1679322175; x=1679581375; bh=hnNQw8IGieeGXczUkQFigxPqYaJQ3wX8rs+fIziAfsA=; h=Date:To:From:Cc:Subject:Message-ID:In-Reply-To:References: Feedback-ID:From:To:Cc:Date:Subject:Reply-To:Feedback-ID: Message-ID:BIMI-Selector; b=cFCg2QVgznqVtFP9eEgtD2O96s0VDDWHNQ0clkXOHyio208BE1CMPBFTq4FxwqAQd DgPGzeubXAFZXrfzVtVoI6RuU8pSHhSw4ylAt4cENkTCqaxziMWT9VxFi3cd8pAwC5 iZfknvxU4Lc9+h7rpdHZIjSi2+BhCdjILweF8oOS4SQPDkylWbOxfBwJ2RPcZDI8PZ p7TXOfLVGNPJ+TgPBMhK5Iscjv0ckxSNJc2wZlOP7lM/9O+amqmFDm0O4ByYFxJkp1 C6CZafVjnJ7fyFscCLtxZufKA5kUkAB4rQ86uVxcNwGHjSU9CO2VqIjd3nhJfBmAmB kBdNVB6qyz1rg== To: linux-kernel@vger.kernel.org From: "Lin, Meng-Bo" Cc: Pavel Machek , Lee Jones , Rob Herring , Krzysztof Kozlowski , Nikita Travkin , Stephan Gerhold , linux-leds@vger.kernel.org, devicetree@vger.kernel.org, ~postmarketos/upstreaming@lists.sr.ht Subject: [PATCH 2/2] leds: aw2013: Add vdd regulator Message-ID: <20230320142116.3494-1-linmengbo0689@protonmail.com> In-Reply-To: <20230320141638.3378-1-linmengbo0689@protonmail.com> References: <20230320141638.3378-1-linmengbo0689@protonmail.com> Feedback-ID: 40467236:user:proton MIME-Version: 1.0 X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM,RCVD_IN_MSPIKE_H2,SPF_HELO_PASS,SPF_PASS autolearn=unavailable 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?1760897188073336053?= X-GMAIL-MSGID: =?utf-8?q?1760897475706171217?= Implement support for a "vdd" that is enabled by the aw2013 driver so that the regulator gets enabled when needed. Signed-off-by: Lin, Meng-Bo --- drivers/leds/leds-aw2013.c | 26 +++++++++++++++++--------- 1 file changed, 17 insertions(+), 9 deletions(-) diff --git a/drivers/leds/leds-aw2013.c b/drivers/leds/leds-aw2013.c index 0b52fc9097c6..91d720edb857 100644 --- a/drivers/leds/leds-aw2013.c +++ b/drivers/leds/leds-aw2013.c @@ -62,7 +62,7 @@ struct aw2013_led { struct aw2013 { struct mutex mutex; /* held when writing to registers */ - struct regulator *vcc_regulator; + struct regulator_bulk_data regulators[2]; struct i2c_client *client; struct aw2013_led leds[AW2013_MAX_LEDS]; struct regmap *regmap; @@ -106,7 +106,8 @@ static void aw2013_chip_disable(struct aw2013 *chip) regmap_write(chip->regmap, AW2013_GCR, 0); - ret = regulator_disable(chip->vcc_regulator); + ret = regulator_bulk_disable(ARRAY_SIZE(chip->regulators), + chip->regulators); if (ret) { dev_err(&chip->client->dev, "Failed to disable regulator: %d\n", ret); @@ -123,7 +124,8 @@ static int aw2013_chip_enable(struct aw2013 *chip) if (chip->enabled) return 0; - ret = regulator_enable(chip->vcc_regulator); + ret = regulator_bulk_enable(ARRAY_SIZE(chip->regulators), + chip->regulators); if (ret) { dev_err(&chip->client->dev, "Failed to enable regulator: %d\n", ret); @@ -348,16 +350,20 @@ static int aw2013_probe(struct i2c_client *client) goto error; } - chip->vcc_regulator = devm_regulator_get(&client->dev, "vcc"); - ret = PTR_ERR_OR_ZERO(chip->vcc_regulator); - if (ret) { + chip->regulators[0].supply = "vcc"; + chip->regulators[1].supply = "vdd"; + ret = devm_regulator_bulk_get(&client->dev, + ARRAY_SIZE(chip->regulators), + chip->regulators); + if (ret < 0) { if (ret != -EPROBE_DEFER) dev_err(&client->dev, "Failed to request regulator: %d\n", ret); goto error; } - ret = regulator_enable(chip->vcc_regulator); + ret = regulator_bulk_enable(ARRAY_SIZE(chip->regulators), + chip->regulators); if (ret) { dev_err(&client->dev, "Failed to enable regulator: %d\n", ret); @@ -382,7 +388,8 @@ static int aw2013_probe(struct i2c_client *client) if (ret < 0) goto error_reg; - ret = regulator_disable(chip->vcc_regulator); + ret = regulator_bulk_disable(ARRAY_SIZE(chip->regulators), + chip->regulators); if (ret) { dev_err(&client->dev, "Failed to disable regulator: %d\n", ret); @@ -394,7 +401,8 @@ static int aw2013_probe(struct i2c_client *client) return 0; error_reg: - regulator_disable(chip->vcc_regulator); + regulator_bulk_disable(ARRAY_SIZE(chip->regulators), + chip->regulators); error: mutex_destroy(&chip->mutex);