Received: by 2002:a05:6a10:206:0:0:0:0 with SMTP id 6csp391753pxj; Fri, 7 May 2021 10:50:47 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwTAIvbPyLXzTnokZ03c0E8HGybog2sxtLTkSrh3QiJELxTnbHzDQVlU86/KJxkBvVjvfiS X-Received: by 2002:a05:6402:177c:: with SMTP id da28mr12520370edb.135.1620409847504; Fri, 07 May 2021 10:50:47 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1620409847; cv=none; d=google.com; s=arc-20160816; b=pxI/8GBhfYilYdbBpgebgxythPn++KUvcSAIoQidtkAFnIjyCLDUHwWEHQzKnpb3WT Xb55vX0AAm48GIS7MJHZ482alFsT9ma94EzIF1Z3JcYtRMLqnVUlh9uzjbZDJm3PCrRr D/kUuE0sYTygHxRxO5se/l49EHCks/G6vLLJdMAOQRZ2VWuZQHQtDfkcTx/di5+SVYwI V4pBtrcSW5kb5m8x1GraZyU1IniVzmK9WsbKWKCizQJ6qraexjA6Y4YpUaxcE8xMZAD/ rlU08h2ArEjIcG0iAZwGL8Uswc+L3f/R4cYN3XnFRbIJpLgZBCeeTxS1NZM2x9MYYSrq /Xiw== 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 :message-id:date:subject:cc:to:from:dkim-signature; bh=sCOlyOIFiZk09QTc1wpSf9iIiwmNKJWxQ3gP9jIAbQE=; b=BJa6JLvgCiGxjEczvX3m4GF4ljz9eAWkl1LSBWvrjHHsOF6WBAYLW/ICD4Qis59N5J RmDv2GvqIKRK0OmKNYy8AY3/54t1vAluoBI4gLN94hGGrOXAgvzFsXNR/DIfKYjQFTqP prxjvxSwU2IPtqEvHfC7vhHIYrVCgUGzB+DUxelcsrkEPhNDZRnAmdZRANGvDWC33cYY EwrmF0yYNA1QA652TU+vvJmI68iYORwmObCL+9Vx2D5ZlQknSzlh0aOrqr2kfxGURSWN SgNjVXIeQeKLuThPM4rPXdQBzRDJcPNDlIBPdjlMGsfESQyfDR91p0cLREp/3bOpDLFA EOig== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@chromium.org header.s=google header.b="mSpLQhA/"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=chromium.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id m22si5492288ejc.433.2021.05.07.10.50.23; Fri, 07 May 2021 10:50:47 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@chromium.org header.s=google header.b="mSpLQhA/"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=chromium.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S237147AbhEGNPV (ORCPT + 99 others); Fri, 7 May 2021 09:15:21 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:39856 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S237129AbhEGNPN (ORCPT ); Fri, 7 May 2021 09:15:13 -0400 Received: from mail-pj1-x1030.google.com (mail-pj1-x1030.google.com [IPv6:2607:f8b0:4864:20::1030]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 8B8F2C061763 for ; Fri, 7 May 2021 06:14:12 -0700 (PDT) Received: by mail-pj1-x1030.google.com with SMTP id b14-20020a17090a6e0eb0290155c7f6a356so4595339pjk.0 for ; Fri, 07 May 2021 06:14:12 -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:mime-version :content-transfer-encoding; bh=sCOlyOIFiZk09QTc1wpSf9iIiwmNKJWxQ3gP9jIAbQE=; b=mSpLQhA/xa8vnl35yPqcyaIJv5x2iKpQ79RnozczBUFtCog64lxWk+cW6iEUvnFZR5 lXSMgIKXAE+diRkzI4rU8zgP6i0MQrZOM4NA32+kAechGNEOToZDzav/4bI5gQVttTG+ v8FkMm6GIZHzU8+QlMXwDkCy0gAB50XFsATUM= 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:mime-version :content-transfer-encoding; bh=sCOlyOIFiZk09QTc1wpSf9iIiwmNKJWxQ3gP9jIAbQE=; b=Rr1M7lBvpM5VSlACMQrrmUvz2oAVxvlNntnB7uNou3LDp4dUWM6VHY+szCJoNBmgYu AGHuwb7m2yCM2SW4mvwe4TkIKq1+8q1B5ZMFrXYpvYDoSiBVgXetsixtiRMh53xJbI04 KImIafCl0dDRZHRq8qFNWYYiJX5sY/Pi1qp/QH5Jgehzg7XNrGDnqBtWEP3Q975Xf3Tf juduTT+KtjrGcQdCEjdU86KbnoLknRzV9G3K7zefL/eKpF/6amXqKp2W/X+jZ5Qokx+N 2VDJUaTVUhByuQKtHy5yCE7ygm9VU3+k5veMayUTbz78S8rMqN2JYsVTEJryBTIEObpd zHrg== X-Gm-Message-State: AOAM531LngF4pAyNFGq+GFknFGXgPKW9+B2BS1ANDQZDu7U2pR3JVciM p4amSMlJpFYGrfIw+ximA+dq0g== X-Received: by 2002:a17:90a:a589:: with SMTP id b9mr10307171pjq.80.1620393251736; Fri, 07 May 2021 06:14:11 -0700 (PDT) Received: from hsinyi-z840.tpe.corp.google.com ([2401:fa00:1:10:711f:8553:a124:a19]) by smtp.gmail.com with ESMTPSA id z29sm4656539pga.52.2021.05.07.06.14.09 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 07 May 2021 06:14:11 -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 v21 0/5] add power control in i2c Date: Fri, 7 May 2021 21:14:01 +0800 Message-Id: <20210507131406.2224177-1-hsinyi@chromium.org> X-Mailer: git-send-email 2.31.1.607.g51e8a6a459-goog MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Although in the most platforms, the power of eeprom and i2c are alway on, some platforms disable the eeprom and i2c power in order to meet low power request. This patch add the pm_runtime ops to control power to support all platforms. Changes since v20: - fix regulator check logic in suspend/resume. Changes since v19: - resend v19 with fix tag added. Changes since v18: - Fix a function name conflict with drivers/gpu/drm/i915/selftests/i915_gem.c Changes since v17: - Add a patch to fix unbalanced regulator disabling. - Add dts patch. Changes since v16: - request regulator in device instead of in the core. - control regulator only if it's provided. Changes since v15: - Squash the fix[1] for v15. [1] https://patchwork.ozlabs.org/project/linux-i2c/patch/20200522101327.13456-1-m.szyprowski@samsung.com/ Changes since v14: - change the return value in normal condition - access the variable after NULL pointer checking - add ack tag Changes since v13: - fixup some logic error Changes since v12: - rebase onto v5.7-rc1 - change the property description in binding Changes since v11: - use suspend_late/resume_early instead of suspend/resume - rebase onto v5.6-rc1 Changes since v10: - fixup some worng codes Changes since v9: - fixup build error - remove redundant code Changes since v8: - fixup some wrong code - remove redundant message [... snip ...] Bibby Hsieh (1): i2c: core: support bus regulator controlling in adapter Hsin-Yi Wang (4): dt-binding: i2c: mt65xx: add vbus-supply property i2c: mediatek: mt65xx: add optional vbus-supply misc: eeprom: at24: check suspend status before disable regulator arm64: dts: mt8183: add supply name for eeprom .../devicetree/bindings/i2c/i2c-mt65xx.txt | 1 + .../dts/mediatek/mt8183-kukui-kakadu.dtsi | 4 + .../dts/mediatek/mt8183-kukui-kodama.dtsi | 4 + .../boot/dts/mediatek/mt8183-kukui-krane.dtsi | 4 + drivers/i2c/busses/i2c-mt65xx.c | 7 ++ drivers/i2c/i2c-core-base.c | 95 +++++++++++++++++++ drivers/misc/eeprom/at24.c | 6 +- include/linux/i2c.h | 2 + 8 files changed, 121 insertions(+), 2 deletions(-) -- 2.31.1.607.g51e8a6a459-goog