From patchwork Tue Apr 27 05:36:13 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Hsin-Yi Wang X-Patchwork-Id: 12225373 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-17.0 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER, INCLUDES_PATCH,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED, USER_AGENT_GIT autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id E53D1C43460 for ; Tue, 27 Apr 2021 05:37:22 +0000 (UTC) Received: from desiato.infradead.org (desiato.infradead.org [90.155.92.199]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 6520D611BE for ; Tue, 27 Apr 2021 05:37:22 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 6520D611BE Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=chromium.org Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-mediatek-bounces+linux-mediatek=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=desiato.20200630; h=Sender:Content-Transfer-Encoding :Content-Type:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To:Message-Id:Date: Subject:Cc:To:From:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=D75hU1eg6Os4q8irHJqZXEadyQ7K0a4SX9KQu3px1T8=; b=SQ1p4di5XaDVPFDKxm6Va33r4 Ui69aTcTQFz0ufWf5FJfgx2L08pj1mTyXNdjLep0AZu/PC5Nl6hx3mo7GKi00jLjSqyiQ14U/rDjA 3TgFQ7iDXnuD6j+3mk5dPrNm82GlZ2jirNq95xscCMymTAZ4dcdzl4XVYNPJrDP6No1IeyX/RCnO3 A3Qy0D18Oe6AL8EvoSzWumwuxNOOLk07ZF21C78fDGjPK3VdZg+QuKLCFNy9PVeGn7mhmeKynkF4n BKdHIVDxHYwP4T/oUoZIOPd6nA9FZBrrYPhYUGXzRH6eIGWWU/yz26k2uAKYVh6M/hC/4f5ACbodp iJdADJpGw==; Received: from localhost ([::1] helo=desiato.infradead.org) by desiato.infradead.org with esmtp (Exim 4.94 #2 (Red Hat Linux)) id 1lbGP7-000lAq-A9; Tue, 27 Apr 2021 05:37:01 +0000 Received: from bombadil.infradead.org ([2607:7c80:54:e::133]) by desiato.infradead.org with esmtps (Exim 4.94 #2 (Red Hat Linux)) id 1lbGOa-000l7B-QL for linux-mediatek@desiato.infradead.org; Tue, 27 Apr 2021 05:36:32 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=bombadil.20210309; h=Content-Transfer-Encoding: MIME-Version:References:In-Reply-To:Message-Id:Date:Subject:Cc:To:From:Sender :Reply-To:Content-Type:Content-ID:Content-Description; bh=zoxYocsAW/Yu9KrDftjI/fitBR8lhSeODBh3Z2KFcO8=; b=CirNepwj5KDhDS260QRirLhmP2 ymZvsYH/9slPhJwWnNPpd2Y2Hz8DIDEF3FOt/BsWUmEAuKwgY16O0voiHBY65IU5sOmWDNdcGNT4o tmBKO180G1ZQ1X8H0QKUbU6LYa2wXFJewea+2TXwFGkXBBLCsQwLYFv1YN4XYK+d0Lfp6oVudsDpT Ofm5765v9S5G9tP4ZyM4Ni1NFQExvtmWgcu0b6wjSesHClmeQ3SMMBfH6mRjrs86/XV2M4YEnNEkg 8Bvti9JhyuOS6cX755nZn2Ywmb6Y5CP3nC0JsJzBUwsBsNMp+ZnHPqYYfkGb5iIOxJGDfhcdJimj8 5fgZ1KZA==; Received: from mail-pl1-x629.google.com ([2607:f8b0:4864:20::629]) by bombadil.infradead.org with esmtps (Exim 4.94 #2 (Red Hat Linux)) id 1lbGOY-00GSDM-4f for linux-mediatek@lists.infradead.org; Tue, 27 Apr 2021 05:36:27 +0000 Received: by mail-pl1-x629.google.com with SMTP id y1so14582314plg.11 for ; Mon, 26 Apr 2021 22:36:25 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=zoxYocsAW/Yu9KrDftjI/fitBR8lhSeODBh3Z2KFcO8=; b=XEot+ThMVPBT8h1eGntEwdhemckffVGSWh45sC9iuZ8GnJZPMvEaQUvWMtWhIvL+Hl SealStU1fSiuUgimshAOPBSkFRIjQSvKqQCnquka5ENouTyqCeThStHX4IGQnvVqQf8G nPjHQ+Vwtm77hGW31NwSpcZyKVNVF+aCzB+vQ= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=zoxYocsAW/Yu9KrDftjI/fitBR8lhSeODBh3Z2KFcO8=; b=oL80TtOD26Rnm9FoeqmPkHCL5tQ7Fq8xFI4tYrw86PQg88tH8vQG0En8yRzxw1upVJ BfIbVJhXKyYSroQOxWK5eCvpbLYcLwMRprvxxASZttpe/ckK9dgGLYJjQyWjb+6KjGQK e+xN3SQB/HUBW8x0yDRtRjZSmgLZ9zg+RDc6jC23lYPcD4PhVP6OOyyGFENryt+1rygO ubsPSttGDo/lwHS7yCAtiO4I3/Tscx+d9+VWXKMUUOsOoeM/YpGN9p3r7ppy2s9nRM6f VcKXzv4AdVXU/RbNuOdZSPQBGFi4LQ2E1270GlJEb5plc1JAA3w9u1PGthYGBxmSPiTU Wdkw== X-Gm-Message-State: AOAM533+0a2QO3tWMaoj9SiMrSVBJcP9WpaBk+VNEd+adcU2sj2sEwhZ WA5Q3BrDz4MTvJdrXmxsrVj/1g== X-Google-Smtp-Source: ABdhPJxHOx7oM+50VROBaAOw2dPGAUktO7kWLayo508VjEVZdvrsjdWFgQ0xqKzCewmEw5/QY2TOqg== X-Received: by 2002:a17:902:8ec1:b029:e9:998d:91f3 with SMTP id x1-20020a1709028ec1b02900e9998d91f3mr22093283plo.59.1619501785485; Mon, 26 Apr 2021 22:36:25 -0700 (PDT) Received: from hsinyi-z840.tpe.corp.google.com ([2401:fa00:1:10:3984:c4f5:8612:6b3e]) by smtp.gmail.com with ESMTPSA id gc15sm993529pjb.2.2021.04.26.22.36.22 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 26 Apr 2021 22:36:25 -0700 (PDT) From: Hsin-Yi Wang To: Wolfram Sang , Matthias Brugger , Rob Herring , Bartosz Golaszewski Cc: linux-i2c@vger.kernel.org, Qii Wang , devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-mediatek@lists.infradead.org, linux-kernel@vger.kernel.org, Greg Kroah-Hartman , Mark Brown , Marek Szyprowski , Bibby Hsieh , Arnd Bergmann Subject: [PATCH v20 1/5] i2c: core: support bus regulator controlling in adapter Date: Tue, 27 Apr 2021 13:36:13 +0800 Message-Id: <20210427053617.27972-2-hsinyi@chromium.org> X-Mailer: git-send-email 2.31.1.498.g6c1eba8ee3d-goog In-Reply-To: <20210427053617.27972-1-hsinyi@chromium.org> References: <20210427053617.27972-1-hsinyi@chromium.org> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20210426_223626_189567_A0A814D7 X-CRM114-Status: GOOD ( 19.88 ) X-BeenThere: linux-mediatek@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "Linux-mediatek" Errors-To: linux-mediatek-bounces+linux-mediatek=archiver.kernel.org@lists.infradead.org From: Bibby Hsieh Although in the most platforms, the bus power of i2c are alway on, some platforms disable the i2c bus power in order to meet low power request. We can control bulk regulator if it is provided in i2c adapter device. Signed-off-by: Bibby Hsieh Signed-off-by: Marek Szyprowski Signed-off-by: Hsin-Yi Wang --- drivers/i2c/i2c-core-base.c | 88 +++++++++++++++++++++++++++++++++++++ include/linux/i2c.h | 2 + 2 files changed, 90 insertions(+) diff --git a/drivers/i2c/i2c-core-base.c b/drivers/i2c/i2c-core-base.c index 24c8f11bac73..c34920f30c5a 100644 --- a/drivers/i2c/i2c-core-base.c +++ b/drivers/i2c/i2c-core-base.c @@ -461,12 +461,14 @@ static int i2c_smbus_host_notify_to_irq(const struct i2c_client *client) static int i2c_device_probe(struct device *dev) { struct i2c_client *client = i2c_verify_client(dev); + struct i2c_adapter *adap; struct i2c_driver *driver; int status; if (!client) return 0; + adap = client->adapter; client->irq = client->init_irq; if (!client->irq) { @@ -532,6 +534,14 @@ static int i2c_device_probe(struct device *dev) dev_dbg(dev, "probe\n"); + if (adap->bus_regulator) { + status = regulator_enable(adap->bus_regulator); + if (status < 0) { + dev_err(&adap->dev, "Failed to enable bus regulator\n"); + goto err_clear_wakeup_irq; + } + } + status = of_clk_set_defaults(dev->of_node, false); if (status < 0) goto err_clear_wakeup_irq; @@ -589,8 +599,10 @@ static int i2c_device_probe(struct device *dev) static int i2c_device_remove(struct device *dev) { struct i2c_client *client = to_i2c_client(dev); + struct i2c_adapter *adap; struct i2c_driver *driver; + adap = client->adapter; driver = to_i2c_driver(dev->driver); if (driver->remove) { int status; @@ -605,6 +617,8 @@ static int i2c_device_remove(struct device *dev) devres_release_group(&client->dev, client->devres_group_id); dev_pm_domain_detach(&client->dev, true); + if (!pm_runtime_status_suspended(&client->dev) && adap->bus_regulator) + regulator_disable(adap->bus_regulator); dev_pm_clear_wake_irq(&client->dev); device_init_wakeup(&client->dev, false); @@ -617,6 +631,79 @@ static int i2c_device_remove(struct device *dev) return 0; } +#ifdef CONFIG_PM_SLEEP +static int i2c_resume_early(struct device *dev) +{ + struct i2c_client *client = i2c_verify_client(dev); + int err; + + if (!client || !client->adapter->bus_regulator) + return 0; + + if (!pm_runtime_status_suspended(&client->dev)) { + err = regulator_enable(client->adapter->bus_regulator); + if (err) + return err; + } + + return pm_generic_resume_early(&client->dev); +} + +static int i2c_suspend_late(struct device *dev) +{ + struct i2c_client *client = i2c_verify_client(dev); + int err; + + if (!client || !client->adapter->bus_regulator) + return 0; + + err = pm_generic_suspend_late(&client->dev); + if (err) + return err; + + if (!pm_runtime_status_suspended(&client->dev)) + return regulator_disable(client->adapter->bus_regulator); + + return 0; +} +#endif + +#ifdef CONFIG_PM +static int i2c_runtime_resume(struct device *dev) +{ + struct i2c_client *client = i2c_verify_client(dev); + int err; + + if (!client || !client->adapter->bus_regulator) + return 0; + + err = regulator_enable(client->adapter->bus_regulator); + if (err) + return err; + return pm_generic_runtime_resume(&client->dev); +} + +static int i2c_runtime_suspend(struct device *dev) +{ + struct i2c_client *client = i2c_verify_client(dev); + int err; + + if (!client || !client->adapter->bus_regulator) + return 0; + + err = pm_generic_runtime_suspend(&client->dev); + if (err) + return err; + + return regulator_disable(client->adapter->bus_regulator); +} +#endif + +static const struct dev_pm_ops i2c_device_pm = { + SET_LATE_SYSTEM_SLEEP_PM_OPS(i2c_suspend_late, i2c_resume_early) + SET_RUNTIME_PM_OPS(i2c_runtime_suspend, i2c_runtime_resume, NULL) +}; + static void i2c_device_shutdown(struct device *dev) { struct i2c_client *client = i2c_verify_client(dev); @@ -674,6 +761,7 @@ struct bus_type i2c_bus_type = { .probe = i2c_device_probe, .remove = i2c_device_remove, .shutdown = i2c_device_shutdown, + .pm = &i2c_device_pm, }; EXPORT_SYMBOL_GPL(i2c_bus_type); diff --git a/include/linux/i2c.h b/include/linux/i2c.h index e8f2ac8c9c3d..953a4eecb88f 100644 --- a/include/linux/i2c.h +++ b/include/linux/i2c.h @@ -15,6 +15,7 @@ #include /* for struct device */ #include /* for completion */ #include +#include #include #include /* for Host Notify IRQ */ #include /* for struct device_node */ @@ -729,6 +730,7 @@ struct i2c_adapter { const struct i2c_adapter_quirks *quirks; struct irq_domain *host_notify_domain; + struct regulator *bus_regulator; }; #define to_i2c_adapter(d) container_of(d, struct i2c_adapter, dev) From patchwork Tue Apr 27 05:36:14 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Hsin-Yi Wang X-Patchwork-Id: 12225389 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-17.0 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER, INCLUDES_PATCH,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED, USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id D2CECC433B4 for ; Tue, 27 Apr 2021 05:37:53 +0000 (UTC) Received: from desiato.infradead.org (desiato.infradead.org [90.155.92.199]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 2AAB46052B for ; Tue, 27 Apr 2021 05:37:53 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 2AAB46052B Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=chromium.org Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-mediatek-bounces+linux-mediatek=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=desiato.20200630; h=Sender:Content-Transfer-Encoding :Content-Type:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To:Message-Id:Date: Subject:Cc:To:From:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=MgYErEVObLIQGh8abNWCyJ0po3i7tgnRaZ/CscJymCE=; b=EwkWrv9yWn+JiV+4WjqJAuVnM ommceQceEEf5uFQkIz5ZYwM/U1P6++cXyFLTVtXKmjycLsNGzpUyZM0ALqYaNPEbb3csnEcLNoBhC Zn0ntGpZnXffLMZNQ31E1sEtJ70TT3DvvvtJbBtSjL63HAJ0iBaqLOrk6yAsIpobaOB51WlN0bjiA aKRc6/pTobMkwoo7YSIVaxZh1fr++mNb782P7LrTr3i/qqR+opwZxUYVgKq3qNYHQKcH3bgW1Xm8i emydgTMPnJ4mFY/ubS1l/ErTgl81tKSjOsTjb9FVDKBBQ3h34e4ebZZC9EKXy0EJhKdMKLrLVCcsK 6+tIDORVg==; Received: from localhost ([::1] helo=desiato.infradead.org) by desiato.infradead.org with esmtp (Exim 4.94 #2 (Red Hat Linux)) id 1lbGPk-000lF2-Gn; Tue, 27 Apr 2021 05:37:40 +0000 Received: from bombadil.infradead.org ([2607:7c80:54:e::133]) by desiato.infradead.org with esmtps (Exim 4.94 #2 (Red Hat Linux)) id 1lbGOd-000l7J-D9 for linux-mediatek@desiato.infradead.org; Tue, 27 Apr 2021 05:36:32 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=bombadil.20210309; h=Content-Transfer-Encoding: MIME-Version:References:In-Reply-To:Message-Id:Date:Subject:Cc:To:From:Sender :Reply-To:Content-Type:Content-ID:Content-Description; bh=ch2oBLC6NQEww7nsJ+lCH4p8Gxy8IDtfp3C2k0cWO+A=; b=qEnowNM29Ss24lSGN25blx10Xm bOnurUAqtESLtTAYu1Y865Hx2u/cDR2MirHZ2Z7WaEnL8uauh5x48FQaeblpe9q8SDxyPo10XjYWf X1oim28tZHSKI4rk0NcWhedivWIraxVNvuwhiCKUhEjstTDgbd3dHAM02ad6lzYbCKFGbHeVQHKj7 hpmx/x+a5dlnoJdr1gMST444wRs/53rUZK0+AmeCPK4Zv2Yy1yKMS4Or+Jx3ijhFPCVEcXZbSo6HB 69Do02FXaarm+UnBi4tMvYksVIkEPVDW3pyM+VUssKCCCeAI0KblZiD4ENFyZN53hqX3VlSo83Y2H VlOuMYjw==; Received: from mail-pj1-x102b.google.com ([2607:f8b0:4864:20::102b]) by bombadil.infradead.org with esmtps (Exim 4.94 #2 (Red Hat Linux)) id 1lbGOa-00GSDw-VY for linux-mediatek@lists.infradead.org; Tue, 27 Apr 2021 05:36:30 +0000 Received: by mail-pj1-x102b.google.com with SMTP id t2-20020a17090a0242b0290155433387beso779201pje.1 for ; Mon, 26 Apr 2021 22:36:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=ch2oBLC6NQEww7nsJ+lCH4p8Gxy8IDtfp3C2k0cWO+A=; b=iDT/mscq6c4jBDu4qaDzOe3nXm1ALmCUYfi+kLqFJOGJboFHaIsHKm5eQHmbuEaUsi e2pm1psA/gibSKNBQ3QDGIwJaA0qTniHLFxuyTSeDExIYdYDSY0aUtM15Ab32BvDrU3X Fqw0WP+vbOmWk1ZVtLuq3op9CLgo0pp9ZczUk= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=ch2oBLC6NQEww7nsJ+lCH4p8Gxy8IDtfp3C2k0cWO+A=; b=gFGM0ga3I8KUeMnz3OA0yIkDsYEG2RQK4ahpFAHhWqMeofo+/RSRaUtFkocgYYpxh5 BMXd3S4+7phI7Ma32MMW6n3e4YLSMfhEla4cLk9Z6dBFmyNeXNGImmsoG54ig8A1Dg1u NZPvb4awuBSGmLKXeOOZfSgfTYdljWpPRKDLjTN3TpoZRqaXSaL/PSmThfRCj3m1Mtv5 4uRKHDEBOHt8Ike2x/oK045eWWAIjhSS5WTfMYJMrgR+Fj/ISKjTIEHFblPqUUNgUde8 XwSJShypBNyL5VijPLbGZ9FVtgEvcKm9UJ7WygkrnFYJRyH2oNlKIbF5bk4CgO2zXNlS +eaw== X-Gm-Message-State: AOAM530KJJKPtzpbd3flzlA+XdRuYe8FLwziAbiqC3Dvn4hCP8O5j6XT EXnliYIom5sgBX/DjwLKlWpUCw== X-Google-Smtp-Source: ABdhPJx+gZbECjl99mVB5kXeY+H3By4RaE8KMXOPfabslEPl1PyacDfTdB7lt1pkQt0cn6pfYCGwgw== X-Received: by 2002:a17:902:db03:b029:ec:94dd:b6b3 with SMTP id m3-20020a170902db03b02900ec94ddb6b3mr22246181plx.69.1619501788150; Mon, 26 Apr 2021 22:36:28 -0700 (PDT) Received: from hsinyi-z840.tpe.corp.google.com ([2401:fa00:1:10:3984:c4f5:8612:6b3e]) by smtp.gmail.com with ESMTPSA id gc15sm993529pjb.2.2021.04.26.22.36.25 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 26 Apr 2021 22:36:27 -0700 (PDT) From: Hsin-Yi Wang To: Wolfram Sang , Matthias Brugger , Rob Herring , Bartosz Golaszewski Cc: linux-i2c@vger.kernel.org, Qii Wang , devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-mediatek@lists.infradead.org, linux-kernel@vger.kernel.org, Greg Kroah-Hartman , Mark Brown , Marek Szyprowski , Bibby Hsieh , Arnd Bergmann Subject: [PATCH v20 2/5] dt-binding: i2c: mt65xx: add vbus-supply property Date: Tue, 27 Apr 2021 13:36:14 +0800 Message-Id: <20210427053617.27972-3-hsinyi@chromium.org> X-Mailer: git-send-email 2.31.1.498.g6c1eba8ee3d-goog In-Reply-To: <20210427053617.27972-1-hsinyi@chromium.org> References: <20210427053617.27972-1-hsinyi@chromium.org> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20210426_223629_034942_4E569372 X-CRM114-Status: GOOD ( 10.61 ) X-BeenThere: linux-mediatek@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "Linux-mediatek" Errors-To: linux-mediatek-bounces+linux-mediatek=archiver.kernel.org@lists.infradead.org Add vbus-supply property for mt65xx. The regulator can be passed into core and turned off during suspend/sleep to reduce power consumption. Signed-off-by: Hsin-Yi Wang Acked-by: Rob Herring --- Documentation/devicetree/bindings/i2c/i2c-mt65xx.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/Documentation/devicetree/bindings/i2c/i2c-mt65xx.txt b/Documentation/devicetree/bindings/i2c/i2c-mt65xx.txt index 7f0194fdd0cc..2c45647e9f0b 100644 --- a/Documentation/devicetree/bindings/i2c/i2c-mt65xx.txt +++ b/Documentation/devicetree/bindings/i2c/i2c-mt65xx.txt @@ -32,6 +32,7 @@ Optional properties: - mediatek,have-pmic: platform can control i2c form special pmic side. Only mt6589 and mt8135 support this feature. - mediatek,use-push-pull: IO config use push-pull mode. + - vbus-supply: phandle to the regulator that provides power to SCL/SDA. Example: From patchwork Tue Apr 27 05:36:15 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Hsin-Yi Wang X-Patchwork-Id: 12225391 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-17.0 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER, INCLUDES_PATCH,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED, USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 3979BC433B4 for ; Tue, 27 Apr 2021 05:38:11 +0000 (UTC) Received: from desiato.infradead.org (desiato.infradead.org [90.155.92.199]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 978B6613BD for ; Tue, 27 Apr 2021 05:38:10 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 978B6613BD Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=chromium.org Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-mediatek-bounces+linux-mediatek=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=desiato.20200630; h=Sender:Content-Transfer-Encoding :Content-Type:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To:Message-Id:Date: Subject:Cc:To:From:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=megmho38tG+MMaM64n5LlI8VBtYYcn4ZZaoxwLajsUc=; b=KhYs2jFwIyoAcX8rzK0msxoiS DwvPlNoJalHNn8PGPeeOuxrzgSvi3Ux6G8jJ6vCducXZgsciJufMLyIBkVga5jDwJYJXYvumniPvG n8prdb2lTaCY61FH+0mStLP0sKZxw6SZAqNbezayZxrccHXkDw6CLHuu5s0dNNyPmSVAMOL7/HS47 tQHA7yeotiJp5alh+zqS+9w+42OND3iACD4+/yYN/ImVRTyLJlwnwAU4D6vNHcWnrxC2aTfF6IOA0 rvCwwoGkAB5GFETfGeKvVDHo0POoiFh2MGFsVzOWIaLcCcU9CbSrS94Usi7HqOI1iBLYrM5prvs6N lS5hc8UqQ==; Received: from localhost ([::1] helo=desiato.infradead.org) by desiato.infradead.org with esmtp (Exim 4.94 #2 (Red Hat Linux)) id 1lbGQ3-000lIx-N2; Tue, 27 Apr 2021 05:37:59 +0000 Received: from bombadil.infradead.org ([2607:7c80:54:e::133]) by desiato.infradead.org with esmtps (Exim 4.94 #2 (Red Hat Linux)) id 1lbGOg-000l7u-03 for linux-mediatek@desiato.infradead.org; Tue, 27 Apr 2021 05:36:34 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=bombadil.20210309; h=Content-Transfer-Encoding: MIME-Version:References:In-Reply-To:Message-Id:Date:Subject:Cc:To:From:Sender :Reply-To:Content-Type:Content-ID:Content-Description; bh=oOSiNAIFbF5oM0OgD4JWcfn+rkikH5kg1ZaUYL3whtQ=; b=ulf7QQelJ4dC6rH5n3s4HtmrDm K4BcuRD/CvrjJQgNnD3ubW5Jqnt1Sf5EXxKVj7Q8PEkYFxhS37iarnEKQzibeiN8aunTiewyuv6N9 ZxjVZJgyTfkZsVm++l6axyG4r4IKp6MKla/ihPtgz8KzDh/RCt81xyqUUsfDcetF3Bv0MMTD5cvxW Fl46ixJM+vW7zgp6PN+83AEsJSfrbJ6P2AQa84Qoq5tprFx2Eo4phS8+9WtMWH3OBavypi9aZ9wFw 9y6X2cFA1KbppUBuUHhJHUl2iTkQ/e/3kSxOBsyu2QLOGpEWNAJeFRLrQiPbaiXIGJCmxhdUnLX+l 2dcjiibQ==; Received: from mail-pg1-x52f.google.com ([2607:f8b0:4864:20::52f]) by bombadil.infradead.org with esmtps (Exim 4.94 #2 (Red Hat Linux)) id 1lbGOd-00GSEa-KF for linux-mediatek@lists.infradead.org; Tue, 27 Apr 2021 05:36:32 +0000 Received: by mail-pg1-x52f.google.com with SMTP id d10so3203968pgf.12 for ; Mon, 26 Apr 2021 22:36:31 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=oOSiNAIFbF5oM0OgD4JWcfn+rkikH5kg1ZaUYL3whtQ=; b=VOWdUtYAgwq1bQG3/NsqLEKs/W1eKLs6RW9BQiWCYyD/Rfqvg890AjJ+GEoGMq5OrA AJ5KHj4U1HvetQeuUVJVOIRQXy84KxIekLczgZ69sB4zUtPWSuutk3TpnMuHMTjWm4+8 h8G+8PZFnH5Rm1K+s/a+i9Kx1KocC5TA7BsS0= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=oOSiNAIFbF5oM0OgD4JWcfn+rkikH5kg1ZaUYL3whtQ=; b=J9zXWh1topKFrThGa5Azd20DuZHRUMcsw8bapaEimGrjWiYi1NhdOJYZ01ocn66Gm0 9IRd1jue6P1VVAy6MoUWcJ+p3lyqhpQvJqVkdHEWuFDz7RmHHf/sB8hDH4kPiWmxApdL +oMw/tiXqFcd4r8bKhJmpI1zaRJKgha/L517Y5BEUx5BdGSeM0VwodgnyTj3HbxsJrn9 U7WYx7vR7Ot7IjyWQ0Cf5qoEO9Nfn+Rri3kI9TQmNat5WWrHFR9Oq6h4avh2sQdKfmt1 zVvtoYBgIDZyRgVoLpwB7l9cphcbIaVRwq402BAWofNWQa/0YQaNcUm/TGP+yJdVuWLQ MHvw== X-Gm-Message-State: AOAM533+V0CPegAGUr0470SE+fzgusDFv5JEmDpqyu6WgznoE483hmCg WKQIn8nQkGygs3l34C5PxvrDsA== X-Google-Smtp-Source: ABdhPJyrLflzW+OohhHuQBd5kScDJnTZGVrPGqJeEKaquqlC5N0ZXttwfYEPggjDOml6EKMuunb2XA== X-Received: by 2002:aa7:82ce:0:b029:242:deb4:9442 with SMTP id f14-20020aa782ce0000b0290242deb49442mr21579555pfn.73.1619501790821; Mon, 26 Apr 2021 22:36:30 -0700 (PDT) Received: from hsinyi-z840.tpe.corp.google.com ([2401:fa00:1:10:3984:c4f5:8612:6b3e]) by smtp.gmail.com with ESMTPSA id gc15sm993529pjb.2.2021.04.26.22.36.28 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 26 Apr 2021 22:36:30 -0700 (PDT) From: Hsin-Yi Wang To: Wolfram Sang , Matthias Brugger , Rob Herring , Bartosz Golaszewski Cc: linux-i2c@vger.kernel.org, Qii Wang , devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-mediatek@lists.infradead.org, linux-kernel@vger.kernel.org, Greg Kroah-Hartman , Mark Brown , Marek Szyprowski , Bibby Hsieh , Arnd Bergmann Subject: [PATCH v20 3/5] i2c: mediatek: mt65xx: add optional vbus-supply Date: Tue, 27 Apr 2021 13:36:15 +0800 Message-Id: <20210427053617.27972-4-hsinyi@chromium.org> X-Mailer: git-send-email 2.31.1.498.g6c1eba8ee3d-goog In-Reply-To: <20210427053617.27972-1-hsinyi@chromium.org> References: <20210427053617.27972-1-hsinyi@chromium.org> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20210426_223631_682373_763074A9 X-CRM114-Status: GOOD ( 12.78 ) X-BeenThere: linux-mediatek@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "Linux-mediatek" Errors-To: linux-mediatek-bounces+linux-mediatek=archiver.kernel.org@lists.infradead.org Add vbus-supply which provides power to SCL/SDA. Pass this regulator into core so it can be turned on/off for low power mode support. Signed-off-by: Hsin-Yi Wang --- drivers/i2c/busses/i2c-mt65xx.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/drivers/i2c/busses/i2c-mt65xx.c b/drivers/i2c/busses/i2c-mt65xx.c index 2ffd2f354d0a..82f2b6716005 100644 --- a/drivers/i2c/busses/i2c-mt65xx.c +++ b/drivers/i2c/busses/i2c-mt65xx.c @@ -1215,6 +1215,13 @@ static int mtk_i2c_probe(struct platform_device *pdev) i2c->adap.quirks = i2c->dev_comp->quirks; i2c->adap.timeout = 2 * HZ; i2c->adap.retries = 1; + i2c->adap.bus_regulator = devm_regulator_get_optional(&pdev->dev, "vbus"); + if (IS_ERR(i2c->adap.bus_regulator)) { + if (PTR_ERR(i2c->adap.bus_regulator) == -ENODEV) + i2c->adap.bus_regulator = NULL; + else + return PTR_ERR(i2c->adap.bus_regulator); + } ret = mtk_i2c_parse_dt(pdev->dev.of_node, i2c); if (ret) From patchwork Tue Apr 27 05:36:16 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Hsin-Yi Wang X-Patchwork-Id: 12225393 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-17.0 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER, INCLUDES_PATCH,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED, USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 3ECD6C433B4 for ; Tue, 27 Apr 2021 05:38:35 +0000 (UTC) Received: from desiato.infradead.org (desiato.infradead.org [90.155.92.199]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 93CB86052B for ; Tue, 27 Apr 2021 05:38:34 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 93CB86052B Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=chromium.org Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-mediatek-bounces+linux-mediatek=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=desiato.20200630; h=Sender:Content-Transfer-Encoding :Content-Type:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To:Message-Id:Date: Subject:Cc:To:From:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=eoPcker/Id8z7WIAMkOeRy21+lbqB9Qn5VUqZ0Ari9Q=; b=RRVByHjyEgXlqUtUJspRDOoRB gvQScfRNhpheSw7+mZgTrzkS3ucJ4Ub08zU2ayYd+LibIgTUlroQlhOEpB5WdTPu3m3FpuHVWWxIk 6woqoJc+5V/ROleoS2BBgWEcOo/fqRINmC0guanlugIsPdrly+CSRAyP/+0Yoa2kquwXiaIOtvy0w 1jxKrbKcYCG7sk2AO2sepz9GwaKrQwfeYxJ5ZNt0C3BiYXqyZNJlC7Ef6SIfRfpA08JWpJ/iE+lbq x0kXPkURNTuaDKILro7O2dyuuM7OFS5TDSAWxdlcz1Ie0OLtQpgBrF1PwE2ISzviRK7iyi2oTGr4V 3Blpr6R3A==; Received: from localhost ([::1] helo=desiato.infradead.org) by desiato.infradead.org with esmtp (Exim 4.94 #2 (Red Hat Linux)) id 1lbGQM-000lNU-M6; Tue, 27 Apr 2021 05:38:19 +0000 Received: from bombadil.infradead.org ([2607:7c80:54:e::133]) by desiato.infradead.org with esmtps (Exim 4.94 #2 (Red Hat Linux)) id 1lbGOj-000l8S-H1 for linux-mediatek@desiato.infradead.org; Tue, 27 Apr 2021 05:36:37 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=bombadil.20210309; h=Content-Transfer-Encoding: MIME-Version:References:In-Reply-To:Message-Id:Date:Subject:Cc:To:From:Sender :Reply-To:Content-Type:Content-ID:Content-Description; bh=DmgNhZA8y9OcAqQz4ZmmKKT0ZJqTstchwxs60f43ujM=; b=vGW7BfeMggu9ZlTdylKZKFE+8k YL+ZRZz/lPH7boc/oTZcCP5d73EBVhBqN3FlElEhgSQecD0NHxAADFJe0TH92nvSl7UiqDQYqHdzf 5shDKy+TOnN6STE6GJerRFxZ45nsseTV96Keq0Z1psLc7i3GSAXxr2OqyUsfYrQjDlIk7y8lS6wQt AHDMAxQIuk2tT9spHwo5pvFhqLPDNBbOfI+MXQ57xlSaE/a7fTo3oZhXdlg7GBlgQHT1ogYazBm5e 5Lou1HjqwcWxbby1prmaxztMYUFpK29Br35iuMwfnkCsDAM5zsibWL8jMDUVL4V4zW2mpo4pfx+1y 9Nwzhw+g==; Received: from mail-pf1-x42e.google.com ([2607:f8b0:4864:20::42e]) by bombadil.infradead.org with esmtps (Exim 4.94 #2 (Red Hat Linux)) id 1lbGOh-00GSF7-4Y for linux-mediatek@lists.infradead.org; Tue, 27 Apr 2021 05:36:36 +0000 Received: by mail-pf1-x42e.google.com with SMTP id j6so1200085pfh.5 for ; Mon, 26 Apr 2021 22:36:33 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=DmgNhZA8y9OcAqQz4ZmmKKT0ZJqTstchwxs60f43ujM=; b=WcmtSLpGOQppOkaIFOJglGs6qgpdhC0GBDegcigac4xtnNSkBc9/CcqiQgJ3WbKILE Gs2oyMEkt+e4hyjxptvTbycReZ/0RwvAPQoZlwAZ8sZ8XbK2+xHnKRKUYQC2mDqLEl+w 5J/SbXVbV6dmGGuYilQX3FBKckI+jX+WUcTww= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=DmgNhZA8y9OcAqQz4ZmmKKT0ZJqTstchwxs60f43ujM=; b=iwGDjBupIb3FQ5zG1cf9xxJiuMIhVnRuxHueAZroJ77g3BZFAyXt9iUgta2TIQW13w ZvXiYKkmE5XmYjtTZLAycMZhcbJRorH74YTznoD/n9IPTxxqqbkU+mu7zs5pX+fyqZvT hSbhfyVqJo5KITFPgntmg2COodJN7OKTwIyu3OrcAJFW/20edmsXtAFFLaEfCAG0LGsg afkwJ3/CCSwRaHrfi8KS6fGhrJPLA6EYRBukYxAx2cLYrMYJ8/VwKWGNoKrY8lIPxoKq OwiEKODLdhT4njq0W2wSCqpIChNea5HFrxdv7iMgx8LZycBesGBVTbH38e44ZyEHy3Ye vvqQ== X-Gm-Message-State: AOAM531Kk5dj+BeopeyuwNJbnns8cg/pbdAs5ERug0HizCdcNfKG720Z dMvuR3rtx1Sb/MqtRSvPnM+NLw== X-Google-Smtp-Source: ABdhPJyK6HPDL2dVl6Wi0k4rLfJc5+VoFT3tTwCq+4rkqx1pDkHVS+yVt1cvCRJAGH6jG1yUhZdMcQ== X-Received: by 2002:a65:6414:: with SMTP id a20mr19805719pgv.96.1619501793489; Mon, 26 Apr 2021 22:36:33 -0700 (PDT) Received: from hsinyi-z840.tpe.corp.google.com ([2401:fa00:1:10:3984:c4f5:8612:6b3e]) by smtp.gmail.com with ESMTPSA id gc15sm993529pjb.2.2021.04.26.22.36.31 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 26 Apr 2021 22:36:33 -0700 (PDT) From: Hsin-Yi Wang To: Wolfram Sang , Matthias Brugger , Rob Herring , Bartosz Golaszewski Cc: linux-i2c@vger.kernel.org, Qii Wang , devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-mediatek@lists.infradead.org, linux-kernel@vger.kernel.org, Greg Kroah-Hartman , Mark Brown , Marek Szyprowski , Bibby Hsieh , Arnd Bergmann Subject: [PATCH v20 4/5] misc: eeprom: at24: check suspend status before disable regulator Date: Tue, 27 Apr 2021 13:36:16 +0800 Message-Id: <20210427053617.27972-5-hsinyi@chromium.org> X-Mailer: git-send-email 2.31.1.498.g6c1eba8ee3d-goog In-Reply-To: <20210427053617.27972-1-hsinyi@chromium.org> References: <20210427053617.27972-1-hsinyi@chromium.org> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20210426_223635_185477_C730621A X-CRM114-Status: GOOD ( 12.08 ) X-BeenThere: linux-mediatek@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "Linux-mediatek" Errors-To: linux-mediatek-bounces+linux-mediatek=archiver.kernel.org@lists.infradead.org cd5676db0574 ("misc: eeprom: at24: support pm_runtime control") disables regulator in runtime suspend. If runtime suspend is called before regulator disable, it will results in regulator unbalanced disabling. Fixes: cd5676db0574 ("misc: eeprom: at24: support pm_runtime control") Signed-off-by: Hsin-Yi Wang Acked-by: Bartosz Golaszewski --- drivers/misc/eeprom/at24.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/drivers/misc/eeprom/at24.c b/drivers/misc/eeprom/at24.c index 926408b41270..7a6f01ace78a 100644 --- a/drivers/misc/eeprom/at24.c +++ b/drivers/misc/eeprom/at24.c @@ -763,7 +763,8 @@ static int at24_probe(struct i2c_client *client) at24->nvmem = devm_nvmem_register(dev, &nvmem_config); if (IS_ERR(at24->nvmem)) { pm_runtime_disable(dev); - regulator_disable(at24->vcc_reg); + if (!pm_runtime_status_suspended(dev)) + regulator_disable(at24->vcc_reg); return PTR_ERR(at24->nvmem); } @@ -774,7 +775,8 @@ static int at24_probe(struct i2c_client *client) err = at24_read(at24, 0, &test_byte, 1); if (err) { pm_runtime_disable(dev); - regulator_disable(at24->vcc_reg); + if (!pm_runtime_status_suspended(dev)) + regulator_disable(at24->vcc_reg); return -ENODEV; } From patchwork Tue Apr 27 05:36:17 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Hsin-Yi Wang X-Patchwork-Id: 12225395 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-17.0 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER, INCLUDES_PATCH,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED, USER_AGENT_GIT autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 4277FC433B4 for ; Tue, 27 Apr 2021 05:39:03 +0000 (UTC) Received: from desiato.infradead.org (desiato.infradead.org [90.155.92.199]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id AF8FD611BE for ; Tue, 27 Apr 2021 05:39:02 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org AF8FD611BE Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=chromium.org Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-mediatek-bounces+linux-mediatek=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=desiato.20200630; h=Sender:Content-Transfer-Encoding :Content-Type:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To:Message-Id:Date: Subject:Cc:To:From:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=e2B6JS/u8vNDzrwjvoYt7io8w1T2QVO1DMJUwZxGxWo=; b=OoUxgcbdhMKPgEMqS4jJCN4rI 252JTdo6lc213fffGDuBNm+IBq8jXW+x26TV++pridZQdMkBbNp0/JePyNlP5E4zXKr+1Fx641uI8 twVPhiGOxqghrjCeGgCip8DbuosAIDYRTA1ex3xCpgHT1VmdIHEZVbffx0558cfbDwTRf26pPFiAX qIvfXKByTgGJhxcS19kiWBDh2tDof8ga0w+vVmj3pjB/trc+cdofNAsbEaVWKbnIVjaT5+llmBReo gZEJ+I7oQMVxEuSlkgL5AongwrE0+DhWAcyRNLol/aJxrayNmev/K0toM55NVEqBntzIe38LbpEtd 6Mnj7Dv+A==; Received: from localhost ([::1] helo=desiato.infradead.org) by desiato.infradead.org with esmtp (Exim 4.94 #2 (Red Hat Linux)) id 1lbGQm-000lUH-Ez; Tue, 27 Apr 2021 05:38:49 +0000 Received: from bombadil.infradead.org ([2607:7c80:54:e::133]) by desiato.infradead.org with esmtps (Exim 4.94 #2 (Red Hat Linux)) id 1lbGOl-000l8r-Am for linux-mediatek@desiato.infradead.org; Tue, 27 Apr 2021 05:36:41 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=bombadil.20210309; h=Content-Transfer-Encoding: MIME-Version:References:In-Reply-To:Message-Id:Date:Subject:Cc:To:From:Sender :Reply-To:Content-Type:Content-ID:Content-Description; bh=Mf+Xin/ho3m/2nW1BN5PGSEYhY3Bvm9mBCODztoibK0=; b=ToyQl0MTwY8d0Eyg8mSLX6VOaS H6XAgjsnlWYLXogqce4cUUppncaorUTvEdBw91kdQRrvYhVbOV6wjqL1YakLXITCgKaAys9v073j/ smYqqr4VPGe7ehj25oC9HU+Jvz86evHN24pD0ELJx79nB+q4mP9h0WZDZ/Vt+HoQ4E0IFbY4Qp6Uv YtLnCuRbLPTRwSIlNRDGWHzx8V7VZxb4VRrOUsKnt7DSe+tgYxgaF2bfoZ/YczDlvz1CNmqcsJXoz jmYLyZ/lWkF3Qg9/dMAcBGPaMsx4QMOOQYOtl/v50y/lhb0BW01apoSOU1k2Wl8sHMRXk4/But3qX NN8sjCCA==; Received: from mail-pf1-x42c.google.com ([2607:f8b0:4864:20::42c]) by bombadil.infradead.org with esmtps (Exim 4.94 #2 (Red Hat Linux)) id 1lbGOi-00GSG8-Pa for linux-mediatek@lists.infradead.org; Tue, 27 Apr 2021 05:36:38 +0000 Received: by mail-pf1-x42c.google.com with SMTP id m11so169034pfc.11 for ; Mon, 26 Apr 2021 22:36:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=Mf+Xin/ho3m/2nW1BN5PGSEYhY3Bvm9mBCODztoibK0=; b=mFo6Q6astEid9lzM4tH2tLTIfuRO8190tH4pQby7aD6Xjz3iEcdD4+CaGJNRQS40Zv NGpPcx/yldF9N9pornYCYSWrB4wRH4VhlC6YyGjAGdqTHKqMKSbvSUrJc/ycmOsxXp37 b1dtQNKNuf0hLaUu6O2C5/GdQGQXe3VNQUFjM= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=Mf+Xin/ho3m/2nW1BN5PGSEYhY3Bvm9mBCODztoibK0=; b=bK/po8p4z9YeFqqGy/tJdtgL2l+cte5nBeqnv/lf+672yXBr0sypvAB4/YE94MRpOI 0/N1kIicUzUTZXn+RsND0bGPHi+UWuhV+GnASm1nIbLd5ftTchUIxyMpRv7jYvuv7UXM +tSUuTMgxzcULKWV51vT9jydn5/vsMOwzHBrwECgmeRK2lPKGd6dtJbkKrGlitUFaykX f/KDQJzDnm27FHGFF8pCXxEWUgSmDwvlGdzftRiGBQ8b84kyYw4NaqFdNpxr7eFaL474 286m9bxZ6ugWiPkkbdqSt5CQm50xbxGhGdHOn1cytKPf6fHx3iZ90cJNX8ftxEee7gV4 uLWQ== X-Gm-Message-State: AOAM5325QEgyi5EYBchJ0JzELMX95k4z4PG16q7YfeYnHNsrsBai4zOS jtabwNdkmmtyeN3BUhnp3S98yQ== X-Google-Smtp-Source: ABdhPJw7IUrkT9sMt8TQGVJztlGXNlq68D0ZPwkzlCLKxbhYQpzkQtPHPlRFY443XD+KQKDrcIPjuQ== X-Received: by 2002:a63:3c59:: with SMTP id i25mr19819929pgn.366.1619501796147; Mon, 26 Apr 2021 22:36:36 -0700 (PDT) Received: from hsinyi-z840.tpe.corp.google.com ([2401:fa00:1:10:3984:c4f5:8612:6b3e]) by smtp.gmail.com with ESMTPSA id gc15sm993529pjb.2.2021.04.26.22.36.33 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 26 Apr 2021 22:36:35 -0700 (PDT) From: Hsin-Yi Wang To: Wolfram Sang , Matthias Brugger , Rob Herring , Bartosz Golaszewski Cc: linux-i2c@vger.kernel.org, Qii Wang , devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-mediatek@lists.infradead.org, linux-kernel@vger.kernel.org, Greg Kroah-Hartman , Mark Brown , Marek Szyprowski , Bibby Hsieh , Arnd Bergmann Subject: [PATCH v20 5/5] arm64: dts: mt8183: add supply name for eeprom Date: Tue, 27 Apr 2021 13:36:17 +0800 Message-Id: <20210427053617.27972-6-hsinyi@chromium.org> X-Mailer: git-send-email 2.31.1.498.g6c1eba8ee3d-goog In-Reply-To: <20210427053617.27972-1-hsinyi@chromium.org> References: <20210427053617.27972-1-hsinyi@chromium.org> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20210426_223636_836356_D567930D X-CRM114-Status: GOOD ( 10.88 ) X-BeenThere: linux-mediatek@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "Linux-mediatek" Errors-To: linux-mediatek-bounces+linux-mediatek=archiver.kernel.org@lists.infradead.org Add supplies for eeprom for mt8183 boards. Signed-off-by: Hsin-Yi Wang --- arch/arm64/boot/dts/mediatek/mt8183-kukui-kakadu.dtsi | 4 ++++ arch/arm64/boot/dts/mediatek/mt8183-kukui-kodama.dtsi | 4 ++++ arch/arm64/boot/dts/mediatek/mt8183-kukui-krane.dtsi | 4 ++++ 3 files changed, 12 insertions(+) diff --git a/arch/arm64/boot/dts/mediatek/mt8183-kukui-kakadu.dtsi b/arch/arm64/boot/dts/mediatek/mt8183-kukui-kakadu.dtsi index b442e38a3156..28966a65391b 100644 --- a/arch/arm64/boot/dts/mediatek/mt8183-kukui-kakadu.dtsi +++ b/arch/arm64/boot/dts/mediatek/mt8183-kukui-kakadu.dtsi @@ -88,11 +88,13 @@ &i2c2 { pinctrl-0 = <&i2c2_pins>; status = "okay"; clock-frequency = <400000>; + vbus-supply = <&mt6358_vcamio_reg>; eeprom@58 { compatible = "atmel,24c32"; reg = <0x58>; pagesize = <32>; + vcc-supply = <&mt6358_vcama2_reg>; }; }; @@ -101,11 +103,13 @@ &i2c4 { pinctrl-0 = <&i2c4_pins>; status = "okay"; clock-frequency = <400000>; + vbus-supply = <&mt6358_vcn18_reg>; eeprom@54 { compatible = "atmel,24c32"; reg = <0x54>; pagesize = <32>; + vcc-supply = <&mt6358_vcn18_reg>; }; }; diff --git a/arch/arm64/boot/dts/mediatek/mt8183-kukui-kodama.dtsi b/arch/arm64/boot/dts/mediatek/mt8183-kukui-kodama.dtsi index 2f5234a16ead..3aa79403c0c2 100644 --- a/arch/arm64/boot/dts/mediatek/mt8183-kukui-kodama.dtsi +++ b/arch/arm64/boot/dts/mediatek/mt8183-kukui-kodama.dtsi @@ -62,11 +62,13 @@ &i2c2 { pinctrl-0 = <&i2c2_pins>; status = "okay"; clock-frequency = <400000>; + vbus-supply = <&mt6358_vcamio_reg>; eeprom@58 { compatible = "atmel,24c64"; reg = <0x58>; pagesize = <32>; + vcc-supply = <&mt6358_vcamio_reg>; }; }; @@ -75,11 +77,13 @@ &i2c4 { pinctrl-0 = <&i2c4_pins>; status = "okay"; clock-frequency = <400000>; + vbus-supply = <&mt6358_vcn18_reg>; eeprom@54 { compatible = "atmel,24c64"; reg = <0x54>; pagesize = <32>; + vcc-supply = <&mt6358_vcn18_reg>; }; }; diff --git a/arch/arm64/boot/dts/mediatek/mt8183-kukui-krane.dtsi b/arch/arm64/boot/dts/mediatek/mt8183-kukui-krane.dtsi index fbc471ccf805..30c183c96a54 100644 --- a/arch/arm64/boot/dts/mediatek/mt8183-kukui-krane.dtsi +++ b/arch/arm64/boot/dts/mediatek/mt8183-kukui-krane.dtsi @@ -71,11 +71,13 @@ &i2c2 { pinctrl-0 = <&i2c2_pins>; status = "okay"; clock-frequency = <400000>; + vbus-supply = <&mt6358_vcamio_reg>; eeprom@58 { compatible = "atmel,24c32"; reg = <0x58>; pagesize = <32>; + vcc-supply = <&mt6358_vcama2_reg>; }; }; @@ -84,11 +86,13 @@ &i2c4 { pinctrl-0 = <&i2c4_pins>; status = "okay"; clock-frequency = <400000>; + vbus-supply = <&mt6358_vcn18_reg>; eeprom@54 { compatible = "atmel,24c32"; reg = <0x54>; pagesize = <32>; + vcc-supply = <&mt6358_vcn18_reg>; }; };