From patchwork Fri Mar 28 13:28:47 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Andr=C3=A9_Draszik?= X-Patchwork-Id: 14031999 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 44231C28B20 for ; Fri, 28 Mar 2025 13:33:05 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:Cc:To:In-Reply-To:References :Message-Id:Content-Transfer-Encoding:Content-Type:MIME-Version:Subject:Date: From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=bj8t/d7ZCz8V074ZRQQT4KdwjDhZIZlUROdEW2RBy3s=; b=nHrqI2sw4ZIuwGSo0YHFPKkw2d zeUyCOLIYkAzjy+8Gs35JbxcariD+6KuxJT9vuImke8UeMd/sGgUpcB+y8unml9a9rWyrpSVVdbxl 6U9pJXLp3sEW3VzWphb/8JzZz8eD5OG888/z5pLfSfTkgbXRgxf3bqTHHQrmF5aBLViDPulhn4J6S H80bZP7fgXxXatO5hM/SnTWkEJQuWnrCqziP7pwm1jhkiHFQXvcDb5QihE6TmndrrXHAYBWQjBwj9 LT/g/IuHe2lANNwb7d4HAAInyWe1/lIneFx0u1P3ztaValbXh/MsNBv70bcaq+7+rC8dwfOdERbtp Fbnsa5Bg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98.1 #2 (Red Hat Linux)) id 1ty9pF-0000000DR80-0CDv; Fri, 28 Mar 2025 13:32:45 +0000 Received: from mail-ed1-x52a.google.com ([2a00:1450:4864:20::52a]) by bombadil.infradead.org with esmtps (Exim 4.98.1 #2 (Red Hat Linux)) id 1ty9nT-0000000DQbe-212d for linux-arm-kernel@lists.infradead.org; Fri, 28 Mar 2025 13:30:56 +0000 Received: by mail-ed1-x52a.google.com with SMTP id 4fb4d7f45d1cf-5e6194e9d2cso4222435a12.2 for ; Fri, 28 Mar 2025 06:30:55 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1743168654; x=1743773454; darn=lists.infradead.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=bj8t/d7ZCz8V074ZRQQT4KdwjDhZIZlUROdEW2RBy3s=; b=DmBH3zEYPzS+C8t6e9tRvXpGUyXfuCUc+zq5ej59J7AibUDDjDKyfGiYud7DLfQJMO fhJ+Q3rFi9UO5CAHcq6pF/Ai7SdnPpw0cNlx4ollNKkqWutF1bFbasEFGypdm3QgQfv8 9lDFca6TUNkNNIcSr3oeVmR3ariI0BAzRpYIFSiEgktM+Mr6a3Ay3P6AM88VVBh9Y+Tn AlXN8H/HW0VqqybILAEug+VNakELhxOjE8LO3gm/tlMpzl+Es4cQFlUpfEloslY0IExM IwNxQKfwE5Kxt7rogMPyDnwOtLD+fI5HeAikFjiQaGYC+UccIRlYgmr863VaY9jBwpF2 /chA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743168654; x=1743773454; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=bj8t/d7ZCz8V074ZRQQT4KdwjDhZIZlUROdEW2RBy3s=; b=Cq3ZqUcOFJIW7yhMd6H6PF7IUBvfJL0d3noulGkZ3LfvFSIvQWlo8LNJbUqgH7MmJq SNhwLrDofW+q4vnznNmOIwIbDioWjOUrp+lPNsMn3FBejhDNEAMAyzyUeLMz9dJanc5l ZoQAEOlGKYMBfuXhEKPl7Q0alXvprsX/j3gw5sWWluZhmoFGQTN3TYaN6aP+E6crieor /UX9q8NqZcZj73j+T+5XITYnErGEp1+A4M74fvGZRd71+5sfKajbaJOVgG1J2yopZiHd OSy1kpw3KGjYEwXDLzV+exq545gtvQv6Vx1jz2O4LXG4xec6vFmDZQLG4Kb3tc2XgHJx WSHQ== X-Forwarded-Encrypted: i=1; AJvYcCXNkIu6YTLEF4C+3jWlHy1Q5m4D9KMcsQ5swTvX7O2Tgna5YQT6RNrj/ijWBMX7mDBLVtDcaoaQJP0GCOVveulf@lists.infradead.org X-Gm-Message-State: AOJu0YxvxZ6yfMDziB1Bpj1AqMoq7pFV6DNGQUU6lSQc2wI+IiiC+8El UimuTXxJUq+9SS4iKXKczsUmBU4hJwiJeDpQx3YFszIqR/t69vhD91PlfJPJyJ8= X-Gm-Gg: ASbGncvtQYNgIkj0WKKr+jcr7qYBNYgR8CCps4ybKQO5VfaVqcS092UwQbIBYlRfEO3 R4RSKgevL9sTgRoPWEZodGDJ012pEIxDPJbBOAV18fT4PqLQbjXK2i32R5Fr7U2GdndkXCe5RLQ mH6hYWrwrG8vE+5Ib9EYk/1do2t26tPsrqRX9dPwUvtiOmvMl7gq3CcQzc/pSLsShA0Jzyu+dTt uDts5VfX4qwk4bWl2mTYry0p9VflDKkYpPSa7zp8Fp0CaePnSXLLNx1FRF+CpIHL3TE3s19enif kQF8XLGgal/n6chwf3NKLonAiLNj3F5rGZVmABAMis15c1OFU0+7063O7Gx5K/YBdTfXMAeQ5Ty mmXN4EhUKwx3hVH8DI4amYNPGvHgd X-Google-Smtp-Source: AGHT+IG5iLE7r81td49W0bBe07yr5W+PK4WyVyGMbJeUq+YUB/jGY98HLwkEVGj4tkqcJ2fbAud1Ig== X-Received: by 2002:a05:6402:27ca:b0:5dc:63d:b0c1 with SMTP id 4fb4d7f45d1cf-5ed8f5f7241mr7187353a12.29.1743168653567; Fri, 28 Mar 2025 06:30:53 -0700 (PDT) Received: from puffmais.c.googlers.com (8.239.204.35.bc.googleusercontent.com. [35.204.239.8]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-5edc17e01f7sm1355284a12.79.2025.03.28.06.30.52 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 28 Mar 2025 06:30:53 -0700 (PDT) From: =?utf-8?q?Andr=C3=A9_Draszik?= Date: Fri, 28 Mar 2025 13:28:47 +0000 Subject: [PATCH v2 01/32] dt-bindings: mfd: samsung,s2mps11: add s2mpg10 MIME-Version: 1.0 Message-Id: <20250328-s2mpg10-v2-1-b54dee33fb6b@linaro.org> References: <20250328-s2mpg10-v2-0-b54dee33fb6b@linaro.org> In-Reply-To: <20250328-s2mpg10-v2-0-b54dee33fb6b@linaro.org> To: Krzysztof Kozlowski , Lee Jones , Rob Herring , Conor Dooley , Sylwester Nawrocki , Chanwoo Choi , Alim Akhtar , Michael Turquette , Stephen Boyd , Russell King , Catalin Marinas , Will Deacon , Alexandre Belloni Cc: Peter Griffin , Tudor Ambarus , Will McVicker , kernel-team@android.com, linux-kernel@vger.kernel.org, linux-samsung-soc@vger.kernel.org, devicetree@vger.kernel.org, linux-clk@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-rtc@vger.kernel.org, =?utf-8?q?Andr=C3=A9_Draszik?= X-Mailer: b4 0.14.2 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250328_063055_519155_27E45DDB X-CRM114-Status: GOOD ( 13.36 ) X-BeenThere: linux-arm-kernel@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-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org The Samsung S2MPG10 PMIC is similar to the existing PMICs supported by this binding. It is a Power Management IC for mobile applications with buck converters, various LDOs, power meters, RTC, clock outputs, and additional GPIOs interfaces. Unlike other Samsung PMICs, communication is not via I2C, but via the Samsung ACPM firmware, it therefore doesn't need a 'reg' property but needs to be a child of the ACPM firmware node instead. S2MPG10 can also act as a system power controller allowing implementation of a true cold-reset of the system. Support for the other components like regulators and power meters will be added in subsequent future patches. Signed-off-by: André Draszik --- v2: * drop ACPM phandle 'exynos,acpm-ipc', and expect this to be a child node of ACPM directly instead * allow, but still don't enforce, regulators subnode, to ease adding it in the future * deny 'reg' property, it's incorrect to optionally have it for S2MPG10 * enforce 'interrupts' or 'interrupts-extended' property. S2MPG10 can not work without. Note this is done as-is using the oneOf, because dtschema's fixups.py doesn't handle this nesting itself --- .../devicetree/bindings/mfd/samsung,s2mps11.yaml | 28 ++++++++++++++++++++-- 1 file changed, 26 insertions(+), 2 deletions(-) diff --git a/Documentation/devicetree/bindings/mfd/samsung,s2mps11.yaml b/Documentation/devicetree/bindings/mfd/samsung,s2mps11.yaml index ac5d0c149796b6a4034b5d4245bfa8be0433cfab..62d0e9f8a4d39add50a986af1836cfdcf065ad48 100644 --- a/Documentation/devicetree/bindings/mfd/samsung,s2mps11.yaml +++ b/Documentation/devicetree/bindings/mfd/samsung,s2mps11.yaml @@ -20,6 +20,7 @@ description: | properties: compatible: enum: + - samsung,s2mpg10-pmic - samsung,s2mps11-pmic - samsung,s2mps13-pmic - samsung,s2mps14-pmic @@ -58,16 +59,39 @@ properties: reset (setting buck voltages to default values). type: boolean + system-power-controller: true + wakeup-source: true required: - compatible - - reg - - regulators additionalProperties: false allOf: + - if: + properties: + compatible: + contains: + const: samsung,s2mpg10-pmic + then: + properties: + reg: false + samsung,s2mps11-acokb-ground: false + samsung,s2mps11-wrstbi-ground: false + + oneOf: + - required: [interrupts] + - required: [interrupts-extended] + + else: + properties: + system-power-controller: false + + required: + - reg + - regulators + - if: properties: compatible: From patchwork Fri Mar 28 13:28:48 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Andr=C3=A9_Draszik?= X-Patchwork-Id: 14032001 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id B74A5C28B20 for ; Fri, 28 Mar 2025 13:36:27 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:Cc:To:In-Reply-To:References :Message-Id:Content-Transfer-Encoding:Content-Type:MIME-Version:Subject:Date: From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=r/wEh4QmLnuluQvbcZ6Yqq9yXOMvoeHgrUwhyH2g5L8=; b=pT3uIL9RXHIF5akpux+6WFB7dn 8SexkjZQiixQmHxT/4UGU9um7FPKncvCK+BtMgLY5UI7j81x1zulmwCPwNUzKB37kyYJhnSA+RRQ0 Ns/NXj4OAdNJzY9fokwv8IEIqCizVOX9JrM6JNe7+PG+WwjZAfDbf0GgoNmvHF5e/HVt6utxnj2pB XM638sIWo/X2cAkgUR6jz03MshPwj8wmb2T+vzpNcxLivEVvBZ5OjKwyDnsLgzChfJyjlXhetoIgr hg9KmXOQhaZYBPxM1ZpkJoSf0HDCzOV6o7EL3vsF0hMuWZdl9D4qQSmmHaJ+MyVXDQJvtu4bDZvO2 H3zlMWhA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98.1 #2 (Red Hat Linux)) id 1ty9sf-0000000DRtk-2DgV; Fri, 28 Mar 2025 13:36:17 +0000 Received: from mail-ed1-x536.google.com ([2a00:1450:4864:20::536]) by bombadil.infradead.org with esmtps (Exim 4.98.1 #2 (Red Hat Linux)) id 1ty9nT-0000000DQbg-3Tng for linux-arm-kernel@lists.infradead.org; Fri, 28 Mar 2025 13:30:57 +0000 Received: by mail-ed1-x536.google.com with SMTP id 4fb4d7f45d1cf-5ed43460d6bso3667993a12.0 for ; Fri, 28 Mar 2025 06:30:55 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1743168654; x=1743773454; darn=lists.infradead.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=r/wEh4QmLnuluQvbcZ6Yqq9yXOMvoeHgrUwhyH2g5L8=; b=SHhCB8UE1x6wmz9Yh8wC21Cnb1DmN51GWw9a/VTsfCn2P73V66F7aiIH9KfkDM0nvV DqOfXfmvM57FaRpLJLF6NJUR2KiLaHZvHP/WdQ8dvlu8UdaYoKOmELfEFT5rJNd/xq3S ag67qH0fkHlCNn3EZiFtxs0ihvBZMUynuV7waabchJgN7IcVGEj2ApKzlTIE44nJUr+5 W5ROVeLgvsa6ohfz9GCNMTiYxTHj4AlZ7TyihBry6dD6WSEYKu5ZCGjpW3rw9iyypSGP +GrXSXdv7T3838Hnpv/pggq2bUgcZNXRQZeU453sywPUByLMop/nh39pluafwDMpUcNh xfDw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743168654; x=1743773454; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=r/wEh4QmLnuluQvbcZ6Yqq9yXOMvoeHgrUwhyH2g5L8=; b=JlA2j6n3LLbRBt0XjgpQMJM+NDDI/9/BY3ThHxQgdOWw74EFkiXBbvIoCCdPAvgpXz gkakyZPrgDNV7d0AuVY+nHDM4+7BBCt/JfiGMV7yf7Aavncyls7EF6oOMDMm2eVU1Yql +ZQ0fPb8l/4JxPTp9osV2fkCBlrSvoTxnbUKbe5Q8w184/iRESaUV8vIXcQsmNCQUwqz 4v1W1xK2MIqpW/ysKJ8nFBUX2wYQ7lKEvTMzj4lGiou/e4XlZ+uGa7f9yvjM3mumhPDv NpPpV88FLppxUOwxsWDf8bEGC5QNZsjowGduYiKQOC27+hC934fEHmYziCFhWD9Qx0ZF 8+XA== X-Forwarded-Encrypted: i=1; AJvYcCUaMcprb8B7opmOPkW2BuMSVi//G05ECFbrlahWTXMg+gtZvdw57iZVBLKy9bTsgBVbHTcocEP6ogA+aJmM0eiH@lists.infradead.org X-Gm-Message-State: AOJu0Yyv6ESvG9Uw7BfnRKYTgTrBAEnuHQt75TjTPYXHZIbfFxWyR3HZ hktHjplUtq639T2K3N5O6G8LApEfXOvzsBN6zUQE5ubxNjDKzCzWP+YzqSJfpW0= X-Gm-Gg: ASbGncthVNxs9hh4HEdT+ow9smP+/WdlS3arYHpITWy5S9P8X6H4Na/QPgPeMNWq+0l Bi2KCWXk8jH4c/mzVM3D7Ztz4ZbkOwza3u7e01yMb0f/ynzsOO4XZmjYTNuLugBmYBuD/XQHlzo PaD0XvNbrdryQR/3lVvxK/J6GkY9aUbuQ68PktuaPqLfU82Irb0M2YNmrKPxAm/sS6O1CzvgLjC 01wtkt0aMO2bho6E+xlu6edr1ne+01mdi0110DGpsmCLJn+5l8ZKX8JY2fqN4aFgnKjBi/+kTRQ NFn1OFaBBVf+HfqAwu0xlPjCu30JgYB/S0DRB+2Q6oQv198uKQXF7kEmX/yEIpAj61hxwr63u+t Fu74yV+4JYHqY2mtwedxtnUVTkIza X-Google-Smtp-Source: AGHT+IFNlBH/xFV1TxcoV9Ofat0bwBhbNapLP3kxW0K3XFCOMqRnzn5sDn6+P7lNxf9DYLlCo5zX1A== X-Received: by 2002:a05:6402:3492:b0:5e7:73ad:60a2 with SMTP id 4fb4d7f45d1cf-5ed8f901fb3mr7761660a12.30.1743168654052; Fri, 28 Mar 2025 06:30:54 -0700 (PDT) Received: from puffmais.c.googlers.com (8.239.204.35.bc.googleusercontent.com. [35.204.239.8]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-5edc17e01f7sm1355284a12.79.2025.03.28.06.30.53 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 28 Mar 2025 06:30:53 -0700 (PDT) From: =?utf-8?q?Andr=C3=A9_Draszik?= Date: Fri, 28 Mar 2025 13:28:48 +0000 Subject: [PATCH v2 02/32] dt-bindings: clock: samsung,s2mps11: add s2mpg10 MIME-Version: 1.0 Message-Id: <20250328-s2mpg10-v2-2-b54dee33fb6b@linaro.org> References: <20250328-s2mpg10-v2-0-b54dee33fb6b@linaro.org> In-Reply-To: <20250328-s2mpg10-v2-0-b54dee33fb6b@linaro.org> To: Krzysztof Kozlowski , Lee Jones , Rob Herring , Conor Dooley , Sylwester Nawrocki , Chanwoo Choi , Alim Akhtar , Michael Turquette , Stephen Boyd , Russell King , Catalin Marinas , Will Deacon , Alexandre Belloni Cc: Peter Griffin , Tudor Ambarus , Will McVicker , kernel-team@android.com, linux-kernel@vger.kernel.org, linux-samsung-soc@vger.kernel.org, devicetree@vger.kernel.org, linux-clk@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-rtc@vger.kernel.org, =?utf-8?q?Andr=C3=A9_Draszik?= X-Mailer: b4 0.14.2 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250328_063055_867308_E42536EA X-CRM114-Status: UNSURE ( 9.62 ) X-CRM114-Notice: Please train this message. X-BeenThere: linux-arm-kernel@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-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org The Samsung S2MPG10 clock controller is similar to the existing clock controllers supported by this binding. Register offsets / layout are slightly different, so it needs its own compatible. Acked-by: Stephen Boyd Acked-by: Rob Herring (Arm) Signed-off-by: André Draszik --- Documentation/devicetree/bindings/clock/samsung,s2mps11.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/Documentation/devicetree/bindings/clock/samsung,s2mps11.yaml b/Documentation/devicetree/bindings/clock/samsung,s2mps11.yaml index d5296e6053a1881650b8e8ff2524ea01689b7395..91d455155a606a60ed2006e57709466ae8d72664 100644 --- a/Documentation/devicetree/bindings/clock/samsung,s2mps11.yaml +++ b/Documentation/devicetree/bindings/clock/samsung,s2mps11.yaml @@ -25,6 +25,7 @@ description: | properties: compatible: enum: + - samsung,s2mpg10-clk - samsung,s2mps11-clk - samsung,s2mps13-clk # S2MPS13 and S2MPS15 - samsung,s2mps14-clk From patchwork Fri Mar 28 13:28:49 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Andr=C3=A9_Draszik?= X-Patchwork-Id: 14032003 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 39D0CC28B20 for ; Fri, 28 Mar 2025 13:38:13 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:Cc:To:In-Reply-To:References :Message-Id:Content-Transfer-Encoding:Content-Type:MIME-Version:Subject:Date: From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=E1w11rlVw/TNBQvhMqe/HobIw1/0AFB8/Oe+GpWOJoY=; b=jaRVhX4OZrFhKVe2hK2mxNVkQn UcWVA93aiwA7tSIfeRidbMoccOdyKDPx25PKUaNiAUa+a/D6Zc6lTVwPLrdXNGwIzYCW++TEhvc/m woAEK6NxA4aQjwvpm7BvQaTvEIbo1zOH0OOWIvOPXWC3/QJEN6k4XkABkKQNHkncJJ0uMieQ4PDCG ZxFIfg7h6pijZHjCgy776vuOTfv/rBAhg5HDkeu6h9SjM924SGK8Q/q7ItrFoGtweyhXiXeTrs9vq aZZ4yH8RnACUSuyhBm6URAGy/N2gpPsfJiYTQgT5wJ+X5l95+WQrtC4Y850/IrRYHugvdTKmkKvd3 0kVbZXbA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98.1 #2 (Red Hat Linux)) id 1ty9uN-0000000DS9I-0ooX; Fri, 28 Mar 2025 13:38:03 +0000 Received: from mail-ej1-x633.google.com ([2a00:1450:4864:20::633]) by bombadil.infradead.org with esmtps (Exim 4.98.1 #2 (Red Hat Linux)) id 1ty9nV-0000000DQcg-01wN for linux-arm-kernel@lists.infradead.org; Fri, 28 Mar 2025 13:30:58 +0000 Received: by mail-ej1-x633.google.com with SMTP id a640c23a62f3a-ac28e66c0e1so324313066b.0 for ; Fri, 28 Mar 2025 06:30:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1743168655; x=1743773455; darn=lists.infradead.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=E1w11rlVw/TNBQvhMqe/HobIw1/0AFB8/Oe+GpWOJoY=; b=AwEpgQoWVaCFAsYvPqvFWCqns6rsROsiSXJgDeyfLLxx3DMBpgmqRIx/W44AI/t6gL cS77Ji6OqT6BB1xa4wNrBVh0eGF6P0CJTfZ8kFuWmqRdNST8cTBl8LUV/fwea94okhWC z/AXisbWrvk+DBw4uCOmjDN9fi39CiA+C9iwmRJOoX1mCEyY91a3A/NNsjiIoJ0jVCYn u9xw3XCRQHicBgkovpEs8u2WR4kxYySrIJD3S7IBIS0T8JF0F+zteBPKflBp6bv0IUDR gYQIJ0p6rDR6pRBNXNNSgZIlceV+56iNYoHoMqPDjYY/GB6C913JM3h5LZbjmBIbFsYg eJOA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743168655; x=1743773455; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=E1w11rlVw/TNBQvhMqe/HobIw1/0AFB8/Oe+GpWOJoY=; b=oPOdnIlNTdjQif5Q8HcfrOTl6aSdG9JwvVXJ4D1+IFQSoh8AvS2WY/vFHOYmyaTENk lqT/K4M/U6kiM86X8uosH0Hs3Dwz3nmYCQZwtqwy5KtV+ZlKCIl0HoowLnyMhTVUMGwO IHp8AanI9HnpZYiryOc4sxFkqfxPWi8bdzikx3X+kvk8BQ5DXcsMdXOCVf5xp9XcT3RA qzY1yrQPJkboY/W/DsN/zbU0CHisvDFzjY/I3nzhY4/VTSHb2S7I9yRlAPBiG4pUisTp FEudk4QFQIIqjf5v8BYZ/+7EOTakg5U1QQBpKuLtVdMkA0sagjYyKvODy2aey1CulaQy Fk0g== X-Forwarded-Encrypted: i=1; AJvYcCW1uyGyxAh7ji/2RTAzY36+Bo42MPCdlGiQZzgycx9wUz1uRPvwseQTI8Z3cO8x99tE+QqfAD6CTZSLVppr8/wW@lists.infradead.org X-Gm-Message-State: AOJu0YxtFxYog1H3O+uu/H7+iW0VuOFqTaRo2s8Puou6GORum9mAhkAx nSQOdnkJXamhjgAjVujiMGeZkkpUtNmEqgRRep0OCnK1PYoYxQW6RsAF3IveKwc= X-Gm-Gg: ASbGncuhZuDFTKinJTLVESlMHToVuK3/em3T8kYwrIlsllbqBbesdzVsCHN3OtTtX8n 27JXLRm0c+TzD8eo6Cff3+85r/IgddJ5bI7hq4UKlZL+6ZO5avocuFNZ9P3izicP6V+ix7Ui+5O Y9fLwoYoI8XdpUfwtHu8DgGwh0y55tpzg2a3W43RF1bq/4xp+8kpX6dzY8mQ/w+GE/BClC7uE/2 k/oj/VmVNEXC0CXZ4MND7QdJsPFxCX9vLPwRhKMfk8j0R5rcfiJI6CK5pPACeKhKWvfVDmS4HPH TU92jh64LnLZXsyCr79eHERX93y3B88m3CFoZBQ+MEHFo/sGIje+OGa7XDa2T0FUUQhJkwtPRsQ 6Y8JaAItetWhFGkrtTZmbpy5U1eyL X-Google-Smtp-Source: AGHT+IEq06ryYPSRFnijp9zBT7TVwvuxmad5wvipQF5Or+uJmUZMEkHYbtpAEod3NTnJDeU/8eOeEA== X-Received: by 2002:a17:907:7b99:b0:ac2:7ec8:c31d with SMTP id a640c23a62f3a-ac6faea0f0amr608739366b.17.1743168654961; Fri, 28 Mar 2025 06:30:54 -0700 (PDT) Received: from puffmais.c.googlers.com (8.239.204.35.bc.googleusercontent.com. [35.204.239.8]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-5edc17e01f7sm1355284a12.79.2025.03.28.06.30.54 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 28 Mar 2025 06:30:54 -0700 (PDT) From: =?utf-8?q?Andr=C3=A9_Draszik?= Date: Fri, 28 Mar 2025 13:28:49 +0000 Subject: [PATCH v2 03/32] dt-bindings: firmware: google,gs101-acpm-ipc: add PMIC child node MIME-Version: 1.0 Message-Id: <20250328-s2mpg10-v2-3-b54dee33fb6b@linaro.org> References: <20250328-s2mpg10-v2-0-b54dee33fb6b@linaro.org> In-Reply-To: <20250328-s2mpg10-v2-0-b54dee33fb6b@linaro.org> To: Krzysztof Kozlowski , Lee Jones , Rob Herring , Conor Dooley , Sylwester Nawrocki , Chanwoo Choi , Alim Akhtar , Michael Turquette , Stephen Boyd , Russell King , Catalin Marinas , Will Deacon , Alexandre Belloni Cc: Peter Griffin , Tudor Ambarus , Will McVicker , kernel-team@android.com, linux-kernel@vger.kernel.org, linux-samsung-soc@vger.kernel.org, devicetree@vger.kernel.org, linux-clk@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-rtc@vger.kernel.org, =?utf-8?q?Andr=C3=A9_Draszik?= X-Mailer: b4 0.14.2 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250328_063057_065280_02FF416B X-CRM114-Status: GOOD ( 10.12 ) X-BeenThere: linux-arm-kernel@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-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org The PMIC is supposed to be a child of ACPM, add it here to describe the connection. Signed-off-by: André Draszik --- .../bindings/firmware/google,gs101-acpm-ipc.yaml | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/Documentation/devicetree/bindings/firmware/google,gs101-acpm-ipc.yaml b/Documentation/devicetree/bindings/firmware/google,gs101-acpm-ipc.yaml index 2cdad1bbae73bb1795eccf47e1a58e270acd022c..5524f2af5bda2d29b5113f8fe14ece7f02366a60 100644 --- a/Documentation/devicetree/bindings/firmware/google,gs101-acpm-ipc.yaml +++ b/Documentation/devicetree/bindings/firmware/google,gs101-acpm-ipc.yaml @@ -27,6 +27,16 @@ properties: mboxes: maxItems: 1 + pmic: + description: Child node describing the main PMIC. + type: object + $ref: /schemas/mfd/samsung,s2mps11.yaml + unevaluatedProperties: false + + properties: + compatible: + const: samsung,s2mpg10-pmic + shmem: description: List of phandle pointing to the shared memory (SHM) area. The memory @@ -43,8 +53,15 @@ additionalProperties: false examples: - | + #include + power-management { compatible = "google,gs101-acpm-ipc"; mboxes = <&ap2apm_mailbox>; shmem = <&apm_sram>; + + pmic { + compatible = "samsung,s2mpg10-pmic"; + interrupts-extended = <&gpa0 6 IRQ_TYPE_LEVEL_LOW>; + }; }; From patchwork Fri Mar 28 13:28:50 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Andr=C3=A9_Draszik?= X-Patchwork-Id: 14032004 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 04548C36011 for ; Fri, 28 Mar 2025 13:40:01 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:Cc:To:In-Reply-To:References :Message-Id:Content-Transfer-Encoding:Content-Type:MIME-Version:Subject:Date: From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=eMxQ7UQKMt0+Oaxy9pEE80XpNTXV7CL+WPCOZ4uzjjQ=; b=zKVrtdZ/CJvWXXnkYIGzMogvke VAExwb31pxUnOIwLWr0m7yE0y+aHo8mLdBxpxlRjhpu/vO0OKdmosrEaSNlYDiPeSMm7Gz1Apu41J 3EXoGFMbnbJ6/Nfm5XZhFN3HHQBdfoaaMosXOJiBgb0kCYUeUkZTwwxrDzSvrNkOXUUjufH/uYTR5 VAWQRBSvGTnfjyVwshT47AIeu0/nzOzN5hHmrpRyKxPv0Zf1nxkeXgi7P7bB0r9KC7yOYuZPUjeWW bdi6jyn1U5TlIK7bUUcC7G5VQpEQWPu50LxkPrn1YGPu25aBnoco1BVjnPw/0hIn99UJWJ4qhK/81 aEw1DfTw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98.1 #2 (Red Hat Linux)) id 1ty9w6-0000000DSXY-05Yu; Fri, 28 Mar 2025 13:39:50 +0000 Received: from mail-ed1-x530.google.com ([2a00:1450:4864:20::530]) by bombadil.infradead.org with esmtps (Exim 4.98.1 #2 (Red Hat Linux)) id 1ty9nV-0000000DQcp-0nA7 for linux-arm-kernel@lists.infradead.org; Fri, 28 Mar 2025 13:30:58 +0000 Received: by mail-ed1-x530.google.com with SMTP id 4fb4d7f45d1cf-5e66407963fso4149335a12.2 for ; Fri, 28 Mar 2025 06:30:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1743168656; x=1743773456; darn=lists.infradead.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=eMxQ7UQKMt0+Oaxy9pEE80XpNTXV7CL+WPCOZ4uzjjQ=; b=NF364uoXngjBYYGgZnOb+1BV14R0tElVsKGCsXnriI572beUGq8onjY24LdmUWo5Sy ovwXTfk8/EV80XRJKWhd9sxFwJwF1NOmzXv+gzrL0/nN1AVp5TUKVq6Ybe/6AyltMsfy uPzBUaHXX05+x68Erm4zZUXe3lKxFv4Tyx2FzUZAThOg4nMOXDyR0tZKX3Tcr+xqacEJ de3b3QRARunkDZUHesZOzCHWearlqWW4PUF81A1pX8G63j+G0s5PnMIrc3DvdcGGAOqC mtATYyaWMZzQ8K5iVS3sCCIVKAmaQmCBFUGfVEsd99VR9gE0JS0ZvO+dv3UnWi3l2KoA D3Eg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743168656; x=1743773456; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=eMxQ7UQKMt0+Oaxy9pEE80XpNTXV7CL+WPCOZ4uzjjQ=; b=fwiFlg6MYNaIqCorF1NfWbGBpqzRkA+0jbMP2Qhvgs1XSHNjYaZoFdBzMD+H1djVFR YZb/V4SE/CqhxONJ5oHngiWXdoN+rH6zaDYjm/JuPFoYldy5G1A7uB6R91M3kdozRrPr IRuPLIXbEzDcTpqIsYkvFZRoviXtqXsrYSq5GMl1aEaMIdDDgPTd3QUtV5ry8Ymaw1Y2 I8rf6phQUuftcntXb/Wk9rZ6M5XimbEiSfZpE5glkfARmvC5JtMPZUNC9ND+aJgJUjnF 2Bh6g6UwV3chWoygTzisUOmRN813hvPgtstehQhHclq4qFBTb1gJCYCzRCDvYzLrY3// BtSA== X-Forwarded-Encrypted: i=1; AJvYcCWS15KLtRwG4//HYkWIocE1BmnpWbtpRnLlmqM6XVRV1AJlljloVgJAMv/AE+TCC8EvG20Nvv0MZs6V4Q98GqLe@lists.infradead.org X-Gm-Message-State: AOJu0YxwxAb8Oxiy1lPW0uRIgjhXJ2oQYd2PhDGNm1z+uao76xOYMJEU +c6eiWGeVmBM4rmnRyIOOQ+uHUQhizQw2GjjtpcRrJCvfUV5ppxpvL9ZGmIjO3E= X-Gm-Gg: ASbGncs301jc/Lgmc6g8JjV8F8805LJrnYjTtC+dswv+yz1sjhy+caoeZYztqMJ+ZIt 10sTx1nTbFfc99B2fF8lr6ZFg0ZX6Ek+5z8JuBjU+foOw5zhFuN6VCYkz3COuTTxRBJ4ZupZoSw c9+bx+Ms1ywto5crCGd1DiQwYhV+YCa+KMtHq6zMvqH/p82BiTkUupu6TRJ6iJ2NiAOvPBat5dt +KVoVETDRJBg4o/BWk7D+CHPS1n2ofpKb0GbszcsbY0eaHGIT/rIjZcGwpeW8QQvjYKl2H3iWhi CUaoiXfBYAFIygvjs9xb+/yxM/EcSoTMpzxAXFq0Nw+baBZTeediBhRu2F5amYl4J3CGQQsgd9r Fuc9IWz5ZfsitRJQ2nSL0RqX6zY5VMvRj+f+Vl+s= X-Google-Smtp-Source: AGHT+IH35FaKYo+gSI6anwiHIjdD3ef6MXj/ihpM/TgWINmZ8ShobAVb92+tkqSJyQ+wsMpl6rBS1A== X-Received: by 2002:a05:6402:51ca:b0:5e0:82a0:50ab with SMTP id 4fb4d7f45d1cf-5ed8f9027ffmr7884197a12.27.1743168655554; Fri, 28 Mar 2025 06:30:55 -0700 (PDT) Received: from puffmais.c.googlers.com (8.239.204.35.bc.googleusercontent.com. [35.204.239.8]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-5edc17e01f7sm1355284a12.79.2025.03.28.06.30.55 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 28 Mar 2025 06:30:55 -0700 (PDT) From: =?utf-8?q?Andr=C3=A9_Draszik?= Date: Fri, 28 Mar 2025 13:28:50 +0000 Subject: [PATCH v2 04/32] mfd: sec: drop non-existing forward declarations MIME-Version: 1.0 Message-Id: <20250328-s2mpg10-v2-4-b54dee33fb6b@linaro.org> References: <20250328-s2mpg10-v2-0-b54dee33fb6b@linaro.org> In-Reply-To: <20250328-s2mpg10-v2-0-b54dee33fb6b@linaro.org> To: Krzysztof Kozlowski , Lee Jones , Rob Herring , Conor Dooley , Sylwester Nawrocki , Chanwoo Choi , Alim Akhtar , Michael Turquette , Stephen Boyd , Russell King , Catalin Marinas , Will Deacon , Alexandre Belloni Cc: Peter Griffin , Tudor Ambarus , Will McVicker , kernel-team@android.com, linux-kernel@vger.kernel.org, linux-samsung-soc@vger.kernel.org, devicetree@vger.kernel.org, linux-clk@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-rtc@vger.kernel.org, =?utf-8?q?Andr=C3=A9_Draszik?= , Krzysztof Kozlowski X-Mailer: b4 0.14.2 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250328_063057_232420_1F3873B9 X-CRM114-Status: GOOD ( 10.01 ) X-BeenThere: linux-arm-kernel@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-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org sec_irq_resume() was removed in commit 6445b84abf91 ("mfd: Add s2mps11 irq driver") and sec_irq_exit() in commit 3dc6f4aaafbe ("mfd: sec: Use devm_mfd_add_devices and devm_regmap_add_irq_chip") while the prototypes were left. They should be removed. Do so. Reviewed-by: Krzysztof Kozlowski Signed-off-by: André Draszik --- include/linux/mfd/samsung/core.h | 2 -- 1 file changed, 2 deletions(-) diff --git a/include/linux/mfd/samsung/core.h b/include/linux/mfd/samsung/core.h index f35314458fd22e43fa13034439406bea17a155c9..b7008b50392ab857751b89e0a05d2c27f6306906 100644 --- a/include/linux/mfd/samsung/core.h +++ b/include/linux/mfd/samsung/core.h @@ -72,8 +72,6 @@ struct sec_pmic_dev { }; int sec_irq_init(struct sec_pmic_dev *sec_pmic); -void sec_irq_exit(struct sec_pmic_dev *sec_pmic); -int sec_irq_resume(struct sec_pmic_dev *sec_pmic); struct sec_platform_data { struct sec_regulator_data *regulators; From patchwork Fri Mar 28 13:28:51 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Andr=C3=A9_Draszik?= X-Patchwork-Id: 14032005 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id A95E5C28B20 for ; Fri, 28 Mar 2025 13:41:47 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:Cc:To:In-Reply-To:References :Message-Id:Content-Transfer-Encoding:Content-Type:MIME-Version:Subject:Date: From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=zvnZunCYyaEwV4fUoehy+lbIydvSzIujDoR6jNNiKRw=; b=ntGuWcUNZQYDbkicXBMcTMQn5y nZ/XC/5RIbnvTX9KIQ0DKOlyKiNAUAJbhDWO9CjRFnGzzGdLWaj4xysVx0cirQFfSpXCcdfGKEWdJ be5tEs1MyAHR2/+5rh5jkJ6Cs74APvyyPOj+rdsjz/scCsq7qZIeapggvCZj28soLw/sNd0HIqQ84 BySpxVPrxHjA7y/shS++wUWa/2zG8GzkMGURt+ubb7m1NyN3+JOp/iXyEyLnQJ1SsFSvaUKnvynZ2 MkOVnzK/Yx7W/oiz3r/P4U/wiamjqFiWFKrs2lvNFCO7T7ZrjqHVhQfiytEpHTi8QvY9r1t1Azm2n OlFe5phA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98.1 #2 (Red Hat Linux)) id 1ty9xo-0000000DSv4-33bO; Fri, 28 Mar 2025 13:41:36 +0000 Received: from mail-ed1-x529.google.com ([2a00:1450:4864:20::529]) by bombadil.infradead.org with esmtps (Exim 4.98.1 #2 (Red Hat Linux)) id 1ty9nW-0000000DQdJ-04ZF for linux-arm-kernel@lists.infradead.org; Fri, 28 Mar 2025 13:30:59 +0000 Received: by mail-ed1-x529.google.com with SMTP id 4fb4d7f45d1cf-5ed43460d6bso3668081a12.0 for ; Fri, 28 Mar 2025 06:30:57 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1743168656; x=1743773456; darn=lists.infradead.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=zvnZunCYyaEwV4fUoehy+lbIydvSzIujDoR6jNNiKRw=; b=rVDR9LnTYu7PP1DWy1Ehv2Hbon8vkS9oDRX1P615Xa6q6WsDtt5cB4KzHaY0+w/Z+X 1UzKeW537wu+CJvgTks80lvqCVvP7hp8DfnlnQWwbaCegalE+2lf8hMG22R90EwNnjYJ bEiBRjlVHi+UHI/VRSnQegGOhRGqCis1VeLfV0sIGx+Gbv3qcMU5JnEHlzWz/c+9YjM4 9FXmibpYichgZ4DLnWL0nfxF6ZAbq2YyW24IAgEvjBONByHa+vktJXz5TkalEktrIet2 KukIKi9vBKcykAEt1dbU4/0DyLtMuGflx33Pn9tpgQ04GpZ7pw/g9+nWhHluZlLC1F3D 5dxw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743168656; x=1743773456; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=zvnZunCYyaEwV4fUoehy+lbIydvSzIujDoR6jNNiKRw=; b=i/Os39NkoB/1W53yxYrtlLQSn1v/JH0gEa+Djo+FRAtdjvRJXflF3EviYTTSrXGVqi C22GwfKEXopzQJJrrxEIS/48piCRmOeWun2I3DXuT4UJfxJo902qlrBD6b/In988UHnP NBZF2gbfN54eF3oNJmvxAAbsfBkmIQTHNM00w07K/j4ZS/oD69JOB5PuSVRCCIcqE6Ij rv4uj668c5VsD3xAEIksdo4tpfQ7ccK037b8JSNefLyaccLo4KWTB12X77Lxa4bAP/hR KinSMa6vZSM7U9WNK4mUlxAXti/GC2xJUorpc90TlijOcl1xP4paHM7QWPXGjeYnzTci fu9A== X-Forwarded-Encrypted: i=1; AJvYcCVlGAvFt2AxWPz0WKXe1tIvV0evxEaBjV0lbNwJisjqHlZoETay8g86NTu+zXRjsUPTmRjd+TlCzDO6MMJ3VhHJ@lists.infradead.org X-Gm-Message-State: AOJu0Yw4rT1gXxpE2im18P8d0Xyrjz2wbaFqwIS0Oa+mFhz2aRwjGp5F Lgiq/5P8Z8UkFxKOjbErsZ1o/m2yI/BXuJkZ9Cwe0en4bcjWKafWjsmJjxRnW+g= X-Gm-Gg: ASbGnctMiaFbB01LVkFbSiFsN9B7p1SHyr1NWxnw7Rc/oTcLRWjDfHfIADqWxWRzYY1 7UW+dam3j4VQbzG4+kHfJELhWb55aEOLa0g4b9hRoBfUKfuGzXWiOfY4WGgbIBf8xFgEolOz/zM n4Uk9b2cXXonXylslQVJ6nYmHOrY5nMxl/XlluK2a2nMigl4MUKA3iZNEK6wGZ/V4nlao/fqozn r3WulvhPe7oOSG/+TWm1P81Xi2dlQaGrWQlEmMrtjx/a98kUsnxxJFxPiM5l3T0Hlwd/BT5ovdh yOcWvE874WY+UNUmn2AUNsfJI50xHylegLV9OpUbZnIT6e4ECf2LWA5MpEXesv8zORRRn5ixv2J VJld/AtW2YO7rLaSOZq4jkeak+ZuZ X-Google-Smtp-Source: AGHT+IFSv1dN8S6YvQdBhrut9H7MyYLkPc2NAR/e3xh+ZGzELkDUwfqEGTXxlFtku9FFJFYLhMO6Ow== X-Received: by 2002:a05:6402:278d:b0:5ec:9e9e:3c3 with SMTP id 4fb4d7f45d1cf-5ed8e256dd6mr7177184a12.6.1743168656056; Fri, 28 Mar 2025 06:30:56 -0700 (PDT) Received: from puffmais.c.googlers.com (8.239.204.35.bc.googleusercontent.com. [35.204.239.8]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-5edc17e01f7sm1355284a12.79.2025.03.28.06.30.55 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 28 Mar 2025 06:30:55 -0700 (PDT) From: =?utf-8?q?Andr=C3=A9_Draszik?= Date: Fri, 28 Mar 2025 13:28:51 +0000 Subject: [PATCH v2 05/32] mfd: sec: sort includes alphabetically MIME-Version: 1.0 Message-Id: <20250328-s2mpg10-v2-5-b54dee33fb6b@linaro.org> References: <20250328-s2mpg10-v2-0-b54dee33fb6b@linaro.org> In-Reply-To: <20250328-s2mpg10-v2-0-b54dee33fb6b@linaro.org> To: Krzysztof Kozlowski , Lee Jones , Rob Herring , Conor Dooley , Sylwester Nawrocki , Chanwoo Choi , Alim Akhtar , Michael Turquette , Stephen Boyd , Russell King , Catalin Marinas , Will Deacon , Alexandre Belloni Cc: Peter Griffin , Tudor Ambarus , Will McVicker , kernel-team@android.com, linux-kernel@vger.kernel.org, linux-samsung-soc@vger.kernel.org, devicetree@vger.kernel.org, linux-clk@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-rtc@vger.kernel.org, =?utf-8?q?Andr=C3=A9_Draszik?= X-Mailer: b4 0.14.2 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250328_063058_067623_D4BF39F2 X-CRM114-Status: GOOD ( 11.95 ) X-BeenThere: linux-arm-kernel@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-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org Sorting headers alphabetically helps locating duplicates, and makes it easier to figure out where to insert new headers. Signed-off-by: André Draszik --- drivers/mfd/sec-core.c | 14 +++++++------- drivers/mfd/sec-irq.c | 5 ++--- 2 files changed, 9 insertions(+), 10 deletions(-) diff --git a/drivers/mfd/sec-core.c b/drivers/mfd/sec-core.c index 3e9b65c988a7f08bf16d3703004a3d60cfcb1c75..e31b3a6fbc8922e04a8bfcb78c85b6dbaf395e37 100644 --- a/drivers/mfd/sec-core.c +++ b/drivers/mfd/sec-core.c @@ -3,16 +3,10 @@ // Copyright (c) 2012 Samsung Electronics Co., Ltd // http://www.samsung.com -#include -#include -#include #include -#include #include -#include +#include #include -#include -#include #include #include #include @@ -23,7 +17,13 @@ #include #include #include +#include +#include +#include +#include +#include #include +#include static const struct mfd_cell s5m8767_devs[] = { { .name = "s5m8767-pmic", }, diff --git a/drivers/mfd/sec-irq.c b/drivers/mfd/sec-irq.c index 047fc065fcf17f5bde84143d77a46749111ea5b8..5c0d949aa1a20f5538d8baf7a8aefc1160ffa14c 100644 --- a/drivers/mfd/sec-irq.c +++ b/drivers/mfd/sec-irq.c @@ -6,9 +6,6 @@ #include #include #include -#include -#include - #include #include #include @@ -16,6 +13,8 @@ #include #include #include +#include +#include static const struct regmap_irq s2mps11_irqs[] = { [S2MPS11_IRQ_PWRONF] = { From patchwork Fri Mar 28 13:28:52 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Andr=C3=A9_Draszik?= X-Patchwork-Id: 14032023 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id CDEAEC28B20 for ; Fri, 28 Mar 2025 13:43:33 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:Cc:To:In-Reply-To:References :Message-Id:Content-Transfer-Encoding:Content-Type:MIME-Version:Subject:Date: From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=+XJ0BnP9OZ8bJehCr0mEgQXneIq2z0WdureacdI7Rno=; b=SPWClcUMfO1iOoy8M2Vcb2l8QR UrvHe+nJaxxVqvaQTGCrUeeY/yBGIBaBKl49WdV/xj5dr2oYMytVjV3zh8ar2dsWyGM8i6zLy6TVK ZAoigVvhp9ivGTeQ3sctSriLiKeKcILMLHFa/5mfWKnmxbgC6+OBfnJkrj0R1n4yiq7z4S5HMBFHC vxZjeZYC98PigCvVLj9wUdn16+AcnfaUvsXBphlt+P+8oCHX6i/cnzSd+CaUyz4V7n/ObChUyoE85 TJ89s/GZ2Xbq289QdYptdoc9zRjOGHtVYYYBxrz9JPG/yTDmg2aEoNIqej+rRviXbx8gNGPPnowbq xOOHbBwQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98.1 #2 (Red Hat Linux)) id 1ty9zX-0000000DTKz-1uag; Fri, 28 Mar 2025 13:43:23 +0000 Received: from mail-ed1-x530.google.com ([2a00:1450:4864:20::530]) by bombadil.infradead.org with esmtps (Exim 4.98.1 #2 (Red Hat Linux)) id 1ty9nW-0000000DQe4-1pvW for linux-arm-kernel@lists.infradead.org; Fri, 28 Mar 2025 13:30:59 +0000 Received: by mail-ed1-x530.google.com with SMTP id 4fb4d7f45d1cf-5e5cded3e2eso3366026a12.0 for ; Fri, 28 Mar 2025 06:30:58 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1743168657; x=1743773457; darn=lists.infradead.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=+XJ0BnP9OZ8bJehCr0mEgQXneIq2z0WdureacdI7Rno=; b=nnEK3yuVa+TMz5LDld0dzwEIREHASekzIFNxrYh3HjJ/i9yFi4HYg5yFZc9g/lGjOW UMky6YH5qr97y0mCCSYF2U4fzdoh2Bekd1TMD+6XkyzChB73axo1JpUMtSGg7Xk66jp9 xQeHXcUTy3XOBUn2XRGtyPz+NQ3kwPJQN7hWVXPtvChf3ZuuiM4BbjIeReaHVAZBOAfm yG+i8Wq/nV9TvqxaTuWAhQM2bvNPgqxSDjeOup3znIzJNCTuhiZOZhcg7RCH2Yxx3jzX w4xK9ParCFGwrto9ws2cRokvzXcL9RbhGt+4YIz3eZNfTNiIaPPo/AiE1EAH0Eb9bU6j DvJA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743168657; x=1743773457; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=+XJ0BnP9OZ8bJehCr0mEgQXneIq2z0WdureacdI7Rno=; b=DrLKD3OjW4c3XCg6/80tIYafLsdFBoub6eNWsgdcPkiaega1zLVPHvvjr9OVpQtA/+ rtOEng12lt8lvRkcDn682NRmxGYNQGUzBuW8NJUWS/MOabHcIRxwCQotKSOClh5h/044 NlAXiuH/net4szaBZDNq7AxOZ/BLYZS1psrLPMrouc0pLpzWs/fLKF7sKI9soRFaseBO McNPelZJB4GoU7WyPCoBM3eFze4EnINqblIrgRDAZzbwgQWligU8bAjncvphTFepzK6U zR1nsmejBiCqLoZktLAgTnPXBe8TFCVtuL8IjCPWa4PxcxJ+5wavZxhOhTSmYAdHuBVO 8fNg== X-Forwarded-Encrypted: i=1; AJvYcCUh9t8Nj5VcxodDhyND31NQ1tvbOqhZqIZcRNgY5DWNsl3ICIwBj9C8HUnzncgHW0HrBeB06X5Kf4Qt6Sec3dj2@lists.infradead.org X-Gm-Message-State: AOJu0YxZ8Y5p4yaSSCzjvv4M+g9Wp42+H/Sm9/maXVdjt/cK5asIsDuS b5f0eB8Mp+FRFWEs9V7jkn35J4o6KbbHI60LYsvbs13g+CC/OqrwP88gSn/mfsY= X-Gm-Gg: ASbGncsXZ1T6GUPr8Jz4fSFTmeZk62dD3NA0UadxsDdqHyH0iLosgbXcKJW6THT0r39 tolOtfl7kT2+14/DSHZq4eDqm2lHxdjDQPRLIPGdEMFOJhrmfpej7rosXhBrRn2ZdXfp5k/qqiq liMm0z7wQjTinAFxmigqmF3Ou5s5qubDxbHnOcL7LEu34BfAHELEGqzuPKZrddYq8zap66a+Mog EHjJAAwoRAlgmwBamJKKulraVuKn07fTduAQSUbNrEqVE9VHlI35ZuahNASrz25Fqn1I78AWT2n PGLRrMt8A/Mm7jssGXBD+UC1OfcSVgDKsNXVdlK9dLcf0JZMqIx0+l0diZRw/YExIGycFhamMib GDMHMQ5c5GZS7MlpJ0S0khydtSK2B X-Google-Smtp-Source: AGHT+IErgpXJQXu0yTyDAgPw0TRfi7/5SsCs6OHgbYuTJRvfG8I41tDr8heCTVeJZ5ksC6WY2RfqLQ== X-Received: by 2002:a05:6402:278d:b0:5ed:18dc:c0fb with SMTP id 4fb4d7f45d1cf-5ed8be0dec5mr7564036a12.0.1743168656590; Fri, 28 Mar 2025 06:30:56 -0700 (PDT) Received: from puffmais.c.googlers.com (8.239.204.35.bc.googleusercontent.com. [35.204.239.8]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-5edc17e01f7sm1355284a12.79.2025.03.28.06.30.56 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 28 Mar 2025 06:30:56 -0700 (PDT) From: =?utf-8?q?Andr=C3=A9_Draszik?= Date: Fri, 28 Mar 2025 13:28:52 +0000 Subject: [PATCH v2 06/32] mfd: sec: update includes to add missing and remove superfluous ones MIME-Version: 1.0 Message-Id: <20250328-s2mpg10-v2-6-b54dee33fb6b@linaro.org> References: <20250328-s2mpg10-v2-0-b54dee33fb6b@linaro.org> In-Reply-To: <20250328-s2mpg10-v2-0-b54dee33fb6b@linaro.org> To: Krzysztof Kozlowski , Lee Jones , Rob Herring , Conor Dooley , Sylwester Nawrocki , Chanwoo Choi , Alim Akhtar , Michael Turquette , Stephen Boyd , Russell King , Catalin Marinas , Will Deacon , Alexandre Belloni Cc: Peter Griffin , Tudor Ambarus , Will McVicker , kernel-team@android.com, linux-kernel@vger.kernel.org, linux-samsung-soc@vger.kernel.org, devicetree@vger.kernel.org, linux-clk@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-rtc@vger.kernel.org, =?utf-8?q?Andr=C3=A9_Draszik?= X-Mailer: b4 0.14.2 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250328_063058_479813_182CE1F6 X-CRM114-Status: GOOD ( 13.06 ) X-BeenThere: linux-arm-kernel@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-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org This driver misses to include some of the respective headers of some of the APIs used. It also includes headers that aren't needed (e.g. due to previous driver rework where includes weren't updated). It is good practice to directly include all headers used, which avoids implicit dependencies and spurious build breakage if someone rearranged headers, as this could cause the implicit includes to be dropped. Include the relevant headers explicitly and drop superfluous ones. Signed-off-by: André Draszik --- drivers/mfd/sec-core.c | 7 +++---- drivers/mfd/sec-irq.c | 5 ++++- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/drivers/mfd/sec-core.c b/drivers/mfd/sec-core.c index e31b3a6fbc8922e04a8bfcb78c85b6dbaf395e37..b12020c416aa8bf552f3d3b7829f6a38a773f674 100644 --- a/drivers/mfd/sec-core.c +++ b/drivers/mfd/sec-core.c @@ -3,9 +3,9 @@ // Copyright (c) 2012 Samsung Electronics Co., Ltd // http://www.samsung.com +#include #include #include -#include #include #include #include @@ -17,13 +17,12 @@ #include #include #include +#include #include -#include -#include #include +#include #include #include -#include static const struct mfd_cell s5m8767_devs[] = { { .name = "s5m8767-pmic", }, diff --git a/drivers/mfd/sec-irq.c b/drivers/mfd/sec-irq.c index 5c0d949aa1a20f5538d8baf7a8aefc1160ffa14c..3ed2902c3a2634a6ea656d890ecea934053bd192 100644 --- a/drivers/mfd/sec-irq.c +++ b/drivers/mfd/sec-irq.c @@ -3,7 +3,10 @@ // Copyright (c) 2011-2014 Samsung Electronics Co., Ltd // http://www.samsung.com -#include +#include +#include +#include +#include #include #include #include From patchwork Fri Mar 28 13:28:53 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Andr=C3=A9_Draszik?= X-Patchwork-Id: 14032024 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 1FFA0C28B20 for ; Fri, 28 Mar 2025 13:45:22 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:Cc:To:In-Reply-To:References :Message-Id:Content-Transfer-Encoding:Content-Type:MIME-Version:Subject:Date: From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=6nQmrd18TxOApmP9ZbnJeIx1ckVKc9UGQ9P+sqT3y24=; b=HGfowwqtAJHLx1fqIySNEZve/o GwkuOOFQnT7S3AlhvYyfH4CGIXylo5zOD5+kFaZaR7cj/Fyz6kgzd9WJzM8wDGaRK3F0odqGBAPsf g8bdcl4Bq/2EllfU97es16j6UWaKlyuocvt3nrBWyI+2al0WjkNUOZxSCzG2Cg/MIvpkWFObDohvX 9+vv8A04jfVTYGlj/mkN+zu45Fpr2oCtW1KWesYVww7F6FSP6GDDVXcOBqikZwcl/uUDAi8suXw67 RPG5UbeQDd9rGfzOgXP6qfqRPCqAEODkQh5+V9VFFQl2+wnmzaErZEMk5Y0vxCYLDVgZIYoiHZ0XO b6T0C9lQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98.1 #2 (Red Hat Linux)) id 1tyA1G-0000000DTiy-0v2m; Fri, 28 Mar 2025 13:45:10 +0000 Received: from mail-ed1-x535.google.com ([2a00:1450:4864:20::535]) by bombadil.infradead.org with esmtps (Exim 4.98.1 #2 (Red Hat Linux)) id 1ty9nW-0000000DQe7-434y for linux-arm-kernel@lists.infradead.org; Fri, 28 Mar 2025 13:31:00 +0000 Received: by mail-ed1-x535.google.com with SMTP id 4fb4d7f45d1cf-5e614da8615so4053787a12.1 for ; Fri, 28 Mar 2025 06:30:58 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1743168657; x=1743773457; darn=lists.infradead.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=6nQmrd18TxOApmP9ZbnJeIx1ckVKc9UGQ9P+sqT3y24=; b=nlVz2AKF2UkG/wQLRauX3uwg4IqaLwZN6trZ+tGgBNd4nFJQcRF0VnIIvnIV9soYpv xJ5C8n/ip9/zQBUPrmuI8EdtSJ7SpgymIvvq1QtfXpDcznooNQInkz7m3dV0WfWurA7A zc4g6kHOPuq89iskS37neeL1doW6Vx5IxzxDMk825KRmffdTU2SVFBb0qwgyRmM1yURc dG0kcqkCA5yTbJ5czFyOqeGHbfviq/k6IeB/Bim34xTCJ1fS0IyGtNI4qVF/FhvvQ49y 2ZvZ7k4IsbIk7PJIVYJZnhTaihtqinj8Wqfnzs8IsGtXJhDHke5aodJyFbGebpVOm3zF r8dQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743168657; x=1743773457; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=6nQmrd18TxOApmP9ZbnJeIx1ckVKc9UGQ9P+sqT3y24=; b=BjJMRuHvnUfBfWr5lWeQ/YSutAiAThMWzlZsjLLoY/HWYjvogcrNbphKTvDJyOP5rI NL6RJ281MgH6xEnQ021GDFj2zSXwypYC2Zna6onYETbSnRa8+XFSmuRkaCLneQg9khey Av7bXCzAdi08AUXc3kVtKv77nOWmNMOScOjFHzz3NK3CFBvL86R/NK++NgnnfkbHo3MA 7yaxFduZ71UFab2Qf+KdPpsZqZjwndgHGUbQZS7TQFxNcQ0ZaIe8P9MEb6yg4CMGTAVB l5P+gIopU79H7h53ew+iTEO8o8kng0a8zKfEypDz5EvoLmVN1mghCjP3OMkaTM2TBfGH 3byw== X-Forwarded-Encrypted: i=1; AJvYcCXPJdWw40A6sAxxN8g7FLEWBPQ2+GrHYdIA3pENUVjG4ET0GO03FAslpqxNlF4TyUqqH0MsNgt2wzYfp90R1PkW@lists.infradead.org X-Gm-Message-State: AOJu0YwwUju/+WIbqjVctAk6ZcLQ0Dzx/zFcbF0H0Z2o+6+HyFPKcPIq Gy1traPLua1XaFoDA19P0Mvx3byFr4qL+EWwyilnFUYeLJhfMLQAhJa/Jda7Mhc= X-Gm-Gg: ASbGncv/N9c7eTJuHk6o+DSfsfy1oINU2yPls6FcXPkEQeHs7nNLqNSL/l/hijEPQZJ EbnnF8tAnYqYEvC9SmGJJb40AakPdl9Kyp4ePWUQ7H0Ue7RjmsXqSaVz/WCPSPzXB6mo60lgOow 97g2hEwrgB3eGh9A3WhCYLZZDvPL5TOcHbgDwI2xNyPaEbn+kxcF437SrFUj5rz9+sQxzFpKjb8 g2awnXm6xVsukfWv/L0h8RDQ9bIKw4RYCgboBZrzvxhCyyDB0OzgAH98N6fVZPRLs2/BrT91bs/ zX0YWF6tOT1LA84T8zT7f5Q/bwOPjnYd4OMjpQgJK1ILEwV3VgsyPJM/4qwubHcUXDQllc5yPQN rawVUXioDe5YCVhiKsPnEXsE9crakhwmCRcibYBs= X-Google-Smtp-Source: AGHT+IEDo86URQ/5J1pNelKGYJ8OGydWpyLMuY32LUGaX685CyFB9P3SWcHpHTAbe46LCEULHTzjdg== X-Received: by 2002:a05:6402:360f:b0:5e8:bcf2:832a with SMTP id 4fb4d7f45d1cf-5edc46379e5mr2912219a12.10.1743168657106; Fri, 28 Mar 2025 06:30:57 -0700 (PDT) Received: from puffmais.c.googlers.com (8.239.204.35.bc.googleusercontent.com. [35.204.239.8]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-5edc17e01f7sm1355284a12.79.2025.03.28.06.30.56 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 28 Mar 2025 06:30:56 -0700 (PDT) From: =?utf-8?q?Andr=C3=A9_Draszik?= Date: Fri, 28 Mar 2025 13:28:53 +0000 Subject: [PATCH v2 07/32] mfd: sec: move private internal API to internal header MIME-Version: 1.0 Message-Id: <20250328-s2mpg10-v2-7-b54dee33fb6b@linaro.org> References: <20250328-s2mpg10-v2-0-b54dee33fb6b@linaro.org> In-Reply-To: <20250328-s2mpg10-v2-0-b54dee33fb6b@linaro.org> To: Krzysztof Kozlowski , Lee Jones , Rob Herring , Conor Dooley , Sylwester Nawrocki , Chanwoo Choi , Alim Akhtar , Michael Turquette , Stephen Boyd , Russell King , Catalin Marinas , Will Deacon , Alexandre Belloni Cc: Peter Griffin , Tudor Ambarus , Will McVicker , kernel-team@android.com, linux-kernel@vger.kernel.org, linux-samsung-soc@vger.kernel.org, devicetree@vger.kernel.org, linux-clk@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-rtc@vger.kernel.org, =?utf-8?q?Andr=C3=A9_Draszik?= , Krzysztof Kozlowski X-Mailer: b4 0.14.2 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250328_063059_013466_CCC34687 X-CRM114-Status: GOOD ( 18.33 ) X-BeenThere: linux-arm-kernel@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-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org sec_irq_init() is an internal API for the core driver, and doesn't belong into the public header. Due to an upcoming split of the driver into a core and i2c driver, we'll also be adding more internal APIs, which again shouldn't be in the public header. Move it into a new internal include. Reviewed-by: Krzysztof Kozlowski Signed-off-by: André Draszik --- MAINTAINERS | 2 +- drivers/mfd/sec-core.c | 1 + drivers/mfd/sec-core.h | 15 +++++++++++++++ drivers/mfd/sec-irq.c | 1 + include/linux/mfd/samsung/core.h | 2 -- 5 files changed, 18 insertions(+), 3 deletions(-) diff --git a/MAINTAINERS b/MAINTAINERS index 322ee00547f6e494a96d2495092f72148da22bd0..d4d577b54d798938b7a8ff0c2bdbd0b61f87650f 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -21407,7 +21407,7 @@ F: Documentation/devicetree/bindings/mfd/samsung,s5m*.yaml F: Documentation/devicetree/bindings/regulator/samsung,s2m*.yaml F: Documentation/devicetree/bindings/regulator/samsung,s5m*.yaml F: drivers/clk/clk-s2mps11.c -F: drivers/mfd/sec*.c +F: drivers/mfd/sec*.[ch] F: drivers/regulator/s2m*.c F: drivers/regulator/s5m*.c F: drivers/rtc/rtc-s5m.c diff --git a/drivers/mfd/sec-core.c b/drivers/mfd/sec-core.c index b12020c416aa8bf552f3d3b7829f6a38a773f674..83693686567df61b5e09f7129dc6b01d69156ff3 100644 --- a/drivers/mfd/sec-core.c +++ b/drivers/mfd/sec-core.c @@ -23,6 +23,7 @@ #include #include #include +#include "sec-core.h" static const struct mfd_cell s5m8767_devs[] = { { .name = "s5m8767-pmic", }, diff --git a/drivers/mfd/sec-core.h b/drivers/mfd/sec-core.h new file mode 100644 index 0000000000000000000000000000000000000000..b3fded5f02a0ddc09a9508fd49a5d335f7ad0ee7 --- /dev/null +++ b/drivers/mfd/sec-core.h @@ -0,0 +1,15 @@ +/* SPDX-License-Identifier: GPL-2.0+ */ +/* + * Copyright 2012 Samsung Electronics Co., Ltd + * http://www.samsung.com + * Copyright 2025 Linaro Ltd. + * + * Samsung SxM core driver internal data + */ + +#ifndef __SEC_CORE_INT_H +#define __SEC_CORE_INT_H + +int sec_irq_init(struct sec_pmic_dev *sec_pmic); + +#endif /* __SEC_CORE_INT_H */ diff --git a/drivers/mfd/sec-irq.c b/drivers/mfd/sec-irq.c index 3ed2902c3a2634a6ea656d890ecea934053bd192..4d49bb42bd0d109263f485c8b58e88cdd8d598d9 100644 --- a/drivers/mfd/sec-irq.c +++ b/drivers/mfd/sec-irq.c @@ -18,6 +18,7 @@ #include #include #include +#include "sec-core.h" static const struct regmap_irq s2mps11_irqs[] = { [S2MPS11_IRQ_PWRONF] = { diff --git a/include/linux/mfd/samsung/core.h b/include/linux/mfd/samsung/core.h index b7008b50392ab857751b89e0a05d2c27f6306906..8a4e660854bbc955b812b4d61d4a52a0fc2f2899 100644 --- a/include/linux/mfd/samsung/core.h +++ b/include/linux/mfd/samsung/core.h @@ -71,8 +71,6 @@ struct sec_pmic_dev { struct regmap_irq_chip_data *irq_data; }; -int sec_irq_init(struct sec_pmic_dev *sec_pmic); - struct sec_platform_data { struct sec_regulator_data *regulators; struct sec_opmode_data *opmode; From patchwork Fri Mar 28 13:28:54 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Andr=C3=A9_Draszik?= X-Patchwork-Id: 14032025 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id BE75EC28B20 for ; Fri, 28 Mar 2025 13:47:09 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:Cc:To:In-Reply-To:References :Message-Id:Content-Transfer-Encoding:Content-Type:MIME-Version:Subject:Date: From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=4CKjAMiD1RE7RTGUiJe9q7KbEFxCPs59yWp4xXVklQ0=; b=CWtM3RzEn/oBhgz8/WVHpbOpwf kYGKNbNY3FtpbsXtHHf2ySdkMUO3GhCIqLkeaoTVs+XrEztfqYMlKO9Bc4KK4UEnIwLwct+VU+75W 6XmddDCYR7952DNaYUZBARyCV0q1YPYNiULcKdPmj/OY9+b/ohZXaSxCocZv9TGSdD4VxoN3V6ruk TxD6JeLKZ6OHgqBsVNqjYN83kjE7w6QFuP9IP/spsovxdz/RAlaQXkeQwXXBxI0Ey0OQ0gayYWwBJ 2uFkORFcyKpK+Jkes7Oq8B+rSNGYwB356Rkq2aLkz9bV4ay4KlUAwx4vu9nnt05o3JJ82ACa2Dfr1 v3x/a7Pw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98.1 #2 (Red Hat Linux)) id 1tyA2y-0000000DUBq-3voF; Fri, 28 Mar 2025 13:46:56 +0000 Received: from mail-ed1-x52d.google.com ([2a00:1450:4864:20::52d]) by bombadil.infradead.org with esmtps (Exim 4.98.1 #2 (Red Hat Linux)) id 1ty9nX-0000000DQf5-336M for linux-arm-kernel@lists.infradead.org; Fri, 28 Mar 2025 13:31:01 +0000 Received: by mail-ed1-x52d.google.com with SMTP id 4fb4d7f45d1cf-5e61375c108so2732118a12.1 for ; Fri, 28 Mar 2025 06:30:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1743168658; x=1743773458; darn=lists.infradead.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=4CKjAMiD1RE7RTGUiJe9q7KbEFxCPs59yWp4xXVklQ0=; b=Xgq29jhVb9EFnnHW9t7033P61+Eoet23xN+8nEsTcJQhkqxOk3YwMMkOZ2A8j62jE2 OksjcE1OIV8N+to2RZ+64ccatqXv6L2SBIkCRVmFAF7rAQa8n/Nw4b4i5QRtbm3LcA1M ZYRWHFRAs/2K4sPxsTN7jV9cYmw3skXcOBG+HKxNT8PF3idHcSRAmGZ++ncZg8IMeiSO x7tcehA0OIdq7Zaaiic5Oeams095FqEtitO0uu8IqzEOP38qo0UkipPtz4PzfM9WYiFD bPaVT1it5GdkgvogAmDQMKV47rolKm+89wQlJ82NCFNunMkiRzyIYfA/d/gE1UxhgD09 +pFQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743168658; x=1743773458; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=4CKjAMiD1RE7RTGUiJe9q7KbEFxCPs59yWp4xXVklQ0=; b=YtAU21eRqH0wfeVgDulUSP3CHRJ37vfhC0wC1+hJQzGjvWwJ4DtXz9QtjSe59P7/JT //cpXj6ioB6UpG04ReBY8bp5hCxUsoetr/YnmRePmQHZ/yQZI3rKt9QuoGIO6m2ZrYEa fC3Dh4iDv4X7hAS3z5xwHH0/20R3DgYRMiJslmzsCw0dwFZFT0VcifwYwPOhbOGTh+iD kpZ9i3wNWO+Sjy7a+j4idC/oPeJB3rh9MkgcYGNIA+FGcaNUL6d1p5s0ULIpZxud/fF7 qu4V0rUL9mvLnUJ6hNDtjcDjuIVvcYN74tvhDXybiK9JAodC37TjR08486g/hoceOToE qCqw== X-Forwarded-Encrypted: i=1; AJvYcCWXBmQLr5VIxlsrYTxRZapk4qbMOcTHpEsXFD+EVsCJWHUBV/4yWMtOcLBSMvdC77ET+bDqW1um/0QJKfwbN+XW@lists.infradead.org X-Gm-Message-State: AOJu0YzpUEBElNntbB7cYQM0Ab3ZRgzytPFqKmeYJ4Dq479NlOcyi5yk 7ZOqKScE0wSyVrSn7ufqJCoWdpf5JHR1vtxzNFF3PHu/Yp6dVzNY3MxVbV54B9w= X-Gm-Gg: ASbGncvC9PURJaoLi8XPmzQzok4ZLVXl0i2JtV0P44yO88Px6ts0KTSQy/FejN9ka/V Bpt/yeDRajOvtB2HQMw/uIUi92o7lHyywyV/OdTzZEvrIK7h80C60e4MHRUkC2z5RPnBm4d11Nq HMVltWc/Ry+hNaaoRBZchf36JI4ifIhBrPvYp+EncjMawgRDa9uq/vi9f71rtPOx16OoDYng1Gq n2kM8CMg0Qi0Dfa1emwklLQbVFELdC94z2LKz2YHd1r1pMKiqyYaeSWXOOXC0m5Ty1+r6y1JQny fVTJGaRa15b7LjpJz8Ls/lQlTPWnsXX/kBcgleC8DVXVVGvQJsp4CzNGeMKF8YhctAa9hR7leAG JFBVQTE5UhRsSSLls9IP02dkYMrgt X-Google-Smtp-Source: AGHT+IGp3Y6e9eHHh2ay+tE0ftUwQqi6ao4u0C8t2gSy69uEJ2f+CaAaV3Jb2eakk/mBHpqu+rQ+sw== X-Received: by 2002:a05:6402:278d:b0:5ec:9685:e686 with SMTP id 4fb4d7f45d1cf-5ed8be10311mr7488600a12.0.1743168657676; Fri, 28 Mar 2025 06:30:57 -0700 (PDT) Received: from puffmais.c.googlers.com (8.239.204.35.bc.googleusercontent.com. [35.204.239.8]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-5edc17e01f7sm1355284a12.79.2025.03.28.06.30.57 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 28 Mar 2025 06:30:57 -0700 (PDT) From: =?utf-8?q?Andr=C3=A9_Draszik?= Date: Fri, 28 Mar 2025 13:28:54 +0000 Subject: [PATCH v2 08/32] mfd: sec: split into core and transport (i2c) drivers MIME-Version: 1.0 Message-Id: <20250328-s2mpg10-v2-8-b54dee33fb6b@linaro.org> References: <20250328-s2mpg10-v2-0-b54dee33fb6b@linaro.org> In-Reply-To: <20250328-s2mpg10-v2-0-b54dee33fb6b@linaro.org> To: Krzysztof Kozlowski , Lee Jones , Rob Herring , Conor Dooley , Sylwester Nawrocki , Chanwoo Choi , Alim Akhtar , Michael Turquette , Stephen Boyd , Russell King , Catalin Marinas , Will Deacon , Alexandre Belloni Cc: Peter Griffin , Tudor Ambarus , Will McVicker , kernel-team@android.com, linux-kernel@vger.kernel.org, linux-samsung-soc@vger.kernel.org, devicetree@vger.kernel.org, linux-clk@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-rtc@vger.kernel.org, =?utf-8?q?Andr=C3=A9_Draszik?= X-Mailer: b4 0.14.2 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250328_063059_777822_A50A1572 X-CRM114-Status: GOOD ( 25.75 ) X-BeenThere: linux-arm-kernel@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-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org As a preparation for adding support for Samsung's S2MPG10, which is connected via SPEEDY / ACPM rather than I2C, split out (move) all I2C-specific driver code into its own kernel module, sec-i2c, and make the existing sec-core module be just the transport-agnostic core driver kernel module. At the same time, update all defconfigs that reference the old kconfig symbol name. While at it, also update file header comments and module description(s) to drop references to 'mfd', and update comments to be C-style, not C++. Signed-off-by: André Draszik --- Note: checkpatch complains about missing help for MFD_SEC_I2C here, but that's a false-positive due to patch context. It also suggests to update MAINTAINERS, but the new file is covered already due to using a wildcard. v2: * split MODULE_AUTHOR update out of this patch (Krzysztof) * keep DT parsing in core, not in transport driver (sec_pmic_i2c_parse_dt_pdata / sec_pmic_parse_dt_pdata) * merge defconfig updates into this patch (Krzysztof) --- arch/arm/configs/exynos_defconfig | 2 +- arch/arm/configs/multi_v7_defconfig | 2 +- arch/arm/configs/pxa_defconfig | 2 +- arch/arm64/configs/defconfig | 2 +- drivers/mfd/Kconfig | 18 ++- drivers/mfd/Makefile | 1 + drivers/mfd/sec-core.c | 247 +++++------------------------------- drivers/mfd/sec-core.h | 9 ++ drivers/mfd/sec-i2c.c | 231 +++++++++++++++++++++++++++++++++ 9 files changed, 287 insertions(+), 227 deletions(-) diff --git a/arch/arm/configs/exynos_defconfig b/arch/arm/configs/exynos_defconfig index 7ad48fdda1dac69a4a9612eabb573729bed7b3a6..251f45be6c14af59263373f21b27b15f42ec7f61 100644 --- a/arch/arm/configs/exynos_defconfig +++ b/arch/arm/configs/exynos_defconfig @@ -167,7 +167,7 @@ CONFIG_MFD_MAX77686=y CONFIG_MFD_MAX77693=y CONFIG_MFD_MAX8997=y CONFIG_MFD_MAX8998=y -CONFIG_MFD_SEC_CORE=y +CONFIG_MFD_SEC_I2C=y CONFIG_MFD_STMPE=y CONFIG_STMPE_I2C=y CONFIG_MFD_TPS65090=y diff --git a/arch/arm/configs/multi_v7_defconfig b/arch/arm/configs/multi_v7_defconfig index ad037c175fdb0ec8601c9b3607aca0c0e5f3c145..7d06ac5369b1a2f325462f2cf5b54fe22061ca77 100644 --- a/arch/arm/configs/multi_v7_defconfig +++ b/arch/arm/configs/multi_v7_defconfig @@ -612,7 +612,7 @@ CONFIG_MFD_QCOM_RPM=y CONFIG_MFD_SPMI_PMIC=y CONFIG_MFD_RK8XX_I2C=y CONFIG_MFD_RN5T618=y -CONFIG_MFD_SEC_CORE=y +CONFIG_MFD_SEC_I2C=y CONFIG_MFD_STMPE=y CONFIG_MFD_PALMAS=y CONFIG_MFD_TPS65090=y diff --git a/arch/arm/configs/pxa_defconfig b/arch/arm/configs/pxa_defconfig index de0ac8f521d7612704ce327e9ac16ab9e999f3d3..064e79baf20da809c9ab1f1fa18282aaba11a41f 100644 --- a/arch/arm/configs/pxa_defconfig +++ b/arch/arm/configs/pxa_defconfig @@ -335,7 +335,7 @@ CONFIG_MFD_MAX77693=y CONFIG_MFD_MAX8907=m CONFIG_EZX_PCAP=y CONFIG_UCB1400_CORE=m -CONFIG_MFD_SEC_CORE=y +CONFIG_MFD_SEC_I2C=y CONFIG_MFD_PALMAS=y CONFIG_MFD_TPS65090=y CONFIG_MFD_TPS6586X=y diff --git a/arch/arm64/configs/defconfig b/arch/arm64/configs/defconfig index 5bb8f09422a22116781169611482179b10798c14..f021fb29683be1a10720d7e6415daea771647879 100644 --- a/arch/arm64/configs/defconfig +++ b/arch/arm64/configs/defconfig @@ -769,7 +769,7 @@ CONFIG_MFD_MT6397=y CONFIG_MFD_SPMI_PMIC=y CONFIG_MFD_RK8XX_I2C=y CONFIG_MFD_RK8XX_SPI=y -CONFIG_MFD_SEC_CORE=y +CONFIG_MFD_SEC_I2C=y CONFIG_MFD_SL28CPLD=y CONFIG_RZ_MTU3=y CONFIG_MFD_TI_AM335X_TSCADC=m diff --git a/drivers/mfd/Kconfig b/drivers/mfd/Kconfig index 22b93631003943c393d9fe704748bc23f1905397..62565dc89ec6d58611bbc1f31c65f757343b6453 100644 --- a/drivers/mfd/Kconfig +++ b/drivers/mfd/Kconfig @@ -1292,21 +1292,25 @@ config MFD_RN5T618 functionality of the device. config MFD_SEC_CORE - tristate "Samsung Electronics PMIC Series Support" + tristate + select MFD_CORE + select REGMAP_IRQ + +config MFD_SEC_I2C + tristate "Samsung Electronics S2MPA/S2MPS1X/S2MPU/S5M series PMICs" depends on I2C=y depends on OF - select MFD_CORE + select MFD_SEC_CORE select REGMAP_I2C - select REGMAP_IRQ help - Support for the Samsung Electronics PMIC devices coming - usually along with Samsung Exynos SoC chipset. + Support for the Samsung Electronics PMIC devices with I2C interface + coming usually along with Samsung Exynos SoC chipset. This driver provides common support for accessing the device, additional drivers must be enabled in order to use the functionality - of the device + of the device. To compile this driver as a module, choose M here: the - module will be called sec-core. + module will be called sec-i2c. Have in mind that important core drivers (like regulators) depend on this driver so building this as a module might require proper initial ramdisk or might not boot up as well in certain scenarios. diff --git a/drivers/mfd/Makefile b/drivers/mfd/Makefile index 948cbdf42a18b22a826f0b17fb8d5796a7ec8ba6..ab6c4b17a391946d4c88f52ccbfee5424b4fb2d2 100644 --- a/drivers/mfd/Makefile +++ b/drivers/mfd/Makefile @@ -229,6 +229,7 @@ obj-$(CONFIG_MFD_RK8XX_I2C) += rk8xx-i2c.o obj-$(CONFIG_MFD_RK8XX_SPI) += rk8xx-spi.o obj-$(CONFIG_MFD_RN5T618) += rn5t618.o obj-$(CONFIG_MFD_SEC_CORE) += sec-core.o sec-irq.o +obj-$(CONFIG_MFD_SEC_I2C) += sec-i2c.o obj-$(CONFIG_MFD_SYSCON) += syscon.o obj-$(CONFIG_MFD_LM3533) += lm3533-core.o lm3533-ctrlbank.o obj-$(CONFIG_MFD_VEXPRESS_SYSREG) += vexpress-sysreg.o diff --git a/drivers/mfd/sec-core.c b/drivers/mfd/sec-core.c index 83693686567df61b5e09f7129dc6b01d69156ff3..bb664e052bf5198f2fc83a86bd6e1e72364fb8df 100644 --- a/drivers/mfd/sec-core.c +++ b/drivers/mfd/sec-core.c @@ -1,23 +1,21 @@ // SPDX-License-Identifier: GPL-2.0+ -// -// Copyright (c) 2012 Samsung Electronics Co., Ltd -// http://www.samsung.com +/* + * Copyright 2012 Samsung Electronics Co., Ltd + * http://www.samsung.com + * Copyright 2025 Linaro Ltd. + * + * Samsung SxM core driver + */ #include #include -#include +#include #include #include #include #include -#include #include #include -#include -#include -#include -#include -#include #include #include #include @@ -88,144 +86,6 @@ static const struct mfd_cell s2mpu05_devs[] = { { .name = "s2mps15-rtc", }, }; -static const struct of_device_id sec_dt_match[] = { - { - .compatible = "samsung,s5m8767-pmic", - .data = (void *)S5M8767X, - }, { - .compatible = "samsung,s2dos05", - .data = (void *)S2DOS05, - }, { - .compatible = "samsung,s2mps11-pmic", - .data = (void *)S2MPS11X, - }, { - .compatible = "samsung,s2mps13-pmic", - .data = (void *)S2MPS13X, - }, { - .compatible = "samsung,s2mps14-pmic", - .data = (void *)S2MPS14X, - }, { - .compatible = "samsung,s2mps15-pmic", - .data = (void *)S2MPS15X, - }, { - .compatible = "samsung,s2mpa01-pmic", - .data = (void *)S2MPA01, - }, { - .compatible = "samsung,s2mpu02-pmic", - .data = (void *)S2MPU02, - }, { - .compatible = "samsung,s2mpu05-pmic", - .data = (void *)S2MPU05, - }, { - /* Sentinel */ - }, -}; -MODULE_DEVICE_TABLE(of, sec_dt_match); - -static bool s2mpa01_volatile(struct device *dev, unsigned int reg) -{ - switch (reg) { - case S2MPA01_REG_INT1M: - case S2MPA01_REG_INT2M: - case S2MPA01_REG_INT3M: - return false; - default: - return true; - } -} - -static bool s2mps11_volatile(struct device *dev, unsigned int reg) -{ - switch (reg) { - case S2MPS11_REG_INT1M: - case S2MPS11_REG_INT2M: - case S2MPS11_REG_INT3M: - return false; - default: - return true; - } -} - -static bool s2mpu02_volatile(struct device *dev, unsigned int reg) -{ - switch (reg) { - case S2MPU02_REG_INT1M: - case S2MPU02_REG_INT2M: - case S2MPU02_REG_INT3M: - return false; - default: - return true; - } -} - -static const struct regmap_config sec_regmap_config = { - .reg_bits = 8, - .val_bits = 8, -}; - -static const struct regmap_config s2mpa01_regmap_config = { - .reg_bits = 8, - .val_bits = 8, - - .max_register = S2MPA01_REG_LDO_OVCB4, - .volatile_reg = s2mpa01_volatile, - .cache_type = REGCACHE_FLAT, -}; - -static const struct regmap_config s2mps11_regmap_config = { - .reg_bits = 8, - .val_bits = 8, - - .max_register = S2MPS11_REG_L38CTRL, - .volatile_reg = s2mps11_volatile, - .cache_type = REGCACHE_FLAT, -}; - -static const struct regmap_config s2mps13_regmap_config = { - .reg_bits = 8, - .val_bits = 8, - - .max_register = S2MPS13_REG_LDODSCH5, - .volatile_reg = s2mps11_volatile, - .cache_type = REGCACHE_FLAT, -}; - -static const struct regmap_config s2mps14_regmap_config = { - .reg_bits = 8, - .val_bits = 8, - - .max_register = S2MPS14_REG_LDODSCH3, - .volatile_reg = s2mps11_volatile, - .cache_type = REGCACHE_FLAT, -}; - -static const struct regmap_config s2mps15_regmap_config = { - .reg_bits = 8, - .val_bits = 8, - - .max_register = S2MPS15_REG_LDODSCH4, - .volatile_reg = s2mps11_volatile, - .cache_type = REGCACHE_FLAT, -}; - -static const struct regmap_config s2mpu02_regmap_config = { - .reg_bits = 8, - .val_bits = 8, - - .max_register = S2MPU02_REG_DVSDATA, - .volatile_reg = s2mpu02_volatile, - .cache_type = REGCACHE_FLAT, -}; - -static const struct regmap_config s5m8767_regmap_config = { - .reg_bits = 8, - .val_bits = 8, - - .max_register = S5M8767_REG_LDO28CTRL, - .volatile_reg = s2mps11_volatile, - .cache_type = REGCACHE_FLAT, -}; - static void sec_pmic_dump_rev(struct sec_pmic_dev *sec_pmic) { unsigned int val; @@ -268,7 +128,7 @@ static void sec_pmic_configure(struct sec_pmic_dev *sec_pmic) * platform data. */ static struct sec_platform_data * -sec_pmic_i2c_parse_dt_pdata(struct device *dev) +sec_pmic_parse_dt_pdata(struct device *dev) { struct sec_platform_data *pd; @@ -283,68 +143,34 @@ sec_pmic_i2c_parse_dt_pdata(struct device *dev) return pd; } -static int sec_pmic_probe(struct i2c_client *i2c) +int sec_pmic_probe(struct device *dev, unsigned long device_type, + unsigned int irq, struct regmap *regmap, + struct i2c_client *client) { - const struct regmap_config *regmap; struct sec_platform_data *pdata; const struct mfd_cell *sec_devs; struct sec_pmic_dev *sec_pmic; int ret, num_sec_devs; - sec_pmic = devm_kzalloc(&i2c->dev, sizeof(struct sec_pmic_dev), - GFP_KERNEL); + sec_pmic = devm_kzalloc(dev, sizeof(struct sec_pmic_dev), GFP_KERNEL); if (sec_pmic == NULL) return -ENOMEM; - i2c_set_clientdata(i2c, sec_pmic); - sec_pmic->dev = &i2c->dev; - sec_pmic->i2c = i2c; - sec_pmic->irq = i2c->irq; + dev_set_drvdata(dev, sec_pmic); + sec_pmic->dev = dev; + sec_pmic->device_type = device_type; + sec_pmic->i2c = client; + sec_pmic->irq = irq; + sec_pmic->regmap_pmic = regmap; - pdata = sec_pmic_i2c_parse_dt_pdata(sec_pmic->dev); + pdata = sec_pmic_parse_dt_pdata(sec_pmic->dev); if (IS_ERR(pdata)) { ret = PTR_ERR(pdata); return ret; } - sec_pmic->device_type = (unsigned long)of_device_get_match_data(sec_pmic->dev); sec_pmic->pdata = pdata; - switch (sec_pmic->device_type) { - case S2MPA01: - regmap = &s2mpa01_regmap_config; - break; - case S2MPS11X: - regmap = &s2mps11_regmap_config; - break; - case S2MPS13X: - regmap = &s2mps13_regmap_config; - break; - case S2MPS14X: - regmap = &s2mps14_regmap_config; - break; - case S2MPS15X: - regmap = &s2mps15_regmap_config; - break; - case S5M8767X: - regmap = &s5m8767_regmap_config; - break; - case S2MPU02: - regmap = &s2mpu02_regmap_config; - break; - default: - regmap = &sec_regmap_config; - break; - } - - sec_pmic->regmap_pmic = devm_regmap_init_i2c(i2c, regmap); - if (IS_ERR(sec_pmic->regmap_pmic)) { - ret = PTR_ERR(sec_pmic->regmap_pmic); - dev_err(&i2c->dev, "Failed to allocate register map: %d\n", - ret); - return ret; - } - sec_irq_init(sec_pmic); pm_runtime_set_active(sec_pmic->dev); @@ -387,9 +213,9 @@ static int sec_pmic_probe(struct i2c_client *i2c) num_sec_devs = ARRAY_SIZE(s2mpu05_devs); break; default: - dev_err(&i2c->dev, "Unsupported device type (%lu)\n", + dev_err(sec_pmic->dev, "Unsupported device type %lu\n", sec_pmic->device_type); - return -ENODEV; + return -EINVAL; } ret = devm_mfd_add_devices(sec_pmic->dev, -1, sec_devs, num_sec_devs, NULL, 0, NULL); @@ -401,10 +227,11 @@ static int sec_pmic_probe(struct i2c_client *i2c) return ret; } +EXPORT_SYMBOL_GPL(sec_pmic_probe); -static void sec_pmic_shutdown(struct i2c_client *i2c) +void sec_pmic_shutdown(struct device *dev) { - struct sec_pmic_dev *sec_pmic = i2c_get_clientdata(i2c); + struct sec_pmic_dev *sec_pmic = dev_get_drvdata(dev); unsigned int reg, mask; if (!sec_pmic->pdata->manual_poweroff) @@ -428,11 +255,11 @@ static void sec_pmic_shutdown(struct i2c_client *i2c) regmap_update_bits(sec_pmic->regmap_pmic, reg, mask, 0); } +EXPORT_SYMBOL_GPL(sec_pmic_shutdown); static int sec_pmic_suspend(struct device *dev) { - struct i2c_client *i2c = to_i2c_client(dev); - struct sec_pmic_dev *sec_pmic = i2c_get_clientdata(i2c); + struct sec_pmic_dev *sec_pmic = dev_get_drvdata(dev); if (device_may_wakeup(dev)) enable_irq_wake(sec_pmic->irq); @@ -452,8 +279,7 @@ static int sec_pmic_suspend(struct device *dev) static int sec_pmic_resume(struct device *dev) { - struct i2c_client *i2c = to_i2c_client(dev); - struct sec_pmic_dev *sec_pmic = i2c_get_clientdata(i2c); + struct sec_pmic_dev *sec_pmic = dev_get_drvdata(dev); if (device_may_wakeup(dev)) disable_irq_wake(sec_pmic->irq); @@ -462,20 +288,9 @@ static int sec_pmic_resume(struct device *dev) return 0; } -static DEFINE_SIMPLE_DEV_PM_OPS(sec_pmic_pm_ops, - sec_pmic_suspend, sec_pmic_resume); - -static struct i2c_driver sec_pmic_driver = { - .driver = { - .name = "sec_pmic", - .pm = pm_sleep_ptr(&sec_pmic_pm_ops), - .of_match_table = sec_dt_match, - }, - .probe = sec_pmic_probe, - .shutdown = sec_pmic_shutdown, -}; -module_i2c_driver(sec_pmic_driver); +DEFINE_SIMPLE_DEV_PM_OPS(sec_pmic_pm_ops, sec_pmic_suspend, sec_pmic_resume); +EXPORT_SYMBOL_GPL(sec_pmic_pm_ops); MODULE_AUTHOR("Sangbeom Kim "); -MODULE_DESCRIPTION("Core support for the S5M MFD"); +MODULE_DESCRIPTION("Core driver for the Samsung S5M"); MODULE_LICENSE("GPL"); diff --git a/drivers/mfd/sec-core.h b/drivers/mfd/sec-core.h index b3fded5f02a0ddc09a9508fd49a5d335f7ad0ee7..a0a3488924d96f69373e7569079cfefd0544ca26 100644 --- a/drivers/mfd/sec-core.h +++ b/drivers/mfd/sec-core.h @@ -10,6 +10,15 @@ #ifndef __SEC_CORE_INT_H #define __SEC_CORE_INT_H +struct i2c_client; + +extern const struct dev_pm_ops sec_pmic_pm_ops; + +int sec_pmic_probe(struct device *dev, unsigned long device_type, + unsigned int irq, struct regmap *regmap, + struct i2c_client *client); +void sec_pmic_shutdown(struct device *dev); + int sec_irq_init(struct sec_pmic_dev *sec_pmic); #endif /* __SEC_CORE_INT_H */ diff --git a/drivers/mfd/sec-i2c.c b/drivers/mfd/sec-i2c.c new file mode 100644 index 0000000000000000000000000000000000000000..8e3a365ff3e5533e27d94fa8a15dbfa639518a5f --- /dev/null +++ b/drivers/mfd/sec-i2c.c @@ -0,0 +1,231 @@ +// SPDX-License-Identifier: GPL-2.0+ +/* + * Copyright 2012 Samsung Electronics Co., Ltd + * http://www.samsung.com + * Copyright 2025 Linaro Ltd. + * + * Samsung SxM I2C driver + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "sec-core.h" + +static bool s2mpa01_volatile(struct device *dev, unsigned int reg) +{ + switch (reg) { + case S2MPA01_REG_INT1M: + case S2MPA01_REG_INT2M: + case S2MPA01_REG_INT3M: + return false; + default: + return true; + } +} + +static bool s2mps11_volatile(struct device *dev, unsigned int reg) +{ + switch (reg) { + case S2MPS11_REG_INT1M: + case S2MPS11_REG_INT2M: + case S2MPS11_REG_INT3M: + return false; + default: + return true; + } +} + +static bool s2mpu02_volatile(struct device *dev, unsigned int reg) +{ + switch (reg) { + case S2MPU02_REG_INT1M: + case S2MPU02_REG_INT2M: + case S2MPU02_REG_INT3M: + return false; + default: + return true; + } +} + +static const struct regmap_config sec_regmap_config = { + .reg_bits = 8, + .val_bits = 8, +}; + +static const struct regmap_config s2mpa01_regmap_config = { + .reg_bits = 8, + .val_bits = 8, + + .max_register = S2MPA01_REG_LDO_OVCB4, + .volatile_reg = s2mpa01_volatile, + .cache_type = REGCACHE_FLAT, +}; + +static const struct regmap_config s2mps11_regmap_config = { + .reg_bits = 8, + .val_bits = 8, + + .max_register = S2MPS11_REG_L38CTRL, + .volatile_reg = s2mps11_volatile, + .cache_type = REGCACHE_FLAT, +}; + +static const struct regmap_config s2mps13_regmap_config = { + .reg_bits = 8, + .val_bits = 8, + + .max_register = S2MPS13_REG_LDODSCH5, + .volatile_reg = s2mps11_volatile, + .cache_type = REGCACHE_FLAT, +}; + +static const struct regmap_config s2mps14_regmap_config = { + .reg_bits = 8, + .val_bits = 8, + + .max_register = S2MPS14_REG_LDODSCH3, + .volatile_reg = s2mps11_volatile, + .cache_type = REGCACHE_FLAT, +}; + +static const struct regmap_config s2mps15_regmap_config = { + .reg_bits = 8, + .val_bits = 8, + + .max_register = S2MPS15_REG_LDODSCH4, + .volatile_reg = s2mps11_volatile, + .cache_type = REGCACHE_FLAT, +}; + +static const struct regmap_config s2mpu02_regmap_config = { + .reg_bits = 8, + .val_bits = 8, + + .max_register = S2MPU02_REG_DVSDATA, + .volatile_reg = s2mpu02_volatile, + .cache_type = REGCACHE_FLAT, +}; + +static const struct regmap_config s5m8767_regmap_config = { + .reg_bits = 8, + .val_bits = 8, + + .max_register = S5M8767_REG_LDO28CTRL, + .volatile_reg = s2mps11_volatile, + .cache_type = REGCACHE_FLAT, +}; + +static int sec_pmic_i2c_probe(struct i2c_client *client) +{ + const struct regmap_config *regmap; + unsigned long device_type; + struct regmap *regmap_pmic; + int ret; + + device_type = (unsigned long)of_device_get_match_data(&client->dev); + + switch (device_type) { + case S2MPA01: + regmap = &s2mpa01_regmap_config; + break; + case S2MPS11X: + regmap = &s2mps11_regmap_config; + break; + case S2MPS13X: + regmap = &s2mps13_regmap_config; + break; + case S2MPS14X: + regmap = &s2mps14_regmap_config; + break; + case S2MPS15X: + regmap = &s2mps15_regmap_config; + break; + case S5M8767X: + regmap = &s5m8767_regmap_config; + break; + case S2MPU02: + regmap = &s2mpu02_regmap_config; + break; + default: + regmap = &sec_regmap_config; + break; + } + + regmap_pmic = devm_regmap_init_i2c(client, regmap); + if (IS_ERR(regmap_pmic)) { + ret = PTR_ERR(regmap_pmic); + dev_err(&client->dev, "Failed to allocate register map: %d\n", + ret); + return ret; + } + + return sec_pmic_probe(&client->dev, device_type, client->irq, + regmap_pmic, client); +} + +static void sec_pmic_i2c_shutdown(struct i2c_client *i2c) +{ + sec_pmic_shutdown(&i2c->dev); +} + +static const struct of_device_id sec_pmic_i2c_of_match[] = { + { + .compatible = "samsung,s5m8767-pmic", + .data = (void *)S5M8767X, + }, { + .compatible = "samsung,s2dos05", + .data = (void *)S2DOS05, + }, { + .compatible = "samsung,s2mps11-pmic", + .data = (void *)S2MPS11X, + }, { + .compatible = "samsung,s2mps13-pmic", + .data = (void *)S2MPS13X, + }, { + .compatible = "samsung,s2mps14-pmic", + .data = (void *)S2MPS14X, + }, { + .compatible = "samsung,s2mps15-pmic", + .data = (void *)S2MPS15X, + }, { + .compatible = "samsung,s2mpa01-pmic", + .data = (void *)S2MPA01, + }, { + .compatible = "samsung,s2mpu02-pmic", + .data = (void *)S2MPU02, + }, { + .compatible = "samsung,s2mpu05-pmic", + .data = (void *)S2MPU05, + }, + { }, +}; +MODULE_DEVICE_TABLE(of, sec_pmic_i2c_of_match); + +static struct i2c_driver sec_pmic_i2c_driver = { + .driver = { + .name = "sec-pmic-i2c", + .pm = pm_sleep_ptr(&sec_pmic_pm_ops), + .of_match_table = sec_pmic_i2c_of_match, + }, + .probe = sec_pmic_i2c_probe, + .shutdown = sec_pmic_i2c_shutdown, +}; +module_i2c_driver(sec_pmic_i2c_driver); + +MODULE_AUTHOR("Sangbeom Kim "); +MODULE_DESCRIPTION("I2C driver for the Samsung S5M"); +MODULE_LICENSE("GPL"); From patchwork Fri Mar 28 13:28:55 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Andr=C3=A9_Draszik?= X-Patchwork-Id: 14032031 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id E7DD4C28B20 for ; Fri, 28 Mar 2025 13:50:45 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:Cc:To:In-Reply-To:References :Message-Id:Content-Transfer-Encoding:Content-Type:MIME-Version:Subject:Date: From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=+AZsaRGC2S+WyfTOou8LjsUdN4PTOZuY9p8ECyMXu6o=; b=n75MBzVWjoQ0xBKTajiN8vQYsR ZPs3X+0NSuAvWTLhmYsuCLhQrIqmV2OCubn/ryuztTGYIIwh0qaxAUAvXsG7xv0m6O0xzRtY1sb0m moJC4myoNbHu5ZqqZ2Wiog7pD3n3LQyIkGR0/LQmS/3R0RW/y9jyHpmOPkB0qSANAxAM2IZmguvPS CMD+9jteqgae1hYL5/VI8O761p0kna9GA28PnMTd8I628EqiofxOhCkXzDhpIvVMGW/+ael3jN9xZ GPwPSHEqO9FxBIcM+jmaMVrX6UQxVwgwAUqGD6WG/+JvJLGaEfIlZixxYBdjvin5YhBoWd37Cb4K4 oryUOCkQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98.1 #2 (Red Hat Linux)) id 1tyA6P-0000000DUpB-1Y1H; Fri, 28 Mar 2025 13:50:29 +0000 Received: from mail-ed1-x529.google.com ([2a00:1450:4864:20::529]) by bombadil.infradead.org with esmtps (Exim 4.98.1 #2 (Red Hat Linux)) id 1ty9nY-0000000DQfj-0OR8 for linux-arm-kernel@lists.infradead.org; Fri, 28 Mar 2025 13:31:02 +0000 Received: by mail-ed1-x529.google.com with SMTP id 4fb4d7f45d1cf-5e5bc066283so3460688a12.0 for ; Fri, 28 Mar 2025 06:31:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1743168659; x=1743773459; darn=lists.infradead.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=+AZsaRGC2S+WyfTOou8LjsUdN4PTOZuY9p8ECyMXu6o=; b=bVZ/fHiWtJ25Hmawbm1PTLrDkuWvEgT/Z1o7v7LbPQlWjb43WdgFv2pyO9+A2945zG egF5O4DhbzEZPYKTsMzG8boh8OFbP1Y1hDhU4sDS9+A1JN23mVi2DPqqMjuF7/cle/4v vQIDIrns8jVsViEI2YF8EvrsW+RKCcOT/x2+/+9k90St5utwqK2M4YQVCQU8HAg65fiu jThNEbAHAQ8ERZXy6fGz6zKsuoL3ozCNfcPiCSqBrZJJgYdJm9isF64eGeO0kcVTaScv HMXzu0mg1mlR6RaB4WjqhX0ok5LWAuDLhfYMULi8i2zKvOQ6Nov+yySxEcZreVGVSCgf /2Kw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743168659; x=1743773459; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=+AZsaRGC2S+WyfTOou8LjsUdN4PTOZuY9p8ECyMXu6o=; b=knTHisvB+gE67SYVhzldFyAQs4wVPT3B5+mnWeRDUc5MUoVtXD0B5p5EUqOx/9dqLS sDMHL1gyDyG420Y6cabYMU45WUNqLsItnlU0wHfI+Ad5YjV7HNEubACEsm+ZGrpHobMW qf//bjgj4EfeBFhEkr3vzlgPzzyYPwYEEJCbp3/i15SYLhMCExTDrR7OzP9jfhOuVw4B DRmZ04sCoe4g4YgbmQjtSjosf9UAdopmUFIiRHRmB2Vk+nnSZdF92VMwgoBiN4z9Vx5S jAbC3svh2d9Qp3fVB1SwJFFqmQXGbESa7nfM3Fu3/aiw+8nb0b3AMzxIC2BEefzeR2R8 QjvA== X-Forwarded-Encrypted: i=1; AJvYcCVLX1E3XrXzqYRTSQJ4j8W/d1S1Pk8M3/ox27FCnUfxhPyGlPxSsu0mAmKZlM48OBcUmCGVIzTuo3VDvow5DGoQ@lists.infradead.org X-Gm-Message-State: AOJu0Yxw+tMe5/fJn9bD4OU4Te5putL29CaK3vrEM+bPfTvRbUrdMCBw jmt/EVRyxnV3HJxkLxWIMm1J4BTG17614pzxEfQtzt+cY6Bw4hvxbVguleYU0Z8= X-Gm-Gg: ASbGncsOpLdIUr3nTrs+QBajKoK1WF2jgyQ68+h99upDk1klmfJpaayZy11NRlFXn1R z8EIIfBNctixZTbThe9YZH9RXT/VEj8eRmOHKHp8owadD7kLpStFcUmXF60qNb8cEmPCFYQW9oW j3ITG9O+sHF/9KTxm0pzPQHtT6B7q32QP3+Lyhjuu/5r0i/DAm/HbG6fQC5QOHKK65lQEesQCwV rLIHW7s6jDNthlmIbvDuwJ3tM3N3PpafqBHtmNo2qzY5fYzxqKPIm1owWaSGt81pIq1f8e4SchV ZgkYmagSt47wev1qhr679RlahrmcY/wLGhE1FLtelrl9+p0Dkl6hJlDuzDq/kV2XDIeM2TvvObn y/oVIDvnL2K6z8lzlnhKVE81FXnDsL3AF8CK/XXo= X-Google-Smtp-Source: AGHT+IEoG1FhfOUQlOZkgYoRPq5DNw8y6mlAc9+hUofX+5FckeHtChNPOPtqp6nnBpDzc1X/RAjJ5w== X-Received: by 2002:a05:6402:278e:b0:5e6:1838:e8c6 with SMTP id 4fb4d7f45d1cf-5ed8eb16adfmr7163507a12.22.1743168658320; Fri, 28 Mar 2025 06:30:58 -0700 (PDT) Received: from puffmais.c.googlers.com (8.239.204.35.bc.googleusercontent.com. [35.204.239.8]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-5edc17e01f7sm1355284a12.79.2025.03.28.06.30.57 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 28 Mar 2025 06:30:57 -0700 (PDT) From: =?utf-8?q?Andr=C3=A9_Draszik?= Date: Fri, 28 Mar 2025 13:28:55 +0000 Subject: [PATCH v2 09/32] mfd: sec: add support for S2MPG10 PMIC MIME-Version: 1.0 Message-Id: <20250328-s2mpg10-v2-9-b54dee33fb6b@linaro.org> References: <20250328-s2mpg10-v2-0-b54dee33fb6b@linaro.org> In-Reply-To: <20250328-s2mpg10-v2-0-b54dee33fb6b@linaro.org> To: Krzysztof Kozlowski , Lee Jones , Rob Herring , Conor Dooley , Sylwester Nawrocki , Chanwoo Choi , Alim Akhtar , Michael Turquette , Stephen Boyd , Russell King , Catalin Marinas , Will Deacon , Alexandre Belloni Cc: Peter Griffin , Tudor Ambarus , Will McVicker , kernel-team@android.com, linux-kernel@vger.kernel.org, linux-samsung-soc@vger.kernel.org, devicetree@vger.kernel.org, linux-clk@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-rtc@vger.kernel.org, =?utf-8?q?Andr=C3=A9_Draszik?= X-Mailer: b4 0.14.2 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250328_063100_432412_58A62A5E X-CRM114-Status: GOOD ( 22.92 ) X-BeenThere: linux-arm-kernel@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-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org Add support for Samsung's S2MPG10 PMIC, which is a Power Management IC for mobile applications with buck converters, various LDOs, power meters, RTC, clock outputs, and additional GPIOs interfaces. Contrary to existing Samsung S2M series PMICs supported, communication is not via I2C, but via the Samsung ACPM firmware. This commit adds the core driver. Signed-off-by: André Draszik --- Checkpatch suggests to update MAINTAINERS, but the new file is covered already due to using a wildcard. v2: * update to using devm_acpm_get_by_node() instead of devm_acpm_get_by_phandle() as this is now expected to be a child of the ACPM node * use c-type file header * updates to error messages * drop s2mpg10_rtc_wr_table as everything in RTC is writeable * rename s2mpg10_volatile_registers -> s2mpg10_rtc_volatile_registers * fix incorrect regmap range in common block * add comments to regmap ranges * add all registers to header for all IP blocks --- drivers/mfd/Kconfig | 17 ++ drivers/mfd/Makefile | 1 + drivers/mfd/sec-acpm.c | 460 ++++++++++++++++++++++++++++++++++++ drivers/mfd/sec-core.c | 16 ++ drivers/mfd/sec-irq.c | 68 ++++++ include/linux/mfd/samsung/core.h | 1 + include/linux/mfd/samsung/irq.h | 103 ++++++++ include/linux/mfd/samsung/rtc.h | 37 +++ include/linux/mfd/samsung/s2mpg10.h | 454 +++++++++++++++++++++++++++++++++++ 9 files changed, 1157 insertions(+) diff --git a/drivers/mfd/Kconfig b/drivers/mfd/Kconfig index 62565dc89ec6d58611bbc1f31c65f757343b6453..e146b28240e731557f34ebe6dea99016b6d19f6b 100644 --- a/drivers/mfd/Kconfig +++ b/drivers/mfd/Kconfig @@ -1296,6 +1296,23 @@ config MFD_SEC_CORE select MFD_CORE select REGMAP_IRQ +config MFD_SEC_ACPM + tristate "Samsung Electronics S2MPG1x PMICs" + depends on EXYNOS_ACPM_PROTOCOL + depends on OF + select MFD_SEC_CORE + help + Support for the Samsung Electronics PMICs with ACPM interface. + This is a Power Management IC for mobile applications with buck + converters, various LDOs, power meters, RTC, clock outputs, and + additional GPIOs interfaces. + This driver provides common support for accessing the device; + additional drivers must be enabled in order to use the functionality + of the device. + + To compile this driver as a module, choose M here: the module will be + called sec-acpm. + config MFD_SEC_I2C tristate "Samsung Electronics S2MPA/S2MPS1X/S2MPU/S5M series PMICs" depends on I2C=y diff --git a/drivers/mfd/Makefile b/drivers/mfd/Makefile index ab6c4b17a391946d4c88f52ccbfee5424b4fb2d2..b617782eca436e34084a9cd24c309801c5680390 100644 --- a/drivers/mfd/Makefile +++ b/drivers/mfd/Makefile @@ -229,6 +229,7 @@ obj-$(CONFIG_MFD_RK8XX_I2C) += rk8xx-i2c.o obj-$(CONFIG_MFD_RK8XX_SPI) += rk8xx-spi.o obj-$(CONFIG_MFD_RN5T618) += rn5t618.o obj-$(CONFIG_MFD_SEC_CORE) += sec-core.o sec-irq.o +obj-$(CONFIG_MFD_SEC_ACPM) += sec-acpm.o obj-$(CONFIG_MFD_SEC_I2C) += sec-i2c.o obj-$(CONFIG_MFD_SYSCON) += syscon.o obj-$(CONFIG_MFD_LM3533) += lm3533-core.o lm3533-ctrlbank.o diff --git a/drivers/mfd/sec-acpm.c b/drivers/mfd/sec-acpm.c new file mode 100644 index 0000000000000000000000000000000000000000..90d84b74875388746595e14b4aaef6d24c2049e9 --- /dev/null +++ b/drivers/mfd/sec-acpm.c @@ -0,0 +1,460 @@ +// SPDX-License-Identifier: GPL-2.0-only +/* + * Copyright 2020 Google Inc + * Copyright 2025 Linaro Ltd. + * + * Samsung S2MPG1x ACPM driver + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "sec-core.h" + +#define ACPM_MAX_BULK_DATA 8 + +struct sec_pmic_acpm_platform_data { + int device_type; + + unsigned int acpm_chan_id; + u8 speedy_channel; + + const struct regmap_config *regmap_cfg_common; + const struct regmap_config *regmap_cfg_pmic; + const struct regmap_config *regmap_cfg_rtc; + const struct regmap_config *regmap_cfg_meter; +}; + +static const struct regmap_range s2mpg10_common_registers[] = { + regmap_reg_range(0x00, 0x02), /* CHIP_ID_M, INT, INT_MASK */ + regmap_reg_range(0x0a, 0x0c), /* speedy control */ + regmap_reg_range(0x1a, 0x2a), /* debug */ +}; + +static const struct regmap_range s2mpg10_common_ro_registers[] = { + regmap_reg_range(0x00, 0x01), + regmap_reg_range(0x28, 0x2a), +}; + +static const struct regmap_range s2mpg10_common_nonvolatile_registers[] = { + regmap_reg_range(0x00, 0x00), + regmap_reg_range(0x02, 0x02), + regmap_reg_range(0x0a, 0x0c), +}; + +static const struct regmap_range s2mpg10_common_precious_registers[] = { + regmap_reg_range(0x01, 0x01), +}; + +static const struct regmap_access_table s2mpg10_common_wr_table = { + .yes_ranges = s2mpg10_common_registers, + .n_yes_ranges = ARRAY_SIZE(s2mpg10_common_registers), + .no_ranges = s2mpg10_common_ro_registers, + .n_no_ranges = ARRAY_SIZE(s2mpg10_common_ro_registers), +}; + +static const struct regmap_access_table s2mpg10_common_rd_table = { + .yes_ranges = s2mpg10_common_registers, + .n_yes_ranges = ARRAY_SIZE(s2mpg10_common_registers), +}; + +static const struct regmap_access_table s2mpg10_common_volatile_table = { + .no_ranges = s2mpg10_common_nonvolatile_registers, + .n_no_ranges = ARRAY_SIZE(s2mpg10_common_nonvolatile_registers), +}; + +static const struct regmap_access_table s2mpg10_common_precious_table = { + .yes_ranges = s2mpg10_common_precious_registers, + .n_yes_ranges = ARRAY_SIZE(s2mpg10_common_precious_registers), +}; + +static const struct regmap_config s2mpg10_regmap_config_common = { + .name = "common", + .reg_bits = 8, + .val_bits = 8, + .max_register = S2MPG10_COMMON_SPD_DEBUG4, + .wr_table = &s2mpg10_common_wr_table, + .rd_table = &s2mpg10_common_rd_table, + .volatile_table = &s2mpg10_common_volatile_table, + .precious_table = &s2mpg10_common_precious_table, + .num_reg_defaults_raw = S2MPG10_COMMON_SPD_DEBUG4 + 1, + .cache_type = REGCACHE_FLAT, +}; + +static const struct regmap_range s2mpg10_pmic_registers[] = { + regmap_reg_range(0x00, 0xf6), +}; + +static const struct regmap_range s2mpg10_pmic_ro_registers[] = { + regmap_reg_range(0x00, 0x05), /* INTx */ + regmap_reg_range(0x0c, 0x0f), /* STATUSx PWRONSRC OFFSRC */ + regmap_reg_range(0xc7, 0xc7), /* GPIO input */ +}; + +static const struct regmap_range s2mpg10_pmic_nonvolatile_registers[] = { + regmap_reg_range(0x06, 0x0b), /* INTxM */ +}; + +static const struct regmap_range s2mpg10_pmic_precious_registers[] = { + regmap_reg_range(0x00, 0x05), /* INTx */ +}; + +static const struct regmap_access_table s2mpg10_pmic_wr_table = { + .yes_ranges = s2mpg10_pmic_registers, + .n_yes_ranges = ARRAY_SIZE(s2mpg10_pmic_registers), + .no_ranges = s2mpg10_pmic_ro_registers, + .n_no_ranges = ARRAY_SIZE(s2mpg10_pmic_ro_registers), +}; + +static const struct regmap_access_table s2mpg10_pmic_rd_table = { + .yes_ranges = s2mpg10_pmic_registers, + .n_yes_ranges = ARRAY_SIZE(s2mpg10_pmic_registers), +}; + +static const struct regmap_access_table s2mpg10_pmic_volatile_table = { + .no_ranges = s2mpg10_pmic_nonvolatile_registers, + .n_no_ranges = ARRAY_SIZE(s2mpg10_pmic_nonvolatile_registers), +}; + +static const struct regmap_access_table s2mpg10_pmic_precious_table = { + .yes_ranges = s2mpg10_pmic_precious_registers, + .n_yes_ranges = ARRAY_SIZE(s2mpg10_pmic_precious_registers), +}; + +static const struct regmap_config s2mpg10_regmap_config_pmic = { + .name = "pmic", + .reg_bits = 8, + .val_bits = 8, + .max_register = S2MPG10_PMIC_LDO_SENSE4, + .wr_table = &s2mpg10_pmic_wr_table, + .rd_table = &s2mpg10_pmic_rd_table, + .volatile_table = &s2mpg10_pmic_volatile_table, + .precious_table = &s2mpg10_pmic_precious_table, + .num_reg_defaults_raw = S2MPG10_PMIC_LDO_SENSE4 + 1, + .cache_type = REGCACHE_FLAT, +}; + +static const struct regmap_range s2mpg10_rtc_registers[] = { + regmap_reg_range(0x00, 0x2b), /* RTC */ +}; + +static const struct regmap_range s2mpg10_rtc_volatile_registers[] = { + regmap_reg_range(0x01, 0x01), /* RTC_UPDATE */ + regmap_reg_range(0x05, 0x0c), /* time / date */ +}; + +static const struct regmap_access_table s2mpg10_rtc_rd_table = { + .yes_ranges = s2mpg10_rtc_registers, + .n_yes_ranges = ARRAY_SIZE(s2mpg10_rtc_registers), +}; + +static const struct regmap_access_table s2mpg10_rtc_volatile_table = { + .yes_ranges = s2mpg10_rtc_volatile_registers, + .n_yes_ranges = ARRAY_SIZE(s2mpg10_rtc_volatile_registers), +}; + +static const struct regmap_config s2mpg10_regmap_config_rtc = { + .name = "rtc", + .reg_bits = 8, + .val_bits = 8, + .reg_stride = 1, + .max_register = S2MPG10_RTC_OSC_CTRL, + .rd_table = &s2mpg10_rtc_rd_table, + .volatile_table = &s2mpg10_rtc_volatile_table, + .num_reg_defaults_raw = S2MPG10_RTC_OSC_CTRL + 1, + .cache_type = REGCACHE_FLAT, +}; + +static const struct regmap_range s2mpg10_meter_registers[] = { + regmap_reg_range(0x00, 0x21), /* meter config */ + regmap_reg_range(0x40, 0x8a), /* meter data */ + regmap_reg_range(0xee, 0xee), /* offset */ + regmap_reg_range(0xf1, 0xf1), /* trim */ +}; + +static const struct regmap_range s2mpg10_meter_ro_registers[] = { + regmap_reg_range(0x40, 0x8a), +}; + +static const struct regmap_access_table s2mpg10_meter_wr_table = { + .yes_ranges = s2mpg10_meter_registers, + .n_yes_ranges = ARRAY_SIZE(s2mpg10_meter_registers), + .no_ranges = s2mpg10_meter_ro_registers, + .n_no_ranges = ARRAY_SIZE(s2mpg10_meter_ro_registers), +}; + +static const struct regmap_access_table s2mpg10_meter_rd_table = { + .yes_ranges = s2mpg10_meter_registers, + .n_yes_ranges = ARRAY_SIZE(s2mpg10_meter_registers), +}; + +static const struct regmap_access_table s2mpg10_meter_volatile_table = { + .yes_ranges = s2mpg10_meter_ro_registers, + .n_yes_ranges = ARRAY_SIZE(s2mpg10_meter_ro_registers), +}; + +static const struct regmap_config s2mpg10_regmap_config_meter = { + .name = "meter", + .reg_bits = 8, + .val_bits = 8, + .reg_stride = 1, + .max_register = S2MPG10_METER_BUCK_METER_TRIM3, + .wr_table = &s2mpg10_meter_wr_table, + .rd_table = &s2mpg10_meter_rd_table, + .volatile_table = &s2mpg10_meter_volatile_table, + .num_reg_defaults_raw = S2MPG10_METER_BUCK_METER_TRIM3 + 1, + .cache_type = REGCACHE_FLAT, +}; + +struct sec_acpm_shared_bus_context { + const struct acpm_handle *acpm; + unsigned int acpm_chan_id; + u8 speedy_channel; +}; + +struct sec_acpm_bus_context { + struct sec_acpm_shared_bus_context *shared; + u8 type; +#define SEC_ACPM_TYPE_COMMON 0x00 +#define SEC_ACPM_TYPE_PMIC 0x01 +#define SEC_ACPM_TYPE_RTC 0x02 +#define SEC_ACPM_TYPE_METER 0x0a +#define SEC_ACPM_TYPE_WLWP 0x0b +#define SEC_ACPM_TYPE_TRIM 0x0f +}; + +static int sec_acpm_bus_write(void *context, const void *data, size_t count) +{ + struct sec_acpm_bus_context *ctx = context; + const struct acpm_handle *acpm = ctx->shared->acpm; + const struct acpm_pmic_ops *pmic_ops = &acpm->ops.pmic_ops; + u8 reg; + + if (count < 2 || count > (ACPM_MAX_BULK_DATA + 1)) + return -EINVAL; + + reg = *(u8 *)data; + ++data; + --count; + + return pmic_ops->bulk_write(acpm, ctx->shared->acpm_chan_id, + ctx->type, reg, + ctx->shared->speedy_channel, count, data); +} + +static int sec_acpm_bus_read(void *context, const void *reg_buf, + size_t reg_size, void *val_buf, + size_t val_size) +{ + struct sec_acpm_bus_context *ctx = context; + const struct acpm_handle *acpm = ctx->shared->acpm; + const struct acpm_pmic_ops *pmic_ops = &acpm->ops.pmic_ops; + u8 reg; + + if (reg_size != 1 || !val_size || val_size > ACPM_MAX_BULK_DATA) + return -EINVAL; + + reg = *(u8 *)reg_buf; + + return pmic_ops->bulk_read(acpm, ctx->shared->acpm_chan_id, + ctx->type, reg, + ctx->shared->speedy_channel, + val_size, val_buf); +} + +static int sec_acpm_bus_reg_update_bits(void *context, unsigned int reg, + unsigned int mask, unsigned int val) +{ + struct sec_acpm_bus_context *ctx = context; + const struct acpm_handle *acpm = ctx->shared->acpm; + const struct acpm_pmic_ops *pmic_ops = &acpm->ops.pmic_ops; + + return pmic_ops->update_reg(acpm, ctx->shared->acpm_chan_id, + ctx->type, reg & 0xff, + ctx->shared->speedy_channel, val, mask); +} + +static const struct regmap_bus sec_pmic_acpm_regmap_bus = { + .write = sec_acpm_bus_write, + .read = sec_acpm_bus_read, + .reg_update_bits = sec_acpm_bus_reg_update_bits, + .max_raw_read = ACPM_MAX_BULK_DATA, + .max_raw_write = ACPM_MAX_BULK_DATA, +}; + +static struct regmap * +sec_pmic_acpm_regmap_init(struct device *dev, + struct sec_acpm_shared_bus_context *shared_ctx, + u8 type, const struct regmap_config *cfg, + bool do_attach) +{ + struct sec_acpm_bus_context *ctx; + struct regmap *regmap; + + ctx = devm_kzalloc(dev, sizeof(*ctx), GFP_KERNEL); + if (!ctx) + return ERR_PTR(-ENOMEM); + + ctx->shared = shared_ctx; + ctx->type = type; + + regmap = devm_regmap_init(dev, &sec_pmic_acpm_regmap_bus, ctx, cfg); + if (IS_ERR(regmap)) + return ERR_PTR(dev_err_probe(dev, PTR_ERR(regmap), + "regmap init (%s) failed\n", + cfg->name)); + + if (do_attach) { + int ret; + + ret = regmap_attach_dev(dev, regmap, cfg); + if (ret) + return ERR_PTR(dev_err_probe(dev, ret, + "regmap attach (%s) failed\n", + cfg->name)); + } + + return regmap; +} + +static void sec_acpm_mask_common_irqs(void *regmap_common) +{ + /* Mask all interrupts from 'common' block on shutdown */ + regmap_write(regmap_common, S2MPG10_COMMON_INT_MASK, + S2MPG10_COMMON_INT_SRC); +} + +static int sec_pmic_acpm_probe(struct platform_device *pdev) +{ + struct regmap *regmap_common, *regmap_pmic, *regmap; + const struct sec_pmic_acpm_platform_data *pdata; + struct sec_acpm_shared_bus_context *shared_ctx; + const struct acpm_handle *acpm; + struct device *dev; + int ret, irq; + + dev = &pdev->dev; + + pdata = device_get_match_data(dev); + if (!pdata) + return dev_err_probe(dev, -ENODEV, + "unsupported device type\n"); + + acpm = devm_acpm_get_by_node(dev, pdev->dev.parent->of_node); + if (IS_ERR(acpm)) + return dev_err_probe(dev, PTR_ERR(acpm), + "failed to get acpm (2)\n"); + + irq = platform_get_irq(pdev, 0); + if (irq < 0) + return irq; + + shared_ctx = devm_kzalloc(dev, sizeof(*shared_ctx), GFP_KERNEL); + if (!shared_ctx) + return -ENOMEM; + + shared_ctx->acpm = acpm; + shared_ctx->acpm_chan_id = pdata->acpm_chan_id; + shared_ctx->speedy_channel = pdata->speedy_channel; + + regmap_common = sec_pmic_acpm_regmap_init(dev, shared_ctx, + SEC_ACPM_TYPE_COMMON, + pdata->regmap_cfg_common, + false); + if (IS_ERR(regmap_common)) + return PTR_ERR(regmap_common); + + /* Mask all interrupts from 'common' block, until successful init */ + ret = regmap_write(regmap_common, S2MPG10_COMMON_INT_MASK, + S2MPG10_COMMON_INT_SRC); + if (ret) + return dev_err_probe(dev, ret, + "failed to mask common block interrupts\n"); + + regmap_pmic = sec_pmic_acpm_regmap_init(dev, shared_ctx, + SEC_ACPM_TYPE_PMIC, + pdata->regmap_cfg_pmic, + false); + if (IS_ERR(regmap_pmic)) + return PTR_ERR(regmap_pmic); + + regmap = sec_pmic_acpm_regmap_init(dev, shared_ctx, SEC_ACPM_TYPE_RTC, + pdata->regmap_cfg_rtc, true); + if (IS_ERR(regmap)) + return PTR_ERR(regmap); + + regmap = sec_pmic_acpm_regmap_init(dev, shared_ctx, SEC_ACPM_TYPE_METER, + pdata->regmap_cfg_meter, true); + if (IS_ERR(regmap)) + return PTR_ERR(regmap); + + ret = sec_pmic_probe(dev, pdata->device_type, irq, regmap_pmic, NULL); + if (ret) + return ret; + + if (device_property_read_bool(dev, "wakeup-source")) + devm_device_init_wakeup(dev); + + /* + * Unmask PMIC interrupt from 'common' block, now that everything is in + * place. + */ + ret = regmap_clear_bits(regmap_common, S2MPG10_COMMON_INT_MASK, + S2MPG10_COMMON_INT_SRC_PMIC); + if (ret) + return dev_err_probe(dev, ret, + "failed to unmask PMIC interrupt\n"); + + ret = devm_add_action_or_reset(dev, sec_acpm_mask_common_irqs, + regmap_common); + if (ret) + return ret; + + return 0; +} + +static void sec_pmic_acpm_shutdown(struct platform_device *pdev) +{ + sec_pmic_shutdown(&pdev->dev); +} + +static const struct sec_pmic_acpm_platform_data s2mpg10_data = { + .device_type = S2MPG10, + .acpm_chan_id = 2, + .speedy_channel = 0, + .regmap_cfg_common = &s2mpg10_regmap_config_common, + .regmap_cfg_pmic = &s2mpg10_regmap_config_pmic, + .regmap_cfg_rtc = &s2mpg10_regmap_config_rtc, + .regmap_cfg_meter = &s2mpg10_regmap_config_meter, +}; + +static const struct of_device_id sec_pmic_acpm_of_match[] = { + { .compatible = "samsung,s2mpg10-pmic", .data = &s2mpg10_data, }, + { }, +}; +MODULE_DEVICE_TABLE(of, sec_pmic_acpm_of_match); + +static struct platform_driver sec_pmic_acpm_driver = { + .driver = { + .name = "sec-pmic-acpm", + .pm = pm_sleep_ptr(&sec_pmic_pm_ops), + .of_match_table = sec_pmic_acpm_of_match, + }, + .probe = sec_pmic_acpm_probe, + .shutdown = sec_pmic_acpm_shutdown, +}; +module_platform_driver(sec_pmic_acpm_driver); + +MODULE_AUTHOR("André Draszik "); +MODULE_DESCRIPTION("ACPM driver for the Samsung S2MPG1x"); +MODULE_LICENSE("GPL"); diff --git a/drivers/mfd/sec-core.c b/drivers/mfd/sec-core.c index bb664e052bf5198f2fc83a86bd6e1e72364fb8df..c4b7abe511090d8f5ff2eb501f325cc8173b9bf5 100644 --- a/drivers/mfd/sec-core.c +++ b/drivers/mfd/sec-core.c @@ -36,6 +36,14 @@ static const struct mfd_cell s2dos05_devs[] = { { .name = "s2dos05-regulator", }, }; +static const struct mfd_cell s2mpg10_devs[] = { + MFD_CELL_NAME("s2mpg10-meter"), + MFD_CELL_NAME("s2mpg10-regulator"), + MFD_CELL_NAME("s2mpg10-rtc"), + MFD_CELL_OF("s2mpg10-clk", NULL, NULL, 0, 0, "samsung,s2mpg10-clk"), + MFD_CELL_OF("s2mpg10-gpio", NULL, NULL, 0, 0, "samsung,s2mpg10-gpio"), +}; + static const struct mfd_cell s2mps11_devs[] = { { .name = "s2mps11-regulator", }, { .name = "s2mps14-rtc", }, @@ -90,6 +98,10 @@ static void sec_pmic_dump_rev(struct sec_pmic_dev *sec_pmic) { unsigned int val; + /* For s2mpg1x, the revision is in a different regmap */ + if (sec_pmic->device_type == S2MPG10) + return; + /* For each device type, the REG_ID is always the first register */ if (!regmap_read(sec_pmic->regmap_pmic, S2MPS11_REG_ID, &val)) dev_dbg(sec_pmic->dev, "Revision: 0x%x\n", val); @@ -188,6 +200,10 @@ int sec_pmic_probe(struct device *dev, unsigned long device_type, sec_devs = s2mpa01_devs; num_sec_devs = ARRAY_SIZE(s2mpa01_devs); break; + case S2MPG10: + sec_devs = s2mpg10_devs; + num_sec_devs = ARRAY_SIZE(s2mpg10_devs); + break; case S2MPS11X: sec_devs = s2mps11_devs; num_sec_devs = ARRAY_SIZE(s2mps11_devs); diff --git a/drivers/mfd/sec-irq.c b/drivers/mfd/sec-irq.c index 4d49bb42bd0d109263f485c8b58e88cdd8d598d9..bf86281401ac6ff05c90c2d71c84744709ed79cb 100644 --- a/drivers/mfd/sec-irq.c +++ b/drivers/mfd/sec-irq.c @@ -11,6 +11,7 @@ #include #include #include +#include #include #include #include @@ -20,6 +21,60 @@ #include #include "sec-core.h" +static const struct regmap_irq s2mpg10_irqs[] = { + REGMAP_IRQ_REG(S2MPG10_IRQ_PWRONF, 0, S2MPG10_IRQ_PWRONF_MASK), + REGMAP_IRQ_REG(S2MPG10_IRQ_PWRONR, 0, S2MPG10_IRQ_PWRONR_MASK), + REGMAP_IRQ_REG(S2MPG10_IRQ_JIGONBF, 0, S2MPG10_IRQ_JIGONBF_MASK), + REGMAP_IRQ_REG(S2MPG10_IRQ_JIGONBR, 0, S2MPG10_IRQ_JIGONBR_MASK), + REGMAP_IRQ_REG(S2MPG10_IRQ_ACOKBF, 0, S2MPG10_IRQ_ACOKBF_MASK), + REGMAP_IRQ_REG(S2MPG10_IRQ_ACOKBR, 0, S2MPG10_IRQ_ACOKBR_MASK), + REGMAP_IRQ_REG(S2MPG10_IRQ_PWRON1S, 0, S2MPG10_IRQ_PWRON1S_MASK), + REGMAP_IRQ_REG(S2MPG10_IRQ_MRB, 0, S2MPG10_IRQ_MRB_MASK), + + REGMAP_IRQ_REG(S2MPG10_IRQ_RTC60S, 1, S2MPG10_IRQ_RTC60S_MASK), + REGMAP_IRQ_REG(S2MPG10_IRQ_RTCA1, 1, S2MPG10_IRQ_RTCA1_MASK), + REGMAP_IRQ_REG(S2MPG10_IRQ_RTCA0, 1, S2MPG10_IRQ_RTCA0_MASK), + REGMAP_IRQ_REG(S2MPG10_IRQ_RTC1S, 1, S2MPG10_IRQ_RTC1S_MASK), + REGMAP_IRQ_REG(S2MPG10_IRQ_WTSR_COLDRST, 1, S2MPG10_IRQ_WTSR_COLDRST_MASK), + REGMAP_IRQ_REG(S2MPG10_IRQ_WTSR, 1, S2MPG10_IRQ_WTSR_MASK), + REGMAP_IRQ_REG(S2MPG10_IRQ_WRST, 1, S2MPG10_IRQ_WRST_MASK), + REGMAP_IRQ_REG(S2MPG10_IRQ_SMPL, 1, S2MPG10_IRQ_SMPL_MASK), + + REGMAP_IRQ_REG(S2MPG10_IRQ_120C, 2, S2MPG10_IRQ_INT120C_MASK), + REGMAP_IRQ_REG(S2MPG10_IRQ_140C, 2, S2MPG10_IRQ_INT140C_MASK), + REGMAP_IRQ_REG(S2MPG10_IRQ_TSD, 2, S2MPG10_IRQ_TSD_MASK), + REGMAP_IRQ_REG(S2MPG10_IRQ_PIF_TIMEOUT1, 2, S2MPG10_IRQ_PIF_TIMEOUT1_MASK), + REGMAP_IRQ_REG(S2MPG10_IRQ_PIF_TIMEOUT2, 2, S2MPG10_IRQ_PIF_TIMEOUT2_MASK), + REGMAP_IRQ_REG(S2MPG10_IRQ_SPD_PARITY_ERR, 2, S2MPG10_IRQ_SPD_PARITY_ERR_MASK), + REGMAP_IRQ_REG(S2MPG10_IRQ_SPD_ABNORMAL_STOP, 2, S2MPG10_IRQ_SPD_ABNORMAL_STOP_MASK), + REGMAP_IRQ_REG(S2MPG10_IRQ_PMETER_OVERF, 2, S2MPG10_IRQ_PMETER_OVERF_MASK), + + REGMAP_IRQ_REG(S2MPG10_IRQ_OCP_B1M, 3, S2MPG10_IRQ_OCP_B1M_MASK), + REGMAP_IRQ_REG(S2MPG10_IRQ_OCP_B2M, 3, S2MPG10_IRQ_OCP_B2M_MASK), + REGMAP_IRQ_REG(S2MPG10_IRQ_OCP_B3M, 3, S2MPG10_IRQ_OCP_B3M_MASK), + REGMAP_IRQ_REG(S2MPG10_IRQ_OCP_B4M, 3, S2MPG10_IRQ_OCP_B4M_MASK), + REGMAP_IRQ_REG(S2MPG10_IRQ_OCP_B5M, 3, S2MPG10_IRQ_OCP_B5M_MASK), + REGMAP_IRQ_REG(S2MPG10_IRQ_OCP_B6M, 3, S2MPG10_IRQ_OCP_B6M_MASK), + REGMAP_IRQ_REG(S2MPG10_IRQ_OCP_B7M, 3, S2MPG10_IRQ_OCP_B7M_MASK), + REGMAP_IRQ_REG(S2MPG10_IRQ_OCP_B8M, 3, S2MPG10_IRQ_OCP_B8M_MASK), + + REGMAP_IRQ_REG(S2MPG10_IRQ_OCP_B9M, 4, S2MPG10_IRQ_OCP_B9M_MASK), + REGMAP_IRQ_REG(S2MPG10_IRQ_OCP_B10M, 4, S2MPG10_IRQ_OCP_B10M_MASK), + REGMAP_IRQ_REG(S2MPG10_IRQ_WLWP_ACC, 4, S2MPG10_IRQ_WLWP_ACC_MASK), + REGMAP_IRQ_REG(S2MPG10_IRQ_SMPL_TIMEOUT, 4, S2MPG10_IRQ_SMPL_TIMEOUT_MASK), + REGMAP_IRQ_REG(S2MPG10_IRQ_WTSR_TIMEOUT, 4, S2MPG10_IRQ_WTSR_TIMEOUT_MASK), + REGMAP_IRQ_REG(S2MPG10_IRQ_SPD_SRP_PKT_RST, 4, S2MPG10_IRQ_SPD_SRP_PKT_RST_MASK), + + REGMAP_IRQ_REG(S2MPG10_IRQ_PWR_WARN_CH0, 5, S2MPG10_IRQ_PWR_WARN_CH0_MASK), + REGMAP_IRQ_REG(S2MPG10_IRQ_PWR_WARN_CH1, 5, S2MPG10_IRQ_PWR_WARN_CH1_MASK), + REGMAP_IRQ_REG(S2MPG10_IRQ_PWR_WARN_CH2, 5, S2MPG10_IRQ_PWR_WARN_CH2_MASK), + REGMAP_IRQ_REG(S2MPG10_IRQ_PWR_WARN_CH3, 5, S2MPG10_IRQ_PWR_WARN_CH3_MASK), + REGMAP_IRQ_REG(S2MPG10_IRQ_PWR_WARN_CH4, 5, S2MPG10_IRQ_PWR_WARN_CH4_MASK), + REGMAP_IRQ_REG(S2MPG10_IRQ_PWR_WARN_CH5, 5, S2MPG10_IRQ_PWR_WARN_CH5_MASK), + REGMAP_IRQ_REG(S2MPG10_IRQ_PWR_WARN_CH6, 5, S2MPG10_IRQ_PWR_WARN_CH6_MASK), + REGMAP_IRQ_REG(S2MPG10_IRQ_PWR_WARN_CH7, 5, S2MPG10_IRQ_PWR_WARN_CH7_MASK), +}; + static const struct regmap_irq s2mps11_irqs[] = { [S2MPS11_IRQ_PWRONF] = { .reg_offset = 0, @@ -320,6 +375,16 @@ static const struct regmap_irq s5m8767_irqs[] = { }, }; +static const struct regmap_irq_chip s2mpg10_irq_chip = { + .name = "s2mpg10", + .irqs = s2mpg10_irqs, + .num_irqs = ARRAY_SIZE(s2mpg10_irqs), + .num_regs = 6, + .status_base = S2MPG10_PMIC_INT1, + .mask_base = S2MPG10_PMIC_INT1M, + /* all interrupt sources are read-to-clear */ +}; + static const struct regmap_irq_chip s2mps11_irq_chip = { .name = "s2mps11", .irqs = s2mps11_irqs, @@ -402,6 +467,9 @@ int sec_irq_init(struct sec_pmic_dev *sec_pmic) case S2MPA01: sec_irq_chip = &s2mps14_irq_chip; break; + case S2MPG10: + sec_irq_chip = &s2mpg10_irq_chip; + break; case S2MPS11X: sec_irq_chip = &s2mps11_irq_chip; break; diff --git a/include/linux/mfd/samsung/core.h b/include/linux/mfd/samsung/core.h index 8a4e660854bbc955b812b4d61d4a52a0fc2f2899..c1102324172a9b6bd6072b5929a4866d6c9653fa 100644 --- a/include/linux/mfd/samsung/core.h +++ b/include/linux/mfd/samsung/core.h @@ -39,6 +39,7 @@ enum sec_device_type { S5M8767X, S2DOS05, S2MPA01, + S2MPG10, S2MPS11X, S2MPS13X, S2MPS14X, diff --git a/include/linux/mfd/samsung/irq.h b/include/linux/mfd/samsung/irq.h index 978f7af66f74842c4f8dd62c0f58a7a45aba7c34..b4805cbd949bd605004bd88cf361109d1cbbc3bf 100644 --- a/include/linux/mfd/samsung/irq.h +++ b/include/linux/mfd/samsung/irq.h @@ -57,6 +57,109 @@ enum s2mpa01_irq { #define S2MPA01_IRQ_B24_TSD_MASK (1 << 4) #define S2MPA01_IRQ_B35_TSD_MASK (1 << 5) +enum s2mpg10_irq { + /* PMIC */ + S2MPG10_IRQ_PWRONF, + S2MPG10_IRQ_PWRONR, + S2MPG10_IRQ_JIGONBF, + S2MPG10_IRQ_JIGONBR, + S2MPG10_IRQ_ACOKBF, + S2MPG10_IRQ_ACOKBR, + S2MPG10_IRQ_PWRON1S, + S2MPG10_IRQ_MRB, +#define S2MPG10_IRQ_PWRONF_MASK BIT(0) +#define S2MPG10_IRQ_PWRONR_MASK BIT(1) +#define S2MPG10_IRQ_JIGONBF_MASK BIT(2) +#define S2MPG10_IRQ_JIGONBR_MASK BIT(3) +#define S2MPG10_IRQ_ACOKBF_MASK BIT(4) +#define S2MPG10_IRQ_ACOKBR_MASK BIT(5) +#define S2MPG10_IRQ_PWRON1S_MASK BIT(6) +#define S2MPG10_IRQ_MRB_MASK BIT(7) + + S2MPG10_IRQ_RTC60S, + S2MPG10_IRQ_RTCA1, + S2MPG10_IRQ_RTCA0, + S2MPG10_IRQ_RTC1S, + S2MPG10_IRQ_WTSR_COLDRST, + S2MPG10_IRQ_WTSR, + S2MPG10_IRQ_WRST, + S2MPG10_IRQ_SMPL, +#define S2MPG10_IRQ_RTC60S_MASK BIT(0) +#define S2MPG10_IRQ_RTCA1_MASK BIT(1) +#define S2MPG10_IRQ_RTCA0_MASK BIT(2) +#define S2MPG10_IRQ_RTC1S_MASK BIT(3) +#define S2MPG10_IRQ_WTSR_COLDRST_MASK BIT(4) +#define S2MPG10_IRQ_WTSR_MASK BIT(5) +#define S2MPG10_IRQ_WRST_MASK BIT(6) +#define S2MPG10_IRQ_SMPL_MASK BIT(7) + + S2MPG10_IRQ_120C, + S2MPG10_IRQ_140C, + S2MPG10_IRQ_TSD, + S2MPG10_IRQ_PIF_TIMEOUT1, + S2MPG10_IRQ_PIF_TIMEOUT2, + S2MPG10_IRQ_SPD_PARITY_ERR, + S2MPG10_IRQ_SPD_ABNORMAL_STOP, + S2MPG10_IRQ_PMETER_OVERF, +#define S2MPG10_IRQ_INT120C_MASK BIT(0) +#define S2MPG10_IRQ_INT140C_MASK BIT(1) +#define S2MPG10_IRQ_TSD_MASK BIT(2) +#define S2MPG10_IRQ_PIF_TIMEOUT1_MASK BIT(3) +#define S2MPG10_IRQ_PIF_TIMEOUT2_MASK BIT(4) +#define S2MPG10_IRQ_SPD_PARITY_ERR_MASK BIT(5) +#define S2MPG10_IRQ_SPD_ABNORMAL_STOP_MASK BIT(6) +#define S2MPG10_IRQ_PMETER_OVERF_MASK BIT(7) + + S2MPG10_IRQ_OCP_B1M, + S2MPG10_IRQ_OCP_B2M, + S2MPG10_IRQ_OCP_B3M, + S2MPG10_IRQ_OCP_B4M, + S2MPG10_IRQ_OCP_B5M, + S2MPG10_IRQ_OCP_B6M, + S2MPG10_IRQ_OCP_B7M, + S2MPG10_IRQ_OCP_B8M, +#define S2MPG10_IRQ_OCP_B1M_MASK BIT(0) +#define S2MPG10_IRQ_OCP_B2M_MASK BIT(1) +#define S2MPG10_IRQ_OCP_B3M_MASK BIT(2) +#define S2MPG10_IRQ_OCP_B4M_MASK BIT(3) +#define S2MPG10_IRQ_OCP_B5M_MASK BIT(4) +#define S2MPG10_IRQ_OCP_B6M_MASK BIT(5) +#define S2MPG10_IRQ_OCP_B7M_MASK BIT(6) +#define S2MPG10_IRQ_OCP_B8M_MASK BIT(7) + + S2MPG10_IRQ_OCP_B9M, + S2MPG10_IRQ_OCP_B10M, + S2MPG10_IRQ_WLWP_ACC, + S2MPG10_IRQ_SMPL_TIMEOUT, + S2MPG10_IRQ_WTSR_TIMEOUT, + S2MPG10_IRQ_SPD_SRP_PKT_RST, +#define S2MPG10_IRQ_OCP_B9M_MASK BIT(0) +#define S2MPG10_IRQ_OCP_B10M_MASK BIT(1) +#define S2MPG10_IRQ_WLWP_ACC_MASK BIT(2) +#define S2MPG10_IRQ_SMPL_TIMEOUT_MASK BIT(5) +#define S2MPG10_IRQ_WTSR_TIMEOUT_MASK BIT(6) +#define S2MPG10_IRQ_SPD_SRP_PKT_RST_MASK BIT(7) + + S2MPG10_IRQ_PWR_WARN_CH0, + S2MPG10_IRQ_PWR_WARN_CH1, + S2MPG10_IRQ_PWR_WARN_CH2, + S2MPG10_IRQ_PWR_WARN_CH3, + S2MPG10_IRQ_PWR_WARN_CH4, + S2MPG10_IRQ_PWR_WARN_CH5, + S2MPG10_IRQ_PWR_WARN_CH6, + S2MPG10_IRQ_PWR_WARN_CH7, +#define S2MPG10_IRQ_PWR_WARN_CH0_MASK BIT(0) +#define S2MPG10_IRQ_PWR_WARN_CH1_MASK BIT(1) +#define S2MPG10_IRQ_PWR_WARN_CH2_MASK BIT(2) +#define S2MPG10_IRQ_PWR_WARN_CH3_MASK BIT(3) +#define S2MPG10_IRQ_PWR_WARN_CH4_MASK BIT(4) +#define S2MPG10_IRQ_PWR_WARN_CH5_MASK BIT(5) +#define S2MPG10_IRQ_PWR_WARN_CH6_MASK BIT(6) +#define S2MPG10_IRQ_PWR_WARN_CH7_MASK BIT(7) + + S2MPG10_IRQ_NR, +}; + enum s2mps11_irq { S2MPS11_IRQ_PWRONF, S2MPS11_IRQ_PWRONR, diff --git a/include/linux/mfd/samsung/rtc.h b/include/linux/mfd/samsung/rtc.h index 0204decfc9aacbf4bc93d98a256f1d956bbcd19c..51c4239a1fa6f28155711a0756b0e071b010d848 100644 --- a/include/linux/mfd/samsung/rtc.h +++ b/include/linux/mfd/samsung/rtc.h @@ -72,6 +72,37 @@ enum s2mps_rtc_reg { S2MPS_RTC_REG_MAX, }; +enum s2mpg10_rtc_reg { + S2MPG10_RTC_CTRL, + S2MPG10_RTC_UPDATE, + S2MPG10_RTC_SMPL, + S2MPG10_RTC_WTSR, + S2MPG10_RTC_CAP_SEL, + S2MPG10_RTC_MSEC, + S2MPG10_RTC_SEC, + S2MPG10_RTC_MIN, + S2MPG10_RTC_HOUR, + S2MPG10_RTC_WEEK, + S2MPG10_RTC_DAY, + S2MPG10_RTC_MON, + S2MPG10_RTC_YEAR, + S2MPG10_RTC_A0SEC, + S2MPG10_RTC_A0MIN, + S2MPG10_RTC_A0HOUR, + S2MPG10_RTC_A0WEEK, + S2MPG10_RTC_A0DAY, + S2MPG10_RTC_A0MON, + S2MPG10_RTC_A0YEAR, + S2MPG10_RTC_A1SEC, + S2MPG10_RTC_A1MIN, + S2MPG10_RTC_A1HOUR, + S2MPG10_RTC_A1WEEK, + S2MPG10_RTC_A1DAY, + S2MPG10_RTC_A1MON, + S2MPG10_RTC_A1YEAR, + S2MPG10_RTC_OSC_CTRL, +}; + #define RTC_I2C_ADDR (0x0C >> 1) #define HOUR_12 (1 << 7) @@ -124,10 +155,16 @@ enum s2mps_rtc_reg { #define ALARM_ENABLE_SHIFT 7 #define ALARM_ENABLE_MASK (1 << ALARM_ENABLE_SHIFT) +/* WTSR & SMPL registers */ #define SMPL_ENABLE_SHIFT 7 #define SMPL_ENABLE_MASK (1 << SMPL_ENABLE_SHIFT) #define WTSR_ENABLE_SHIFT 6 #define WTSR_ENABLE_MASK (1 << WTSR_ENABLE_SHIFT) +#define S2MPG10_WTSR_COLDTIMER GENMASK(6, 5) +#define S2MPG10_WTSR_COLDRST BIT(4) +#define S2MPG10_WTSR_WTSRT GENMASK(3, 1) +#define S2MPG10_WTSR_WTSR_EN BIT(0) + #endif /* __LINUX_MFD_SEC_RTC_H */ diff --git a/include/linux/mfd/samsung/s2mpg10.h b/include/linux/mfd/samsung/s2mpg10.h new file mode 100644 index 0000000000000000000000000000000000000000..778ff16ef6668ded514e8dc7242f369cb9c2d0e6 --- /dev/null +++ b/include/linux/mfd/samsung/s2mpg10.h @@ -0,0 +1,454 @@ +/* SPDX-License-Identifier: GPL-2.0+ */ +/* + * Copyright 2015 Samsung Electronics + * Copyright 2020 Google Inc + * Copyright 2025 Linaro Ltd. + */ + +#ifndef __LINUX_MFD_S2MPG10_H +#define __LINUX_MFD_S2MPG10_H + +/* Common registers (type 0x000) */ +enum s2mpg10_common_reg { + S2MPG10_COMMON_CHIPID, + S2MPG10_COMMON_INT, + S2MPG10_COMMON_INT_MASK, + S2MPG10_COMMON_SPD_CTRL1 = 0x0a, + S2MPG10_COMMON_SPD_CTRL2, + S2MPG10_COMMON_SPD_CTRL3, + S2MPG10_COMMON_MON1SEL = 0x1a, + S2MPG10_COMMON_MON2SEL, + S2MPG10_COMMON_MONR, + S2MPG10_COMMON_DEBUG_CTRL1, + S2MPG10_COMMON_DEBUG_CTRL2, + S2MPG10_COMMON_DEBUG_CTRL3, + S2MPG10_COMMON_DEBUG_CTRL4, + S2MPG10_COMMON_DEBUG_CTRL5, + S2MPG10_COMMON_DEBUG_CTRL6, + S2MPG10_COMMON_DEBUG_CTRL7, + S2MPG10_COMMON_DEBUG_CTRL8, + S2MPG10_COMMON_TEST_MODE1, + S2MPG10_COMMON_TEST_MODE2, + S2MPG10_COMMON_SPD_DEBUG1, + S2MPG10_COMMON_SPD_DEBUG2, + S2MPG10_COMMON_SPD_DEBUG3, + S2MPG10_COMMON_SPD_DEBUG4, +}; + +/* for S2MPG10_COMMON_INT and S2MPG10_COMMON_INT_MASK */ +#define S2MPG10_COMMON_INT_SRC GENMASK(7, 0) +#define S2MPG10_COMMON_INT_SRC_PMIC BIT(0) + +/* PMIC registers (type 0x100) */ +enum s2mpg10_pmic_reg { + S2MPG10_PMIC_INT1, + S2MPG10_PMIC_INT2, + S2MPG10_PMIC_INT3, + S2MPG10_PMIC_INT4, + S2MPG10_PMIC_INT5, + S2MPG10_PMIC_INT6, + S2MPG10_PMIC_INT1M, + S2MPG10_PMIC_INT2M, + S2MPG10_PMIC_INT3M, + S2MPG10_PMIC_INT4M, + S2MPG10_PMIC_INT5M, + S2MPG10_PMIC_INT6M, + S2MPG10_PMIC_STATUS1, + S2MPG10_PMIC_STATUS2, + S2MPG10_PMIC_PWRONSRC, + S2MPG10_PMIC_OFFSRC, + S2MPG10_PMIC_BU_CHG, + S2MPG10_PMIC_RTCBUF, + S2MPG10_PMIC_COMMON_CTRL1, + S2MPG10_PMIC_COMMON_CTRL2, + S2MPG10_PMIC_COMMON_CTRL3, + S2MPG10_PMIC_COMMON_CTRL4, + S2MPG10_PMIC_SMPL_WARN_CTRL, + S2MPG10_PMIC_MIMICKING_CTRL, + S2MPG10_PMIC_B1M_CTRL, + S2MPG10_PMIC_B1M_OUT1, + S2MPG10_PMIC_B1M_OUT2, + S2MPG10_PMIC_B2M_CTRL, + S2MPG10_PMIC_B2M_OUT1, + S2MPG10_PMIC_B2M_OUT2, + S2MPG10_PMIC_B3M_CTRL, + S2MPG10_PMIC_B3M_OUT1, + S2MPG10_PMIC_B3M_OUT2, + S2MPG10_PMIC_B4M_CTRL, + S2MPG10_PMIC_B4M_OUT1, + S2MPG10_PMIC_B4M_OUT2, + S2MPG10_PMIC_B5M_CTRL, + S2MPG10_PMIC_B5M_OUT1, + S2MPG10_PMIC_B5M_OUT2, + S2MPG10_PMIC_B6M_CTRL, + S2MPG10_PMIC_B6M_OUT1, + S2MPG10_PMIC_B6M_OUT2, + S2MPG10_PMIC_B7M_CTRL, + S2MPG10_PMIC_B7M_OUT1, + S2MPG10_PMIC_B7M_OUT2, + S2MPG10_PMIC_B8M_CTRL, + S2MPG10_PMIC_B8M_OUT1, + S2MPG10_PMIC_B8M_OUT2, + S2MPG10_PMIC_B9M_CTRL, + S2MPG10_PMIC_B9M_OUT1, + S2MPG10_PMIC_B9M_OUT2, + S2MPG10_PMIC_B10M_CTRL, + S2MPG10_PMIC_B10M_OUT1, + S2MPG10_PMIC_B10M_OUT2, + S2MPG10_PMIC_BUCK1M_USONIC, + S2MPG10_PMIC_BUCK2M_USONIC, + S2MPG10_PMIC_BUCK3M_USONIC, + S2MPG10_PMIC_BUCK4M_USONIC, + S2MPG10_PMIC_BUCK5M_USONIC, + S2MPG10_PMIC_BUCK6M_USONIC, + S2MPG10_PMIC_BUCK7M_USONIC, + S2MPG10_PMIC_BUCK8M_USONIC, + S2MPG10_PMIC_BUCK9M_USONIC, + S2MPG10_PMIC_BUCK10M_USONIC, + S2MPG10_PMIC_L1M_CTRL, + S2MPG10_PMIC_L2M_CTRL, + S2MPG10_PMIC_L3M_CTRL, + S2MPG10_PMIC_L4M_CTRL, + S2MPG10_PMIC_L5M_CTRL, + S2MPG10_PMIC_L6M_CTRL, + S2MPG10_PMIC_L7M_CTRL, + S2MPG10_PMIC_L8M_CTRL, + S2MPG10_PMIC_L9M_CTRL, + S2MPG10_PMIC_L10M_CTRL, + S2MPG10_PMIC_L11M_CTRL1, + S2MPG10_PMIC_L11M_CTRL2, + S2MPG10_PMIC_L12M_CTRL1, + S2MPG10_PMIC_L12M_CTRL2, + S2MPG10_PMIC_L13M_CTRL1, + S2MPG10_PMIC_L13M_CTRL2, + S2MPG10_PMIC_L14M_CTRL, + S2MPG10_PMIC_L15M_CTRL1, + S2MPG10_PMIC_L15M_CTRL2, + S2MPG10_PMIC_L16M_CTRL, + S2MPG10_PMIC_L17M_CTRL, + S2MPG10_PMIC_L18M_CTRL, + S2MPG10_PMIC_L19M_CTRL, + S2MPG10_PMIC_L20M_CTRL, + S2MPG10_PMIC_L21M_CTRL, + S2MPG10_PMIC_L22M_CTRL, + S2MPG10_PMIC_L23M_CTRL, + S2MPG10_PMIC_L24M_CTRL, + S2MPG10_PMIC_L25M_CTRL, + S2MPG10_PMIC_L26M_CTRL, + S2MPG10_PMIC_L27M_CTRL, + S2MPG10_PMIC_L28M_CTRL, + S2MPG10_PMIC_L29M_CTRL, + S2MPG10_PMIC_L30M_CTRL, + S2MPG10_PMIC_L31M_CTRL, + S2MPG10_PMIC_LDO_CTRL1, + S2MPG10_PMIC_LDO_CTRL2, + S2MPG10_PMIC_LDO_DSCH1, + S2MPG10_PMIC_LDO_DSCH2, + S2MPG10_PMIC_LDO_DSCH3, + S2MPG10_PMIC_LDO_DSCH4, + S2MPG10_PMIC_LDO_BUCK7M_HLIMIT, + S2MPG10_PMIC_LDO_BUCK7M_LLIMIT, + S2MPG10_PMIC_LDO_LDO21M_HLIMIT, + S2MPG10_PMIC_LDO_LDO21M_LLIMIT, + S2MPG10_PMIC_LDO_LDO11M_HLIMIT, + S2MPG10_PMIC_DVS_RAMP1, + S2MPG10_PMIC_DVS_RAMP2, + S2MPG10_PMIC_DVS_RAMP3, + S2MPG10_PMIC_DVS_RAMP4, + S2MPG10_PMIC_DVS_RAMP5, + S2MPG10_PMIC_DVS_RAMP6, + S2MPG10_PMIC_DVS_SYNC_CTRL1, + S2MPG10_PMIC_DVS_SYNC_CTRL2, + S2MPG10_PMIC_DVS_SYNC_CTRL3, + S2MPG10_PMIC_DVS_SYNC_CTRL4, + S2MPG10_PMIC_DVS_SYNC_CTRL5, + S2MPG10_PMIC_DVS_SYNC_CTRL6, + S2MPG10_PMIC_OFF_CTRL1, + S2MPG10_PMIC_OFF_CTRL2, + S2MPG10_PMIC_OFF_CTRL3, + S2MPG10_PMIC_OFF_CTRL4, + S2MPG10_PMIC_SEQ_CTRL1, + S2MPG10_PMIC_SEQ_CTRL2, + S2MPG10_PMIC_SEQ_CTRL3, + S2MPG10_PMIC_SEQ_CTRL4, + S2MPG10_PMIC_SEQ_CTRL5, + S2MPG10_PMIC_SEQ_CTRL6, + S2MPG10_PMIC_SEQ_CTRL7, + S2MPG10_PMIC_SEQ_CTRL8, + S2MPG10_PMIC_SEQ_CTRL9, + S2MPG10_PMIC_SEQ_CTRL10, + S2MPG10_PMIC_SEQ_CTRL11, + S2MPG10_PMIC_SEQ_CTRL12, + S2MPG10_PMIC_SEQ_CTRL13, + S2MPG10_PMIC_SEQ_CTRL14, + S2MPG10_PMIC_SEQ_CTRL15, + S2MPG10_PMIC_SEQ_CTRL16, + S2MPG10_PMIC_SEQ_CTRL17, + S2MPG10_PMIC_SEQ_CTRL18, + S2MPG10_PMIC_SEQ_CTRL19, + S2MPG10_PMIC_SEQ_CTRL20, + S2MPG10_PMIC_SEQ_CTRL21, + S2MPG10_PMIC_SEQ_CTRL22, + S2MPG10_PMIC_SEQ_CTRL23, + S2MPG10_PMIC_SEQ_CTRL24, + S2MPG10_PMIC_SEQ_CTRL25, + S2MPG10_PMIC_SEQ_CTRL26, + S2MPG10_PMIC_SEQ_CTRL27, + S2MPG10_PMIC_SEQ_CTRL28, + S2MPG10_PMIC_SEQ_CTRL29, + S2MPG10_PMIC_SEQ_CTRL30, + S2MPG10_PMIC_SEQ_CTRL31, + S2MPG10_PMIC_SEQ_CTRL32, + S2MPG10_PMIC_SEQ_CTRL33, + S2MPG10_PMIC_SEQ_CTRL34, + S2MPG10_PMIC_SEQ_CTRL35, + S2MPG10_PMIC_OFF_SEQ_CTRL1, + S2MPG10_PMIC_OFF_SEQ_CTRL2, + S2MPG10_PMIC_OFF_SEQ_CTRL3, + S2MPG10_PMIC_OFF_SEQ_CTRL4, + S2MPG10_PMIC_OFF_SEQ_CTRL5, + S2MPG10_PMIC_OFF_SEQ_CTRL6, + S2MPG10_PMIC_OFF_SEQ_CTRL7, + S2MPG10_PMIC_OFF_SEQ_CTRL8, + S2MPG10_PMIC_OFF_SEQ_CTRL9, + S2MPG10_PMIC_OFF_SEQ_CTRL10, + S2MPG10_PMIC_OFF_SEQ_CTRL11, + S2MPG10_PMIC_OFF_SEQ_CTRL12, + S2MPG10_PMIC_OFF_SEQ_CTRL13, + S2MPG10_PMIC_OFF_SEQ_CTRL14, + S2MPG10_PMIC_OFF_SEQ_CTRL15, + S2MPG10_PMIC_OFF_SEQ_CTRL16, + S2MPG10_PMIC_OFF_SEQ_CTRL17, + S2MPG10_PMIC_OFF_SEQ_CTRL18, + S2MPG10_PMIC_PCTRLSEL1, + S2MPG10_PMIC_PCTRLSEL2, + S2MPG10_PMIC_PCTRLSEL3, + S2MPG10_PMIC_PCTRLSEL4, + S2MPG10_PMIC_PCTRLSEL5, + S2MPG10_PMIC_PCTRLSEL6, + S2MPG10_PMIC_PCTRLSEL7, + S2MPG10_PMIC_PCTRLSEL8, + S2MPG10_PMIC_PCTRLSEL9, + S2MPG10_PMIC_PCTRLSEL10, + S2MPG10_PMIC_PCTRLSEL11, + S2MPG10_PMIC_PCTRLSEL12, + S2MPG10_PMIC_PCTRLSEL13, + S2MPG10_PMIC_DCTRLSEL1, + S2MPG10_PMIC_DCTRLSEL2, + S2MPG10_PMIC_DCTRLSEL3, + S2MPG10_PMIC_DCTRLSEL4, + S2MPG10_PMIC_DCTRLSEL5, + S2MPG10_PMIC_DCTRLSEL6, + S2MPG10_PMIC_DCTRLSEL7, + S2MPG10_PMIC_GPIO_CTRL1, + S2MPG10_PMIC_GPIO_CTRL2, + S2MPG10_PMIC_GPIO_CTRL3, + S2MPG10_PMIC_GPIO_CTRL4, + S2MPG10_PMIC_GPIO_CTRL5, + S2MPG10_PMIC_GPIO_CTRL6, + S2MPG10_PMIC_GPIO_CTRL7, + S2MPG10_PMIC_B2M_OCP_WARN, + S2MPG10_PMIC_B2M_OCP_WARN_X, + S2MPG10_PMIC_B2M_OCP_WARN_Y, + S2MPG10_PMIC_B2M_OCP_WARN_Z, + S2MPG10_PMIC_B3M_OCP_WARN, + S2MPG10_PMIC_B3M_OCP_WARN_X, + S2MPG10_PMIC_B3M_OCP_WARN_Y, + S2MPG10_PMIC_B3M_OCP_WARN_Z, + S2MPG10_PMIC_B10M_OCP_WARN, + S2MPG10_PMIC_B10M_OCP_WARN_X, + S2MPG10_PMIC_B10M_OCP_WARN_Y, + S2MPG10_PMIC_B10M_OCP_WARN_Z, + S2MPG10_PMIC_B2M_SOFT_OCP_WARN, + S2MPG10_PMIC_B2M_SOFT_OCP_WARN_X, + S2MPG10_PMIC_B2M_SOFT_OCP_WARN_Y, + S2MPG10_PMIC_B2M_SOFT_OCP_WARN_Z, + S2MPG10_PMIC_B3M_SOFT_OCP_WARN, + S2MPG10_PMIC_B3M_SOFT_OCP_WARN_X, + S2MPG10_PMIC_B3M_SOFT_OCP_WARN_Y, + S2MPG10_PMIC_B3M_SOFT_OCP_WARN_Z, + S2MPG10_PMIC_B10M_SOFT_OCP_WARN, + S2MPG10_PMIC_B10M_SOFT_OCP_WARN_X, + S2MPG10_PMIC_B10M_SOFT_OCP_WARN_Y, + S2MPG10_PMIC_B10M_SOFT_OCP_WARN_Z, + S2MPG10_PMIC_BUCK_OCP_EN1, + S2MPG10_PMIC_BUCK_OCP_EN2, + S2MPG10_PMIC_BUCK_OCP_PD_EN1, + S2MPG10_PMIC_BUCK_OCP_PD_EN2, + S2MPG10_PMIC_BUCK_OCP_CTRL1, + S2MPG10_PMIC_BUCK_OCP_CTRL2, + S2MPG10_PMIC_BUCK_OCP_CTRL3, + S2MPG10_PMIC_BUCK_OCP_CTRL4, + S2MPG10_PMIC_BUCK_OCP_CTRL5, + S2MPG10_PMIC_PIF_CTRL, + S2MPG10_PMIC_BUCK_HR_MODE1, + S2MPG10_PMIC_BUCK_HR_MODE2, + S2MPG10_PMIC_FAULTOUT_CTRL, + S2MPG10_PMIC_LDO_SENSE1, + S2MPG10_PMIC_LDO_SENSE2, + S2MPG10_PMIC_LDO_SENSE3, + S2MPG10_PMIC_LDO_SENSE4, +}; + +/* Meter registers (type 0xa00) */ +enum s2mpg10_meter_reg { + S2MPG10_METER_CTRL1, + S2MPG10_METER_CTRL2, + S2MPG10_METER_CTRL3, + S2MPG10_METER_CTRL4, + S2MPG10_METER_BUCKEN1, + S2MPG10_METER_BUCKEN2, + S2MPG10_METER_MUXSEL0, + S2MPG10_METER_MUXSEL1, + S2MPG10_METER_MUXSEL2, + S2MPG10_METER_MUXSEL3, + S2MPG10_METER_MUXSEL4, + S2MPG10_METER_MUXSEL5, + S2MPG10_METER_MUXSEL6, + S2MPG10_METER_MUXSEL7, + S2MPG10_METER_LPF_C0_0, + S2MPG10_METER_LPF_C0_1, + S2MPG10_METER_LPF_C0_2, + S2MPG10_METER_LPF_C0_3, + S2MPG10_METER_LPF_C0_4, + S2MPG10_METER_LPF_C0_5, + S2MPG10_METER_LPF_C0_6, + S2MPG10_METER_LPF_C0_7, + S2MPG10_METER_PWR_WARN0, + S2MPG10_METER_PWR_WARN1, + S2MPG10_METER_PWR_WARN2, + S2MPG10_METER_PWR_WARN3, + S2MPG10_METER_PWR_WARN4, + S2MPG10_METER_PWR_WARN5, + S2MPG10_METER_PWR_WARN6, + S2MPG10_METER_PWR_WARN7, + S2MPG10_METER_PWR_HYS1, + S2MPG10_METER_PWR_HYS2, + S2MPG10_METER_PWR_HYS3, + S2MPG10_METER_PWR_HYS4, + S2MPG10_METER_ACC_DATA_CH0_1 = 0x40, + S2MPG10_METER_ACC_DATA_CH0_2, + S2MPG10_METER_ACC_DATA_CH0_3, + S2MPG10_METER_ACC_DATA_CH0_4, + S2MPG10_METER_ACC_DATA_CH0_5, + S2MPG10_METER_ACC_DATA_CH0_6, + S2MPG10_METER_ACC_DATA_CH1_1, + S2MPG10_METER_ACC_DATA_CH1_2, + S2MPG10_METER_ACC_DATA_CH1_3, + S2MPG10_METER_ACC_DATA_CH1_4, + S2MPG10_METER_ACC_DATA_CH1_5, + S2MPG10_METER_ACC_DATA_CH1_6, + S2MPG10_METER_ACC_DATA_CH2_1, + S2MPG10_METER_ACC_DATA_CH2_2, + S2MPG10_METER_ACC_DATA_CH2_3, + S2MPG10_METER_ACC_DATA_CH2_4, + S2MPG10_METER_ACC_DATA_CH2_5, + S2MPG10_METER_ACC_DATA_CH2_6, + S2MPG10_METER_ACC_DATA_CH3_1, + S2MPG10_METER_ACC_DATA_CH3_2, + S2MPG10_METER_ACC_DATA_CH3_3, + S2MPG10_METER_ACC_DATA_CH3_4, + S2MPG10_METER_ACC_DATA_CH3_5, + S2MPG10_METER_ACC_DATA_CH3_6, + S2MPG10_METER_ACC_DATA_CH4_1, + S2MPG10_METER_ACC_DATA_CH4_2, + S2MPG10_METER_ACC_DATA_CH4_3, + S2MPG10_METER_ACC_DATA_CH4_4, + S2MPG10_METER_ACC_DATA_CH4_5, + S2MPG10_METER_ACC_DATA_CH4_6, + S2MPG10_METER_ACC_DATA_CH5_1, + S2MPG10_METER_ACC_DATA_CH5_2, + S2MPG10_METER_ACC_DATA_CH5_3, + S2MPG10_METER_ACC_DATA_CH5_4, + S2MPG10_METER_ACC_DATA_CH5_5, + S2MPG10_METER_ACC_DATA_CH5_6, + S2MPG10_METER_ACC_DATA_CH6_1, + S2MPG10_METER_ACC_DATA_CH6_2, + S2MPG10_METER_ACC_DATA_CH6_3, + S2MPG10_METER_ACC_DATA_CH6_4, + S2MPG10_METER_ACC_DATA_CH6_5, + S2MPG10_METER_ACC_DATA_CH6_6, + S2MPG10_METER_ACC_DATA_CH7_1, + S2MPG10_METER_ACC_DATA_CH7_2, + S2MPG10_METER_ACC_DATA_CH7_3, + S2MPG10_METER_ACC_DATA_CH7_4, + S2MPG10_METER_ACC_DATA_CH7_5, + S2MPG10_METER_ACC_DATA_CH7_6, + S2MPG10_METER_ACC_COUNT_1, + S2MPG10_METER_ACC_COUNT_2, + S2MPG10_METER_ACC_COUNT_3, + S2MPG10_METER_LPF_DATA_CH0_1, + S2MPG10_METER_LPF_DATA_CH0_2, + S2MPG10_METER_LPF_DATA_CH0_3, + S2MPG10_METER_LPF_DATA_CH1_1, + S2MPG10_METER_LPF_DATA_CH1_2, + S2MPG10_METER_LPF_DATA_CH1_3, + S2MPG10_METER_LPF_DATA_CH2_1, + S2MPG10_METER_LPF_DATA_CH2_2, + S2MPG10_METER_LPF_DATA_CH2_3, + S2MPG10_METER_LPF_DATA_CH3_1, + S2MPG10_METER_LPF_DATA_CH3_2, + S2MPG10_METER_LPF_DATA_CH3_3, + S2MPG10_METER_LPF_DATA_CH4_1, + S2MPG10_METER_LPF_DATA_CH4_2, + S2MPG10_METER_LPF_DATA_CH4_3, + S2MPG10_METER_LPF_DATA_CH5_1, + S2MPG10_METER_LPF_DATA_CH5_2, + S2MPG10_METER_LPF_DATA_CH5_3, + S2MPG10_METER_LPF_DATA_CH6_1, + S2MPG10_METER_LPF_DATA_CH6_2, + S2MPG10_METER_LPF_DATA_CH6_3, + S2MPG10_METER_LPF_DATA_CH7_1, + S2MPG10_METER_LPF_DATA_CH7_2, + S2MPG10_METER_LPF_DATA_CH7_3, + S2MPG10_METER_DSM_TRIM_OFFSET = 0xee, + S2MPG10_METER_BUCK_METER_TRIM3 = 0xf1, +}; + +/* S2MPG10 regulator IDs */ +enum s2mpg10_regulators { + S2MPG10_LDO1, + S2MPG10_LDO2, + S2MPG10_LDO3, + S2MPG10_LDO4, + S2MPG10_LDO5, + S2MPG10_LDO6, + S2MPG10_LDO7, + S2MPG10_LDO8, + S2MPG10_LDO9, + S2MPG10_LDO10, + S2MPG10_LDO11, + S2MPG10_LDO12, + S2MPG10_LDO13, + S2MPG10_LDO14, + S2MPG10_LDO15, + S2MPG10_LDO16, + S2MPG10_LDO17, + S2MPG10_LDO18, + S2MPG10_LDO19, + S2MPG10_LDO20, + S2MPG10_LDO21, + S2MPG10_LDO22, + S2MPG10_LDO23, + S2MPG10_LDO24, + S2MPG10_LDO25, + S2MPG10_LDO26, + S2MPG10_LDO27, + S2MPG10_LDO28, + S2MPG10_LDO29, + S2MPG10_LDO30, + S2MPG10_LDO31, + S2MPG10_BUCK1, + S2MPG10_BUCK2, + S2MPG10_BUCK3, + S2MPG10_BUCK4, + S2MPG10_BUCK5, + S2MPG10_BUCK6, + S2MPG10_BUCK7, + S2MPG10_BUCK8, + S2MPG10_BUCK9, + S2MPG10_BUCK10, + S2MPG10_REGULATOR_MAX, +}; + +#endif /* __LINUX_MFD_S2MPG10_H */ From patchwork Fri Mar 28 13:28:56 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Andr=C3=A9_Draszik?= X-Patchwork-Id: 14032030 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 6B0C2C28B20 for ; Fri, 28 Mar 2025 13:48:55 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:Cc:To:In-Reply-To:References :Message-Id:Content-Transfer-Encoding:Content-Type:MIME-Version:Subject:Date: From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=p70205lv5Ahwks+JMv232ptcGxJ9M60C9dRMMYjFwHs=; b=SLZOlLDFI5cqzmODdv1YTuELZF mZfrJR2IHv0+GUSNZl0Q+BesVMoWqeU4mOBvYUIFxobzT2XgWKuzA+TisigfsCXLyYyW2EreOMNUW RFI3N1Vrtn+1jmRAQdRopNINKgdYRbzIu9zf/jWix+jtr/YlurJKUY8JiDCG/yGkAlzcBe/NDNZf2 t9uhWxs7+vUBmfvJmeQTympIkuCFs56l3fxpBIpA5lj6kzUkqLkoiahbGe9DFGIv7qcLbIY2BQveO Rs/oFxTGeIbMdLEcFdvqA7LGIl8JfLuc4jxCQ4LAlCo+V1ZPu2kS5NZsINBOMSSPhybolZEZTFM+L F6yTYs/w==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98.1 #2 (Red Hat Linux)) id 1tyA4g-0000000DUSl-2dgw; Fri, 28 Mar 2025 13:48:42 +0000 Received: from mail-ed1-x52c.google.com ([2a00:1450:4864:20::52c]) by bombadil.infradead.org with esmtps (Exim 4.98.1 #2 (Red Hat Linux)) id 1ty9nY-0000000DQfp-30Ld for linux-arm-kernel@lists.infradead.org; Fri, 28 Mar 2025 13:31:01 +0000 Received: by mail-ed1-x52c.google.com with SMTP id 4fb4d7f45d1cf-5e61d91a087so3544465a12.0 for ; Fri, 28 Mar 2025 06:31:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1743168659; x=1743773459; darn=lists.infradead.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=p70205lv5Ahwks+JMv232ptcGxJ9M60C9dRMMYjFwHs=; b=erVWX7KyJHh39lpPtGo/hG65yfeLAY3zMhQVagBnbhtR0RxVHLLSTOqcWer6fPrMWm FZPy3xhcYKeVscD3oi8LjbF4U7PvgrrVnsTitM5tgVuB3EL/Z5rW19rCB/WmxkytZE5e PcQxz1w816lbnwORv8SiD5TQa3JX8JruEKIRyA2Wp6Hn6oM0OzzPBWoj8H5nUuGd/rk+ ZfWDW84xtmp/0zsS34yZ7Dr8CtM81CK+jrbv4GyaBggrb4LbkhGKAUMuwq45hUAr4ZiI 8vcNgLNvvB8UA++3lSJ6n1kenK2+ynxVp3M25AC9I2XK6Yk2FHHudMYFqAWM1wWaMwaH tdkg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743168659; x=1743773459; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=p70205lv5Ahwks+JMv232ptcGxJ9M60C9dRMMYjFwHs=; b=iwViwyMN1lmxwmU7QhQFyXU8Weoc0RjdUX8eDpPcW2EI4jJL4/TH2qkkQnnJo70CH1 PRuISX/5AqVAftQXfyuJO2np/8OIisvRLJC24dTfYBdN2pHSKwnpC4d25CaVK6TyBvMG 9PzYf1Ivzz6K0PzEHIU7q1iTCXTwDARcCiAHeyKdFrEEUE0vBW2tcprbEPH9tv8fYSiB lEjLYKsofbPgLmXQuORXxoXh8BFJvuxhztURRWSgtzq7d85Mr3v3GMStBCKHzMBpz5CO +cdcY15JUrz5cCrxAuw82nmR/l3EXsE9+tDoSdgrMrogapMN8zWwq9IdmXEEIQjG1F4s grsQ== X-Forwarded-Encrypted: i=1; AJvYcCWXjHjunuCDmHKpjQ1JnEEkoA4Yft8DCY2hmt706PfcDo4mZuHLtdLwr7gVf/5qftGqp/uKNcPEhVEXVeH+GGc8@lists.infradead.org X-Gm-Message-State: AOJu0YxyGbsW0cL0O1X/+ewMbgi6UEoqC7WpzzeXftcYaqmKXv2GzMxw //qQx8PzFeVHof7jHi5aGwEW+UtwaTH/UKPJNEKM7gf+2AS5FmaMR1qk2ONS05I= X-Gm-Gg: ASbGncuMaR7GNnPdlLGM/wxt5M+7cFAiLnzV2s73cTIp2E6yvBq1+YGOh67P0+J8MbA SlFmvifDoILRuZXJcKUKmS2s/eWM1zIM/DFNhX6uC1prwe7zWWVRbFonTo3xwgyLKDJpgOoGCYd 7c8rA1dkXewU60xLOCTGeQQXxTdXbB3X60TqrkkuoMAg1t/Q8aIpdb2EInoUJwy0A3jrcg/h0sG MKKMW4geXMhTbMUolIqfTFOfjUoA9hgMAY4n+aEgFliO1iRJGOHGCtGEdTK9p6pxYBER8wkmaD4 rcYmVfKPCy7tykgtqeCLNry/6NAd7m2BeCiTh2Aq9Bor7xV2gXvXJolRPQ2zeysXE///1dFRYW0 tMIRXq2PFsNBP70R0f345JlEq+Es9 X-Google-Smtp-Source: AGHT+IHxP2Uv5JCL7mBzhNxmy1vBuez9/wb1XD7Bn0E0BvHAW9NPQJMgxLbLOCUMtAwVk4l4WbA2Aw== X-Received: by 2002:a05:6402:2744:b0:5e5:c847:1a56 with SMTP id 4fb4d7f45d1cf-5ed8e28cdbcmr6969582a12.10.1743168658859; Fri, 28 Mar 2025 06:30:58 -0700 (PDT) Received: from puffmais.c.googlers.com (8.239.204.35.bc.googleusercontent.com. [35.204.239.8]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-5edc17e01f7sm1355284a12.79.2025.03.28.06.30.58 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 28 Mar 2025 06:30:58 -0700 (PDT) From: =?utf-8?q?Andr=C3=A9_Draszik?= Date: Fri, 28 Mar 2025 13:28:56 +0000 Subject: [PATCH v2 10/32] mfd: sec: merge separate core and irq modules MIME-Version: 1.0 Message-Id: <20250328-s2mpg10-v2-10-b54dee33fb6b@linaro.org> References: <20250328-s2mpg10-v2-0-b54dee33fb6b@linaro.org> In-Reply-To: <20250328-s2mpg10-v2-0-b54dee33fb6b@linaro.org> To: Krzysztof Kozlowski , Lee Jones , Rob Herring , Conor Dooley , Sylwester Nawrocki , Chanwoo Choi , Alim Akhtar , Michael Turquette , Stephen Boyd , Russell King , Catalin Marinas , Will Deacon , Alexandre Belloni Cc: Peter Griffin , Tudor Ambarus , Will McVicker , kernel-team@android.com, linux-kernel@vger.kernel.org, linux-samsung-soc@vger.kernel.org, devicetree@vger.kernel.org, linux-clk@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-rtc@vger.kernel.org, =?utf-8?q?Andr=C3=A9_Draszik?= , Krzysztof Kozlowski X-Mailer: b4 0.14.2 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250328_063100_758761_0913DFD5 X-CRM114-Status: GOOD ( 13.34 ) X-BeenThere: linux-arm-kernel@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-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org There is no reason to have these two kernel modules separate. Having them merged into one kernel module also slightly reduces memory consumption and module load times a little. mapped size (lsmod): before: after: sec_core 20480 sec_core 24576 sec_irq 16384 ---------------- total 36864 Section sizes (size -A): before: after: sec_core 6780 sec_core 13239 sec_irq 8046 ---------------- Total 14826 Reviewed-by: Krzysztof Kozlowski Signed-off-by: André Draszik --- Checkpatch suggests to update MAINTAINERS, but the new file is covered already due to using a wildcard. --- drivers/mfd/Makefile | 3 ++- drivers/mfd/{sec-core.c => sec-common.c} | 2 ++ drivers/mfd/sec-irq.c | 9 --------- 3 files changed, 4 insertions(+), 10 deletions(-) diff --git a/drivers/mfd/Makefile b/drivers/mfd/Makefile index b617782eca436e34084a9cd24c309801c5680390..8f315298b32a2a9ee114ed5e49e760bd8f930aee 100644 --- a/drivers/mfd/Makefile +++ b/drivers/mfd/Makefile @@ -228,7 +228,8 @@ obj-$(CONFIG_MFD_RK8XX) += rk8xx-core.o obj-$(CONFIG_MFD_RK8XX_I2C) += rk8xx-i2c.o obj-$(CONFIG_MFD_RK8XX_SPI) += rk8xx-spi.o obj-$(CONFIG_MFD_RN5T618) += rn5t618.o -obj-$(CONFIG_MFD_SEC_CORE) += sec-core.o sec-irq.o +sec-core-objs := sec-common.o sec-irq.o +obj-$(CONFIG_MFD_SEC_CORE) += sec-core.o obj-$(CONFIG_MFD_SEC_ACPM) += sec-acpm.o obj-$(CONFIG_MFD_SEC_I2C) += sec-i2c.o obj-$(CONFIG_MFD_SYSCON) += syscon.o diff --git a/drivers/mfd/sec-core.c b/drivers/mfd/sec-common.c similarity index 98% rename from drivers/mfd/sec-core.c rename to drivers/mfd/sec-common.c index c4b7abe511090d8f5ff2eb501f325cc8173b9bf5..782dec1956a5fd7bf0dbb2159f9d222ad3fea942 100644 --- a/drivers/mfd/sec-core.c +++ b/drivers/mfd/sec-common.c @@ -307,6 +307,8 @@ static int sec_pmic_resume(struct device *dev) DEFINE_SIMPLE_DEV_PM_OPS(sec_pmic_pm_ops, sec_pmic_suspend, sec_pmic_resume); EXPORT_SYMBOL_GPL(sec_pmic_pm_ops); +MODULE_AUTHOR("Chanwoo Choi "); +MODULE_AUTHOR("Krzysztof Kozlowski "); MODULE_AUTHOR("Sangbeom Kim "); MODULE_DESCRIPTION("Core driver for the Samsung S5M"); MODULE_LICENSE("GPL"); diff --git a/drivers/mfd/sec-irq.c b/drivers/mfd/sec-irq.c index bf86281401ac6ff05c90c2d71c84744709ed79cb..aa467e488fb5ef79d5bc7110e1ba7c26fcfa9892 100644 --- a/drivers/mfd/sec-irq.c +++ b/drivers/mfd/sec-irq.c @@ -6,7 +6,6 @@ #include #include #include -#include #include #include #include @@ -17,7 +16,6 @@ #include #include #include -#include #include #include "sec-core.h" @@ -510,10 +508,3 @@ int sec_irq_init(struct sec_pmic_dev *sec_pmic) return 0; } -EXPORT_SYMBOL_GPL(sec_irq_init); - -MODULE_AUTHOR("Sangbeom Kim "); -MODULE_AUTHOR("Chanwoo Choi "); -MODULE_AUTHOR("Krzysztof Kozlowski "); -MODULE_DESCRIPTION("Interrupt support for the S5M MFD"); -MODULE_LICENSE("GPL"); From patchwork Fri Mar 28 13:28:57 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Andr=C3=A9_Draszik?= X-Patchwork-Id: 14032037 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id C906EC28B20 for ; Fri, 28 Mar 2025 13:54:11 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:Cc:To:In-Reply-To:References :Message-Id:Content-Transfer-Encoding:Content-Type:MIME-Version:Subject:Date: From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=2UDpkJYTJ8+02Ga55OV2M/CiQAcpkegARGuSb5F8VZs=; b=tb9pJgjkryirk37M/bqa/mu1Kx qHLtJM4FJRndwcTsNt+/ytZivq30eq3qUr7WrDo561rwBixwHn4A2JTkj3oz5HvreSZ0eXZG8K9RK 5cfYkFj1uJ3/fW3OfAaCAgK19/zTlDF5yM+kauKzCKIxovdqVDzMe310v3Gk9L+e1ACRrjWvqC9Gm 4DZAwjyrsHWz6D+Z+15OMsUKkNRvkSrUNDKwgNsN5vY6jthBOMfltqbAjIZik0VMRKkHrnAAVfvxj H2siWZFtrq/iKhZrjv3h0IvQ2k1E8Qiomjh/ANRKh3LiC6cmqMCrLHSsy0neLfJoIh4goAp6eyE3B HCsPUiPQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98.1 #2 (Red Hat Linux)) id 1tyA9p-0000000DVQV-05sD; Fri, 28 Mar 2025 13:54:01 +0000 Received: from mail-ed1-x52d.google.com ([2a00:1450:4864:20::52d]) by bombadil.infradead.org with esmtps (Exim 4.98.1 #2 (Red Hat Linux)) id 1ty9nY-0000000DQgQ-3OUj for linux-arm-kernel@lists.infradead.org; Fri, 28 Mar 2025 13:31:03 +0000 Received: by mail-ed1-x52d.google.com with SMTP id 4fb4d7f45d1cf-5e5bc066283so3460711a12.0 for ; Fri, 28 Mar 2025 06:31:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1743168659; x=1743773459; darn=lists.infradead.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=2UDpkJYTJ8+02Ga55OV2M/CiQAcpkegARGuSb5F8VZs=; b=PzXQaRAuVISTG6PAmxOS+daYCqdBSsr+ZgjOwJ05SlTtfh5ErqQQMPQK/+utWQxClH C+tXIcE1ADDFwdQ7Y4ckyS/PeDZjIiGPa9UTqurjwiIHA2MA4uJ2Dv2DgmcigIGf5epa pNYBgxCeiUCxDmpseH1PJxjfJB3X3j+loVOz1iyOJVn6Vck5lfKXqOSmhjb7Vt4j8BMX SETGoyBQCN2r6WdV7ics5JZ/4uVLL8siYqqJl2NLIMJaRk0jLAOHzqR9vIG3cEj5mrpI 5tXNjvHpsrG8eBq3KLkX377e9wef7UhAEilE1HDvZzeb32LDKaH4smpK+pSLjGAfxxbl I3EQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743168659; x=1743773459; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=2UDpkJYTJ8+02Ga55OV2M/CiQAcpkegARGuSb5F8VZs=; b=K6NvJuREV99bBc7rylRRNNH+/rjdhdZ8FxXRjHTBh59vtnO7IIhvN9gFCifcdPHRgN hK01NjAMQfOiB9dmzaUz39pA7tDCmczITDvqTzOKrhd9NqXJkbpP6WQ/dKqL2VnX6kz3 eDBUk9v2/9rmbiVwbcZ9V3Kp+2QpFFSs0g6HxZP/VCZqKPPF/xwFsbzHsw5+Ld7bQI/E mJhS5r0cN4CTrEK6YS7oQQWsvEmhFU7kk0u0x40HJyZ+JsybbUkkqA3u9vgleIsnsaIx tMzXgLKW8c1jcOMVaVBeyGRhejf5ADW9vUFSZL0D+LcB1qyAjaoGNiqPFs4Q9AHn6zx8 x8fg== X-Forwarded-Encrypted: i=1; AJvYcCX+uM1Jp0PVpOLcUnn5A6fQ//8DCIDcVwWCDidjPX0+2dW3b7aB7Iej3Sz3XUJIzfwV3e/XC5ok07/HrjUOyv4p@lists.infradead.org X-Gm-Message-State: AOJu0YwNhRRdgbFeOjo2fxthm7ambR53XbLNcVJZ3ggKQnGr6DHLRPQ0 MSPQpxvpjt4omWY6Ea2WIfuRHuQpJHP7JRW6CGLfpymc4pdTFDdlk4QGRlWYsoM= X-Gm-Gg: ASbGnctLEoPpCyJmDgN1WG/QhH9vFH6YX65V1DyLm0jGmlW0yclp8aHDeD5sQOIvP7Y Br/gS2JftKCr6C9aEiWstyNn+UOfHYGKwptrxA/oFTvTjmSj/9JBxclN0/EI8kzuktVRaAN1p6C TKbl+IMxaXByWZHJFWVQ5IPaqyEBO6Y65lFQAiBLB0UbgF7zYroZt9XxnyXHmkC1r8OgiCbJ5m5 BycbZNSfZMTPdQYfrSTbZ6sPP91aMKpWM+HcQGh9U+3mpu34vMx6LaS6sCeRVzs3A3R8Phn1UjO a29B5G+54GZpIlycY+vPo3M6FIq9pLXsgCuB24ScrzbP7N/rWmHtfMzSBEDP4dP1Jv/fdgmfrdW PfVERPoEt1EnhJWSwhk1qou7q9zNz X-Google-Smtp-Source: AGHT+IHY77zJB2+ZvJcaGKZHiHxoVE2X4zdszR83ffWy9ORQ0cPQA29Aq9xL4S7dGRJozxmx6Qfd9w== X-Received: by 2002:a05:6402:3554:b0:5ec:96a6:e1cd with SMTP id 4fb4d7f45d1cf-5ed8e061508mr6757044a12.2.1743168659356; Fri, 28 Mar 2025 06:30:59 -0700 (PDT) Received: from puffmais.c.googlers.com (8.239.204.35.bc.googleusercontent.com. [35.204.239.8]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-5edc17e01f7sm1355284a12.79.2025.03.28.06.30.58 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 28 Mar 2025 06:30:59 -0700 (PDT) From: =?utf-8?q?Andr=C3=A9_Draszik?= Date: Fri, 28 Mar 2025 13:28:57 +0000 Subject: [PATCH v2 11/32] mfd: sec: fix open parenthesis alignment (multiple) MIME-Version: 1.0 Message-Id: <20250328-s2mpg10-v2-11-b54dee33fb6b@linaro.org> References: <20250328-s2mpg10-v2-0-b54dee33fb6b@linaro.org> In-Reply-To: <20250328-s2mpg10-v2-0-b54dee33fb6b@linaro.org> To: Krzysztof Kozlowski , Lee Jones , Rob Herring , Conor Dooley , Sylwester Nawrocki , Chanwoo Choi , Alim Akhtar , Michael Turquette , Stephen Boyd , Russell King , Catalin Marinas , Will Deacon , Alexandre Belloni Cc: Peter Griffin , Tudor Ambarus , Will McVicker , kernel-team@android.com, linux-kernel@vger.kernel.org, linux-samsung-soc@vger.kernel.org, devicetree@vger.kernel.org, linux-clk@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-rtc@vger.kernel.org, =?utf-8?q?Andr=C3=A9_Draszik?= X-Mailer: b4 0.14.2 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250328_063100_847640_6FDAD86C X-CRM114-Status: GOOD ( 11.67 ) X-BeenThere: linux-arm-kernel@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-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org checkpatch complains about unexpected alignment issues in this file - update the code accordingly. Signed-off-by: André Draszik --- v2: * make new alignment more readable (Krzysztof) --- drivers/mfd/sec-common.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/drivers/mfd/sec-common.c b/drivers/mfd/sec-common.c index 782dec1956a5fd7bf0dbb2159f9d222ad3fea942..1a6f14dda825adeaeee1a677459c7399c144d553 100644 --- a/drivers/mfd/sec-common.c +++ b/drivers/mfd/sec-common.c @@ -149,9 +149,9 @@ sec_pmic_parse_dt_pdata(struct device *dev) return ERR_PTR(-ENOMEM); pd->manual_poweroff = of_property_read_bool(dev->of_node, - "samsung,s2mps11-acokb-ground"); + "samsung,s2mps11-acokb-ground"); pd->disable_wrstbi = of_property_read_bool(dev->of_node, - "samsung,s2mps11-wrstbi-ground"); + "samsung,s2mps11-wrstbi-ground"); return pd; } @@ -264,8 +264,8 @@ void sec_pmic_shutdown(struct device *dev) * ignore the rest. */ dev_warn(sec_pmic->dev, - "Unsupported device %lu for manual power off\n", - sec_pmic->device_type); + "Unsupported device %lu for manual power off\n", + sec_pmic->device_type); return; } From patchwork Fri Mar 28 13:28:58 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Andr=C3=A9_Draszik?= X-Patchwork-Id: 14032032 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id A3E8AC28B20 for ; Fri, 28 Mar 2025 13:52:30 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:Cc:To:In-Reply-To:References :Message-Id:Content-Transfer-Encoding:Content-Type:MIME-Version:Subject:Date: From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=pB7gFyupIzWsX2vSOEGK7q4UbjZdy1MRwKTSd+TQnVk=; b=hL3i18XfOFOLeRpIZQWspU3khE a3kWyn9GfF8Sa3vibuKxp06ZZZsvTVTGcBP0Yi1UtuR7tlKaZI0Znl0fTEIITwIuDJaoYLyV7VaP+ axFHs/vsqH1jKa3yE5HUbxMhv1mjNCetNRNV069LbA5kNOB2nCXZdgokNYEp1N11su9BZeKSrhtnq QzdPtLjulfbDMv88edBX97D4zmbUC9aTuuGwFzf45jyCg4tIDCJrMfAakaADjVJK7xnMdgfqsG2Pz RLcvTv8a+xNORf7lmSBZWQWFZ1XuPK6CMAP5SaFd3SS1MdFEdAhdnvpv/vufLWFTz5jZ/pBa9jTei wbKPjE4g==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98.1 #2 (Red Hat Linux)) id 1tyA87-0000000DV9L-1JLm; Fri, 28 Mar 2025 13:52:15 +0000 Received: from mail-ed1-x52c.google.com ([2a00:1450:4864:20::52c]) by bombadil.infradead.org with esmtps (Exim 4.98.1 #2 (Red Hat Linux)) id 1ty9nZ-0000000DQgq-1UdM for linux-arm-kernel@lists.infradead.org; Fri, 28 Mar 2025 13:31:02 +0000 Received: by mail-ed1-x52c.google.com with SMTP id 4fb4d7f45d1cf-5e5e8274a74so3529567a12.1 for ; Fri, 28 Mar 2025 06:31:01 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1743168660; x=1743773460; darn=lists.infradead.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=pB7gFyupIzWsX2vSOEGK7q4UbjZdy1MRwKTSd+TQnVk=; b=ZICqM8sQk+iqpmiuTe9Dppv3ZZg9IwxXfynhsjV6pwRnrpIGPlOys6X4QAyt4RygbH C2+yi/Mu7EMlNMkofMSJO6OcwDaEvPyUf9hP0f34awtBlxZtXNqYqTyTTRuHSejuZezE HvYTiLLyodU0Oq7Y2G9lgA7t3OYYPLHcIT5QbJgh2QxCH42gq0ae5nBYuX638bbWxJAY b3ZlM65g/5N+3wNDz9VZcHnBWPj3Plh7QhtWTX8PrvBYLMzrsyKYgFx0ES7s77FbgzzP uJlWzspy5UCY35JWDyl3jyz2b6ggBQhMb7UNk0DP4dZoe47op5qqZCZNTzrH+HubtGdV 0LTQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743168660; x=1743773460; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=pB7gFyupIzWsX2vSOEGK7q4UbjZdy1MRwKTSd+TQnVk=; b=PuM3XrE4r8IolqnS2G1x3LfOZuPMsFF/Z3TOyOLdtVjf3ead03xUWXnW7A9rWoLnWC XHB7LsJRwcUDbf31DBnmSQao9O6b8LtyrIRGH8DVV+2Rq1cOV5dfu2sR7KM/xTJfcRfo 86Fca26lq6z1r4XJ/6Ri6pN/2VpL9e/nEo6IeCrqP8MO3SWK4nQf8R4peNC3jeqibPYx EIQAfIZjebqlOdoORpjwMeOpsdtQWTU7jhkCysBxeucPawFVJbMVC8lBehpLglJ6MuGd jxYVVEsbPXVBiO1lF4U5HXNyV1Tc0fj2wV/V6vX2ahw1DFHs6zz/6AERQkwg/PsKHgB5 Vpgg== X-Forwarded-Encrypted: i=1; AJvYcCUf+PGEYyUyyXuTdMJhgmxUGX2aMHenx32XnBuHxNHNGZiN8xggf+fD88IQ5QwC+CIuu9/zcBia31d0k3vauv+s@lists.infradead.org X-Gm-Message-State: AOJu0Yx5t6mE+45NmZgvb8+K72uD+WSXoYmu9ESDoyVNNT7ewHiETz+u zTsGg+X556I+UC9Ws2jkgqHxxFIQzQ1h/kX+t++ERuP8ykTeOppImZiYYpsmAwc= X-Gm-Gg: ASbGnctNHv7e9WatsdR15QVvpf+P71VCYFjnfXnRjnV2JQTSgvn0WzkXpYUdrv1LTiE C16AmMiZlgF5TLuQ8NuVKNwLwZX6c+/llA7btXPJIkmcuNi/zclafK5HEezXzvXTrVBajPRWuCo O7AO+qgOu9IRvlZqZ4Yfdu1USdcaYT+XC+fTg9z5G2X57WoMobd4WH9CBcOSOVaFsiYQwbXPP7q NBa4xQtQwGlAWfCeSnuGANSLPyNzi5GOE6U8lZPqzJW7du284FQgEiY22/u2I68gWa50bYusTTm YA/tPC0rH3RJx5AJJ4ort+zPfeQqOj6yr4RH/aSIqzmUueweSGA7S7zvAWqmYjsMSrp2ZplTOPu tN1kc8Svrm90RYvZT4986jvdnlIPN X-Google-Smtp-Source: AGHT+IEfLeFVVKPzcq/g9M+Swoap13H4J7LtCPC0wmGIvXuvFF2fbhLbZmznj1q9fH3/uH0jyy0zcQ== X-Received: by 2002:a05:6402:2753:b0:5dc:9589:9f64 with SMTP id 4fb4d7f45d1cf-5ed8e4a9609mr7684378a12.13.1743168659884; Fri, 28 Mar 2025 06:30:59 -0700 (PDT) Received: from puffmais.c.googlers.com (8.239.204.35.bc.googleusercontent.com. [35.204.239.8]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-5edc17e01f7sm1355284a12.79.2025.03.28.06.30.59 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 28 Mar 2025 06:30:59 -0700 (PDT) From: =?utf-8?q?Andr=C3=A9_Draszik?= Date: Fri, 28 Mar 2025 13:28:58 +0000 Subject: [PATCH v2 12/32] mfd: sec: sort struct of_device_id entries and the device type switch MIME-Version: 1.0 Message-Id: <20250328-s2mpg10-v2-12-b54dee33fb6b@linaro.org> References: <20250328-s2mpg10-v2-0-b54dee33fb6b@linaro.org> In-Reply-To: <20250328-s2mpg10-v2-0-b54dee33fb6b@linaro.org> To: Krzysztof Kozlowski , Lee Jones , Rob Herring , Conor Dooley , Sylwester Nawrocki , Chanwoo Choi , Alim Akhtar , Michael Turquette , Stephen Boyd , Russell King , Catalin Marinas , Will Deacon , Alexandre Belloni Cc: Peter Griffin , Tudor Ambarus , Will McVicker , kernel-team@android.com, linux-kernel@vger.kernel.org, linux-samsung-soc@vger.kernel.org, devicetree@vger.kernel.org, linux-clk@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-rtc@vger.kernel.org, =?utf-8?q?Andr=C3=A9_Draszik?= , Krzysztof Kozlowski X-Mailer: b4 0.14.2 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250328_063101_406220_620D1042 X-CRM114-Status: GOOD ( 12.78 ) X-BeenThere: linux-arm-kernel@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-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org Sort struct of_device_id entries and the device type switch in _probe() alphabetically, which makes it easier to find the right place where to insert new entries in the future. Reviewed-by: Krzysztof Kozlowski Signed-off-by: André Draszik --- drivers/mfd/sec-i2c.c | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/drivers/mfd/sec-i2c.c b/drivers/mfd/sec-i2c.c index 8e3a365ff3e5533e27d94fa8a15dbfa639518a5f..966d116dd781ac6ab63453f641b2a68bba3945a9 100644 --- a/drivers/mfd/sec-i2c.c +++ b/drivers/mfd/sec-i2c.c @@ -154,12 +154,12 @@ static int sec_pmic_i2c_probe(struct i2c_client *client) case S2MPS15X: regmap = &s2mps15_regmap_config; break; - case S5M8767X: - regmap = &s5m8767_regmap_config; - break; case S2MPU02: regmap = &s2mpu02_regmap_config; break; + case S5M8767X: + regmap = &s5m8767_regmap_config; + break; default: regmap = &sec_regmap_config; break; @@ -184,11 +184,11 @@ static void sec_pmic_i2c_shutdown(struct i2c_client *i2c) static const struct of_device_id sec_pmic_i2c_of_match[] = { { - .compatible = "samsung,s5m8767-pmic", - .data = (void *)S5M8767X, - }, { .compatible = "samsung,s2dos05", .data = (void *)S2DOS05, + }, { + .compatible = "samsung,s2mpa01-pmic", + .data = (void *)S2MPA01, }, { .compatible = "samsung,s2mps11-pmic", .data = (void *)S2MPS11X, @@ -201,15 +201,15 @@ static const struct of_device_id sec_pmic_i2c_of_match[] = { }, { .compatible = "samsung,s2mps15-pmic", .data = (void *)S2MPS15X, - }, { - .compatible = "samsung,s2mpa01-pmic", - .data = (void *)S2MPA01, }, { .compatible = "samsung,s2mpu02-pmic", .data = (void *)S2MPU02, }, { .compatible = "samsung,s2mpu05-pmic", .data = (void *)S2MPU05, + }, { + .compatible = "samsung,s5m8767-pmic", + .data = (void *)S5M8767X, }, { }, }; From patchwork Fri Mar 28 13:28:59 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Andr=C3=A9_Draszik?= X-Patchwork-Id: 14032038 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 3CA87C28B20 for ; Fri, 28 Mar 2025 13:55:58 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:Cc:To:In-Reply-To:References :Message-Id:Content-Transfer-Encoding:Content-Type:MIME-Version:Subject:Date: From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=+VoGJVSU0pPXxfOhXBJG1TDUozXlWar2eJ++GWdYkqc=; b=kfu41h8AqKrl7eYNN+VQl5ULUQ 3yshpX4s7S8frx5z7vDOa4tPd2oPk7t9brvYmo1CechT9r/6LDswH6FqAmQ3mz975oSE4gozn20UP hLo2t7kgKkAyHB+hP4LSm5orggAPwszys3Ev1ZFwqJ8Vwi51EC+AWYyvgVInEG7+LD1EVWdoWmatJ bGdOBICvz317jxCq4N3IHw5QB4kfig6QpjIuIlkn7mE/1C7qpHVi68731R1tKdd3/laFaR7vT3ZbX GSoJIxURxp8gpyIrhPcw5pL2zqHC/8e212/baGoW773SxcNJo+mM/xX4h1ObNINe1/BeoSJ7SXMpv JVFyWAug==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98.1 #2 (Red Hat Linux)) id 1tyABX-0000000DVk5-3JCx; Fri, 28 Mar 2025 13:55:47 +0000 Received: from mail-ed1-x533.google.com ([2a00:1450:4864:20::533]) by bombadil.infradead.org with esmtps (Exim 4.98.1 #2 (Red Hat Linux)) id 1ty9na-0000000DQhM-140t for linux-arm-kernel@lists.infradead.org; Fri, 28 Mar 2025 13:31:03 +0000 Received: by mail-ed1-x533.google.com with SMTP id 4fb4d7f45d1cf-5e5dce099f4so2961155a12.1 for ; Fri, 28 Mar 2025 06:31:01 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1743168660; x=1743773460; darn=lists.infradead.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=+VoGJVSU0pPXxfOhXBJG1TDUozXlWar2eJ++GWdYkqc=; b=nOot1+dsqZt1fnP83zzr0w0MuRxffCKTJo6ji1eKX1vdsTAdrxAEjerwBscRYHlgDt VTF27q7QXlOSQ1vp7FY6jffjIu2ZY9oRXdP1DDlnapWDoqg1dZD25vVM5wKEg7IbZbP8 Eb/tcW6x94d1Ph6wNv+Bs8A8Y6Osw+PW3O8MbD3DEvEjvJCDMF+JKzO2oRLcTd8US/Oq QL/xIVVZoCiQGBaSwWVnvshK0nWfxPj0M7KNcEe7C79g0ynxjN3uh0wPi6SP6hRQQjhH 2vMx2cK1tSddQM/0tTsk0pwvZFONQaRm0KgnZPDEbXPKtCT6XmX4I8zGkgA7kVYcUdF3 p5zg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743168660; x=1743773460; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=+VoGJVSU0pPXxfOhXBJG1TDUozXlWar2eJ++GWdYkqc=; b=TwJJF1q/vxqCty/h33B4vGKddYqNO+2y/IRZnyeb+cBhSmJm2xH1U6U3u/jFIxD+xw 9AIHRN0r6LMv/d6OwgPvJGYZsptw0fmjZUZLYdmNq39BN/4HpKmhu9wZOduMwjnADP0r XI9FKqpFKkaDmXlG5CEMAFN6XO70Ny54brCQI2rc0gnOB/gujUspiumPKGovApZrJd4c B+8VSF9jKWibad6USAeBcWtqc1nrD3H+hAJqCgN47CPElDzO46DHOCf6YeitTCBL3uqo R1sRV+Cp0qJRh4Go5dy38HEBzggNdvLP8BCoau52EqavZ7nSsa98W0zkVy+FIocOEeut bAlw== X-Forwarded-Encrypted: i=1; AJvYcCWpHJEIJN9VzNVWJVcqz8Yaa+EJ6XvuyTTKDllGWWafdZ/8bmel4lBeDzkAByWD4UWWFYbJ4fGF3FWrJjbd6Q70@lists.infradead.org X-Gm-Message-State: AOJu0Yzwa+IrdZh0u3aFhxRlfojls5+EKthdSBuP0N/cubMXGfXJbrJ3 Vg0etKFtThMhaK4Q5J+M1UzANlKxi9hoDZJb9xlVzC4dnIJ5qF6AV6FIlTJ9MVA= X-Gm-Gg: ASbGncvtBGQz3TAum5U48zKOtaMGacKPlzy8ko3BExVLajUWhO/Sk8sBfnh+SmK+XoV /6eMQDasvFdwMiGINrS1pdnULcbtydjWp5fM3Ycmj1YxJ1EAYc6EngHzJVtyNk3aKdWzEhTHAi8 y33EG58l7CqMMfH3lnDEmiys+uFJX5HvFMAkMSw0t/EwRG2IH3NsqaW8A9kmucBzsyln/mt0TTm aRHPacpCTDmmtR4+sB6dq94FRGz6F4CV/7ttx4hvTN6bh0LLw0F9lO2Uirv4nyojmz00PsGEjkW d2pRseR+7ygBQGxK1THALoIzlAL3wUmrINj+AffxyGmuTEl66aA8X5IGtzKSIpzOV/qb6Mf1Oi0 0GPdK4emyVoJ4/P0VVREK/C9wduSW X-Google-Smtp-Source: AGHT+IFa1ywqWtMZSnG9pts0mMrN/sttXLfnO6tOUzdFdR1G8cdCfNjEuqB1D3yndUkb+y2vUxTGqQ== X-Received: by 2002:a05:6402:3485:b0:5e5:bfab:51f with SMTP id 4fb4d7f45d1cf-5ed8c1f880amr7936018a12.0.1743168660409; Fri, 28 Mar 2025 06:31:00 -0700 (PDT) Received: from puffmais.c.googlers.com (8.239.204.35.bc.googleusercontent.com. [35.204.239.8]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-5edc17e01f7sm1355284a12.79.2025.03.28.06.31.00 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 28 Mar 2025 06:31:00 -0700 (PDT) From: =?utf-8?q?Andr=C3=A9_Draszik?= Date: Fri, 28 Mar 2025 13:28:59 +0000 Subject: [PATCH v2 13/32] mfd: sec: use dev_err_probe() where appropriate MIME-Version: 1.0 Message-Id: <20250328-s2mpg10-v2-13-b54dee33fb6b@linaro.org> References: <20250328-s2mpg10-v2-0-b54dee33fb6b@linaro.org> In-Reply-To: <20250328-s2mpg10-v2-0-b54dee33fb6b@linaro.org> To: Krzysztof Kozlowski , Lee Jones , Rob Herring , Conor Dooley , Sylwester Nawrocki , Chanwoo Choi , Alim Akhtar , Michael Turquette , Stephen Boyd , Russell King , Catalin Marinas , Will Deacon , Alexandre Belloni Cc: Peter Griffin , Tudor Ambarus , Will McVicker , kernel-team@android.com, linux-kernel@vger.kernel.org, linux-samsung-soc@vger.kernel.org, devicetree@vger.kernel.org, linux-clk@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-rtc@vger.kernel.org, =?utf-8?q?Andr=C3=A9_Draszik?= , Krzysztof Kozlowski X-Mailer: b4 0.14.2 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250328_063102_293962_A26E08D5 X-CRM114-Status: GOOD ( 13.27 ) X-BeenThere: linux-arm-kernel@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-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org dev_err_probe() exists to simplify code and harmonise error messages, there's no reason not to use it here. While at it, harmonise some error messages. Reviewed-by: Krzysztof Kozlowski Signed-off-by: André Draszik --- drivers/mfd/sec-common.c | 6 +++--- drivers/mfd/sec-i2c.c | 10 +++------- drivers/mfd/sec-irq.c | 14 +++++++------- 3 files changed, 13 insertions(+), 17 deletions(-) diff --git a/drivers/mfd/sec-common.c b/drivers/mfd/sec-common.c index 1a6f14dda825adeaeee1a677459c7399c144d553..f4c606c5ee5a809a106b13e947464f35a926b199 100644 --- a/drivers/mfd/sec-common.c +++ b/drivers/mfd/sec-common.c @@ -229,9 +229,9 @@ int sec_pmic_probe(struct device *dev, unsigned long device_type, num_sec_devs = ARRAY_SIZE(s2mpu05_devs); break; default: - dev_err(sec_pmic->dev, "Unsupported device type %lu\n", - sec_pmic->device_type); - return -EINVAL; + return dev_err_probe(sec_pmic->dev, -EINVAL, + "Unsupported device type %lu\n", + sec_pmic->device_type); } ret = devm_mfd_add_devices(sec_pmic->dev, -1, sec_devs, num_sec_devs, NULL, 0, NULL); diff --git a/drivers/mfd/sec-i2c.c b/drivers/mfd/sec-i2c.c index 966d116dd781ac6ab63453f641b2a68bba3945a9..a107a9c1e760f90fcb59a9944b74e9a39a0d946c 100644 --- a/drivers/mfd/sec-i2c.c +++ b/drivers/mfd/sec-i2c.c @@ -134,7 +134,6 @@ static int sec_pmic_i2c_probe(struct i2c_client *client) const struct regmap_config *regmap; unsigned long device_type; struct regmap *regmap_pmic; - int ret; device_type = (unsigned long)of_device_get_match_data(&client->dev); @@ -166,12 +165,9 @@ static int sec_pmic_i2c_probe(struct i2c_client *client) } regmap_pmic = devm_regmap_init_i2c(client, regmap); - if (IS_ERR(regmap_pmic)) { - ret = PTR_ERR(regmap_pmic); - dev_err(&client->dev, "Failed to allocate register map: %d\n", - ret); - return ret; - } + if (IS_ERR(regmap_pmic)) + return dev_err_probe(&client->dev, PTR_ERR(regmap_pmic), + "regmap init failed\n"); return sec_pmic_probe(&client->dev, device_type, client->irq, regmap_pmic, client); diff --git a/drivers/mfd/sec-irq.c b/drivers/mfd/sec-irq.c index aa467e488fb5ef79d5bc7110e1ba7c26fcfa9892..9f0173c48b0c8186a2cdc1d2179db081ef2e09c4 100644 --- a/drivers/mfd/sec-irq.c +++ b/drivers/mfd/sec-irq.c @@ -487,18 +487,18 @@ int sec_irq_init(struct sec_pmic_dev *sec_pmic) sec_irq_chip = &s2mpu05_irq_chip; break; default: - dev_err(sec_pmic->dev, "Unknown device type %lu\n", - sec_pmic->device_type); - return -EINVAL; + return dev_err_probe(sec_pmic->dev, -EINVAL, + "Unsupported device type %lu\n", + sec_pmic->device_type); } ret = devm_regmap_add_irq_chip(sec_pmic->dev, sec_pmic->regmap_pmic, sec_pmic->irq, IRQF_ONESHOT, 0, sec_irq_chip, &sec_pmic->irq_data); - if (ret != 0) { - dev_err(sec_pmic->dev, "Failed to register IRQ chip: %d\n", ret); - return ret; - } + if (ret != 0) + return dev_err_probe(sec_pmic->dev, ret, + "Failed to add %s IRQ chip\n", + sec_irq_chip->name); /* * The rtc-s5m driver requests S2MPS14_IRQ_RTCA0 also for S2MPS11 From patchwork Fri Mar 28 13:29:00 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Andr=C3=A9_Draszik?= X-Patchwork-Id: 14032039 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id AF38AC28B20 for ; Fri, 28 Mar 2025 13:57:43 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:Cc:To:In-Reply-To:References :Message-Id:Content-Transfer-Encoding:Content-Type:MIME-Version:Subject:Date: From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=GcW1mWBfWGvNcEl9sJWjMnkVLrjIE7eEENFwEaEA4Go=; b=eXLfr/b8BiuOSqwgmvs43lL4Hv rw97o4CiKtUczX2ca2v0KPWQllH1f40ITDReGIVdlRY5DyAilGO2+p3DwQo1hZydA/PP31G0+Uq6C 71R/dlnOKsNAsHYfTrkGBswaT7OG+JdhTuC4hKrz9bb7ncXIPD5DVRAZC3lzLzOpyDt6cOSBzAMsg 0xDtpeFSSe7J0SgnSmp/e1yOLJiFd9FOUExOVifzIfv5mcbFFZ6SeGt1wOyLzXhfU50rzJAbxAQrZ NJWvsIA+s7suLfiAlmvynZL8x2bs2LJTI5VGQZH+9fpJ89rMk9+zQol/yC+keIbwRxreiNrT+ncPd DqFzr7sQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98.1 #2 (Red Hat Linux)) id 1tyADG-0000000DW5I-2AIl; Fri, 28 Mar 2025 13:57:34 +0000 Received: from mail-ed1-x531.google.com ([2a00:1450:4864:20::531]) by bombadil.infradead.org with esmtps (Exim 4.98.1 #2 (Red Hat Linux)) id 1ty9na-0000000DQhn-3HVx for linux-arm-kernel@lists.infradead.org; Fri, 28 Mar 2025 13:31:03 +0000 Received: by mail-ed1-x531.google.com with SMTP id 4fb4d7f45d1cf-5e61d91a087so3544555a12.0 for ; Fri, 28 Mar 2025 06:31:02 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1743168661; x=1743773461; darn=lists.infradead.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=GcW1mWBfWGvNcEl9sJWjMnkVLrjIE7eEENFwEaEA4Go=; b=zNjzlrj/EGoim1VJGqozhpldTr4B9lPGiJMXhrm+S/JB7GlgB4Q7v4ZL8MLWaY2HMU pblqBudWGYAQHTOy2/wPi3wKo86FoFgIJZEkOm40oB9Zgrt3LAaxELK3d67kQL4Cb56+ w1rq2JglkQBjZ6qbMV3jZHXGEKRdP2U8d5L/UbnK1PVxEZHmJdmSnzCIjdqXXq7Q+XJl gvigoyOkmmiXW4hd3bgRkeVKLdskh/6zTswmMd2Y4uyxu615+icx/tp7e6ywXlJYE2lq agCXxLZ7qD1QYtjmwdN1i5Sxos6Gfj5k1zWPC4CRPR2dEAXaU5CaO0adBSMFe+xS9f+M e0eA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743168661; x=1743773461; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=GcW1mWBfWGvNcEl9sJWjMnkVLrjIE7eEENFwEaEA4Go=; b=eHNZJTBVKyu/qk/uLtWmR9HDIEiI1pePyQhLM3bYkmLy2+J9CwjbfhjldBv9HakR26 kpeimfnFgZRT27M/FSyBBuoQQwD1CNfbh5HZHSAji7F5J+Px/uRBFVtrCN0EmagxgkM4 XwzcIZ3L8UQidwkTBk94rfvMWhb9ZxcsX+c36tEVEiRy90Kux4c6/GY6UhCmF5N+lnPC wkJmYI2kTmUBAaTmDELYu9+GgYeZu7JVTUbCGYzp5sAuYWqz8TiOdh8KIUlWDKl2yZfA Zk40C3Hl7ZLI4vRC/Nc08qcacUUzeOl+5Z8C3/L0OcPNHkAtY1b4doxf05dvoaI7qKZE ZVFQ== X-Forwarded-Encrypted: i=1; AJvYcCU0FgbCP1pX1pxnKoUKchs9wbGVT0XGHooO73/4DB+MZm6VeCn0XIsJVcX+iCtLBn+HLRQWPcYL9BYmxlH5+/co@lists.infradead.org X-Gm-Message-State: AOJu0Yye6ouxHQ/V9Q+9DreakalNZsI+CefWz7fD4LAGNAnvSx3AThc1 VuC2RIccAQjzUvw/vBVQucUDgrrXzS2KQPxHZr0l1ty6zZHQBZ8qSEfjcl/PeTQ= X-Gm-Gg: ASbGncuByJvSs+p5vjT8twRMLfnFNgRIPcJm5y65tRkr98TY9EuJ5A7iO/wOEUwY53w Mmf/QPKbJYjmvEg9yuqcqHT4YgYRrYSo6oOboF5HSYlS5vHurWT3bE/bJf5OneR+DU4zfKOFYdD ufodLGtTw0Ir7GaWQhLEhzitnf2dHlYsGMPP3LYxMfyClxYCm4nfa1VqFs7YUEzLJ/wc1NRYeKF nujDAwE5aKdAnxBf8l13ep3xZ3nnGXFhluZSB8CUnX80zhTRTVWJ+ek2rVU9ZDEMSRyRrYKTH4n QAzG3u/AM+n+AFQpQi3Mjt9tw3uE5wC2s3AWwd73cDVr2RD5sBfxJjHEZJgv/DTnSJuzbI37jfj OqAVT8VpsxCn0zEV9fk/4vPAQvOcW X-Google-Smtp-Source: AGHT+IFoyjCdv6rnlWEUloFhpOSmsaTb0sh0cSCSk2tmwmMxrnGI+F5Pjs7eau9btRCy52IBbxAE/A== X-Received: by 2002:a05:6402:1d4a:b0:5e5:ba77:6f24 with SMTP id 4fb4d7f45d1cf-5ed8e59e28cmr8076694a12.16.1743168660911; Fri, 28 Mar 2025 06:31:00 -0700 (PDT) Received: from puffmais.c.googlers.com (8.239.204.35.bc.googleusercontent.com. [35.204.239.8]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-5edc17e01f7sm1355284a12.79.2025.03.28.06.31.00 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 28 Mar 2025 06:31:00 -0700 (PDT) From: =?utf-8?q?Andr=C3=A9_Draszik?= Date: Fri, 28 Mar 2025 13:29:00 +0000 Subject: [PATCH v2 14/32] mfd: sec: s2dos05/s2mpu05: use explicit regmap config and drop default MIME-Version: 1.0 Message-Id: <20250328-s2mpg10-v2-14-b54dee33fb6b@linaro.org> References: <20250328-s2mpg10-v2-0-b54dee33fb6b@linaro.org> In-Reply-To: <20250328-s2mpg10-v2-0-b54dee33fb6b@linaro.org> To: Krzysztof Kozlowski , Lee Jones , Rob Herring , Conor Dooley , Sylwester Nawrocki , Chanwoo Choi , Alim Akhtar , Michael Turquette , Stephen Boyd , Russell King , Catalin Marinas , Will Deacon , Alexandre Belloni Cc: Peter Griffin , Tudor Ambarus , Will McVicker , kernel-team@android.com, linux-kernel@vger.kernel.org, linux-samsung-soc@vger.kernel.org, devicetree@vger.kernel.org, linux-clk@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-rtc@vger.kernel.org, =?utf-8?q?Andr=C3=A9_Draszik?= X-Mailer: b4 0.14.2 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250328_063102_819188_F34AE70B X-CRM114-Status: GOOD ( 18.49 ) X-BeenThere: linux-arm-kernel@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-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org When support for PMICs without compatibles was removed in commit f736d2c0caa8 ("mfd: sec: Remove PMICs without compatibles"), sec_regmap_config effectively became an orphan, because S5M8763X was the only user left of it before removal, using the default: case of the switch statement. When s2dos05 and s2mpu05 support was added in commit bf231e5febcf ("mfd: sec-core: Add support for the Samsung s2dos05") and commit ed33479b7beb ("mfd: sec: Add support for S2MPU05 PMIC"), they ended up using that orphaned regmap_config in a non-obvious way due to the default: case of the device type switch matching statement taking effect again. To make things more obvious, and to help the reader of this code while reasoning about what the intention might be here, and to ensure future additions to support new devices in this driver don't forget to add a regmap config, add an explicit regmap config for these two devices, and completely remove the generic regmap config as it becomes an orphan again that shouldn't be used by any device. Note that this commit doesn't fix the issue that s2dos05_regmap_config ands2mpu05_regmap_config really are incomplete, but I have no documentation on them. Signed-off-by: André Draszik --- v2: * squash two previously separate patches into this one (Krzysztof) --- drivers/mfd/sec-i2c.c | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/drivers/mfd/sec-i2c.c b/drivers/mfd/sec-i2c.c index a107a9c1e760f90fcb59a9944b74e9a39a0d946c..81f90003eea2a40f2caaebb49fc9494b89370e7f 100644 --- a/drivers/mfd/sec-i2c.c +++ b/drivers/mfd/sec-i2c.c @@ -61,7 +61,7 @@ static bool s2mpu02_volatile(struct device *dev, unsigned int reg) } } -static const struct regmap_config sec_regmap_config = { +static const struct regmap_config s2dos05_regmap_config = { .reg_bits = 8, .val_bits = 8, }; @@ -120,6 +120,11 @@ static const struct regmap_config s2mpu02_regmap_config = { .cache_type = REGCACHE_FLAT, }; +static const struct regmap_config s2mpu05_regmap_config = { + .reg_bits = 8, + .val_bits = 8, +}; + static const struct regmap_config s5m8767_regmap_config = { .reg_bits = 8, .val_bits = 8, @@ -138,6 +143,9 @@ static int sec_pmic_i2c_probe(struct i2c_client *client) device_type = (unsigned long)of_device_get_match_data(&client->dev); switch (device_type) { + case S2DOS05: + regmap = &s2dos05_regmap_config; + break; case S2MPA01: regmap = &s2mpa01_regmap_config; break; @@ -156,12 +164,16 @@ static int sec_pmic_i2c_probe(struct i2c_client *client) case S2MPU02: regmap = &s2mpu02_regmap_config; break; + case S2MPU05: + regmap = &s2mpu05_regmap_config; + break; case S5M8767X: regmap = &s5m8767_regmap_config; break; default: - regmap = &sec_regmap_config; - break; + return dev_err_probe(&client->dev, -ENODEV, + "Unsupported device type %lu\n", + device_type); } regmap_pmic = devm_regmap_init_i2c(client, regmap); From patchwork Fri Mar 28 13:29:01 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Andr=C3=A9_Draszik?= X-Patchwork-Id: 14032040 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id C5B8EC28B20 for ; Fri, 28 Mar 2025 13:59:31 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:Cc:To:In-Reply-To:References :Message-Id:Content-Transfer-Encoding:Content-Type:MIME-Version:Subject:Date: From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=EqGhx5PJ7AN26XxBcQwRDT/hvBtSHvxnm6hLozkr74A=; b=EZpPpFs+MeU/hsD2Va5jMhE2kw D8Vkc5Hg4XnFikDZUYNYiLh+DsvTNvipVnYYpUYVZDEbYeQCbKFUjTSJBtfe2cmhQVFEJ12ZhuG5B ZhiVSINAAEi3xFcFSPmZz2+TfuxLqGYCMQFbDbt0hz9V8i9LcqN82sNZeFhMXcYuM3LNe6URAFOxq mRBo2a+4WjCkH+0GNCg4O5j6b+dnjCNPxcoTftldBRdDx1nvApMgCdd03pQMWzC/pOP597OrAJYTj L51+yah7vASgZshMSCK/8nCUOtxUuEJuyZA2KUECHu3ecHqzuOgiCfm4qV+Gtx2L5iwilhwoRRILG 2jgVyPrg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98.1 #2 (Red Hat Linux)) id 1tyAEy-0000000DWOk-16tC; Fri, 28 Mar 2025 13:59:20 +0000 Received: from mail-ed1-x52e.google.com ([2a00:1450:4864:20::52e]) by bombadil.infradead.org with esmtps (Exim 4.98.1 #2 (Red Hat Linux)) id 1ty9nb-0000000DQht-1TN8 for linux-arm-kernel@lists.infradead.org; Fri, 28 Mar 2025 13:31:04 +0000 Received: by mail-ed1-x52e.google.com with SMTP id 4fb4d7f45d1cf-5e5cd420781so4183668a12.2 for ; Fri, 28 Mar 2025 06:31:02 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1743168661; x=1743773461; darn=lists.infradead.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=EqGhx5PJ7AN26XxBcQwRDT/hvBtSHvxnm6hLozkr74A=; b=Pdoj0DUBf1yKxjrsaj3QAO+2jF4zdI9483Z0RxdSWQahGY6uqiNvkFJLSsQ85/e3nL py0DANqVGlNbiDAWV5V5Dq7oJ1yOl0uy+RF+Q9XlPqFAQ0pF1bXfl59SvvJZEW2B7Mdf YYdrB36mWkW4DqX0U0mD0xBUudWhoiJeEmfj6bhAy74L1Z12PdB6zFcy7dDar3Mi6irK 2ZpFK/LqXvK1H6U58fJIt6fRKk/NkevM8od/2m7/Sy2X4VaiV8KsWOa4Yd6rNeLf79Y7 H5zkMFib1WRyUCwmOD7rtBvDkPT47FSjZD43F/83RtA5jZpintXy8UcQ2CAM8bZBSL4V R+6w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743168662; x=1743773462; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=EqGhx5PJ7AN26XxBcQwRDT/hvBtSHvxnm6hLozkr74A=; b=vDhzfqA4oQBR3YUzxzIlZhl5XrDjhUqnyfkmt68zxPocBJc0q7nbN2EniYpohtS0m+ 0rcB+hNSSj+1hcIHg9wFu5HF0m7fXG+2GmCNDJcsJVbIDPCuLEJ0XAeEm4o6BgxIiw50 on8ZTsCRvGk/UV5+OId3pJxA/jy/bUG2tXSxx1OBjPBTgeNuuIhgmHLzVQlIoDGZno0F 1MaQgefOhmFgHuezyRLS0uIuOdgH+47bTvc7wgfIfmqD3imoikyeorZVlgmceSsTi/sR 34zrl6wMI/V8/hzsFbpdIlaFpOv5tSmYauhfWi/QDiErRapa2zIdGXgWYyWKM8ZzUW0D DUPg== X-Forwarded-Encrypted: i=1; AJvYcCWJpnZk2Ni1uM0TEG/9pXuFevPxK3uHB3YXxBQY8M1wckmxE5Erbcm/ZcK/woCQ32xsQ5bUx+9SL6ZEIgDWTGxF@lists.infradead.org X-Gm-Message-State: AOJu0Yx2D7sVYogeRikpN6RU27yiIkIjfP1hN7ndtFd3YMxTvO6JFWaf hI7Q0LTxzLxZ7jmCYuu9fOsWdYBaafEQp7jT73bkYOyawPWF4JxC7wls+G0Aipw= X-Gm-Gg: ASbGncvhkz0qyjKAuVdCXEThYBDaTB/GAFBM1ioKakNQOdK4XOyS7QTcJ+9Cv/O3vYs IFXWoiTHKAfH3pWhwOGEe1Q8ho5HoCF7EDj61O4DoxsJojujakV7xYrvwXaNC+2vQ2RAbznZtV+ hkjhSe5WTUbyXtnEmMVozl5zEs6cJu6Cv3R+oxKfrf+ksXOZTw33hEb363pETcHAlN/nItM2dfJ TwtwJ7VKZpcnIZEza65Um9BUT1wz9iKYi/3cUnzioAMDwGqcyM+b5lcCMuSrPe8r03DZq6cwsKN 8JXNKA7ZJQZZmWT4vxlP+BYtuDGY++g0MUhwmrHmHslYYeT7lcM9O/2Lvgkd68LCOaOxFwy1hAD SGeHNJM9i5qLgpjo5xK13vg0a9K2K X-Google-Smtp-Source: AGHT+IFFA9eoxZ8yzHOxTpOhNTpQABoRUZClQa2WX7rYpC3RMUD7CguVMWSVn/HPqyoqjb3+u3RckA== X-Received: by 2002:a05:6402:5187:b0:5ec:922f:7a02 with SMTP id 4fb4d7f45d1cf-5ed8e496a71mr7840054a12.10.1743168661407; Fri, 28 Mar 2025 06:31:01 -0700 (PDT) Received: from puffmais.c.googlers.com (8.239.204.35.bc.googleusercontent.com. [35.204.239.8]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-5edc17e01f7sm1355284a12.79.2025.03.28.06.31.01 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 28 Mar 2025 06:31:01 -0700 (PDT) From: =?utf-8?q?Andr=C3=A9_Draszik?= Date: Fri, 28 Mar 2025 13:29:01 +0000 Subject: [PATCH v2 15/32] mfd: sec: s2dos05: doesn't support interrupts (it seems) MIME-Version: 1.0 Message-Id: <20250328-s2mpg10-v2-15-b54dee33fb6b@linaro.org> References: <20250328-s2mpg10-v2-0-b54dee33fb6b@linaro.org> In-Reply-To: <20250328-s2mpg10-v2-0-b54dee33fb6b@linaro.org> To: Krzysztof Kozlowski , Lee Jones , Rob Herring , Conor Dooley , Sylwester Nawrocki , Chanwoo Choi , Alim Akhtar , Michael Turquette , Stephen Boyd , Russell King , Catalin Marinas , Will Deacon , Alexandre Belloni Cc: Peter Griffin , Tudor Ambarus , Will McVicker , kernel-team@android.com, linux-kernel@vger.kernel.org, linux-samsung-soc@vger.kernel.org, devicetree@vger.kernel.org, linux-clk@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-rtc@vger.kernel.org, =?utf-8?q?Andr=C3=A9_Draszik?= , Krzysztof Kozlowski X-Mailer: b4 0.14.2 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250328_063103_388128_34B0ADA2 X-CRM114-Status: GOOD ( 16.26 ) X-BeenThere: linux-arm-kernel@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-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org The commit bf231e5febcf ("mfd: sec-core: Add support for the Samsung s2dos05") adding s2dos05 support didn't add anything related to IRQ support, so I assume this works without IRQs. Rather than printing a warning message in sec_irq_init() due to the missing IRQ number, or returning an error due to a missing irq chip regmap, just return early explicitly. This will become particularly important once errors from sec_irq_init() aren't ignored anymore in an upcoming patch and helps the reader of this code while reasoning about what the intention might be here. Reviewed-by: Krzysztof Kozlowski Signed-off-by: André Draszik --- drivers/mfd/sec-irq.c | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/drivers/mfd/sec-irq.c b/drivers/mfd/sec-irq.c index 9f0173c48b0c8186a2cdc1d2179db081ef2e09c4..79a3b33441fa5ab48b4b233eb8d89b4c20c142ed 100644 --- a/drivers/mfd/sec-irq.c +++ b/drivers/mfd/sec-irq.c @@ -452,16 +452,12 @@ int sec_irq_init(struct sec_pmic_dev *sec_pmic) int type = sec_pmic->device_type; const struct regmap_irq_chip *sec_irq_chip; - if (!sec_pmic->irq) { - dev_warn(sec_pmic->dev, - "No interrupt specified, no interrupts\n"); - return 0; - } - switch (type) { case S5M8767X: sec_irq_chip = &s5m8767_irq_chip; break; + case S2DOS05: + return 0; case S2MPA01: sec_irq_chip = &s2mps14_irq_chip; break; @@ -492,6 +488,12 @@ int sec_irq_init(struct sec_pmic_dev *sec_pmic) sec_pmic->device_type); } + if (!sec_pmic->irq) { + dev_warn(sec_pmic->dev, + "No interrupt specified, no interrupts\n"); + return 0; + } + ret = devm_regmap_add_irq_chip(sec_pmic->dev, sec_pmic->regmap_pmic, sec_pmic->irq, IRQF_ONESHOT, 0, sec_irq_chip, &sec_pmic->irq_data); From patchwork Fri Mar 28 13:29:02 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Andr=C3=A9_Draszik?= X-Patchwork-Id: 14032041 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 959E4C28B20 for ; Fri, 28 Mar 2025 14:01:21 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:Cc:To:In-Reply-To:References :Message-Id:Content-Transfer-Encoding:Content-Type:MIME-Version:Subject:Date: From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=EOEB7IVKZaW1PZ6sIgI8umGsLZ0fzThiODmAgEs2dvM=; b=K7nuOoIdV7NPaHpb6DOOH+ITfx SDvrslNzV/psGzSNp6ot6u/NV4VsBxdtNKAPCv8Bd24vluy0ATmQiTkQ6SEIIlefxotLQf/do8V5f zS0bpJO+G5yyP3KJx/h+LYFAQL8GhO51nkZkFqq8dv9f+FXZ3HvWafktlT/6MUx+wUavXW+M2gemC 523g767IZh0UcI2l2YeIob6XoLonXwSA6AZBELK/inik65fcQlhnFHlE6NkZkJHGwdHXGsAtvgEKJ PwCbN2A2VNowFhjxg9SfqSTWrTu5I0ClFLEMqJsqT6cBAYvfDEGSk14+cuBECvPaX+dKtT/tFD+7q hT/dJNkw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98.1 #2 (Red Hat Linux)) id 1tyAGh-0000000DWmY-0Wsi; Fri, 28 Mar 2025 14:01:07 +0000 Received: from mail-ed1-x531.google.com ([2a00:1450:4864:20::531]) by bombadil.infradead.org with esmtps (Exim 4.98.1 #2 (Red Hat Linux)) id 1ty9nb-0000000DQiM-2CoP for linux-arm-kernel@lists.infradead.org; Fri, 28 Mar 2025 13:31:04 +0000 Received: by mail-ed1-x531.google.com with SMTP id 4fb4d7f45d1cf-5e614da8615so4054012a12.1 for ; Fri, 28 Mar 2025 06:31:03 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1743168662; x=1743773462; darn=lists.infradead.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=EOEB7IVKZaW1PZ6sIgI8umGsLZ0fzThiODmAgEs2dvM=; b=kSuPhoPnKGYBvB/XUCnis83rGRY5Rg8t6iPQRj80tpNOaSxTELBZ5oq8Wr9cmNx+ae eVRUs1/Fi3e2S9LDZqAhTcrW0OctHytYLL35rncZq3Z/gw6uihEcn5OjN4sAucYJ5Fzv 4e70UtblwdT31R5tSOJQS0hu9nulJ7aWtgnPPpXXh3s4Bu/HXpFJ4HUeMCUyNd4Av/38 Gc7lVhYRstlk3Mh6787JvFkni8ylZAH/hz1v9jgZqMPBZZRpCyKOH1eD1mJ2bytHPybQ ZZ0Ys9wgs023Ykjjx9kkpuhHQHQx0O1sB4kDHZKt4erySQI6ynJj8BVhhxcl6VsotNkx SehA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743168662; x=1743773462; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=EOEB7IVKZaW1PZ6sIgI8umGsLZ0fzThiODmAgEs2dvM=; b=Dk0HM/gd75vyicQsMviYejPfMIKGt0I6+nKVhVijpoSaPt4tGMExwrzp9NmmY//LQa vpFme1SPlnOoe26TBYeGxR2LwfWibwP5OEo8XanGDAAv9W9qXh7hrjtGU663uCxnsAHC n6+Ps+7ttmM2gH0qj9ThMXyk+V9jIJKotrdkGn2Lwdxrfxy+3Pv5wHBHJRWdH/jkBJNb 9Ni9mwzzHFYFsuzvzIc+gEL3QfJ3LLMNTn/ACeBkXnerHgrnC/9X/CGjnjLB04S8NCa2 bWAZrYJPLnL1TKkpGsiS0i/hiniQ9frEErTMB5bGI8RkzI3DcLhvIGkev3hmhgnvBBTG fWkg== X-Forwarded-Encrypted: i=1; AJvYcCVnXhMbg9LIcLVLf3vTiOr2FTGrX+3nhWcQLlVrsSO4RLc80lI18N1F05up8Znj0KKKU2cdQvokmNipUG44z8uj@lists.infradead.org X-Gm-Message-State: AOJu0YypRvJLdvQAFEN8HY9WmhZXQ+mjruC6tUkq7Gxo3SDg28TBBDuP nBAbtAmnCWS9ZDQyvfbpAk5SHJso+rk6CUf0gfPNvApKX5sNDWTajgom0NxUuIU= X-Gm-Gg: ASbGncseSYjczDRgAfYl3Lc3WB9J8wZe3BFLzFUH9RH1zfmRHCcP8KWCWaoswM5ggla JgiEYhdVFBxJwLIcbUPSLFigJGebMiNQKElafeja71K1tkh1T8GWXFa9tVV2j0pF4zJrRqZ93oZ oQSI/UEs1NmEfqHHSOOaZ4h0GY644Pok1QZsouqzr9or4h3w8mx8rxRCU5zCeKNJaqwXsRX1rPh /3K+4UxkjHlrtIArq7pJ2AptxwbXdY96iJ9uBtGaWENO6fjR5NbS9UYZrjgUliV4ApXF60BpCpU j4wz+hTZB09ezTZn3NrJfFTe+RSjMviil9n4ayCOIXqAKhi7ufNQi7WGmuPI66NaaMUPwX0AweA ig8dI4Z3EbDAXcfVk+PNfNwEtf/9C X-Google-Smtp-Source: AGHT+IENTriv0ZKQDvxOFGqnTo7xSy+uELps+TAzZydZP4h3NfKqEFYmhwGmgFpAh/R37lkn+8E27g== X-Received: by 2002:a05:6402:1ecd:b0:5e5:ba77:6f42 with SMTP id 4fb4d7f45d1cf-5edc44c9935mr2924122a12.4.1743168662019; Fri, 28 Mar 2025 06:31:02 -0700 (PDT) Received: from puffmais.c.googlers.com (8.239.204.35.bc.googleusercontent.com. [35.204.239.8]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-5edc17e01f7sm1355284a12.79.2025.03.28.06.31.01 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 28 Mar 2025 06:31:01 -0700 (PDT) From: =?utf-8?q?Andr=C3=A9_Draszik?= Date: Fri, 28 Mar 2025 13:29:02 +0000 Subject: [PATCH v2 16/32] mfd: sec: don't ignore errors from sec_irq_init() MIME-Version: 1.0 Message-Id: <20250328-s2mpg10-v2-16-b54dee33fb6b@linaro.org> References: <20250328-s2mpg10-v2-0-b54dee33fb6b@linaro.org> In-Reply-To: <20250328-s2mpg10-v2-0-b54dee33fb6b@linaro.org> To: Krzysztof Kozlowski , Lee Jones , Rob Herring , Conor Dooley , Sylwester Nawrocki , Chanwoo Choi , Alim Akhtar , Michael Turquette , Stephen Boyd , Russell King , Catalin Marinas , Will Deacon , Alexandre Belloni Cc: Peter Griffin , Tudor Ambarus , Will McVicker , kernel-team@android.com, linux-kernel@vger.kernel.org, linux-samsung-soc@vger.kernel.org, devicetree@vger.kernel.org, linux-clk@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-rtc@vger.kernel.org, =?utf-8?q?Andr=C3=A9_Draszik?= , Krzysztof Kozlowski X-Mailer: b4 0.14.2 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250328_063103_565699_9FD09E38 X-CRM114-Status: GOOD ( 11.93 ) X-BeenThere: linux-arm-kernel@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-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org sec_irq_init() can fail, we shouldn't continue and ignore the error in that case, but actually error out. Reviewed-by: Krzysztof Kozlowski Signed-off-by: André Draszik --- drivers/mfd/sec-common.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/drivers/mfd/sec-common.c b/drivers/mfd/sec-common.c index f4c606c5ee5a809a106b13e947464f35a926b199..bb0eb3c2d9a260ddf2fb110cc255f08a0d25230d 100644 --- a/drivers/mfd/sec-common.c +++ b/drivers/mfd/sec-common.c @@ -183,7 +183,9 @@ int sec_pmic_probe(struct device *dev, unsigned long device_type, sec_pmic->pdata = pdata; - sec_irq_init(sec_pmic); + ret = sec_irq_init(sec_pmic); + if (ret) + return ret; pm_runtime_set_active(sec_pmic->dev); From patchwork Fri Mar 28 13:29:03 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Andr=C3=A9_Draszik?= X-Patchwork-Id: 14032044 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 65622C28B20 for ; Fri, 28 Mar 2025 14:03:08 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:Cc:To:In-Reply-To:References :Message-Id:Content-Transfer-Encoding:Content-Type:MIME-Version:Subject:Date: From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=RlfAg/7rLSoS1Ke1F+8yA+aiyZO+gcbIufljerVjsNI=; b=gO2UAh66Sj8SOcsstEO/2aK8ON 49PBwWS3rPCDLDVySy2ErHrSpwYupwTQLUg6nLe8fIT0mhZ1T21eHNXp+rRMMYcAl5lOZtp4R5+i0 Ym8KOHsd0aj+lcywH+EuQgi3t1bmC5hw4+GfPQiGTfSDBrPTJkdI86omVdNCSHfvm9Vvl3WWsBIIG BHQJNXwlaVCEjBSHfro/2J4800Ivwcj/UBhoOOidg8sn1Y+6hZXXSHF2Ov3vhDMDV3GorZFbkWg66 J92NF5qKHJRsMDHIkKhVN6XEastRAdMa0bHnOpxTYb/It2Dqop1jmGNSBPtr6wB2dUba+A3VHrDzo P+m47huw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98.1 #2 (Red Hat Linux)) id 1tyAIO-0000000DX7z-3M59; Fri, 28 Mar 2025 14:02:52 +0000 Received: from mail-ed1-x530.google.com ([2a00:1450:4864:20::530]) by bombadil.infradead.org with esmtps (Exim 4.98.1 #2 (Red Hat Linux)) id 1ty9nc-0000000DQij-0DwN for linux-arm-kernel@lists.infradead.org; Fri, 28 Mar 2025 13:31:05 +0000 Received: by mail-ed1-x530.google.com with SMTP id 4fb4d7f45d1cf-5e6167d0536so311950a12.1 for ; Fri, 28 Mar 2025 06:31:03 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1743168663; x=1743773463; darn=lists.infradead.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=RlfAg/7rLSoS1Ke1F+8yA+aiyZO+gcbIufljerVjsNI=; b=oyuCysqJtwrCTUbnqPE8zfiXZddsQFevQeebUwFsxN8CHWc4zpIpmbdhAp3grHcp/6 0hI33zDLfL/UzI90MBhPKhKhBDpnFqoBLETvAjgBdtg+sFqdirXGo0X68QA9LgsMMVQo rOF997LJ3CSAbM8E0tBn1cvuAz016GtJR+oQqGTWlpDzSkmxD9fz9bgcn4m7kmR2oBIz o2GwawKmS979wcDH7dLFkQu7RiZyvokNrIS65ZoUIVJiSFdNHWDL4kCGRkYyj0rnN3Op 0MzfLZWnCphzWEtsWbYr83q9Mvtfmvp9W2D9OYQ4niv0FBHthjpgpGRrQI0EZTBQ8qgv rYPA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743168663; x=1743773463; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=RlfAg/7rLSoS1Ke1F+8yA+aiyZO+gcbIufljerVjsNI=; b=i2OwpGShouwzsvbSwWN/MEg3qytjRb9/uuoDekr8vr/MhImFHz9kEuL8zOY37kGSWZ obxto08rmWz9D8zhaGWvDS3fX5jy329fDpM/yOpfHOB1twMX+wf5ZInDCuD06pSfaorI YlYD43NEyM2De5xL01RkmNDJfqFP9qVnzBRNk+4whlhOkHgwDykX3xE7wBC0tgtafkCH GxLH6Nih8GrBdBtbbeNc5/WE4FKNUuz185lggAP7vutcD3ORdfDeKIT49Nepe6rGD9xr EZDwY92PuK5K+Axf1/+VB0uCljFQ02d6o2GHxk0EJWlnU0oi4VeHjOkps5tfWSote778 5/Zg== X-Forwarded-Encrypted: i=1; AJvYcCWG25XDiry5nfCAzjxoWjuSFlJiFbI3KNRjYRIpPlCp24BL+8+mzsCUtZIfWlNWpAkNTRwrqwrRgEX/hjXaM1zE@lists.infradead.org X-Gm-Message-State: AOJu0Yyd8lw71umRpVxN/DIw/62SE4iYdPBNjJ91hI2tYiX+E32aiivd TeL5ao/tUZUDiwnbyYNPzf1Khkom1hSQqsL7xH/+CNx9dO/c7TTa65SoVVCtwFY= X-Gm-Gg: ASbGncs21j20sF1qm0ZTCND0gmaEPN6Fyr+yYXKgjVwCwf0LrFUNj77RrtUilffxOQe z5yFLMzA8VaHIk7yPCg8ZCZDbdByzbZ9mC0Mla+uqmWtSmQy3b0D/u7QFydAwLkJ4DsHsUnFzck TGvMKQNY6DYdPRyjvmA2QIL8eNkzne2qudKV2vSn6KOgI6WsUiI8u11+5imAxAxgVXDyMY8Nnw6 qjQXZVfhAEPmXy1HVfKn0O2pzwoRKVpwwZPc+VvB5PISZbPWgfNMmFeYnUGkFWOV0WDQNKaqq/i UxVEl2ieEyWUhCLv4TEs5/wx000Z1PerblbGsoygzFwoY3gNb2l4gySvxCR6vgGh0BNUUphBO1v Ii+6Wo1teQ6JU8P4UBUB5xilcCrRH X-Google-Smtp-Source: AGHT+IE0dtnKjtCZHZKjoZR/7zYAQaAO0Ef9xCaVRLiZP5a5mCNoA/66zq9oZtEH5A6PFmv8Us35Lg== X-Received: by 2002:a05:6402:524a:b0:5ed:1841:18c5 with SMTP id 4fb4d7f45d1cf-5ed8ee288c7mr7337352a12.30.1743168662613; Fri, 28 Mar 2025 06:31:02 -0700 (PDT) Received: from puffmais.c.googlers.com (8.239.204.35.bc.googleusercontent.com. [35.204.239.8]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-5edc17e01f7sm1355284a12.79.2025.03.28.06.31.02 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 28 Mar 2025 06:31:02 -0700 (PDT) From: =?utf-8?q?Andr=C3=A9_Draszik?= Date: Fri, 28 Mar 2025 13:29:03 +0000 Subject: [PATCH v2 17/32] mfd: sec: rework platform data and regmap instantiating MIME-Version: 1.0 Message-Id: <20250328-s2mpg10-v2-17-b54dee33fb6b@linaro.org> References: <20250328-s2mpg10-v2-0-b54dee33fb6b@linaro.org> In-Reply-To: <20250328-s2mpg10-v2-0-b54dee33fb6b@linaro.org> To: Krzysztof Kozlowski , Lee Jones , Rob Herring , Conor Dooley , Sylwester Nawrocki , Chanwoo Choi , Alim Akhtar , Michael Turquette , Stephen Boyd , Russell King , Catalin Marinas , Will Deacon , Alexandre Belloni Cc: Peter Griffin , Tudor Ambarus , Will McVicker , kernel-team@android.com, linux-kernel@vger.kernel.org, linux-samsung-soc@vger.kernel.org, devicetree@vger.kernel.org, linux-clk@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-rtc@vger.kernel.org, =?utf-8?q?Andr=C3=A9_Draszik?= X-Mailer: b4 0.14.2 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250328_063104_112501_E4BE8C04 X-CRM114-Status: GOOD ( 13.99 ) X-BeenThere: linux-arm-kernel@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-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org Instead of a large open-coded switch statement, just add both regmap config and device type to the OF match data. This allows us to have all related information in one place, and avoids a long switch() statement. Signed-off-by: André Draszik --- v2: fix typo in platform data for "samsung,s2mps14-pmic" --- drivers/mfd/sec-i2c.c | 133 +++++++++++++++++++++++++------------------------- 1 file changed, 66 insertions(+), 67 deletions(-) diff --git a/drivers/mfd/sec-i2c.c b/drivers/mfd/sec-i2c.c index 81f90003eea2a40f2caaebb49fc9494b89370e7f..41b09f5e3c49f410604a5d47e625cbb37d7f5fa2 100644 --- a/drivers/mfd/sec-i2c.c +++ b/drivers/mfd/sec-i2c.c @@ -20,11 +20,16 @@ #include #include #include -#include #include +#include #include #include "sec-core.h" +struct sec_pmic_i2c_platform_data { + const struct regmap_config *regmap_cfg; + unsigned long device_type; +}; + static bool s2mpa01_volatile(struct device *dev, unsigned int reg) { switch (reg) { @@ -136,52 +141,20 @@ static const struct regmap_config s5m8767_regmap_config = { static int sec_pmic_i2c_probe(struct i2c_client *client) { - const struct regmap_config *regmap; - unsigned long device_type; + const struct sec_pmic_i2c_platform_data *pdata; struct regmap *regmap_pmic; - device_type = (unsigned long)of_device_get_match_data(&client->dev); - - switch (device_type) { - case S2DOS05: - regmap = &s2dos05_regmap_config; - break; - case S2MPA01: - regmap = &s2mpa01_regmap_config; - break; - case S2MPS11X: - regmap = &s2mps11_regmap_config; - break; - case S2MPS13X: - regmap = &s2mps13_regmap_config; - break; - case S2MPS14X: - regmap = &s2mps14_regmap_config; - break; - case S2MPS15X: - regmap = &s2mps15_regmap_config; - break; - case S2MPU02: - regmap = &s2mpu02_regmap_config; - break; - case S2MPU05: - regmap = &s2mpu05_regmap_config; - break; - case S5M8767X: - regmap = &s5m8767_regmap_config; - break; - default: + pdata = device_get_match_data(&client->dev); + if (!pdata) return dev_err_probe(&client->dev, -ENODEV, - "Unsupported device type %lu\n", - device_type); - } + "Unsupported device type\n"); - regmap_pmic = devm_regmap_init_i2c(client, regmap); + regmap_pmic = devm_regmap_init_i2c(client, pdata->regmap_cfg); if (IS_ERR(regmap_pmic)) return dev_err_probe(&client->dev, PTR_ERR(regmap_pmic), "regmap init failed\n"); - return sec_pmic_probe(&client->dev, device_type, client->irq, + return sec_pmic_probe(&client->dev, pdata->device_type, client->irq, regmap_pmic, client); } @@ -190,35 +163,61 @@ static void sec_pmic_i2c_shutdown(struct i2c_client *i2c) sec_pmic_shutdown(&i2c->dev); } +static const struct sec_pmic_i2c_platform_data s2dos05_data = { + .regmap_cfg = &s2dos05_regmap_config, + .device_type = S2DOS05 +}; + +static const struct sec_pmic_i2c_platform_data s2mpa01_data = { + .regmap_cfg = &s2mpa01_regmap_config, + .device_type = S2MPA01, +}; + +static const struct sec_pmic_i2c_platform_data s2mps11_data = { + .regmap_cfg = &s2mps11_regmap_config, + .device_type = S2MPS11X, +}; + +static const struct sec_pmic_i2c_platform_data s2mps13_data = { + .regmap_cfg = &s2mps13_regmap_config, + .device_type = S2MPS13X, +}; + +static const struct sec_pmic_i2c_platform_data s2mps14_data = { + .regmap_cfg = &s2mps14_regmap_config, + .device_type = S2MPS14X, +}; + +static const struct sec_pmic_i2c_platform_data s2mps15_data = { + .regmap_cfg = &s2mps15_regmap_config, + .device_type = S2MPS15X, +}; + +static const struct sec_pmic_i2c_platform_data s2mpu02_data = { + .regmap_cfg = &s2mpu02_regmap_config, + .device_type = S2MPU02, +}; + +static const struct sec_pmic_i2c_platform_data s2mpu05_data = { + .regmap_cfg = &s2mpu05_regmap_config, + .device_type = S2MPU05, +}; + +static const struct sec_pmic_i2c_platform_data s5m8767_data = { + .regmap_cfg = &s5m8767_regmap_config, + .device_type = S5M8767X, +}; + static const struct of_device_id sec_pmic_i2c_of_match[] = { - { - .compatible = "samsung,s2dos05", - .data = (void *)S2DOS05, - }, { - .compatible = "samsung,s2mpa01-pmic", - .data = (void *)S2MPA01, - }, { - .compatible = "samsung,s2mps11-pmic", - .data = (void *)S2MPS11X, - }, { - .compatible = "samsung,s2mps13-pmic", - .data = (void *)S2MPS13X, - }, { - .compatible = "samsung,s2mps14-pmic", - .data = (void *)S2MPS14X, - }, { - .compatible = "samsung,s2mps15-pmic", - .data = (void *)S2MPS15X, - }, { - .compatible = "samsung,s2mpu02-pmic", - .data = (void *)S2MPU02, - }, { - .compatible = "samsung,s2mpu05-pmic", - .data = (void *)S2MPU05, - }, { - .compatible = "samsung,s5m8767-pmic", - .data = (void *)S5M8767X, - }, + { .compatible = "samsung,s2dos05", .data = &s2dos05_data, }, + { .compatible = "samsung,s2mpa01-pmic", .data = &s2mpa01_data, }, + { .compatible = "samsung,s2mps11-pmic", .data = &s2mps11_data, }, + { .compatible = "samsung,s2mps13-pmic", .data = &s2mps13_data, }, + { .compatible = "samsung,s2mps14-pmic", .data = &s2mps14_data, }, + { .compatible = "samsung,s2mps15-pmic", .data = &s2mps15_data, }, + { .compatible = "samsung,s2mpu02-pmic", .data = &s2mpu02_data, }, + { .compatible = "samsung,s2mpu05-pmic", .data = &s2mpu05_data, }, + { .compatible = "samsung,s5m8767-pmic", .data = &s5m8767_data, }, { }, }; MODULE_DEVICE_TABLE(of, sec_pmic_i2c_of_match); From patchwork Fri Mar 28 13:29:04 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Andr=C3=A9_Draszik?= X-Patchwork-Id: 14032045 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 9363FC28B20 for ; Fri, 28 Mar 2025 14:04:51 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:Cc:To:In-Reply-To:References :Message-Id:Content-Transfer-Encoding:Content-Type:MIME-Version:Subject:Date: From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=KZ+pWW3wwfoO36sbVjoQMpP7epgDk59E8mIno/3xwfk=; b=H+jNkVhV4+SI5TZtWlx6IhniPG kFFC6Nb5LTkyIlQfhmwlkAig8N8CER0m6Dc3+QbEfoMpKc9fM/fQKnbh7d51yVOd9wuJhH+qu3ZFH NOLG9Tj1tNAxcx7gYTfPMkmp40ahvfWgK1daPCBtzSnIP+VGuxOEMGUQlumKXVI3V8EICn3IK4ZKg iF8dA/s1pTUGt/+0JmmC6KHN+H5ZpEPQtB4QGMbr6z5zru/kPmsLJQE83/0rRXieGlo7+0Filofkr OrsgIuJptsBeAI0V6Oa2Cw0bTq3K9Gwscszi0CI0TaR6Ftiq+iCaCSb/sKNmMacVPL8gVPlr2Lzd5 4loDdrCA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98.1 #2 (Red Hat Linux)) id 1tyAK7-0000000DXMy-21AL; Fri, 28 Mar 2025 14:04:39 +0000 Received: from mail-ed1-x533.google.com ([2a00:1450:4864:20::533]) by bombadil.infradead.org with esmtps (Exim 4.98.1 #2 (Red Hat Linux)) id 1ty9nc-0000000DQjJ-2keB for linux-arm-kernel@lists.infradead.org; Fri, 28 Mar 2025 13:31:05 +0000 Received: by mail-ed1-x533.google.com with SMTP id 4fb4d7f45d1cf-5e535e6739bso3576814a12.1 for ; Fri, 28 Mar 2025 06:31:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1743168663; x=1743773463; darn=lists.infradead.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=KZ+pWW3wwfoO36sbVjoQMpP7epgDk59E8mIno/3xwfk=; b=Pp21F29J16wYpv3hTEroA80nOt3KxPxtxQMGQRUU8vLpwVKrVJzHW3v6xQoRE04A5n Qyaj8xfWzSuJKS8c9urUjaUuxBoQMLlsKYI2V0Ne6Llarh+c+gVh/YfM1ajUttc9fUyR +rf5Bji2cRjzPhaLr8y3D7T8koeVrDPCapC/y65n6LqikYb8KHH145to6RdLPbn+1eC0 68sXZC3RfGS6uSpZ+Yt9Ugu2FxVvQCFllq1mMjqIq0NnmgNYpU8a/RsrAtDJNTCgxj4y SpgxxTBBv6dQgicbX0W+J+lUt7GMUfLd6uY1U6RyjTvuVR2ZbBy/ZZWuyQR5t4Z2JqI9 CSog== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743168663; x=1743773463; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=KZ+pWW3wwfoO36sbVjoQMpP7epgDk59E8mIno/3xwfk=; b=qjsYolirZHpL0RMHanlXcVeK6QWiwv5As0F0qYTBpVEruExPshH97ffkY2vdywG+Kl UCkpFO13L8LFhgA1tFWT+Y3ob0TkAnFTZr3Bvl7ZjONOmFus5dGwv7SZd7JPlFadw1E8 yJ6YEG60lIAY2/LsK2Pxc03KNdAV9ZdKT8bXzIMv/2N9Yl0NOjY+RgDkfW+U+7xQVHEy fHyL1LRzTIqX0RK8UJdGW47uU0utxq09rUdOlK80uzLBeco+L4HNgxrpCmtOJBrR9mb+ plguxUrPZNMLFWVaPkdh9HZ1wgXfc/ePr2eQjUAdWzoM0ns2nUre81udOxl5v8FW1euA GP8g== X-Forwarded-Encrypted: i=1; AJvYcCU/fzpa+LI4SHRXroxJJ/xirVi3FDFh5fE8TYQQ2guXn8CAx/9cUzQY7W2Jamp8ilwsazTTZtVwCCt7fORTkdFd@lists.infradead.org X-Gm-Message-State: AOJu0Yxm3NWUCdr6a1Jv9NjLNY5G0uw0tBpk09q5a4xR0qKVQNALOaj8 iBYGumaLTx/Bw0kCXE39R8e13860qvdg/g365FQPPmcIVwl/w5zddu0IMxJwLnI= X-Gm-Gg: ASbGncso5CH/Vifk9ym4HzRt8J6pYotz3ZOPkH1NywV2I1h2m9/Xsuqqf2wdkvv9CIY vocNX84k2Lh5z3HLhz6ZRGL0cPboY0JkPjbxGuywOkZiT13FVvHAo7Y+56tMnw1Cxc1Bv4O4l4e AiyGWZ0jxIB3KC0wO8/ilNInCiIiEcvcbD3Kk6EJXKRUzpYYH3WnwvZh18Qo0UiAqFkl5bwRpRx X1jjNZeStXFwJ9WYBwNp80knvFOPqaKnq1Xd7mhU5PzttLzXWuBtKD2CZbGlsR7R4q4hDG6kyV8 B30SHPaK7DjTKcFxtaGEowBwlSuVLBTJ3RhJ+VhVgfRRR+Ikf9nYAhibLE17gS+TVcBzxSH1ber 9XoBiOjQilpCIiiYUsZsP92vxwMuE X-Google-Smtp-Source: AGHT+IFvr+SOv6TYL/fIDoyg5ti+FaRzN3oqSR0lDemyricExzUDfIk3kNyRHZoukM47sE3VOIFENg== X-Received: by 2002:a05:6402:518d:b0:5e7:b02b:6430 with SMTP id 4fb4d7f45d1cf-5ed8f3fd122mr6774697a12.23.1743168663146; Fri, 28 Mar 2025 06:31:03 -0700 (PDT) Received: from puffmais.c.googlers.com (8.239.204.35.bc.googleusercontent.com. [35.204.239.8]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-5edc17e01f7sm1355284a12.79.2025.03.28.06.31.02 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 28 Mar 2025 06:31:02 -0700 (PDT) From: =?utf-8?q?Andr=C3=A9_Draszik?= Date: Fri, 28 Mar 2025 13:29:04 +0000 Subject: [PATCH v2 18/32] mfd: sec: change device_type to int MIME-Version: 1.0 Message-Id: <20250328-s2mpg10-v2-18-b54dee33fb6b@linaro.org> References: <20250328-s2mpg10-v2-0-b54dee33fb6b@linaro.org> In-Reply-To: <20250328-s2mpg10-v2-0-b54dee33fb6b@linaro.org> To: Krzysztof Kozlowski , Lee Jones , Rob Herring , Conor Dooley , Sylwester Nawrocki , Chanwoo Choi , Alim Akhtar , Michael Turquette , Stephen Boyd , Russell King , Catalin Marinas , Will Deacon , Alexandre Belloni Cc: Peter Griffin , Tudor Ambarus , Will McVicker , kernel-team@android.com, linux-kernel@vger.kernel.org, linux-samsung-soc@vger.kernel.org, devicetree@vger.kernel.org, linux-clk@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-rtc@vger.kernel.org, =?utf-8?q?Andr=C3=A9_Draszik?= X-Mailer: b4 0.14.2 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250328_063104_707168_77EF771E X-CRM114-Status: GOOD ( 14.94 ) X-BeenThere: linux-arm-kernel@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-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org Now that sec-i2c doesn't match device type by pointer casting anymore, we can switch the device type from unsigned long to int easily. This saves a few bytes in struct sec_pmic_dev due to member alignment. Signed-off-by: André Draszik --- drivers/mfd/sec-common.c | 9 ++++----- drivers/mfd/sec-core.h | 5 ++--- drivers/mfd/sec-i2c.c | 2 +- drivers/mfd/sec-irq.c | 5 ++--- include/linux/mfd/samsung/core.h | 2 +- 5 files changed, 10 insertions(+), 13 deletions(-) diff --git a/drivers/mfd/sec-common.c b/drivers/mfd/sec-common.c index bb0eb3c2d9a260ddf2fb110cc255f08a0d25230d..4871492548f5efde4248b5b3db74045ec8c9d676 100644 --- a/drivers/mfd/sec-common.c +++ b/drivers/mfd/sec-common.c @@ -155,9 +155,8 @@ sec_pmic_parse_dt_pdata(struct device *dev) return pd; } -int sec_pmic_probe(struct device *dev, unsigned long device_type, - unsigned int irq, struct regmap *regmap, - struct i2c_client *client) +int sec_pmic_probe(struct device *dev, int device_type, unsigned int irq, + struct regmap *regmap, struct i2c_client *client) { struct sec_platform_data *pdata; const struct mfd_cell *sec_devs; @@ -232,7 +231,7 @@ int sec_pmic_probe(struct device *dev, unsigned long device_type, break; default: return dev_err_probe(sec_pmic->dev, -EINVAL, - "Unsupported device type %lu\n", + "Unsupported device type %d\n", sec_pmic->device_type); } ret = devm_mfd_add_devices(sec_pmic->dev, -1, sec_devs, num_sec_devs, @@ -266,7 +265,7 @@ void sec_pmic_shutdown(struct device *dev) * ignore the rest. */ dev_warn(sec_pmic->dev, - "Unsupported device %lu for manual power off\n", + "Unsupported device %d for manual power off\n", sec_pmic->device_type); return; } diff --git a/drivers/mfd/sec-core.h b/drivers/mfd/sec-core.h index a0a3488924d96f69373e7569079cfefd0544ca26..92c7558ab8b0de44a52e028eeb7998e38358cb4c 100644 --- a/drivers/mfd/sec-core.h +++ b/drivers/mfd/sec-core.h @@ -14,9 +14,8 @@ struct i2c_client; extern const struct dev_pm_ops sec_pmic_pm_ops; -int sec_pmic_probe(struct device *dev, unsigned long device_type, - unsigned int irq, struct regmap *regmap, - struct i2c_client *client); +int sec_pmic_probe(struct device *dev, int device_type, unsigned int irq, + struct regmap *regmap, struct i2c_client *client); void sec_pmic_shutdown(struct device *dev); int sec_irq_init(struct sec_pmic_dev *sec_pmic); diff --git a/drivers/mfd/sec-i2c.c b/drivers/mfd/sec-i2c.c index 41b09f5e3c49f410604a5d47e625cbb37d7f5fa2..2ccb494c8c024361c78e92be71ce9c215757dd89 100644 --- a/drivers/mfd/sec-i2c.c +++ b/drivers/mfd/sec-i2c.c @@ -27,7 +27,7 @@ struct sec_pmic_i2c_platform_data { const struct regmap_config *regmap_cfg; - unsigned long device_type; + int device_type; }; static bool s2mpa01_volatile(struct device *dev, unsigned int reg) diff --git a/drivers/mfd/sec-irq.c b/drivers/mfd/sec-irq.c index 79a3b33441fa5ab48b4b233eb8d89b4c20c142ed..c4db58813059f07372679223ec570ed07f52cd73 100644 --- a/drivers/mfd/sec-irq.c +++ b/drivers/mfd/sec-irq.c @@ -449,10 +449,9 @@ static const struct regmap_irq_chip s5m8767_irq_chip = { int sec_irq_init(struct sec_pmic_dev *sec_pmic) { int ret = 0; - int type = sec_pmic->device_type; const struct regmap_irq_chip *sec_irq_chip; - switch (type) { + switch (sec_pmic->device_type) { case S5M8767X: sec_irq_chip = &s5m8767_irq_chip; break; @@ -484,7 +483,7 @@ int sec_irq_init(struct sec_pmic_dev *sec_pmic) break; default: return dev_err_probe(sec_pmic->dev, -EINVAL, - "Unsupported device type %lu\n", + "Unsupported device type %d\n", sec_pmic->device_type); } diff --git a/include/linux/mfd/samsung/core.h b/include/linux/mfd/samsung/core.h index c1102324172a9b6bd6072b5929a4866d6c9653fa..d785e101fe795a5d8f9cccf4ccc4232437e89416 100644 --- a/include/linux/mfd/samsung/core.h +++ b/include/linux/mfd/samsung/core.h @@ -67,7 +67,7 @@ struct sec_pmic_dev { struct regmap *regmap_pmic; struct i2c_client *i2c; - unsigned long device_type; + int device_type; int irq; struct regmap_irq_chip_data *irq_data; }; From patchwork Fri Mar 28 13:29:05 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Andr=C3=A9_Draszik?= X-Patchwork-Id: 14032046 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id DEDCFC28B20 for ; Fri, 28 Mar 2025 14:06:37 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:Cc:To:In-Reply-To:References :Message-Id:Content-Transfer-Encoding:Content-Type:MIME-Version:Subject:Date: From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=c021jwV5dbsG8JoPrCRgjZmmvCnTfk3Xe/yBggRzooI=; b=sd9Q4fgTBtjMOwIpFM0u82Rt++ WaxPPg5AImG99BIu9c28XTjpA6kAWBwaX07+aemXV2tfQzcyKeLdFa8OjC/iJSpbCyQ6yQKnevpUy KGc7NdahrmDUTFt8WYiufMPmdufc0qT1dlaCd5YA/LeKikW/tO06IoXIBY7DjdvuTEtrpZVgCoVUM s2OIaMlAdnwNMPPyow5fKrPv5NvGCbzCpuF1sQlW5bcRySWFBeYtR6iIZVyqBQe22FUxuAn+FRRmD efkVOLJmK9dJv4Yw/GBEgvvMhPycIZ71IcQSL6yJjjlVoZdIOOH3h58ziJKUQ4VRbu5dld6XlklLU aCJI4opg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98.1 #2 (Red Hat Linux)) id 1tyALp-0000000DXgI-12yH; Fri, 28 Mar 2025 14:06:25 +0000 Received: from mail-ed1-x52d.google.com ([2a00:1450:4864:20::52d]) by bombadil.infradead.org with esmtps (Exim 4.98.1 #2 (Red Hat Linux)) id 1ty9nd-0000000DQjd-0vfq for linux-arm-kernel@lists.infradead.org; Fri, 28 Mar 2025 13:31:06 +0000 Received: by mail-ed1-x52d.google.com with SMTP id 4fb4d7f45d1cf-5eb5ecf3217so3960574a12.3 for ; Fri, 28 Mar 2025 06:31:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1743168664; x=1743773464; darn=lists.infradead.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=c021jwV5dbsG8JoPrCRgjZmmvCnTfk3Xe/yBggRzooI=; b=xzhTbMLAqih5DP0heQtUzbec6jymJti8bnL1gnpUouAhlgFCmbEdQlUEeRKQHF+CK2 8N+AHnE5QrTNgTFgLmLUUkfZBCR+nIWD3eIckZ1gINZuuMlwz9tvZoBBlkjf/2JMNw6d sTpA2TK3/wFnX9Bzb/E2KdwQpXsaKMk0UJ3MIhzkvQk+pL8YH63K+GTPW7GKU6vSmLac 0NCzdYEzyz+YVZLXrPXHB+7meii+qVGiK4gKhh7aWWkyd9nC+rB7T9zHtP30AodHVypH eT66eZhIti7YRtppOmPqv2l+oz3w7tJVO3pAb7zqxEev7A8zTocxZ0ZMYGCWByWSiQfR p4tg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743168664; x=1743773464; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=c021jwV5dbsG8JoPrCRgjZmmvCnTfk3Xe/yBggRzooI=; b=aXstbTko/fTxC5cz6JliwK7mmOdfEnUbY76wVrdYUmMP1OISSkqvdphlzdwiHE29HH FI2o690Ai8wyNVihxWMuTmcTI+evD5oldr/RqwQf40t70jt/Sg5pYLl5glGSHp0sz0hJ iIdNiDomYNQfg0i9Twlb+ci9uaTtwKyKqtckVrk+DuXmA/pEjzXcdPgXw7i1Gh0rj26l 6Whgbu/1uRM+BbEhWBdyOSCemb+7csR3x1/dHwgbH/AD89h1gGrQyNWINeErD/SlGJC/ O6+asFUDXyCflsR33Umqv6RQjAjawDiOui0l7nzWtzH6F7Li1i8c4WHddZ8nGZowf+qb N9Hg== X-Forwarded-Encrypted: i=1; AJvYcCUlHUUJEM2VCo1IOvb0nOLGoBwLYVlTv6iFwVMsg4K1ccmLPW91ivb5ZNBwqIX8jrggOaPI3t3h/fvis8PMGXFv@lists.infradead.org X-Gm-Message-State: AOJu0YwmcjCjWj275vQwUBttiOJ2z/iuFPKRAqF66LbON+4lYJbFP70k vr+OKyp/oePi3qrHak5Pq4O0RDp57gZGafkgu7XWr56kEy/Fa+kDK+DNoulIUZ8= X-Gm-Gg: ASbGnctRq9g45Sqpf+/YfT45fJqq/Wv2AQM+83SMY4mEVb7SdyxfxoyoNKa2hCXQ+Rk cpWmS9Dh5x4aEqcJmws5lw3ZK4CTzTOskq++XAUBccDpu3YVL51MfzbEfU4FN8Sp3QBUlPoZ8bf BwfiWu+IPPAvyT4lISnFX7nyI0lB41RlDwtZBtTRt6DOjOTTivTnJy/9yCFrzeAen3YFPXqGF8L F8Jb+H3ZV8HL2XbFEFIYvTF5rs7gshMhbgXkOzVXmnLFI18AelCZFjcB7l46Dv7ep2JPc3F7/fU wzFi2Au1LUew2Y5qM5XpyBQ9DYXXbLSbZmvGB0LwI+QZ3OPqEMSfGKuY/WLZ7Rnvnxc2kzgBWea iPC68zGPrecHMi1ZkX11hpl2uC3Wv X-Google-Smtp-Source: AGHT+IH7/8CmVUYmY+VoEFkvACO8hVh6RcnR9A51bOSMoMHldWSTPOqvDoAP3eGhyaAbNPpxpMZqQg== X-Received: by 2002:a05:6402:5109:b0:5e6:e842:f9eb with SMTP id 4fb4d7f45d1cf-5ed8ec1e7f5mr6687208a12.21.1743168663711; Fri, 28 Mar 2025 06:31:03 -0700 (PDT) Received: from puffmais.c.googlers.com (8.239.204.35.bc.googleusercontent.com. [35.204.239.8]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-5edc17e01f7sm1355284a12.79.2025.03.28.06.31.03 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 28 Mar 2025 06:31:03 -0700 (PDT) From: =?utf-8?q?Andr=C3=A9_Draszik?= Date: Fri, 28 Mar 2025 13:29:05 +0000 Subject: [PATCH v2 19/32] mfd: sec: don't compare against NULL / 0 for errors, use ! MIME-Version: 1.0 Message-Id: <20250328-s2mpg10-v2-19-b54dee33fb6b@linaro.org> References: <20250328-s2mpg10-v2-0-b54dee33fb6b@linaro.org> In-Reply-To: <20250328-s2mpg10-v2-0-b54dee33fb6b@linaro.org> To: Krzysztof Kozlowski , Lee Jones , Rob Herring , Conor Dooley , Sylwester Nawrocki , Chanwoo Choi , Alim Akhtar , Michael Turquette , Stephen Boyd , Russell King , Catalin Marinas , Will Deacon , Alexandre Belloni Cc: Peter Griffin , Tudor Ambarus , Will McVicker , kernel-team@android.com, linux-kernel@vger.kernel.org, linux-samsung-soc@vger.kernel.org, devicetree@vger.kernel.org, linux-clk@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-rtc@vger.kernel.org, =?utf-8?q?Andr=C3=A9_Draszik?= X-Mailer: b4 0.14.2 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250328_063105_260115_B0E4255A X-CRM114-Status: GOOD ( 13.84 ) X-BeenThere: linux-arm-kernel@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-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org Follow general style and use if (!arg) instead of comparing against NULL. While at it, drop a useless init in sec-irq.c. Signed-off-by: André Draszik --- drivers/mfd/sec-common.c | 2 +- drivers/mfd/sec-irq.c | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/mfd/sec-common.c b/drivers/mfd/sec-common.c index 4871492548f5efde4248b5b3db74045ec8c9d676..55edeb0f73ff4643f23b9759b115658d3bf03e9a 100644 --- a/drivers/mfd/sec-common.c +++ b/drivers/mfd/sec-common.c @@ -164,7 +164,7 @@ int sec_pmic_probe(struct device *dev, int device_type, unsigned int irq, int ret, num_sec_devs; sec_pmic = devm_kzalloc(dev, sizeof(struct sec_pmic_dev), GFP_KERNEL); - if (sec_pmic == NULL) + if (!sec_pmic) return -ENOMEM; dev_set_drvdata(dev, sec_pmic); diff --git a/drivers/mfd/sec-irq.c b/drivers/mfd/sec-irq.c index c4db58813059f07372679223ec570ed07f52cd73..5cd9667a21e9e8b052b2ef0b5d2991369bffe8bb 100644 --- a/drivers/mfd/sec-irq.c +++ b/drivers/mfd/sec-irq.c @@ -448,8 +448,8 @@ static const struct regmap_irq_chip s5m8767_irq_chip = { int sec_irq_init(struct sec_pmic_dev *sec_pmic) { - int ret = 0; const struct regmap_irq_chip *sec_irq_chip; + int ret; switch (sec_pmic->device_type) { case S5M8767X: @@ -496,7 +496,7 @@ int sec_irq_init(struct sec_pmic_dev *sec_pmic) ret = devm_regmap_add_irq_chip(sec_pmic->dev, sec_pmic->regmap_pmic, sec_pmic->irq, IRQF_ONESHOT, 0, sec_irq_chip, &sec_pmic->irq_data); - if (ret != 0) + if (ret) return dev_err_probe(sec_pmic->dev, ret, "Failed to add %s IRQ chip\n", sec_irq_chip->name); From patchwork Fri Mar 28 13:29:06 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Andr=C3=A9_Draszik?= X-Patchwork-Id: 14032047 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 83677C36011 for ; Fri, 28 Mar 2025 14:08:21 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:Cc:To:In-Reply-To:References :Message-Id:Content-Transfer-Encoding:Content-Type:MIME-Version:Subject:Date: From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=kV75c5wurwfdiB4LfjbAT+jBLqgbz3xs0SfJTGIePwA=; b=CIAB0WDUxh5wDT323a5C89JzaX ffMINHI0RIAHNBDc4ZgRF/paKp+ZrUJKv5rql2TLeqP8NDL+FOSe8fqbM2EdJ4WK/InK6wP5QbMrb 2Ppx9jPBk9a93MU359PqHXXenwJeqZXpp37V7HpWFuHBv/t9OpsLDvRop/x9mTzMKahYMvmpg6gjB YOGhr3Yv+PgPqq2TblIq5ewCW7jmHkN7+ky/7beGACZSVAIDjtZwQ/rk7te/9vk8U9uYiCfRImwcr C/Rywv0i4mAP7PP1xd9uMxcvV2B08v60os8lyzhDlKKi20PwPeQzwlhA8XvLwlVS5g0p1tAp+tCq1 Qh97JYsQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98.1 #2 (Red Hat Linux)) id 1tyANW-0000000DXvr-45Ak; Fri, 28 Mar 2025 14:08:10 +0000 Received: from mail-ed1-x533.google.com ([2a00:1450:4864:20::533]) by bombadil.infradead.org with esmtps (Exim 4.98.1 #2 (Red Hat Linux)) id 1ty9nd-0000000DQk3-3PtA for linux-arm-kernel@lists.infradead.org; Fri, 28 Mar 2025 13:31:06 +0000 Received: by mail-ed1-x533.google.com with SMTP id 4fb4d7f45d1cf-5e60cfef9cfso3340294a12.2 for ; Fri, 28 Mar 2025 06:31:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1743168664; x=1743773464; darn=lists.infradead.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=kV75c5wurwfdiB4LfjbAT+jBLqgbz3xs0SfJTGIePwA=; b=y6k2s6QkTT8zUmymsMFjg2xikzvOJbei51AlxOjwrEP+TdJtv+4x2RTwu7IKjnUINr SPhYjmseQ/8Nf0vqy03bMCp79f6WYPEgbeX9Sc5WM7vkMgIrNCbXsZS19IdtZeuchhUp kOD6S5FhtW9IWPz7TnA34aDQerKA3UXwXNEMycMIV4FZI+Iah8WuWgKRk86hYEqe+2Mm R5glCyiq3q8h6uXCzmUZaFy74GjWZ0gXyqslyeX9KS0R6ctWJHO44N1WfkVJyEWAPH3H rxOw+wbLz1s4zhK2AyBrbovHn4lOsbX+QVYiBlW3hl8M1FzoHipH8yicTNe8Ae5E97WV 1eqw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743168664; x=1743773464; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=kV75c5wurwfdiB4LfjbAT+jBLqgbz3xs0SfJTGIePwA=; b=QEbyu4lasbxqGIu+GdhSiP41B2WkgN+fZ3zCXrnuBUUfIs6Tx0v9ZsUwv6No/3dB9/ DNXt+r6MI8IzVd6jOo079oSKKhufyVHjyZSWGu8mjkZ+YP0k7ssjKoFH4SwCz1sXlYTS b+mok5tVjPGcLYAZWUGcA6uBhlkHd3YM0/ruJT+mRN3cawDzXXCnPUPjxUAynbPbsjJC ZK4xlSstHP4zdsByUdXrDBvlv4LoY5o+VZlVC6K1N+/3RsnFLdM+MGLC0d8RWEvroN2o KjdLRrHA1WNfdNWpxtmEDkdS1O7cJGrGjBNolFeEh2VgtZ9edJgB+4fmoqOrrNMDRAa3 VhLw== X-Forwarded-Encrypted: i=1; AJvYcCXjY9V2mqrdosSEqpJXGXVxbt34HhkXSb6BIO4cAPqcDMOsOcrphz4CmCYVZobQIPF66XIuNXt/IbM+N4Vaxzjv@lists.infradead.org X-Gm-Message-State: AOJu0Yw9xB3PN+oN/2jqdfkAXY0Tr9PrTGu15D8PLe5f7rdj95qsbc1g VCYJUGdvfSTpXwvNplaRux1omTmDy6hFaGvHzhI/kITPj6UWrH1myHsbEIBtERY= X-Gm-Gg: ASbGncv1lDsqNRk2O+aHeSFMjBORsXhy8G4m/lJwDUxn9Rm898nH8O2xIVcSr+AZbAc EvFIa5O1fWT4li78dvUVtNj48mzvyxsIw0+igSTARubVZYihcn849QOfdeFoc2ajIEuT1LnkJat Ex4TvMdJDgfv5UlIHInrlgJmxbh3VlxRKJA0LFmHeIxFiB1caS+1tYJqx3AHTmcuQpWfpK1EUGb ihkBcZm07+OnfGV5mYv0SwqPxuJr/n8xB5CyPE89Bpw+uahAC4u9pRkTkGwWWxa7A4qum6NZqae We+aBmJx6eCkQuC4rLX8Rc9kUhB5p14EdvpvlFv1LS8TqBSj3hakbWU5OMqz6YeEBpz3DJMvV5e 6iUfHbOCdAUek30QBWYRZIRKKTYNX X-Google-Smtp-Source: AGHT+IH82jsJ04KqxSx2urRuI126Wc6BqmkR0wyKM63ai8QchgotV1y1Ewu8V3BijV087u2FKOXDPg== X-Received: by 2002:a05:6402:26d0:b0:5e5:c637:b69 with SMTP id 4fb4d7f45d1cf-5ed8df6b334mr7910381a12.6.1743168664240; Fri, 28 Mar 2025 06:31:04 -0700 (PDT) Received: from puffmais.c.googlers.com (8.239.204.35.bc.googleusercontent.com. [35.204.239.8]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-5edc17e01f7sm1355284a12.79.2025.03.28.06.31.03 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 28 Mar 2025 06:31:03 -0700 (PDT) From: =?utf-8?q?Andr=C3=A9_Draszik?= Date: Fri, 28 Mar 2025 13:29:06 +0000 Subject: [PATCH v2 20/32] mfd: sec: use sizeof(*var), not sizeof(struct type_of_var) MIME-Version: 1.0 Message-Id: <20250328-s2mpg10-v2-20-b54dee33fb6b@linaro.org> References: <20250328-s2mpg10-v2-0-b54dee33fb6b@linaro.org> In-Reply-To: <20250328-s2mpg10-v2-0-b54dee33fb6b@linaro.org> To: Krzysztof Kozlowski , Lee Jones , Rob Herring , Conor Dooley , Sylwester Nawrocki , Chanwoo Choi , Alim Akhtar , Michael Turquette , Stephen Boyd , Russell King , Catalin Marinas , Will Deacon , Alexandre Belloni Cc: Peter Griffin , Tudor Ambarus , Will McVicker , kernel-team@android.com, linux-kernel@vger.kernel.org, linux-samsung-soc@vger.kernel.org, devicetree@vger.kernel.org, linux-clk@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-rtc@vger.kernel.org, =?utf-8?q?Andr=C3=A9_Draszik?= X-Mailer: b4 0.14.2 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250328_063105_858323_CDD4BB3B X-CRM114-Status: GOOD ( 13.08 ) X-BeenThere: linux-arm-kernel@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-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org Using sizeof(*var) is generally preferred over using the size of its open-coded type when allocating memory. This helps avoiding bugs when the variable type changes but the memory allocation isn't updated, and it simplifies renaming of the struct if ever necessary. No functional change. Signed-off-by: André Draszik --- drivers/mfd/sec-common.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/mfd/sec-common.c b/drivers/mfd/sec-common.c index 55edeb0f73ff4643f23b9759b115658d3bf03e9a..e8e35f7d5f06b522a953e8f21603e6904401c983 100644 --- a/drivers/mfd/sec-common.c +++ b/drivers/mfd/sec-common.c @@ -163,7 +163,7 @@ int sec_pmic_probe(struct device *dev, int device_type, unsigned int irq, struct sec_pmic_dev *sec_pmic; int ret, num_sec_devs; - sec_pmic = devm_kzalloc(dev, sizeof(struct sec_pmic_dev), GFP_KERNEL); + sec_pmic = devm_kzalloc(dev, sizeof(*sec_pmic), GFP_KERNEL); if (!sec_pmic) return -ENOMEM; From patchwork Fri Mar 28 13:29:07 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Andr=C3=A9_Draszik?= X-Patchwork-Id: 14032049 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 0E135C28B20 for ; Fri, 28 Mar 2025 14:10:09 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:Cc:To:In-Reply-To:References :Message-Id:Content-Transfer-Encoding:Content-Type:MIME-Version:Subject:Date: From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=AGZF3iY+lrce/peuoGWoI8dxWV9rSVtCllywJ68wEfI=; b=NM6YY3Q/HQmEEZBFQ0zwPbo1C0 +QJimWC+jgKDLuOCgt2IUBDUHA95dqy/+NqmuJ6z6yRm/6VR19VDOBYuhRBgjNjCvZrp7Oz3pycVa 8ewbm5sAxMJ/yq9LeaWUPHYZ3knJanQPkUumL8W1zhRuY2adCJxJS0xVvfiIDYplWJVrA/t0Py362 /9d8LrtiwwH4EHTB9lRgr1eIXaPMiTfuF4lYGxKiJYXDSBvMuWOl6Stk83l6GQLrGcybZDQLisyZ3 fHbwnVUIPOB+GinV+IyrOsrYMfodZ6q04tP5tTdASszihTJbJCCqiiTda1Z9mLmFZS/e56h5aG9LT Qd7YcC9w==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98.1 #2 (Red Hat Linux)) id 1tyAPE-0000000DYDu-2Gjk; Fri, 28 Mar 2025 14:09:56 +0000 Received: from mail-ed1-x530.google.com ([2a00:1450:4864:20::530]) by bombadil.infradead.org with esmtps (Exim 4.98.1 #2 (Red Hat Linux)) id 1ty9ne-0000000DQkP-1Cky for linux-arm-kernel@lists.infradead.org; Fri, 28 Mar 2025 13:31:07 +0000 Received: by mail-ed1-x530.google.com with SMTP id 4fb4d7f45d1cf-5e5e22e6ed2so3160352a12.3 for ; Fri, 28 Mar 2025 06:31:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1743168665; x=1743773465; darn=lists.infradead.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=AGZF3iY+lrce/peuoGWoI8dxWV9rSVtCllywJ68wEfI=; b=EMCqBmpJODrXYXhWJ2HduDgx/RWWqPsEjPxnvX0R+Xb3davoiwSeGelmM6EpvgvB/i AVhIDX+ZT0fQnH3F3K5GwXcmsCiXmr/XFcUbvq55epTXhIz4e1pRCeHe6KZlA4v23myH QDG5w8qhtMUBb0OFQeOb9oHG9D/VQDPS367iKpOT6nhDG5MhyMGABFpvSrEfBV7bYIR5 sUld5+9F1QnMDTitz0syI50WmXZMCCKpPxL0gck09E3nOG2bsoJdJ1zjvd6wqciQNLuP 6gycAH5EzP9VSs4/dQc7aVJVebaBZPyW1IaTiGUbNzAMc3zbNF28UVDe7zDyqp+ShhiQ uxQw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743168665; x=1743773465; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=AGZF3iY+lrce/peuoGWoI8dxWV9rSVtCllywJ68wEfI=; b=Tcnx04MLMT3j40vpPoiJ0tdwhqg85KT2l5O524qjy+I3IHnkZQTxO1gvSEH0VTIlzS PbeMqTwEyxitSocW3fAVdzL3rLex9xgLYVh12Ix9motec7T+tRDDffJUnTGN9qjJ4ntK srGu+BeR8GoD8f4/A+rV79IpqOAr5FUT7Epeq8F4toKHD9z8XQsswrTe1AhjaLQGc7zf Fg7qGSa9CtWhWQEtl6/PUXj32VY1OL+ael5h6MqIsNdXncQ5ZEAPyL/QCCKt+Y/CRe0K Gcevey7uUVxrptfDBGJE+RZDhoiungKniJNEy3sug4SMmjczHnHnf0xYUmCds5RYazZe FTmA== X-Forwarded-Encrypted: i=1; AJvYcCXNtIKjdjwc1CPWeJAcLsulkFeM8bYFSk4hEqLFMOzbpP+q1Icg84Ivna2WMYcXnX3VpyjUn94a437QX19S7gLD@lists.infradead.org X-Gm-Message-State: AOJu0YyCSYAQXsNfYCa6dCRGCpITnQIzfPg+FK/SVnLyF21fs3OQ1FDv zxhtcafeZeUYSpa8Je4gEo+6dYicCR3KeFRmf4kgq/l3xUSUH0OAVv6G8yygsfs= X-Gm-Gg: ASbGncvi5N7hrH64MxiwIGPoybu6ngOcyTpmBx0GqcNn/310w8hqPJ3Ui7Lt4fPoGeR Sx71yyixC8bVXtrTa//64cEDV0SpVw8mC13gfJmRFdX8b5pSMNP4Pwd0NODXXB+l08HA3ioKwKw G5XstCcjHbL2iY0bCOJhXo+ehudODY7MCeHJTzXQFOp+5esc77njjOQf3VPtAtjWLKKaO/gku3r 5SAhKFBP+UCHiywaUULYdEUSpTr81dJMfrhD6xs9pUFLKMBYmJspLPfwHIhj/mtGYKzWEZqedys wMBNQBXNU4oQNCStfFDhihNSG6F3hblIlanCT+a1NYeFLVRqWqXQQxDmn9TPHJsrPB7oR6+43km gKjoVgWFlhFlK0OaGHN9aRrFI1A90 X-Google-Smtp-Source: AGHT+IE/8XexhkCjt++gZyl4aQeO3RmSnHYdltcD1RaSzcc8eBzKzYT4GuhaF+2UqXAsXXHHf+aEJg== X-Received: by 2002:a17:907:84a:b0:ac7:31d5:20de with SMTP id a640c23a62f3a-ac731d52b5fmr47028466b.50.1743168664749; Fri, 28 Mar 2025 06:31:04 -0700 (PDT) Received: from puffmais.c.googlers.com (8.239.204.35.bc.googleusercontent.com. [35.204.239.8]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-5edc17e01f7sm1355284a12.79.2025.03.28.06.31.04 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 28 Mar 2025 06:31:04 -0700 (PDT) From: =?utf-8?q?Andr=C3=A9_Draszik?= Date: Fri, 28 Mar 2025 13:29:07 +0000 Subject: [PATCH v2 21/32] mfd: sec: convert to using MFD_CELL macros MIME-Version: 1.0 Message-Id: <20250328-s2mpg10-v2-21-b54dee33fb6b@linaro.org> References: <20250328-s2mpg10-v2-0-b54dee33fb6b@linaro.org> In-Reply-To: <20250328-s2mpg10-v2-0-b54dee33fb6b@linaro.org> To: Krzysztof Kozlowski , Lee Jones , Rob Herring , Conor Dooley , Sylwester Nawrocki , Chanwoo Choi , Alim Akhtar , Michael Turquette , Stephen Boyd , Russell King , Catalin Marinas , Will Deacon , Alexandre Belloni Cc: Peter Griffin , Tudor Ambarus , Will McVicker , kernel-team@android.com, linux-kernel@vger.kernel.org, linux-samsung-soc@vger.kernel.org, devicetree@vger.kernel.org, linux-clk@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-rtc@vger.kernel.org, =?utf-8?q?Andr=C3=A9_Draszik?= X-Mailer: b4 0.14.2 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250328_063106_336713_89508607 X-CRM114-Status: GOOD ( 12.90 ) X-BeenThere: linux-arm-kernel@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-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org Use MFD_CELL macro helpers instead of open coding. This makes the code a bit shorter and more obvious. Signed-off-by: André Draszik --- drivers/mfd/sec-common.c | 57 ++++++++++++++++++------------------------------ 1 file changed, 21 insertions(+), 36 deletions(-) diff --git a/drivers/mfd/sec-common.c b/drivers/mfd/sec-common.c index e8e35f7d5f06b522a953e8f21603e6904401c983..448300ab547c10d81f9f2b2798d54c8a03c714d8 100644 --- a/drivers/mfd/sec-common.c +++ b/drivers/mfd/sec-common.c @@ -24,16 +24,13 @@ #include "sec-core.h" static const struct mfd_cell s5m8767_devs[] = { - { .name = "s5m8767-pmic", }, - { .name = "s5m-rtc", }, - { - .name = "s5m8767-clk", - .of_compatible = "samsung,s5m8767-clk", - }, + MFD_CELL_NAME("s5m8767-pmic"), + MFD_CELL_NAME("s5m-rtc"), + MFD_CELL_OF("s5m8767-clk", NULL, NULL, 0, 0, "samsung,s5m8767-clk"), }; static const struct mfd_cell s2dos05_devs[] = { - { .name = "s2dos05-regulator", }, + MFD_CELL_NAME("s2dos05-regulator"), }; static const struct mfd_cell s2mpg10_devs[] = { @@ -45,53 +42,41 @@ static const struct mfd_cell s2mpg10_devs[] = { }; static const struct mfd_cell s2mps11_devs[] = { - { .name = "s2mps11-regulator", }, - { .name = "s2mps14-rtc", }, - { - .name = "s2mps11-clk", - .of_compatible = "samsung,s2mps11-clk", - }, + MFD_CELL_NAME("s2mps11-regulator"), + MFD_CELL_NAME("s2mps14-rtc"), + MFD_CELL_OF("s2mps11-clk", NULL, NULL, 0, 0, "samsung,s2mps11-clk"), }; static const struct mfd_cell s2mps13_devs[] = { - { .name = "s2mps13-regulator", }, - { .name = "s2mps13-rtc", }, - { - .name = "s2mps13-clk", - .of_compatible = "samsung,s2mps13-clk", - }, + MFD_CELL_NAME("s2mps13-regulator"), + MFD_CELL_NAME("s2mps13-rtc"), + MFD_CELL_OF("s2mps13-clk", NULL, NULL, 0, 0, "samsung,s2mps13-clk"), }; static const struct mfd_cell s2mps14_devs[] = { - { .name = "s2mps14-regulator", }, - { .name = "s2mps14-rtc", }, - { - .name = "s2mps14-clk", - .of_compatible = "samsung,s2mps14-clk", - }, + MFD_CELL_NAME("s2mps14-regulator"), + MFD_CELL_NAME("s2mps14-rtc"), + MFD_CELL_OF("s2mps14-clk", NULL, NULL, 0, 0, "samsung,s2mps14-clk"), }; static const struct mfd_cell s2mps15_devs[] = { - { .name = "s2mps15-regulator", }, - { .name = "s2mps15-rtc", }, - { - .name = "s2mps13-clk", - .of_compatible = "samsung,s2mps13-clk", - }, + MFD_CELL_NAME("s2mps15-regulator"), + MFD_CELL_NAME("s2mps15-rtc"), + MFD_CELL_OF("s2mps13-clk", NULL, NULL, 0, 0, "samsung,s2mps13-clk"), }; static const struct mfd_cell s2mpa01_devs[] = { - { .name = "s2mpa01-pmic", }, - { .name = "s2mps14-rtc", }, + MFD_CELL_NAME("s2mpa01-pmic"), + MFD_CELL_NAME("s2mps14-rtc"), }; static const struct mfd_cell s2mpu02_devs[] = { - { .name = "s2mpu02-regulator", }, + MFD_CELL_NAME("s2mpu02-regulator"), }; static const struct mfd_cell s2mpu05_devs[] = { - { .name = "s2mpu05-regulator", }, - { .name = "s2mps15-rtc", }, + MFD_CELL_NAME("s2mpu05-regulator"), + MFD_CELL_NAME("s2mps15-rtc"), }; static void sec_pmic_dump_rev(struct sec_pmic_dev *sec_pmic) From patchwork Fri Mar 28 13:29:08 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Andr=C3=A9_Draszik?= X-Patchwork-Id: 14032050 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 942D9C28B20 for ; Fri, 28 Mar 2025 14:11:55 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:Cc:To:In-Reply-To:References :Message-Id:Content-Transfer-Encoding:Content-Type:MIME-Version:Subject:Date: From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=Op+5mEOgNYYFAMowJxBfybjaNESu4Eako9395vK9N0c=; b=IvTBN8jzYyfcX33Mxodj2liNP3 KGAlTPmI99Czf2b4j2OYu71arpZMLYj0upUSn03zG1mWOfscvTMyZO95o7Gh/3ySYhkjb/aoeKo5d +ILXAVIpetfsCzxxQOkOO9+F94VdoeOmLXwj3Mi6Wq/P23o+M4WgYdBH6sRujs0e4LAIHYbghZ/Bq HaUT9KEzYroL8ctWGN6UiBg/5R7sZ7V1HojS0jP19tLgnoYJ2iej1Mm9QCRtuWHUl50TNo0RItiDx 0KBftiCc69pSQfteq7SPob+Ni4biVsMUHNaryvaqZz/R/ifQ0JUQRqb/hcqX+nrZEkGl4JOvTDQSk KDNT9Cgg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98.1 #2 (Red Hat Linux)) id 1tyAQx-0000000DYSm-1j4A; Fri, 28 Mar 2025 14:11:43 +0000 Received: from mail-ed1-x52a.google.com ([2a00:1450:4864:20::52a]) by bombadil.infradead.org with esmtps (Exim 4.98.1 #2 (Red Hat Linux)) id 1ty9ne-0000000DQkl-3qm9 for linux-arm-kernel@lists.infradead.org; Fri, 28 Mar 2025 13:31:08 +0000 Received: by mail-ed1-x52a.google.com with SMTP id 4fb4d7f45d1cf-5e677f59438so3356797a12.2 for ; Fri, 28 Mar 2025 06:31:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1743168665; x=1743773465; darn=lists.infradead.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=Op+5mEOgNYYFAMowJxBfybjaNESu4Eako9395vK9N0c=; b=lNJ7LWqXrjvnP+D9tpL0dYtvrfVP0Pm89PBr0uiiAOGI2jGtqe1kPZY7kneO/wC3nH YukkoxgJyA1v+zrqLxaG5brT3a7ivN04BQmcpmqWeuuUOYGPcNT1IruW0LsZ+t4xnio+ OkPuyH0wLilnvLCzu5vrePiz/gh6pZ5/vZ0KRmXBafUwN+lGu+I+JGKxzVKSDOSjUqxR S+xWVRiDR2ExdW5ak/V8vV8N7cNknJ9C7rWeF8JdpVBaFJ+0BrNEsUzYSm+KYVKpIHjc Ta1C5Tq0t4S2BM0uYArX5NdxVqnXctoxxp8groM9clrA4hcuiRIP0ahe7oZxqOf5K0aG LCUw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743168665; x=1743773465; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=Op+5mEOgNYYFAMowJxBfybjaNESu4Eako9395vK9N0c=; b=JI5vj81koxv9wTKAcQZ7wHfctLNrDzWq4rif7qn4SYWxq7s1Oys4GN8VISNaNL3bff BMjUz14k6jigx8z2W5azYHIeCsvFuXr7me0D9o2OxCAqPW+OainGQnmvZmF+GLASCjIP QkzIm2Qs2m3QAt9jDUvAL+KM1ShLRtZRS31KLeF8GQmKE8UCQY6xW2ighmPEIY1NjrMb iXzBdnN6Wht2zCIfUAvHpeLvSbcRhs+MSbKm5USk2wkik4rVnVqGLwE16IU8UvHUMrt9 zixMmyb5Kb4zawMLzuaLqoqjHWgNfI44WCh/h/GS6BhqTMU/Z6hnn9medAPC2sMUQuNC ef+g== X-Forwarded-Encrypted: i=1; AJvYcCXcKAuzm3CeVUCdv+WE4rHX76a+DQa5jPX2yiMECURtgKuRWgS+efws1ds70jz9c51uRKJBqu5MvUaSyMI6xwCx@lists.infradead.org X-Gm-Message-State: AOJu0YweKcI6FPQ3BVc3XCifLKnfYjgWJIf/uZSI7iIGuwSz4SKc3M4T TPCIJFALYso8NLpFGB+Lfk06dxRbYM0Fg8HM16g7ttHupvaOsjXCBejC+riyPW0= X-Gm-Gg: ASbGncv8h/YoEVrz/Kd9ieNfZV3aLh6WudNk3Q30YSzbaGEfYNk2A8hSKT8f9SVdhZ5 BaO1gWwlrWzIi/wjZuIeV23n3YJuPI55uvJpvxbkqsZ67bTastxvIMXN+Hpc4ZOXBSuCmPfiC4w mcFugtWYDeGLWXNSs/gZaMW6rs1Ovx5qhobatikJlmkQzZ9j2NwGapIPmEdegyIpQMFPBRf4NTT AOvnZxb2iVNYzUNFRTIasbapmwE/6CdrEn/3WFIwVnE7P/wPHrn51T//o4ks5cCCtWTGaVo8i8d Dm3lMgKhJdxEz75oRno8ZmHpMI80XJywZWO/7wh0svUQtFx1t2SHm98RCsmlSAtJrhdftVo/cOa D7cwJGRvRl22pp7HAFI4GIJvo+zjP X-Google-Smtp-Source: AGHT+IEDYL3eHUsT5flu6o11GExiJbQgaRJn0w6hcUwsv1LO9+z3oQ7AfyRxuBAye055avOV0tJXIA== X-Received: by 2002:a05:6402:278a:b0:5e7:f707:d7c4 with SMTP id 4fb4d7f45d1cf-5ed8f902a81mr6436324a12.31.1743168665253; Fri, 28 Mar 2025 06:31:05 -0700 (PDT) Received: from puffmais.c.googlers.com (8.239.204.35.bc.googleusercontent.com. [35.204.239.8]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-5edc17e01f7sm1355284a12.79.2025.03.28.06.31.04 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 28 Mar 2025 06:31:04 -0700 (PDT) From: =?utf-8?q?Andr=C3=A9_Draszik?= Date: Fri, 28 Mar 2025 13:29:08 +0000 Subject: [PATCH v2 22/32] mfd: sec: convert to using REGMAP_IRQ_REG() macros MIME-Version: 1.0 Message-Id: <20250328-s2mpg10-v2-22-b54dee33fb6b@linaro.org> References: <20250328-s2mpg10-v2-0-b54dee33fb6b@linaro.org> In-Reply-To: <20250328-s2mpg10-v2-0-b54dee33fb6b@linaro.org> To: Krzysztof Kozlowski , Lee Jones , Rob Herring , Conor Dooley , Sylwester Nawrocki , Chanwoo Choi , Alim Akhtar , Michael Turquette , Stephen Boyd , Russell King , Catalin Marinas , Will Deacon , Alexandre Belloni Cc: Peter Griffin , Tudor Ambarus , Will McVicker , kernel-team@android.com, linux-kernel@vger.kernel.org, linux-samsung-soc@vger.kernel.org, devicetree@vger.kernel.org, linux-clk@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-rtc@vger.kernel.org, =?utf-8?q?Andr=C3=A9_Draszik?= X-Mailer: b4 0.14.2 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250328_063107_055840_EA36A1F3 X-CRM114-Status: GOOD ( 12.62 ) X-BeenThere: linux-arm-kernel@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-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org Use REGMAP_IRQ_REG macro helpers instead of open coding. This makes the code a bit shorter and more obvious. Signed-off-by: André Draszik --- drivers/mfd/sec-irq.c | 343 +++++++++++--------------------------------------- 1 file changed, 75 insertions(+), 268 deletions(-) diff --git a/drivers/mfd/sec-irq.c b/drivers/mfd/sec-irq.c index 5cd9667a21e9e8b052b2ef0b5d2991369bffe8bb..a2c821704b771a9f8a10c7efc900812684771862 100644 --- a/drivers/mfd/sec-irq.c +++ b/drivers/mfd/sec-irq.c @@ -74,212 +74,68 @@ static const struct regmap_irq s2mpg10_irqs[] = { }; static const struct regmap_irq s2mps11_irqs[] = { - [S2MPS11_IRQ_PWRONF] = { - .reg_offset = 0, - .mask = S2MPS11_IRQ_PWRONF_MASK, - }, - [S2MPS11_IRQ_PWRONR] = { - .reg_offset = 0, - .mask = S2MPS11_IRQ_PWRONR_MASK, - }, - [S2MPS11_IRQ_JIGONBF] = { - .reg_offset = 0, - .mask = S2MPS11_IRQ_JIGONBF_MASK, - }, - [S2MPS11_IRQ_JIGONBR] = { - .reg_offset = 0, - .mask = S2MPS11_IRQ_JIGONBR_MASK, - }, - [S2MPS11_IRQ_ACOKBF] = { - .reg_offset = 0, - .mask = S2MPS11_IRQ_ACOKBF_MASK, - }, - [S2MPS11_IRQ_ACOKBR] = { - .reg_offset = 0, - .mask = S2MPS11_IRQ_ACOKBR_MASK, - }, - [S2MPS11_IRQ_PWRON1S] = { - .reg_offset = 0, - .mask = S2MPS11_IRQ_PWRON1S_MASK, - }, - [S2MPS11_IRQ_MRB] = { - .reg_offset = 0, - .mask = S2MPS11_IRQ_MRB_MASK, - }, - [S2MPS11_IRQ_RTC60S] = { - .reg_offset = 1, - .mask = S2MPS11_IRQ_RTC60S_MASK, - }, - [S2MPS11_IRQ_RTCA1] = { - .reg_offset = 1, - .mask = S2MPS11_IRQ_RTCA1_MASK, - }, - [S2MPS11_IRQ_RTCA0] = { - .reg_offset = 1, - .mask = S2MPS11_IRQ_RTCA0_MASK, - }, - [S2MPS11_IRQ_SMPL] = { - .reg_offset = 1, - .mask = S2MPS11_IRQ_SMPL_MASK, - }, - [S2MPS11_IRQ_RTC1S] = { - .reg_offset = 1, - .mask = S2MPS11_IRQ_RTC1S_MASK, - }, - [S2MPS11_IRQ_WTSR] = { - .reg_offset = 1, - .mask = S2MPS11_IRQ_WTSR_MASK, - }, - [S2MPS11_IRQ_INT120C] = { - .reg_offset = 2, - .mask = S2MPS11_IRQ_INT120C_MASK, - }, - [S2MPS11_IRQ_INT140C] = { - .reg_offset = 2, - .mask = S2MPS11_IRQ_INT140C_MASK, - }, + REGMAP_IRQ_REG(S2MPS11_IRQ_PWRONF, 0, S2MPS11_IRQ_PWRONF_MASK), + REGMAP_IRQ_REG(S2MPS11_IRQ_PWRONR, 0, S2MPS11_IRQ_PWRONR_MASK), + REGMAP_IRQ_REG(S2MPS11_IRQ_JIGONBF, 0, S2MPS11_IRQ_JIGONBF_MASK), + REGMAP_IRQ_REG(S2MPS11_IRQ_JIGONBR, 0, S2MPS11_IRQ_JIGONBR_MASK), + REGMAP_IRQ_REG(S2MPS11_IRQ_ACOKBF, 0, S2MPS11_IRQ_ACOKBF_MASK), + REGMAP_IRQ_REG(S2MPS11_IRQ_ACOKBR, 0, S2MPS11_IRQ_ACOKBR_MASK), + REGMAP_IRQ_REG(S2MPS11_IRQ_PWRON1S, 0, S2MPS11_IRQ_PWRON1S_MASK), + REGMAP_IRQ_REG(S2MPS11_IRQ_MRB, 0, S2MPS11_IRQ_MRB_MASK), + + REGMAP_IRQ_REG(S2MPS11_IRQ_RTC60S, 1, S2MPS11_IRQ_RTC60S_MASK), + REGMAP_IRQ_REG(S2MPS11_IRQ_RTCA1, 1, S2MPS11_IRQ_RTCA1_MASK), + REGMAP_IRQ_REG(S2MPS11_IRQ_RTCA0, 1, S2MPS11_IRQ_RTCA0_MASK), + REGMAP_IRQ_REG(S2MPS11_IRQ_SMPL, 1, S2MPS11_IRQ_SMPL_MASK), + REGMAP_IRQ_REG(S2MPS11_IRQ_RTC1S, 1, S2MPS11_IRQ_RTC1S_MASK), + REGMAP_IRQ_REG(S2MPS11_IRQ_WTSR, 1, S2MPS11_IRQ_WTSR_MASK), + + REGMAP_IRQ_REG(S2MPS11_IRQ_INT120C, 2, S2MPS11_IRQ_INT120C_MASK), + REGMAP_IRQ_REG(S2MPS11_IRQ_INT140C, 2, S2MPS11_IRQ_INT140C_MASK), }; static const struct regmap_irq s2mps14_irqs[] = { - [S2MPS14_IRQ_PWRONF] = { - .reg_offset = 0, - .mask = S2MPS11_IRQ_PWRONF_MASK, - }, - [S2MPS14_IRQ_PWRONR] = { - .reg_offset = 0, - .mask = S2MPS11_IRQ_PWRONR_MASK, - }, - [S2MPS14_IRQ_JIGONBF] = { - .reg_offset = 0, - .mask = S2MPS11_IRQ_JIGONBF_MASK, - }, - [S2MPS14_IRQ_JIGONBR] = { - .reg_offset = 0, - .mask = S2MPS11_IRQ_JIGONBR_MASK, - }, - [S2MPS14_IRQ_ACOKBF] = { - .reg_offset = 0, - .mask = S2MPS11_IRQ_ACOKBF_MASK, - }, - [S2MPS14_IRQ_ACOKBR] = { - .reg_offset = 0, - .mask = S2MPS11_IRQ_ACOKBR_MASK, - }, - [S2MPS14_IRQ_PWRON1S] = { - .reg_offset = 0, - .mask = S2MPS11_IRQ_PWRON1S_MASK, - }, - [S2MPS14_IRQ_MRB] = { - .reg_offset = 0, - .mask = S2MPS11_IRQ_MRB_MASK, - }, - [S2MPS14_IRQ_RTC60S] = { - .reg_offset = 1, - .mask = S2MPS11_IRQ_RTC60S_MASK, - }, - [S2MPS14_IRQ_RTCA1] = { - .reg_offset = 1, - .mask = S2MPS11_IRQ_RTCA1_MASK, - }, - [S2MPS14_IRQ_RTCA0] = { - .reg_offset = 1, - .mask = S2MPS11_IRQ_RTCA0_MASK, - }, - [S2MPS14_IRQ_SMPL] = { - .reg_offset = 1, - .mask = S2MPS11_IRQ_SMPL_MASK, - }, - [S2MPS14_IRQ_RTC1S] = { - .reg_offset = 1, - .mask = S2MPS11_IRQ_RTC1S_MASK, - }, - [S2MPS14_IRQ_WTSR] = { - .reg_offset = 1, - .mask = S2MPS11_IRQ_WTSR_MASK, - }, - [S2MPS14_IRQ_INT120C] = { - .reg_offset = 2, - .mask = S2MPS11_IRQ_INT120C_MASK, - }, - [S2MPS14_IRQ_INT140C] = { - .reg_offset = 2, - .mask = S2MPS11_IRQ_INT140C_MASK, - }, - [S2MPS14_IRQ_TSD] = { - .reg_offset = 2, - .mask = S2MPS14_IRQ_TSD_MASK, - }, + REGMAP_IRQ_REG(S2MPS14_IRQ_PWRONF, 0, S2MPS11_IRQ_PWRONF_MASK), + REGMAP_IRQ_REG(S2MPS14_IRQ_PWRONR, 0, S2MPS11_IRQ_PWRONR_MASK), + REGMAP_IRQ_REG(S2MPS14_IRQ_JIGONBF, 0, S2MPS11_IRQ_JIGONBF_MASK), + REGMAP_IRQ_REG(S2MPS14_IRQ_JIGONBR, 0, S2MPS11_IRQ_JIGONBR_MASK), + REGMAP_IRQ_REG(S2MPS14_IRQ_ACOKBF, 0, S2MPS11_IRQ_ACOKBF_MASK), + REGMAP_IRQ_REG(S2MPS14_IRQ_ACOKBR, 0, S2MPS11_IRQ_ACOKBR_MASK), + REGMAP_IRQ_REG(S2MPS14_IRQ_PWRON1S, 0, S2MPS11_IRQ_PWRON1S_MASK), + REGMAP_IRQ_REG(S2MPS14_IRQ_MRB, 0, S2MPS11_IRQ_MRB_MASK), + + REGMAP_IRQ_REG(S2MPS14_IRQ_RTC60S, 1, S2MPS11_IRQ_RTC60S_MASK), + REGMAP_IRQ_REG(S2MPS14_IRQ_RTCA1, 1, S2MPS11_IRQ_RTCA1_MASK), + REGMAP_IRQ_REG(S2MPS14_IRQ_RTCA0, 1, S2MPS11_IRQ_RTCA0_MASK), + REGMAP_IRQ_REG(S2MPS14_IRQ_SMPL, 1, S2MPS11_IRQ_SMPL_MASK), + REGMAP_IRQ_REG(S2MPS14_IRQ_RTC1S, 1, S2MPS11_IRQ_RTC1S_MASK), + REGMAP_IRQ_REG(S2MPS14_IRQ_WTSR, 1, S2MPS11_IRQ_WTSR_MASK), + + REGMAP_IRQ_REG(S2MPS14_IRQ_INT120C, 2, S2MPS11_IRQ_INT120C_MASK), + REGMAP_IRQ_REG(S2MPS14_IRQ_INT140C, 2, S2MPS11_IRQ_INT140C_MASK), + REGMAP_IRQ_REG(S2MPS14_IRQ_TSD, 2, S2MPS14_IRQ_TSD_MASK), }; static const struct regmap_irq s2mpu02_irqs[] = { - [S2MPU02_IRQ_PWRONF] = { - .reg_offset = 0, - .mask = S2MPS11_IRQ_PWRONF_MASK, - }, - [S2MPU02_IRQ_PWRONR] = { - .reg_offset = 0, - .mask = S2MPS11_IRQ_PWRONR_MASK, - }, - [S2MPU02_IRQ_JIGONBF] = { - .reg_offset = 0, - .mask = S2MPS11_IRQ_JIGONBF_MASK, - }, - [S2MPU02_IRQ_JIGONBR] = { - .reg_offset = 0, - .mask = S2MPS11_IRQ_JIGONBR_MASK, - }, - [S2MPU02_IRQ_ACOKBF] = { - .reg_offset = 0, - .mask = S2MPS11_IRQ_ACOKBF_MASK, - }, - [S2MPU02_IRQ_ACOKBR] = { - .reg_offset = 0, - .mask = S2MPS11_IRQ_ACOKBR_MASK, - }, - [S2MPU02_IRQ_PWRON1S] = { - .reg_offset = 0, - .mask = S2MPS11_IRQ_PWRON1S_MASK, - }, - [S2MPU02_IRQ_MRB] = { - .reg_offset = 0, - .mask = S2MPS11_IRQ_MRB_MASK, - }, - [S2MPU02_IRQ_RTC60S] = { - .reg_offset = 1, - .mask = S2MPS11_IRQ_RTC60S_MASK, - }, - [S2MPU02_IRQ_RTCA1] = { - .reg_offset = 1, - .mask = S2MPS11_IRQ_RTCA1_MASK, - }, - [S2MPU02_IRQ_RTCA0] = { - .reg_offset = 1, - .mask = S2MPS11_IRQ_RTCA0_MASK, - }, - [S2MPU02_IRQ_SMPL] = { - .reg_offset = 1, - .mask = S2MPS11_IRQ_SMPL_MASK, - }, - [S2MPU02_IRQ_RTC1S] = { - .reg_offset = 1, - .mask = S2MPS11_IRQ_RTC1S_MASK, - }, - [S2MPU02_IRQ_WTSR] = { - .reg_offset = 1, - .mask = S2MPS11_IRQ_WTSR_MASK, - }, - [S2MPU02_IRQ_INT120C] = { - .reg_offset = 2, - .mask = S2MPS11_IRQ_INT120C_MASK, - }, - [S2MPU02_IRQ_INT140C] = { - .reg_offset = 2, - .mask = S2MPS11_IRQ_INT140C_MASK, - }, - [S2MPU02_IRQ_TSD] = { - .reg_offset = 2, - .mask = S2MPS14_IRQ_TSD_MASK, - }, + REGMAP_IRQ_REG(S2MPU02_IRQ_PWRONF, 0, S2MPS11_IRQ_PWRONF_MASK), + REGMAP_IRQ_REG(S2MPU02_IRQ_PWRONR, 0, S2MPS11_IRQ_PWRONR_MASK), + REGMAP_IRQ_REG(S2MPU02_IRQ_JIGONBF, 0, S2MPS11_IRQ_JIGONBF_MASK), + REGMAP_IRQ_REG(S2MPU02_IRQ_JIGONBR, 0, S2MPS11_IRQ_JIGONBR_MASK), + REGMAP_IRQ_REG(S2MPU02_IRQ_ACOKBF, 0, S2MPS11_IRQ_ACOKBF_MASK), + REGMAP_IRQ_REG(S2MPU02_IRQ_ACOKBR, 0, S2MPS11_IRQ_ACOKBR_MASK), + REGMAP_IRQ_REG(S2MPU02_IRQ_PWRON1S, 0, S2MPS11_IRQ_PWRON1S_MASK), + REGMAP_IRQ_REG(S2MPU02_IRQ_MRB, 0, S2MPS11_IRQ_MRB_MASK), + + REGMAP_IRQ_REG(S2MPU02_IRQ_RTC60S, 1, S2MPS11_IRQ_RTC60S_MASK), + REGMAP_IRQ_REG(S2MPU02_IRQ_RTCA1, 1, S2MPS11_IRQ_RTCA1_MASK), + REGMAP_IRQ_REG(S2MPU02_IRQ_RTCA0, 1, S2MPS11_IRQ_RTCA0_MASK), + REGMAP_IRQ_REG(S2MPU02_IRQ_SMPL, 1, S2MPS11_IRQ_SMPL_MASK), + REGMAP_IRQ_REG(S2MPU02_IRQ_RTC1S, 1, S2MPS11_IRQ_RTC1S_MASK), + REGMAP_IRQ_REG(S2MPU02_IRQ_WTSR, 1, S2MPS11_IRQ_WTSR_MASK), + + REGMAP_IRQ_REG(S2MPU02_IRQ_INT120C, 2, S2MPS11_IRQ_INT120C_MASK), + REGMAP_IRQ_REG(S2MPU02_IRQ_INT140C, 2, S2MPS11_IRQ_INT140C_MASK), + REGMAP_IRQ_REG(S2MPU02_IRQ_TSD, 2, S2MPS14_IRQ_TSD_MASK), }; static const struct regmap_irq s2mpu05_irqs[] = { @@ -303,74 +159,25 @@ static const struct regmap_irq s2mpu05_irqs[] = { }; static const struct regmap_irq s5m8767_irqs[] = { - [S5M8767_IRQ_PWRR] = { - .reg_offset = 0, - .mask = S5M8767_IRQ_PWRR_MASK, - }, - [S5M8767_IRQ_PWRF] = { - .reg_offset = 0, - .mask = S5M8767_IRQ_PWRF_MASK, - }, - [S5M8767_IRQ_PWR1S] = { - .reg_offset = 0, - .mask = S5M8767_IRQ_PWR1S_MASK, - }, - [S5M8767_IRQ_JIGR] = { - .reg_offset = 0, - .mask = S5M8767_IRQ_JIGR_MASK, - }, - [S5M8767_IRQ_JIGF] = { - .reg_offset = 0, - .mask = S5M8767_IRQ_JIGF_MASK, - }, - [S5M8767_IRQ_LOWBAT2] = { - .reg_offset = 0, - .mask = S5M8767_IRQ_LOWBAT2_MASK, - }, - [S5M8767_IRQ_LOWBAT1] = { - .reg_offset = 0, - .mask = S5M8767_IRQ_LOWBAT1_MASK, - }, - [S5M8767_IRQ_MRB] = { - .reg_offset = 1, - .mask = S5M8767_IRQ_MRB_MASK, - }, - [S5M8767_IRQ_DVSOK2] = { - .reg_offset = 1, - .mask = S5M8767_IRQ_DVSOK2_MASK, - }, - [S5M8767_IRQ_DVSOK3] = { - .reg_offset = 1, - .mask = S5M8767_IRQ_DVSOK3_MASK, - }, - [S5M8767_IRQ_DVSOK4] = { - .reg_offset = 1, - .mask = S5M8767_IRQ_DVSOK4_MASK, - }, - [S5M8767_IRQ_RTC60S] = { - .reg_offset = 2, - .mask = S5M8767_IRQ_RTC60S_MASK, - }, - [S5M8767_IRQ_RTCA1] = { - .reg_offset = 2, - .mask = S5M8767_IRQ_RTCA1_MASK, - }, - [S5M8767_IRQ_RTCA2] = { - .reg_offset = 2, - .mask = S5M8767_IRQ_RTCA2_MASK, - }, - [S5M8767_IRQ_SMPL] = { - .reg_offset = 2, - .mask = S5M8767_IRQ_SMPL_MASK, - }, - [S5M8767_IRQ_RTC1S] = { - .reg_offset = 2, - .mask = S5M8767_IRQ_RTC1S_MASK, - }, - [S5M8767_IRQ_WTSR] = { - .reg_offset = 2, - .mask = S5M8767_IRQ_WTSR_MASK, - }, + REGMAP_IRQ_REG(S5M8767_IRQ_PWRR, 0, S5M8767_IRQ_PWRR_MASK), + REGMAP_IRQ_REG(S5M8767_IRQ_PWRF, 0, S5M8767_IRQ_PWRF_MASK), + REGMAP_IRQ_REG(S5M8767_IRQ_PWR1S, 0, S5M8767_IRQ_PWR1S_MASK), + REGMAP_IRQ_REG(S5M8767_IRQ_JIGR, 0, S5M8767_IRQ_JIGR_MASK), + REGMAP_IRQ_REG(S5M8767_IRQ_JIGF, 0, S5M8767_IRQ_JIGF_MASK), + REGMAP_IRQ_REG(S5M8767_IRQ_LOWBAT2, 0, S5M8767_IRQ_LOWBAT2_MASK), + REGMAP_IRQ_REG(S5M8767_IRQ_LOWBAT1, 0, S5M8767_IRQ_LOWBAT1_MASK), + + REGMAP_IRQ_REG(S5M8767_IRQ_MRB, 1, S5M8767_IRQ_MRB_MASK), + REGMAP_IRQ_REG(S5M8767_IRQ_DVSOK2, 1, S5M8767_IRQ_DVSOK2_MASK), + REGMAP_IRQ_REG(S5M8767_IRQ_DVSOK3, 1, S5M8767_IRQ_DVSOK3_MASK), + REGMAP_IRQ_REG(S5M8767_IRQ_DVSOK4, 1, S5M8767_IRQ_DVSOK4_MASK), + + REGMAP_IRQ_REG(S5M8767_IRQ_RTC60S, 2, S5M8767_IRQ_RTC60S_MASK), + REGMAP_IRQ_REG(S5M8767_IRQ_RTCA1, 2, S5M8767_IRQ_RTCA1_MASK), + REGMAP_IRQ_REG(S5M8767_IRQ_RTCA2, 2, S5M8767_IRQ_RTCA2_MASK), + REGMAP_IRQ_REG(S5M8767_IRQ_SMPL, 2, S5M8767_IRQ_SMPL_MASK), + REGMAP_IRQ_REG(S5M8767_IRQ_RTC1S, 2, S5M8767_IRQ_RTC1S_MASK), + REGMAP_IRQ_REG(S5M8767_IRQ_WTSR, 2, S5M8767_IRQ_WTSR_MASK), }; static const struct regmap_irq_chip s2mpg10_irq_chip = { From patchwork Fri Mar 28 13:29:09 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Andr=C3=A9_Draszik?= X-Patchwork-Id: 14032053 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id DD0E1C28B20 for ; Fri, 28 Mar 2025 14:13:42 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:Cc:To:In-Reply-To:References :Message-Id:Content-Transfer-Encoding:Content-Type:MIME-Version:Subject:Date: From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=zep9f0d4foFUFHvL7+wCfhcQlnrOmBCem8a0X84Q4jI=; b=IE8Otg6V1NnsyrzWQDKHMLDpiW lSu9qnE8jdsBujkXiqoeOmW+91JsCT6eIzHVUEXgHbP2MZvt+Joh6ibigHW7C8P63otjXHIS8oPPN F+cxhb7UeAAlisU84hneXA2UU5xWBbkOh+Wq/FTVOfMwCrV+nEZoRIetoMMO0cu0Zm5+iKqvZsLbM 7lGfAVubgFR2+yTswkatcNBsn9YO8N5zlSSF0ZN6dcZFGoWcs6jZmlYjaOg2Ms87k2/3R/wYh7PJd gTlYbL18g9zGaMATJalFOc0EPXK4we7huMphA/M5c1970AEP5AaODrEufJ/mbLZ75R+vNVpSPAWVS N2kVtBYg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98.1 #2 (Red Hat Linux)) id 1tyASf-0000000DYgx-0QBw; Fri, 28 Mar 2025 14:13:29 +0000 Received: from mail-ed1-x530.google.com ([2a00:1450:4864:20::530]) by bombadil.infradead.org with esmtps (Exim 4.98.1 #2 (Red Hat Linux)) id 1ty9nf-0000000DQlJ-1eRJ for linux-arm-kernel@lists.infradead.org; Fri, 28 Mar 2025 13:31:08 +0000 Received: by mail-ed1-x530.google.com with SMTP id 4fb4d7f45d1cf-5e686d39ba2so3979807a12.2 for ; Fri, 28 Mar 2025 06:31:07 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1743168666; x=1743773466; darn=lists.infradead.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=zep9f0d4foFUFHvL7+wCfhcQlnrOmBCem8a0X84Q4jI=; b=wUtoCbgN84HmWMNfweFfZZpDXaBes2a6mg8TQqmcnWh+sXWpPSMyr83zxUB2KFAg3T ULZmdJF6UPBQHNQWoo+7SNVWkguFv9azk7ydMlFCNXcfjGWiloqEAiZfhCG7aAfCtz9t R4UkT9b2jvf8pkATgDRg2jDG7JB8oHawhO4dwYR+SdANJoO86LvigZIWNbCsVOE0/J7Z /FDheuJDNegTKs/ZvaC1wfBHbjWbJHEMHayJclWbFi6zE15m/05SslkR3fiAVAXQNGzS s7+0GZlWqVbDr4SQHT4N4A2uXuPznRgqMeJ2UnWZI5H+1INzX6TAi4Ey/kLZSaUySID3 YwmA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743168666; x=1743773466; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=zep9f0d4foFUFHvL7+wCfhcQlnrOmBCem8a0X84Q4jI=; b=Q3m5nDcl5xH3LK/GfCJVB0ADe+r5zQFXJKMZg2bEs77BuCbGQgMMG1fsooo/KwXYmW onpSt7eDeyoBi3GuqXyVFrMRJNRvEaP1421Zjyw3sRJt+y/MtixZ+QxJItup+Hw29fh8 lEjTas48EDNebXRT9NGsDtvi9TdthtEBdBWkBhY+CeXDxY9588Gi3voYc2b5qVsmqnFh /TqZBZ+Q+I+gaTf+t8pz81Jkk7xaFwJhGuncyBK6qUn6wNbt2SkBuDPbjtIYMHx19cW9 p/3y5EhrLLGcR2f/XYM4ZrcwyBuVM+rt8rO7LF/P3vfOin2i+KXMvqjcr2KCTHXFn9X7 YbxQ== X-Forwarded-Encrypted: i=1; AJvYcCUZwsZRjblle2DWv/sB9EKgh993i/00WbgqLUbtqo2JamJX6WYXxXcb2aCdKnlm4NxB5fM0SkkjKK5cT9iPctBq@lists.infradead.org X-Gm-Message-State: AOJu0YwC7ZLuqwKnHXw7wl9xuuqwuEBCa/GSEmM4gtK3Qa8uNMfveoE3 m4eZw9/LRQzmSeQFmUr2WCuUmm+tKJDz5FbqVMj412vWxilVpPaOmiJrhnInPIY= X-Gm-Gg: ASbGncvTFFquneZyzbwFSoBLHV84N/WjEUNSmUxhZVItIDy5zVFMPltq19wFqso80Fy +eUGyr5mHZgZyz1MZyuI3p4yzXmfIiZ4E5r17f3sVsIeeuaGkNxD8qdsoUw8iw0idHxJ8ZuAhvr a9IwvR3tQHLy1o6TCAm5Gra3pk7mN5hjK7d/SjjAi5QfgIsBh97LXk3Oik8p9PBYYEuPAhBaU/B LnmiF1QLSqsW/FO7LMYLxQbHQJJaW5DXv6KA3N8tfsuvd/xI/gCjnbjVLDfnfQp3h56bOZueiQ0 LSRtCIU72nHZsi1aa7PA015RiHcCFjP28LP9H8snBxpvhCd1IdTwwt7cFhjJTQd8L2L5M80i9lY v7NhFP1M1GygIc9mp2gMRWKWsqJ2g3VcsZLRGY4g= X-Google-Smtp-Source: AGHT+IGAjkKL4/RcQRVs4lvBXbIgZ8dDCpbSsQ9PMQOGZfxyLbsOG8rXC4O3k3x5fcgkz2IEiIeoJg== X-Received: by 2002:a05:6402:1d51:b0:5e5:e836:71f3 with SMTP id 4fb4d7f45d1cf-5ed8ef20410mr6346734a12.29.1743168665879; Fri, 28 Mar 2025 06:31:05 -0700 (PDT) Received: from puffmais.c.googlers.com (8.239.204.35.bc.googleusercontent.com. [35.204.239.8]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-5edc17e01f7sm1355284a12.79.2025.03.28.06.31.05 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 28 Mar 2025 06:31:05 -0700 (PDT) From: =?utf-8?q?Andr=C3=A9_Draszik?= Date: Fri, 28 Mar 2025 13:29:09 +0000 Subject: [PATCH v2 23/32] mfd: sec: add myself as module author MIME-Version: 1.0 Message-Id: <20250328-s2mpg10-v2-23-b54dee33fb6b@linaro.org> References: <20250328-s2mpg10-v2-0-b54dee33fb6b@linaro.org> In-Reply-To: <20250328-s2mpg10-v2-0-b54dee33fb6b@linaro.org> To: Krzysztof Kozlowski , Lee Jones , Rob Herring , Conor Dooley , Sylwester Nawrocki , Chanwoo Choi , Alim Akhtar , Michael Turquette , Stephen Boyd , Russell King , Catalin Marinas , Will Deacon , Alexandre Belloni Cc: Peter Griffin , Tudor Ambarus , Will McVicker , kernel-team@android.com, linux-kernel@vger.kernel.org, linux-samsung-soc@vger.kernel.org, devicetree@vger.kernel.org, linux-clk@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-rtc@vger.kernel.org, =?utf-8?q?Andr=C3=A9_Draszik?= X-Mailer: b4 0.14.2 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250328_063107_435380_75925775 X-CRM114-Status: GOOD ( 11.39 ) X-BeenThere: linux-arm-kernel@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-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org Add myself as module author, so people know whom to complain to about after the recent updates :-) Signed-off-by: André Draszik --- drivers/mfd/sec-common.c | 1 + drivers/mfd/sec-i2c.c | 1 + 2 files changed, 2 insertions(+) diff --git a/drivers/mfd/sec-common.c b/drivers/mfd/sec-common.c index 448300ab547c10d81f9f2b2798d54c8a03c714d8..05658f05cb857a784c7d01b1cf25de4870e1a95e 100644 --- a/drivers/mfd/sec-common.c +++ b/drivers/mfd/sec-common.c @@ -293,6 +293,7 @@ static int sec_pmic_resume(struct device *dev) DEFINE_SIMPLE_DEV_PM_OPS(sec_pmic_pm_ops, sec_pmic_suspend, sec_pmic_resume); EXPORT_SYMBOL_GPL(sec_pmic_pm_ops); +MODULE_AUTHOR("André Draszik "); MODULE_AUTHOR("Chanwoo Choi "); MODULE_AUTHOR("Krzysztof Kozlowski "); MODULE_AUTHOR("Sangbeom Kim "); diff --git a/drivers/mfd/sec-i2c.c b/drivers/mfd/sec-i2c.c index 2ccb494c8c024361c78e92be71ce9c215757dd89..74fd28a6bc9a42879fc1eb05546777f60e0062e9 100644 --- a/drivers/mfd/sec-i2c.c +++ b/drivers/mfd/sec-i2c.c @@ -233,6 +233,7 @@ static struct i2c_driver sec_pmic_i2c_driver = { }; module_i2c_driver(sec_pmic_i2c_driver); +MODULE_AUTHOR("André Draszik "); MODULE_AUTHOR("Sangbeom Kim "); MODULE_DESCRIPTION("I2C driver for the Samsung S5M"); MODULE_LICENSE("GPL"); From patchwork Fri Mar 28 13:29:10 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Andr=C3=A9_Draszik?= X-Patchwork-Id: 14032054 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id BF058C28B20 for ; Fri, 28 Mar 2025 14:15:29 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:Cc:To:In-Reply-To:References :Message-Id:Content-Transfer-Encoding:Content-Type:MIME-Version:Subject:Date: From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=6KRr6Qm0gpuwraE+pyT1hJyit2ZkidoO0SCeL3UgR+0=; b=LI1xFATtNXAqr03fQWRvMa995U cgYcDffTQqgs36o3HVkc5tDqTerl9eukmv4Ua529cMWLXPjKm/9yy1wvmqG7mWo/T0cyBF59tT/wL zxxxXfuPxjVUxXAtXbmP0YNfp4XiUhLTusxGNIcmEzhBG+n+154iLXddNQo2Uant1HmOUN/c24s0G PA0wkcglMPeK/Ra+ySkGRdV0vSvHvI/+60qbPXeXAFCZWRDMQUAm4hFkgb95B8gF/FjVqDZpxM7AP uSfabm6UgozGn2FyBtfV84I+iZ14WpxWloMROUjCe2nj17rjFnJqWqDxMBvdukBkh4IIcyWBIsB8C guNVb6kA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98.1 #2 (Red Hat Linux)) id 1tyAUM-0000000DYzS-3O4n; Fri, 28 Mar 2025 14:15:14 +0000 Received: from mail-ed1-x532.google.com ([2a00:1450:4864:20::532]) by bombadil.infradead.org with esmtps (Exim 4.98.1 #2 (Red Hat Linux)) id 1ty9ng-0000000DQle-18Wc for linux-arm-kernel@lists.infradead.org; Fri, 28 Mar 2025 13:31:09 +0000 Received: by mail-ed1-x532.google.com with SMTP id 4fb4d7f45d1cf-5e614da8615so4054174a12.1 for ; Fri, 28 Mar 2025 06:31:07 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1743168666; x=1743773466; darn=lists.infradead.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=6KRr6Qm0gpuwraE+pyT1hJyit2ZkidoO0SCeL3UgR+0=; b=FcUQLYkEu081+ZF96pixkvO0TRrvpukf4iyk0L8TekdfsWuMMffESAr4s+pXYqccwx w9uH7bw+nThhSTiFXKKaIzmnmIZSTGTOfn/8pP/KSWuJfL4O8W8CRiL7qeLl6Nv6bdkn xTFQR+ZzRXJPXWmnYTkH11j1wWtQEnJD2Ao1JSL9N3uCcIyn76sRNCy0fbhVc80fZTRl 7KrE15eZcY5ntsToe5UvoTzZpGA95gLv1igIOBvy56vKkE9ev0CGRO2saaBXD34hPV0c cFaOn0EMur3lsxdvE9ePPIQC5bUQZRmHL75gYSCeUA/e/ClVSWQsAoriIYWjfNM8VNSx lCbw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743168666; x=1743773466; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=6KRr6Qm0gpuwraE+pyT1hJyit2ZkidoO0SCeL3UgR+0=; b=K42ks8JeoUw8iuXyE1GsM4oecQ0PCZiCFhZoFcvxi/GsqJWii4p3nVVBFzIKoOg+kY sS21Tp9So5IDQK5oUDj69yXoN+DRJfAQpkSweTP4yoT9w3KjK4GzrvJR8sJ3a6Qmc6Br MavCDsqTzY/YKrva47+IlB83Cb2pTvISgJ8kwVTjHEOl9G9iIpiG1qsGTbtZZsK6Fcqs QkxISgYwNjkmRV27N6fbNhA2PCgGGdxaHW3lyXx1Srrwgy+HVAdBhjtD1Ek8U41ZEr08 /dEDa2GwqL8W6mhZrvLS6AIZkWWq6y89bgWu7PcKFIcqHg4vZaNtIMUC2DiRDwHNcvn4 vuhg== X-Forwarded-Encrypted: i=1; AJvYcCU6B/rPyEolz+VeZae24q6HWcPjgpm9Mbe5CnVrDVaPMRUmzPQr51k4ibVZdNqm3VCQ/qx2/fJps9xdgoSN+dJp@lists.infradead.org X-Gm-Message-State: AOJu0YwXw5U3sL5zpryZNn8w1HwIjuynn9P9bL1d3FE8J9N8DSfw9cdj QU2MGUCAbo4KryhmtL5NiKAeiXsVmuYeVHZKVB/GwN1I4SfnyrGp+hd6buFcXic= X-Gm-Gg: ASbGnctcZSxgErzxXoV/oeiTGYOYriHuBG1XZyXxfXoEQ675SFXuIGv/PhHW7HtYAY2 XjpIc3C7C54Ii/m+WcPCE905iA3PHmyR1Qn6N37Kat98dEUpBvnIbPITXz6A/eakBRMbeanx4TC Zefpo7wKbSF4e9k9OUHey6OPFv/qgIbIrVGHJORF1g9XIn8Jxsz7HPtBo1ZGHI6WZNCq6Zq3y1+ MYC8w/tGQ38kK0QxHREEVn2EVyLW3KVeOL7mfyHSo332IJuaWBqzZpXlR1lGze7kBcp2ZedPIkn Hi2tIRzCbhRnHabdoTqjObfjY1TeKvlPj0EaW6Cb0owKdI8SeZYMK/RAPwNVxDxKG3lLKb99JdQ GccpQJf/nTyhdfQ0450ExhLsdSO6g X-Google-Smtp-Source: AGHT+IG7PqQiTAeCLYeu4XFO7xoUmzB0J+twGC6cGhlHhLLeNWFRkIRumwPXFqyHrKLHI6/YYrbfIg== X-Received: by 2002:a05:6402:241d:b0:5ec:6feb:5742 with SMTP id 4fb4d7f45d1cf-5edc4c93702mr2791136a12.16.1743168666473; Fri, 28 Mar 2025 06:31:06 -0700 (PDT) Received: from puffmais.c.googlers.com (8.239.204.35.bc.googleusercontent.com. [35.204.239.8]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-5edc17e01f7sm1355284a12.79.2025.03.28.06.31.06 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 28 Mar 2025 06:31:06 -0700 (PDT) From: =?utf-8?q?Andr=C3=A9_Draszik?= Date: Fri, 28 Mar 2025 13:29:10 +0000 Subject: [PATCH v2 24/32] clk: s2mps11: add support for S2MPG10 PMIC clock MIME-Version: 1.0 Message-Id: <20250328-s2mpg10-v2-24-b54dee33fb6b@linaro.org> References: <20250328-s2mpg10-v2-0-b54dee33fb6b@linaro.org> In-Reply-To: <20250328-s2mpg10-v2-0-b54dee33fb6b@linaro.org> To: Krzysztof Kozlowski , Lee Jones , Rob Herring , Conor Dooley , Sylwester Nawrocki , Chanwoo Choi , Alim Akhtar , Michael Turquette , Stephen Boyd , Russell King , Catalin Marinas , Will Deacon , Alexandre Belloni Cc: Peter Griffin , Tudor Ambarus , Will McVicker , kernel-team@android.com, linux-kernel@vger.kernel.org, linux-samsung-soc@vger.kernel.org, devicetree@vger.kernel.org, linux-clk@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-rtc@vger.kernel.org, =?utf-8?q?Andr=C3=A9_Draszik?= X-Mailer: b4 0.14.2 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250328_063108_309832_CAF48CA7 X-CRM114-Status: GOOD ( 14.99 ) X-BeenThere: linux-arm-kernel@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-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org Add support for Samsung's S2MPG10 PMIC clock, which is similar to the existing PMIC clocks supported by this driver. S2MPG10 has three clock outputs @ 32kHz: AP, peri1 and peri2. Acked-by: Stephen Boyd Signed-off-by: André Draszik --- drivers/clk/clk-s2mps11.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/drivers/clk/clk-s2mps11.c b/drivers/clk/clk-s2mps11.c index 8ddf3a9a53dfd5bb52a05a3e02788a357ea77ad3..92c8d36dafcf8a448873567fb3541a1b90cd9837 100644 --- a/drivers/clk/clk-s2mps11.c +++ b/drivers/clk/clk-s2mps11.c @@ -11,6 +11,7 @@ #include #include #include +#include #include #include #include @@ -140,6 +141,9 @@ static int s2mps11_clk_probe(struct platform_device *pdev) clk_data->num = S2MPS11_CLKS_NUM; switch (hwid) { + case S2MPG10: + s2mps11_reg = S2MPG10_PMIC_RTCBUF; + break; case S2MPS11X: s2mps11_reg = S2MPS11_REG_RTC_CTRL; break; @@ -221,6 +225,7 @@ static void s2mps11_clk_remove(struct platform_device *pdev) } static const struct platform_device_id s2mps11_clk_id[] = { + { "s2mpg10-clk", S2MPG10}, { "s2mps11-clk", S2MPS11X}, { "s2mps13-clk", S2MPS13X}, { "s2mps14-clk", S2MPS14X}, @@ -241,6 +246,9 @@ MODULE_DEVICE_TABLE(platform, s2mps11_clk_id); */ static const struct of_device_id s2mps11_dt_match[] __used = { { + .compatible = "samsung,s2mpg10-clk", + .data = (void *)S2MPG10, + }, { .compatible = "samsung,s2mps11-clk", .data = (void *)S2MPS11X, }, { From patchwork Fri Mar 28 13:29:11 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Andr=C3=A9_Draszik?= X-Patchwork-Id: 14032055 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 69D0FC28B20 for ; Fri, 28 Mar 2025 14:17:17 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:Cc:To:In-Reply-To:References :Message-Id:Content-Transfer-Encoding:Content-Type:MIME-Version:Subject:Date: From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=/FZ2sB+aGjDu2Ign5/fbJkQ1EFpiN/+kFXshKweSgHY=; b=1hQEeADEMcPibt0pCdtGnNBir+ objx+t8iWBGOIquUCxWfW03zftbKQC5I2R7ifFokgt/b0w01Iy7vKkaEKGwNvxV694y7z4n0FcMVb bVMa6Ld75nZoeYK49a2HpaEoG6u37V9hRckGl4P50pECaLQMUPZbnSPgN8uWQilQC4BrJp1ndElt3 XbfulkFwixlwY+HBOhzgo0LY8i4IlEjtsD/4ubH0N/FPAIjaeurLfV1b0PubOEnK96fYnMvUsZL+t YFVOyQE0W54ZBECqPosekoIkUoKApksqwRltMkQnKx+rcIOh6aqhTXOMgkFUEjn0C3zJskby0/hYR 2a8NEzdg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98.1 #2 (Red Hat Linux)) id 1tyAW5-0000000DZDa-2ZX5; Fri, 28 Mar 2025 14:17:01 +0000 Received: from mail-ed1-x52f.google.com ([2a00:1450:4864:20::52f]) by bombadil.infradead.org with esmtps (Exim 4.98.1 #2 (Red Hat Linux)) id 1ty9ng-0000000DQm0-3X1U for linux-arm-kernel@lists.infradead.org; Fri, 28 Mar 2025 13:31:10 +0000 Received: by mail-ed1-x52f.google.com with SMTP id 4fb4d7f45d1cf-5e5e22e6ed2so3160416a12.3 for ; Fri, 28 Mar 2025 06:31:08 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1743168667; x=1743773467; darn=lists.infradead.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=/FZ2sB+aGjDu2Ign5/fbJkQ1EFpiN/+kFXshKweSgHY=; b=lFI9tBVGF31Lqx6SOmG0QsorGvXdW201CC0B602ldg5AlFQBQj1TmU2jLkMBMmVSuC O0NGIjLEIRwe0UfUmOWdqHmmZIMSb52u2GndAHy1ikaU7klIGDsHFlLmuTuyHU0CeyHm ajwXtucHKhf1OWhAtBbz71erJ2EriPxVMjIY178OxzrXBNFcmtthn2IwNA+7iqrq2SUg yE5MdtyFPQJW/wjfdrRN2p3vkqjubO7vwlhfVNIDTMz+D9h2QhDtHAhbQ+hUgje0YqNu 2W6dUXe3gIezazW2BO4FrRsEPcJ+ZVhmB32ENU8W+fhRQzgbjUPuuDx2TSiGi32J+xSg 2aNA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743168667; x=1743773467; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=/FZ2sB+aGjDu2Ign5/fbJkQ1EFpiN/+kFXshKweSgHY=; b=CdwQjrV4+oRhAb0z/KWU3202UcanyYDc2vDODaiJ4/TU3pE5WEgxzq32OhA9lGNL7S Nnh2bkq+apYhjhoAG5MJIL37R35fCFWcsT1Q5vZIZdqm+GrdzIP5GUsbcolOzAu05lAB 552qPAmursJ0wsCSyQ3ytXFPCWftSOd3EY/HypOUl7bdsU61KLixbxyP7zC7kgBHLgXo xcbTF3OTqkJjITJP3x33hepEqHVyEDvDuT39guGJ1h8qjO6dKx8+7Assc7KSM2wsMFjT dNul4fdc5mkYDnVbeJgc9gbQBcJDU1gXCWjG8cRnP5axLpes3U/TW1bVgIVMYUWe0hAS FaXQ== X-Forwarded-Encrypted: i=1; AJvYcCXaUhiQS3dntrshM+OkBzv8XlUIsHDX2lhOLppnd1C7rbpRS9nUyNR7vBPzcQLpp6m4Su4yaDapX0GPUHmzsril@lists.infradead.org X-Gm-Message-State: AOJu0Yxp5iR/VZi7OVreYSucGbi46wDB0lH90/LIULJaGc6ll+iwAoWW Uk6+g0SsAsY5amwlCQCGgcMjPyMZQOnrK5acTWrBinI3BwZPHG37i4s95X4MT2o= X-Gm-Gg: ASbGncsMxTxIoc0/2GlSJhF6zCewlwzAQnhZWJomCgCfv2P4QKvE9TreqGWzEbth4Ay YBTyXfdqsYBU/0fRyvYEVUgd6gvNabtSZesfeDjODhbr0M9tFVPA53exiJfBWojdOtUIEk4D0gb g7qLhhtxDgDQUOgJbNbXY/zmiqsOnfCWDhrqNPcvkYMjT/JNM3Dsgw7fEtn3Nh2F+iL3lrGj+5u 4Kj30Di1oduzFrDwyvDtwsy69qaRPVYHk0Xe8eU2LZ/1uxO+M3/ofMeKTZosd3nnAgU+kyf0y30 egyJ/1W+/KiGOpgd3UBOHNvwfFjVBmEdBFHCL5F/KQFor0MBDQiYNM8q1CKcRrYSzUj2vbnjuzD f4S97goOQYJ18ApuEjNtW8KfPrULk X-Google-Smtp-Source: AGHT+IGSqptnzxioWGgvH+TeC2OAU/4Feh5tQVATT2tVY9LlKpIN77ufnNqeM2yiIzKx/dF//iDlTw== X-Received: by 2002:a05:6402:1d4a:b0:5e5:dea5:3eb2 with SMTP id 4fb4d7f45d1cf-5ed8e388e5emr8163387a12.11.1743168666968; Fri, 28 Mar 2025 06:31:06 -0700 (PDT) Received: from puffmais.c.googlers.com (8.239.204.35.bc.googleusercontent.com. [35.204.239.8]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-5edc17e01f7sm1355284a12.79.2025.03.28.06.31.06 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 28 Mar 2025 06:31:06 -0700 (PDT) From: =?utf-8?q?Andr=C3=A9_Draszik?= Date: Fri, 28 Mar 2025 13:29:11 +0000 Subject: [PATCH v2 25/32] rtc: s5m: cache value of platform_get_device_id() during probe MIME-Version: 1.0 Message-Id: <20250328-s2mpg10-v2-25-b54dee33fb6b@linaro.org> References: <20250328-s2mpg10-v2-0-b54dee33fb6b@linaro.org> In-Reply-To: <20250328-s2mpg10-v2-0-b54dee33fb6b@linaro.org> To: Krzysztof Kozlowski , Lee Jones , Rob Herring , Conor Dooley , Sylwester Nawrocki , Chanwoo Choi , Alim Akhtar , Michael Turquette , Stephen Boyd , Russell King , Catalin Marinas , Will Deacon , Alexandre Belloni Cc: Peter Griffin , Tudor Ambarus , Will McVicker , kernel-team@android.com, linux-kernel@vger.kernel.org, linux-samsung-soc@vger.kernel.org, devicetree@vger.kernel.org, linux-clk@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-rtc@vger.kernel.org, =?utf-8?q?Andr=C3=A9_Draszik?= X-Mailer: b4 0.14.2 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250328_063108_883273_7F9ABC75 X-CRM114-Status: GOOD ( 14.40 ) X-BeenThere: linux-arm-kernel@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-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org platform_get_device_id() is called mulitple times during probe. This makes the code harder to read than necessary. Just get the ID once, which also trims the lengths of the lines involved. Signed-off-by: André Draszik --- drivers/rtc/rtc-s5m.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/drivers/rtc/rtc-s5m.c b/drivers/rtc/rtc-s5m.c index db5c9b641277213aa1371776c63e2eda3f223465..53c76b0e4253a9ba225c3c723d35d9182d071607 100644 --- a/drivers/rtc/rtc-s5m.c +++ b/drivers/rtc/rtc-s5m.c @@ -637,6 +637,8 @@ static int s5m8767_rtc_init_reg(struct s5m_rtc_info *info) static int s5m_rtc_probe(struct platform_device *pdev) { struct sec_pmic_dev *s5m87xx = dev_get_drvdata(pdev->dev.parent); + const struct platform_device_id * const id = + platform_get_device_id(pdev); struct s5m_rtc_info *info; struct i2c_client *i2c; const struct regmap_config *regmap_cfg; @@ -646,7 +648,7 @@ static int s5m_rtc_probe(struct platform_device *pdev) if (!info) return -ENOMEM; - switch (platform_get_device_id(pdev)->driver_data) { + switch (id->driver_data) { case S2MPS15X: regmap_cfg = &s2mps14_rtc_regmap_config; info->regs = &s2mps15_rtc_regs; @@ -670,7 +672,7 @@ static int s5m_rtc_probe(struct platform_device *pdev) default: return dev_err_probe(&pdev->dev, -ENODEV, "Device type %lu is not supported by RTC driver\n", - platform_get_device_id(pdev)->driver_data); + id->driver_data); } i2c = devm_i2c_new_dummy_device(&pdev->dev, s5m87xx->i2c->adapter, @@ -686,7 +688,7 @@ static int s5m_rtc_probe(struct platform_device *pdev) info->dev = &pdev->dev; info->s5m87xx = s5m87xx; - info->device_type = platform_get_device_id(pdev)->driver_data; + info->device_type = id->driver_data; if (s5m87xx->irq_data) { info->irq = regmap_irq_get_virq(s5m87xx->irq_data, alarm_irq); From patchwork Fri Mar 28 13:29:12 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Andr=C3=A9_Draszik?= X-Patchwork-Id: 14032065 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 561E4C28B20 for ; Fri, 28 Mar 2025 14:18:56 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:Cc:To:In-Reply-To:References :Message-Id:Content-Transfer-Encoding:Content-Type:MIME-Version:Subject:Date: From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=ZwiQ684ZfeWSIriRYeiGWHceehqqEuabrmdfgVRjbUU=; b=AXle+8CXa3qXCNLmLuH1hLuzXu j1akJe/Y3cMpTu4ncYJy2N/H+rQuywulQHczlXdYgQJYsHmiRxUMDvASS9zBHcIwpiCKnsozZPSGm KlobDtL80QgdP47c4J/a26pJe5quNLvNIVBEOnHGIeAzuNZ5DXpJH3/JA21TvtWH3EckfBdZPcIJr bVpqSVrrL0JtIY+wdz6wbJ0+zw/09IoLKRZli4cJXjAuereImbobfRenKNmhXoWYKzws7vSDNA8JS K6lCPU3PAVwwACsWV6oJ+PEwfBoJxIBbWoNx9Hopk25n83LvsVEZZAevl2sLyQyUWk/ddMPy/Ye4k McEKNppw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98.1 #2 (Red Hat Linux)) id 1tyAXn-0000000DZSl-1G0H; Fri, 28 Mar 2025 14:18:47 +0000 Received: from mail-ed1-x533.google.com ([2a00:1450:4864:20::533]) by bombadil.infradead.org with esmtps (Exim 4.98.1 #2 (Red Hat Linux)) id 1ty9ng-0000000DQm9-47D3 for linux-arm-kernel@lists.infradead.org; Fri, 28 Mar 2025 13:31:10 +0000 Received: by mail-ed1-x533.google.com with SMTP id 4fb4d7f45d1cf-5edc07c777eso1349669a12.3 for ; Fri, 28 Mar 2025 06:31:08 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1743168668; x=1743773468; darn=lists.infradead.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=ZwiQ684ZfeWSIriRYeiGWHceehqqEuabrmdfgVRjbUU=; b=ly048qO1MFW2X8kUwLHkK0yJB1lQokZ1SqpI6hKnAgRATdHRvHZmfQDyQzYdmhWS+k VNuveAuwEPGLYme2wovhUsJhR7if32jg1nBgVtopbyNp1ftZ91RYQklWVdLoMzrV/7w6 EWVEF5JvdINF9TgKeVDynAQPKzKhz75vh7QjHzLp1D/QQllCjoawcjE2ypHUhS5Wr6Cf B7xVFr4taxOzlzyZZAz6duslwfEIPG+nytGevk+BNtLqZYWXJVvABaLOq6VFf2OTed5p REjOB7JU6ru5F/XFDNrt9wea3fekw4D0kpMVVO0hPR/2rktvgzLWPgxvWxv8DbG9BGC7 CVzw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743168668; x=1743773468; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=ZwiQ684ZfeWSIriRYeiGWHceehqqEuabrmdfgVRjbUU=; b=JgJytuq/1yviIO5dhkSse0ITvPRF7a53HQJHcZMAO9/NjW7JOTfoYIPifeShHhZS9W VMPYj6pc8mT/cZaImK21D5/3KoLl+V0eP2oHgLuYAJv0XPl1RxNy0B09Sh6j0J+Vngxa Sc8OrsoV0sg931P/JLquIMVQldm9PV4kwv3P/3ZU5GOzxFEnyjodyLA3q5DrSigAQ7ZC IC59XumPwnBeUKJmaMQCbIIDeh5ZgOTnCHCT5aidn8i1nrHt2Ihi5bmL6EN2fXxJbE/w Mrxy5K9nxNyexKf8NIm1JNLXV16+2RVygyWin9BtmQPFMQmMEfd9htPP5l4Vc4vSg+DF ivmQ== X-Forwarded-Encrypted: i=1; AJvYcCW9dfwSrXTgUfJgnnJtcXnmqU/sywzqOaslJKuTSXTqnXSSlwkj3JBbIr9GyRfYrACDjOsN16hc3KkQq13Ojafr@lists.infradead.org X-Gm-Message-State: AOJu0YxCVrSQKRbWM8VKOWJzXbH0dE7WpZoSDYAVHF6uE61IDraHqR1a j2NFaMKZG4o/bqlcZW0xMIidthpp3HW3Tll4LfqHg5PxOE5gqp13HcHLdEk93Sw= X-Gm-Gg: ASbGncsIV8jU+uucaKQhJS2sipL14duTkANN5FDc3UHV1jwd/77IiOH1+47XwzodPZX 7nu0p4j8VL6iO+1W1A9UmufnFPjnKv1546KFHjfk25ykzHlm0E8bk8LQWwULVeUpP0C9CR/V6s5 X0HAzqDJfPxhKky5jwxps5iSoRGN91qPCIyEj0ro9cwNARfrSenmm7dpyB757P1NB608O1Hs4xM TeK6OgSF6FjC1po61qCcKg62MB5X3OYkqHPqGwaRbXT0emzq4yUu/+chjlCJdJiWvbGMeNGCw+Q lIaz1d4lm3vV/aAQbihr7VRGTgD39c9bzuQBBx4GRYVu059cL074+BAZBZNHJHcVshtxXE0v2q5 4V+xkmL+Z07pA8YAJxhxhMruA2xmpW7ANe+tA/jc= X-Google-Smtp-Source: AGHT+IGGNzjfKLDz9VEqvXIc5x4+us5D+sfcsDSKvKIds4Ov17i1NhheRxJHbrgm44PnOKBE2PxwXA== X-Received: by 2002:a05:6402:350c:b0:5e4:9348:72c3 with SMTP id 4fb4d7f45d1cf-5ed8e27b242mr8087751a12.10.1743168667494; Fri, 28 Mar 2025 06:31:07 -0700 (PDT) Received: from puffmais.c.googlers.com (8.239.204.35.bc.googleusercontent.com. [35.204.239.8]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-5edc17e01f7sm1355284a12.79.2025.03.28.06.31.07 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 28 Mar 2025 06:31:07 -0700 (PDT) From: =?utf-8?q?Andr=C3=A9_Draszik?= Date: Fri, 28 Mar 2025 13:29:12 +0000 Subject: [PATCH v2 26/32] rtc: s5m: prepare for external regmap MIME-Version: 1.0 Message-Id: <20250328-s2mpg10-v2-26-b54dee33fb6b@linaro.org> References: <20250328-s2mpg10-v2-0-b54dee33fb6b@linaro.org> In-Reply-To: <20250328-s2mpg10-v2-0-b54dee33fb6b@linaro.org> To: Krzysztof Kozlowski , Lee Jones , Rob Herring , Conor Dooley , Sylwester Nawrocki , Chanwoo Choi , Alim Akhtar , Michael Turquette , Stephen Boyd , Russell King , Catalin Marinas , Will Deacon , Alexandre Belloni Cc: Peter Griffin , Tudor Ambarus , Will McVicker , kernel-team@android.com, linux-kernel@vger.kernel.org, linux-samsung-soc@vger.kernel.org, devicetree@vger.kernel.org, linux-clk@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-rtc@vger.kernel.org, =?utf-8?q?Andr=C3=A9_Draszik?= X-Mailer: b4 0.14.2 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250328_063109_037073_0A82A41D X-CRM114-Status: GOOD ( 17.05 ) X-BeenThere: linux-arm-kernel@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-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org The Samsung S2MPG10 PMIC is not connected via I2C as this driver assumes, hence this driver's current approach of creating an I2C-based regmap doesn't work for it, and this driver should use the regmap provided by the parent (core) driver instead for that PMIC. To prepare this driver for s2mpg support, restructure the code to only create a regmap if one isn't provided by the parent. No functional changes, since the parent doesn't provide a regmap for any of the PMICs currently supported by this driver. Having this change separate will simply make the addition of S2MPG10 support more self-contained, without additional restructuring. Signed-off-by: André Draszik --- drivers/rtc/rtc-s5m.c | 81 ++++++++++++++++++++++++++++----------------------- 1 file changed, 45 insertions(+), 36 deletions(-) diff --git a/drivers/rtc/rtc-s5m.c b/drivers/rtc/rtc-s5m.c index 53c76b0e4253a9ba225c3c723d35d9182d071607..86ccf666c68059408907c97f2647716ffaad10c6 100644 --- a/drivers/rtc/rtc-s5m.c +++ b/drivers/rtc/rtc-s5m.c @@ -640,52 +640,61 @@ static int s5m_rtc_probe(struct platform_device *pdev) const struct platform_device_id * const id = platform_get_device_id(pdev); struct s5m_rtc_info *info; - struct i2c_client *i2c; - const struct regmap_config *regmap_cfg; int ret, alarm_irq; info = devm_kzalloc(&pdev->dev, sizeof(*info), GFP_KERNEL); if (!info) return -ENOMEM; - switch (id->driver_data) { - case S2MPS15X: - regmap_cfg = &s2mps14_rtc_regmap_config; - info->regs = &s2mps15_rtc_regs; - alarm_irq = S2MPS14_IRQ_RTCA0; - break; - case S2MPS14X: - regmap_cfg = &s2mps14_rtc_regmap_config; - info->regs = &s2mps14_rtc_regs; - alarm_irq = S2MPS14_IRQ_RTCA0; - break; - case S2MPS13X: - regmap_cfg = &s2mps14_rtc_regmap_config; - info->regs = &s2mps13_rtc_regs; - alarm_irq = S2MPS14_IRQ_RTCA0; - break; - case S5M8767X: - regmap_cfg = &s5m_rtc_regmap_config; - info->regs = &s5m_rtc_regs; - alarm_irq = S5M8767_IRQ_RTCA1; - break; - default: + info->regmap = dev_get_regmap(pdev->dev.parent, "rtc"); + if (!info->regmap) { + const struct regmap_config *regmap_cfg; + struct i2c_client *i2c; + + switch (id->driver_data) { + case S2MPS15X: + regmap_cfg = &s2mps14_rtc_regmap_config; + info->regs = &s2mps15_rtc_regs; + alarm_irq = S2MPS14_IRQ_RTCA0; + break; + case S2MPS14X: + regmap_cfg = &s2mps14_rtc_regmap_config; + info->regs = &s2mps14_rtc_regs; + alarm_irq = S2MPS14_IRQ_RTCA0; + break; + case S2MPS13X: + regmap_cfg = &s2mps14_rtc_regmap_config; + info->regs = &s2mps13_rtc_regs; + alarm_irq = S2MPS14_IRQ_RTCA0; + break; + case S5M8767X: + regmap_cfg = &s5m_rtc_regmap_config; + info->regs = &s5m_rtc_regs; + alarm_irq = S5M8767_IRQ_RTCA1; + break; + default: + return dev_err_probe(&pdev->dev, -ENODEV, + "Unsupported device type %lu\n", + id->driver_data); + } + + i2c = devm_i2c_new_dummy_device(&pdev->dev, + s5m87xx->i2c->adapter, + RTC_I2C_ADDR); + if (IS_ERR(i2c)) + return dev_err_probe(&pdev->dev, PTR_ERR(i2c), + "Failed to allocate I2C\n"); + + info->regmap = devm_regmap_init_i2c(i2c, regmap_cfg); + if (IS_ERR(info->regmap)) + return dev_err_probe(&pdev->dev, PTR_ERR(info->regmap), + "Failed to allocate regmap\n"); + } else { return dev_err_probe(&pdev->dev, -ENODEV, - "Device type %lu is not supported by RTC driver\n", + "Unsupported device type %lu\n", id->driver_data); } - i2c = devm_i2c_new_dummy_device(&pdev->dev, s5m87xx->i2c->adapter, - RTC_I2C_ADDR); - if (IS_ERR(i2c)) - return dev_err_probe(&pdev->dev, PTR_ERR(i2c), - "Failed to allocate I2C for RTC\n"); - - info->regmap = devm_regmap_init_i2c(i2c, regmap_cfg); - if (IS_ERR(info->regmap)) - return dev_err_probe(&pdev->dev, PTR_ERR(info->regmap), - "Failed to allocate RTC register map\n"); - info->dev = &pdev->dev; info->s5m87xx = s5m87xx; info->device_type = id->driver_data; From patchwork Fri Mar 28 13:29:13 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Andr=C3=A9_Draszik?= X-Patchwork-Id: 14032067 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 29277C28B20 for ; Fri, 28 Mar 2025 14:22:32 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:Cc:To:In-Reply-To:References :Message-Id:Content-Transfer-Encoding:Content-Type:MIME-Version:Subject:Date: From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=RKjSO+JBCZWmTR2KI3Lfut4sG9sU0pAz1iqONtK29C8=; b=h/Q7RnN8k63yxzV2OOrszM8oW2 dqBIR8RmHNb6OcuGPA3RzE1upSj2MXm3VD/TCz7hAzf0LcXpsgzx8qOvCrH3oXuGN2FvKWYfDMmlB 3jVheawC6c9dA2r/mt4cpsI5mT8YsmvuJ9McUjPshKwMMXn2TVSNXHagBY0apQCAGe8gA3L4puCR9 OFLA9lNhh93QcuWbQr2462tNRRTgO4NRi4m08mzyEgnZt0A18fJgmtCAkrUCM0Qe2D3RKpcjfoP2f wKX09YD3xFN3c2fPJCZ86tQsEQLwPskJx6N9LvMDhG4hAuarDIEa5ODqbfx1WnLkOsPIWROWr10sC Q7aZX1uA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98.1 #2 (Red Hat Linux)) id 1tyAbD-0000000DaDE-3vLA; Fri, 28 Mar 2025 14:22:19 +0000 Received: from mail-ed1-x529.google.com ([2a00:1450:4864:20::529]) by bombadil.infradead.org with esmtps (Exim 4.98.1 #2 (Red Hat Linux)) id 1ty9ni-0000000DQnB-3y6T for linux-arm-kernel@lists.infradead.org; Fri, 28 Mar 2025 13:31:12 +0000 Received: by mail-ed1-x529.google.com with SMTP id 4fb4d7f45d1cf-5e6c18e2c7dso3970052a12.3 for ; Fri, 28 Mar 2025 06:31:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1743168669; x=1743773469; darn=lists.infradead.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=RKjSO+JBCZWmTR2KI3Lfut4sG9sU0pAz1iqONtK29C8=; b=mrDJNv5cE7JJJJ2D/SvM+SQ4yTNY198N7stGut/Ct1vhCbFlq79G00M39MUqMyxqsE +LsruYyuNk/GfbXLlz74ZY41k82v/d+0h9uFju2fwk2Z5cqccJ4D/8MFIuQ1H4I+8u9h NXNBHYpwtE60BFRmQTxhxCMkaWgetBtTZXlm+jgYKkt6mhtNKnMKcK2SdJAdA+4k2OC8 ThMkchlnbyx4vVmxuZnAk7Q7mB5HRVO6DiTCS8fKR1ZB8fJIMnNL7OCOIz3jesKY2sun HYYcLULtVVl1rWGpWkfc/1SWzKX0WdeLHszptwZXbAxDkaX/vOIx4c339IimFFtSNwFJ alqQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743168669; x=1743773469; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=RKjSO+JBCZWmTR2KI3Lfut4sG9sU0pAz1iqONtK29C8=; b=am+3FvywVHzQU4+WJAsNkvpFramq3NZSe1zG+AEGeKGad1IA8aJRnPJhdVSNq70KKV 8BN5tqoy5h3B+9y2uDu0cKeLPVTwE8hkpliwLW6/Fq31DUvQBg6KWF69EYT2VzDkZGF7 HRt9DG5XB6IIRmIPGL/2s5IL2ftJE6HfUOtfozHVZtwt8FwkwssgNF4drkw3sakp8g5y 200xzYLeCDHy0fJi3++o7MnVY960pkmGREWgpkTkDOVEVB3ELbI1ZWtcsVzpGVDLuGzQ LbwZfzSDXNJ7TfiBA450rCsz26KZvrzUDEuUSOaCxrgCJ5kjedJU1S2WkDDVYAIRS/vu knzA== X-Forwarded-Encrypted: i=1; AJvYcCVhDOFXb3SDYCxHrk82VmcFXhHfmztluT04XTwTf3vMoxVI5yZdOMPQj5Z9/toHK+FqGcAj++P1KwP80Po0xJsF@lists.infradead.org X-Gm-Message-State: AOJu0YzY0iP34lo03OoU5txQ++vNj86HgWpXN8t2BEJOHhFq451TpbW3 SJjx2NCeMESBtf0HJEf/aigE4594axr1iRNb67nKrU5OdXEru5YoJqEuwJnJcZ0= X-Gm-Gg: ASbGnctDzh+8otUteq/BavE2N8+kvNeKXDQZHaa5QPluaJ9gH02ndfAiTR2P4TymRhN 4/zkqpZa8LziPZx9sr1Zn9IfKYfjQc5CSoCmGz/bwhCdsrsvwndpWyF7S85uqeWxCCZiCUGJYVv 8K5Gj8mEJVWaZYXBGGjoO/cqPg2VcN7zNTkWGcrv/7qIgP85CQVLOnjoTDvJZZaL3Ug+FoAdP+b CEN+Yp937byshhGJuYDGZhldwGyZqzvF3REPdLWpZ+gNGGTYZBptUUeYPb6CDiZtovmtViE6i9N QDlQcgd+e8twSGojA3z6PwqdIoAH1PCy8PlVyGIwdAxeBVpo/aoriBaS4CFin5u6di08v3+7Uvd 9bQNMVXgFV2J1VTMzFCY5h4KX8NiCrx9FZewtTd8= X-Google-Smtp-Source: AGHT+IGM1xlZx4ccNFqVelv8+aW7WUC4arPiK4jsptuerBD328sEm4AnS2ogy0kl/X6Jhdq9FDI9fw== X-Received: by 2002:a05:6402:348e:b0:5ed:1c64:be9a with SMTP id 4fb4d7f45d1cf-5ed8df6a885mr6305552a12.2.1743168668531; Fri, 28 Mar 2025 06:31:08 -0700 (PDT) Received: from puffmais.c.googlers.com (8.239.204.35.bc.googleusercontent.com. [35.204.239.8]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-5edc17e01f7sm1355284a12.79.2025.03.28.06.31.07 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 28 Mar 2025 06:31:07 -0700 (PDT) From: =?utf-8?q?Andr=C3=A9_Draszik?= Date: Fri, 28 Mar 2025 13:29:13 +0000 Subject: [PATCH v2 27/32] rtc: s5m: add support for S2MPG10 RTC MIME-Version: 1.0 Message-Id: <20250328-s2mpg10-v2-27-b54dee33fb6b@linaro.org> References: <20250328-s2mpg10-v2-0-b54dee33fb6b@linaro.org> In-Reply-To: <20250328-s2mpg10-v2-0-b54dee33fb6b@linaro.org> To: Krzysztof Kozlowski , Lee Jones , Rob Herring , Conor Dooley , Sylwester Nawrocki , Chanwoo Choi , Alim Akhtar , Michael Turquette , Stephen Boyd , Russell King , Catalin Marinas , Will Deacon , Alexandre Belloni Cc: Peter Griffin , Tudor Ambarus , Will McVicker , kernel-team@android.com, linux-kernel@vger.kernel.org, linux-samsung-soc@vger.kernel.org, devicetree@vger.kernel.org, linux-clk@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-rtc@vger.kernel.org, =?utf-8?q?Andr=C3=A9_Draszik?= X-Mailer: b4 0.14.2 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250328_063110_988795_E6CFED92 X-CRM114-Status: GOOD ( 20.42 ) X-BeenThere: linux-arm-kernel@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-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org Add support for Samsung's S2MPG10 PMIC RTC, which is similar to the existing PMIC RTCs supported by this driver. S2MPG10 doesn't use I2C, so we expect the core driver to have created a regmap for us. Additionally, it can be used for doing a cold-reset. If requested to do so (via DT), S2MPG10 is programmed with a watchdog configuration that will perform a full power cycle upon watchdog expiry. Signed-off-by: André Draszik --- drivers/rtc/rtc-s5m.c | 60 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) diff --git a/drivers/rtc/rtc-s5m.c b/drivers/rtc/rtc-s5m.c index 86ccf666c68059408907c97f2647716ffaad10c6..0d8783577bab4f4ebe61050dbd68387d970773bd 100644 --- a/drivers/rtc/rtc-s5m.c +++ b/drivers/rtc/rtc-s5m.c @@ -11,6 +11,7 @@ #include #include #include +#include #include #include #include @@ -53,6 +54,7 @@ enum { * Device | Write time | Read time | Write alarm * ================================================= * S5M8767 | UDR + TIME | | UDR + * S2MPG10 | WUDR | RUDR | AUDR * S2MPS11/14 | WUDR | RUDR | WUDR + RUDR * S2MPS13 | WUDR | RUDR | WUDR + AUDR * S2MPS15 | WUDR | RUDR | AUDR @@ -99,6 +101,20 @@ static const struct s5m_rtc_reg_config s5m_rtc_regs = { .write_alarm_udr_mask = S5M_RTC_UDR_MASK, }; +/* Register map for S2MPG10 */ +static const struct s5m_rtc_reg_config s2mpg10_rtc_regs = { + .regs_count = 7, + .time = S2MPG10_RTC_SEC, + .ctrl = S2MPG10_RTC_CTRL, + .alarm0 = S2MPG10_RTC_A0SEC, + .alarm1 = S2MPG10_RTC_A1SEC, + .udr_update = S2MPG10_RTC_UPDATE, + .autoclear_udr_mask = S2MPS15_RTC_WUDR_MASK | S2MPS15_RTC_AUDR_MASK, + .read_time_udr_mask = S2MPS_RTC_RUDR_MASK, + .write_time_udr_mask = S2MPS15_RTC_WUDR_MASK, + .write_alarm_udr_mask = S2MPS15_RTC_AUDR_MASK, +}; + /* Register map for S2MPS13 */ static const struct s5m_rtc_reg_config s2mps13_rtc_regs = { .regs_count = 7, @@ -238,6 +254,7 @@ static int s5m_check_peding_alarm_interrupt(struct s5m_rtc_info *info, ret = regmap_read(info->regmap, S5M_RTC_STATUS, &val); val &= S5M_ALARM0_STATUS; break; + case S2MPG10: case S2MPS15X: case S2MPS14X: case S2MPS13X: @@ -300,6 +317,7 @@ static int s5m8767_rtc_set_alarm_reg(struct s5m_rtc_info *info) case S5M8767X: data &= ~S5M_RTC_TIME_EN_MASK; break; + case S2MPG10: case S2MPS15X: case S2MPS14X: case S2MPS13X: @@ -351,6 +369,7 @@ static int s5m_rtc_read_time(struct device *dev, struct rtc_time *tm) switch (info->device_type) { case S5M8767X: + case S2MPG10: case S2MPS15X: case S2MPS14X: case S2MPS13X: @@ -374,6 +393,7 @@ static int s5m_rtc_set_time(struct device *dev, struct rtc_time *tm) switch (info->device_type) { case S5M8767X: + case S2MPG10: case S2MPS15X: case S2MPS14X: case S2MPS13X: @@ -411,6 +431,7 @@ static int s5m_rtc_read_alarm(struct device *dev, struct rtc_wkalrm *alrm) switch (info->device_type) { case S5M8767X: + case S2MPG10: case S2MPS15X: case S2MPS14X: case S2MPS13X: @@ -449,6 +470,7 @@ static int s5m_rtc_stop_alarm(struct s5m_rtc_info *info) switch (info->device_type) { case S5M8767X: + case S2MPG10: case S2MPS15X: case S2MPS14X: case S2MPS13X: @@ -487,6 +509,7 @@ static int s5m_rtc_start_alarm(struct s5m_rtc_info *info) switch (info->device_type) { case S5M8767X: + case S2MPG10: case S2MPS15X: case S2MPS14X: case S2MPS13X: @@ -524,6 +547,7 @@ static int s5m_rtc_set_alarm(struct device *dev, struct rtc_wkalrm *alrm) switch (info->device_type) { case S5M8767X: + case S2MPG10: case S2MPS15X: case S2MPS14X: case S2MPS13X: @@ -604,6 +628,7 @@ static int s5m8767_rtc_init_reg(struct s5m_rtc_info *info) ret = regmap_raw_write(info->regmap, S5M_ALARM0_CONF, data, 2); break; + case S2MPG10: case S2MPS15X: case S2MPS14X: case S2MPS13X: @@ -634,6 +659,25 @@ static int s5m8767_rtc_init_reg(struct s5m_rtc_info *info) return ret; } +static int s5m_rtc_restart_s2mpg10(struct sys_off_data *data) +{ + struct s5m_rtc_info *info = data->cb_data; + int ret; + + if (data->mode != REBOOT_COLD && data->mode != REBOOT_HARD) + return NOTIFY_DONE; + + /* + * Arm watchdog with maximum timeout (2 seconds), and perform full reset + * on expiry. + */ + ret = regmap_set_bits(info->regmap, S2MPG10_RTC_WTSR, + (S2MPG10_WTSR_COLDTIMER | S2MPG10_WTSR_COLDRST + | S2MPG10_WTSR_WTSRT | S2MPG10_WTSR_WTSR_EN)); + + return ret ? NOTIFY_BAD : NOTIFY_DONE; +} + static int s5m_rtc_probe(struct platform_device *pdev) { struct sec_pmic_dev *s5m87xx = dev_get_drvdata(pdev->dev.parent); @@ -689,6 +733,9 @@ static int s5m_rtc_probe(struct platform_device *pdev) if (IS_ERR(info->regmap)) return dev_err_probe(&pdev->dev, PTR_ERR(info->regmap), "Failed to allocate regmap\n"); + } else if (id->driver_data == S2MPG10) { + info->regs = &s2mpg10_rtc_regs; + alarm_irq = S2MPG10_IRQ_RTCA0; } else { return dev_err_probe(&pdev->dev, -ENODEV, "Unsupported device type %lu\n", @@ -735,6 +782,18 @@ static int s5m_rtc_probe(struct platform_device *pdev) device_init_wakeup(&pdev->dev, true); } + if (of_device_is_system_power_controller(pdev->dev.parent->of_node) && + info->device_type == S2MPG10) { + ret = devm_register_sys_off_handler(&pdev->dev, + SYS_OFF_MODE_RESTART, + SYS_OFF_PRIO_HIGH + 1, + s5m_rtc_restart_s2mpg10, + info); + if (ret) + return dev_err_probe(&pdev->dev, ret, + "Failed to register restart handler\n"); + } + return devm_rtc_register_device(info->rtc_dev); } @@ -766,6 +825,7 @@ static SIMPLE_DEV_PM_OPS(s5m_rtc_pm_ops, s5m_rtc_suspend, s5m_rtc_resume); static const struct platform_device_id s5m_rtc_id[] = { { "s5m-rtc", S5M8767X }, + { "s2mpg10-rtc", S2MPG10 }, { "s2mps13-rtc", S2MPS13X }, { "s2mps14-rtc", S2MPS14X }, { "s2mps15-rtc", S2MPS15X }, From patchwork Fri Mar 28 13:29:14 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Andr=C3=A9_Draszik?= X-Patchwork-Id: 14032066 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id D5D3EC28B20 for ; Fri, 28 Mar 2025 14:20:43 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:Cc:To:In-Reply-To:References :Message-Id:Content-Transfer-Encoding:Content-Type:MIME-Version:Subject:Date: From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=5zOrAobgqux207RdFFKdVSyI3bSrdsl4WaNtosICsko=; b=iPS/LEglQpnWk6D5BNVdd4OhIw K6TqcCJdL3um17MiRwBLvhuyT6gISgWXdR9E3qCJs+IB05rjMR6syMc4YWP70jomK/OgH4cQf9+Nz Ghs1cacTMBeoSo37DTVcVWUZHUQzQcySw+8Eao1JwXHNSDMOBmmwj9Zqyz9rX/whM64ROVc8i3Kic LcwaN6DrvE/OFOnScl4wTgN2w+kFrWz9RcHw/b6+56fEnynWHQUOVzKH3YzrVA3GAPbjkPh4hUvou SmkDHUjMjeNSXAOBEBY47PaYeaz7f1PtxpbZtZJxePqWvRxFliGmZFpiIl+qYj1O8k1DGcV4FdxdL J/mRmiyA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98.1 #2 (Red Hat Linux)) id 1tyAZV-0000000DZmw-08hT; Fri, 28 Mar 2025 14:20:33 +0000 Received: from mail-ed1-x52c.google.com ([2a00:1450:4864:20::52c]) by bombadil.infradead.org with esmtps (Exim 4.98.1 #2 (Red Hat Linux)) id 1ty9ni-0000000DQn6-2qZS for linux-arm-kernel@lists.infradead.org; Fri, 28 Mar 2025 13:31:11 +0000 Received: by mail-ed1-x52c.google.com with SMTP id 4fb4d7f45d1cf-5e6167d0536so312212a12.1 for ; Fri, 28 Mar 2025 06:31:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1743168669; x=1743773469; darn=lists.infradead.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=5zOrAobgqux207RdFFKdVSyI3bSrdsl4WaNtosICsko=; b=T3nKhZpi5gymUdBzSJDwOMnYO4B/PjGAEpZvL25WXDathmjWTj/UnFS0eefKzxP64q 5hIuB9xhtqQzYv84c/q2IM2Xrpvaj2VIR4GVhsgBoLB1TmOab6uT+Fi4pG7L3lU23rdE bbEzKKs1LGxMdmlLQNvuKcIp9SwOC3nJ0hus+VkXDcF6YoiL+6tsNPFYY1ExQROMapwG WJoRK6O8KUyV6f/ZL4PZdZv3wTLt44DhmBWjmX1xD1lUl081JNkQGupQzEYpQ1w93991 pK0QCRXFmdmmIDyh6R7vWdQItAImipiY2I1+8i7LQ1AomANj2Pv41ZJwQus+jZC21Fse hC7A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743168669; x=1743773469; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=5zOrAobgqux207RdFFKdVSyI3bSrdsl4WaNtosICsko=; b=EEavJuz+ePCN9Vv9OI1jaLbIggTCUTOWclr84Ln+UQzlh5fYZ1bcYecrBMuPdZSFwe z56CHf/AxZCeRT/pmldtAjV7NR7lIYjzYe4GbZ0ItmngO3RsYoLPKZ1MB/f+Ug42dXiM BOk39TcDlOdsBfPwcNaw4YTOilCSzoYCOTVNHCjHP64QxqbaylMfT+HjavSebzQejbFj tcZlsNcrU+T76znul/SM8acI/psM3Vmy3gdiAyrwBT/QhbcUGk84wb8tJ3YBfyiFQ+FK MaTlIaeFB+viy7oAX4cgmGU2v+HRZKzku/c1g/ndXgD1mRyNZgqr6nlOAvKBU1V+yDDW aeuQ== X-Forwarded-Encrypted: i=1; AJvYcCWZJOn4bJBI2O4RoKV2ikzF1JBVybTYgvAOZclGhQvs89NWwU8ppLpcJvVdBsXktVX17KeHZyTLPLr78pqKvhtn@lists.infradead.org X-Gm-Message-State: AOJu0Yygb477sGgFuxVJhEOthqA16+nrA/zZF0JldScyA3hxpd87q9eB Pfc6LkZmxYXDPjHX6hNM2VKaKGimu1bUDpg4CE7zAAnvH7dbRLp9L6vwSVELVwI= X-Gm-Gg: ASbGncsfUAEGI8+UgXeAmp2JUOZcsAaV3nVCBvhIFp6USVFfvE7sq9vaQvvbhVYpUTF 6Wo5LehM4wurzbvw7BeQayRpKSChkP67ag/Qg3Hi+Ylcl2YzlY9mCFnKRF1BnMXruOuY+9M8dVi IkG3ZrsHpU6Weav9+uv/z2eG9SiCnYfPLqCwBNME/7xgJHTlVUaD7LvAe9TzH+cGL9OmV4vxvuc olSBflJpm3JAdRO9IGjGjvE866StSL0tvjrMb4498uHgTtcHiK2vYhi8z9sW7INRfvR0m2iw2Db ThGcOowTGySQT9rXziKuFnWVn296b/nc17kaJWRsduSZWJUZ0RkUhKgX1+Mi7psICs5AmQftuKe M3L/vxwm2ZRcibMqs5OGnMiONn+38 X-Google-Smtp-Source: AGHT+IGPOuJOhetnhPLDwYjmYCFkw94wWYnGaOGbWSLs66EXrE/s58NfpYkGGvWXaz4pE2WTKd2LXg== X-Received: by 2002:a05:6402:40cc:b0:5ec:c7e4:b6ee with SMTP id 4fb4d7f45d1cf-5ed8ed2ff84mr7735639a12.27.1743168669063; Fri, 28 Mar 2025 06:31:09 -0700 (PDT) Received: from puffmais.c.googlers.com (8.239.204.35.bc.googleusercontent.com. [35.204.239.8]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-5edc17e01f7sm1355284a12.79.2025.03.28.06.31.08 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 28 Mar 2025 06:31:08 -0700 (PDT) From: =?utf-8?q?Andr=C3=A9_Draszik?= Date: Fri, 28 Mar 2025 13:29:14 +0000 Subject: [PATCH v2 28/32] rtc: s5m: fix a typo: peding -> pending MIME-Version: 1.0 Message-Id: <20250328-s2mpg10-v2-28-b54dee33fb6b@linaro.org> References: <20250328-s2mpg10-v2-0-b54dee33fb6b@linaro.org> In-Reply-To: <20250328-s2mpg10-v2-0-b54dee33fb6b@linaro.org> To: Krzysztof Kozlowski , Lee Jones , Rob Herring , Conor Dooley , Sylwester Nawrocki , Chanwoo Choi , Alim Akhtar , Michael Turquette , Stephen Boyd , Russell King , Catalin Marinas , Will Deacon , Alexandre Belloni Cc: Peter Griffin , Tudor Ambarus , Will McVicker , kernel-team@android.com, linux-kernel@vger.kernel.org, linux-samsung-soc@vger.kernel.org, devicetree@vger.kernel.org, linux-clk@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-rtc@vger.kernel.org, =?utf-8?q?Andr=C3=A9_Draszik?= X-Mailer: b4 0.14.2 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250328_063110_716237_8E859BAE X-CRM114-Status: GOOD ( 11.34 ) X-BeenThere: linux-arm-kernel@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-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org Fix this minor typo, and adjust the a related incorrect alignment to avoid a checkpatch error. Signed-off-by: André Draszik --- drivers/rtc/rtc-s5m.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/rtc/rtc-s5m.c b/drivers/rtc/rtc-s5m.c index 0d8783577bab4f4ebe61050dbd68387d970773bd..7b00e65bdd9c25b3426f92355f8ea36e66c3939f 100644 --- a/drivers/rtc/rtc-s5m.c +++ b/drivers/rtc/rtc-s5m.c @@ -243,8 +243,8 @@ static int s5m8767_wait_for_udr_update(struct s5m_rtc_info *info) return ret; } -static int s5m_check_peding_alarm_interrupt(struct s5m_rtc_info *info, - struct rtc_wkalrm *alarm) +static int s5m_check_pending_alarm_interrupt(struct s5m_rtc_info *info, + struct rtc_wkalrm *alarm) { int ret; unsigned int val; @@ -451,7 +451,7 @@ static int s5m_rtc_read_alarm(struct device *dev, struct rtc_wkalrm *alrm) dev_dbg(dev, "%s: %ptR(%d)\n", __func__, &alrm->time, alrm->time.tm_wday); - return s5m_check_peding_alarm_interrupt(info, alrm); + return s5m_check_pending_alarm_interrupt(info, alrm); } static int s5m_rtc_stop_alarm(struct s5m_rtc_info *info) From patchwork Fri Mar 28 13:29:15 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Andr=C3=A9_Draszik?= X-Patchwork-Id: 14032075 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 54A3FC28B20 for ; Fri, 28 Mar 2025 14:24:17 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:Cc:To:In-Reply-To:References :Message-Id:Content-Transfer-Encoding:Content-Type:MIME-Version:Subject:Date: From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=5TCn0wifCdb3UC3ucEx7Zkhg1UJ6ww+TPiSGCbm38yQ=; b=JgSX1+6jfJZI1D3R/z1PvKqYNo EI3mR4EOyDS1ad79nhuORY2d5CIdJ2KKJEioPgtVT7u3vQRq8LgGlVxS0VvAlQBLDTYw7Tr1QIr5W +CuljAIi8r83kRBuemu1imwYGHELkTU9TvZx8ns0Hc4uD/NwgAzhYfLjoZtIgueQ+AvOzljd/W7Aa 1etUEUhR/Xa/c7vEtdV6gg243SRDWY9zyS0Y+j1Vy6GKHkcy3yZuSgwru7Y0u/nk4bBrDsFNQyFo3 NL/kvggfnhVVXww0MmnhL5CFZK04hmGZzej1Zye6Sln/cXtAJtz2wYatvu4H9WGTcCQJnx0chxlXe wJtqlUag==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98.1 #2 (Red Hat Linux)) id 1tyAcv-0000000DaPv-2WsV; Fri, 28 Mar 2025 14:24:05 +0000 Received: from mail-ed1-x52c.google.com ([2a00:1450:4864:20::52c]) by bombadil.infradead.org with esmtps (Exim 4.98.1 #2 (Red Hat Linux)) id 1ty9nj-0000000DQnI-0LPi for linux-arm-kernel@lists.infradead.org; Fri, 28 Mar 2025 13:31:13 +0000 Received: by mail-ed1-x52c.google.com with SMTP id 4fb4d7f45d1cf-5e5dce099f4so2961486a12.1 for ; Fri, 28 Mar 2025 06:31:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1743168670; x=1743773470; darn=lists.infradead.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=5TCn0wifCdb3UC3ucEx7Zkhg1UJ6ww+TPiSGCbm38yQ=; b=dg8kgeICH5/cF98hsqkZjVOjqk98WbJGxu9dLwnyYoq8pXWsXbsy12uFm165a9TSjy tRTI2KNxGkVARpDTzrJ+JxHMhPvNAnS1EyM9CKs2/NfhIndA6dIgUspRNpHvzfSbEGxI rPVwN0NQypdrFWkx9CA/YIZG2SRXBkcaqfYRjWqyfffkZZucq/D/cpWSNT5Wf+KT/zPX AFDd8+OsVIejpgNri03sJv9onaZnBvazg67xOlQsop4hIHs5v8Ya++yyZliNXIH0sKXk qL+YLPG20EWxTEFtCIVCVDLCszXBavkYZXvLJC6O08rNO2kAgtHLwhrGxQdKzL0TTpXg bBDw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743168670; x=1743773470; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=5TCn0wifCdb3UC3ucEx7Zkhg1UJ6ww+TPiSGCbm38yQ=; b=HfNUzErMjQ/60LVNf4H1BdIMpXPHEnoWPyrNhZIO7UEAXlFMfb7ELyPXffMojHkEkN SA56HPSX9Ojlbd3L076Ag7a1PgE/vkjN+3VGmeswl+mLFMwymAxMS5qLw+i81huOUP/Q +CzBWy2u9ACrWaKUTWK70iLfsy9esT85c0lmGR7bTsHaGq/YtynAPE01F41/DoT7NbIQ 2PlwZ1KretTAU939mZcJ4+9DLJ1VawSH9u5Q9nVHDuTO8CzPWE9kAnCZCVzG4fRAWxCY K7wl+0eDudrYKdF6Oa7DyZw9PL2s3LmvTTme+XDE8y9HvnavwlepgGI3oYw6luX22G9n JQzQ== X-Forwarded-Encrypted: i=1; AJvYcCX5OBugO8BQ/r038WZSB9iNIiFXT8RtrGR7h280KcqkyUeb6yqRL8cXpjFCuyKqM9OxU9QO5uoWAaIvQrvWm68n@lists.infradead.org X-Gm-Message-State: AOJu0YzF9LUJKX2g4nqKzAPX2vBo6baw80Gds0/qa/nVhsAU5+Dn0FBk 2uzcJCjTJuAM1GrdW7i1cui9Ke52i2W831ADhPvCQlbrdZ2PqT+Js3qpxQvH1nY= X-Gm-Gg: ASbGncuTTFoAF+cJltToCABWnhl45QdsOB1V6etnRCwQvl7AxREJ5hqisMONaljd7ph f7UeOk/feTZ1MX9LhEx6hhLknID3NklA0SuNqyO7WMAjd70jd9JPow+I7Mel45eGrNGqfZR8JQy pIN9YZUfOSMt1fmD7tmstHRNrT1IWpbK05RyNJfMU3WgfK27SyVBmjp1zxO57SFBAfRv2guIhLs ++HvS5iNqTUgRl1LP5qWscaEq077x2sDvalAqUpxCeUJfCCcNUitVeq9WXsoSQKQdRUcQCeO/NA IzB1vuujZpx1oCddF1UIIuIVHgcTXK+0HG/NsGii/h9fQiZUATpIwBJxdCw+G2PZYRCS0a364Un hiW+rOHBFDITNPDcmdK+RUuXkXJ2t X-Google-Smtp-Source: AGHT+IH4AkvKS9gIeAEdf4WO0mRjBtbxCllwxmJHe2U/y4p8yWBXxd7byUvVNmfoRgEJ54AQL4uegA== X-Received: by 2002:a05:6402:1d4a:b0:5e5:dea5:3eb2 with SMTP id 4fb4d7f45d1cf-5ed8e388e5emr8163708a12.11.1743168669663; Fri, 28 Mar 2025 06:31:09 -0700 (PDT) Received: from puffmais.c.googlers.com (8.239.204.35.bc.googleusercontent.com. [35.204.239.8]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-5edc17e01f7sm1355284a12.79.2025.03.28.06.31.09 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 28 Mar 2025 06:31:09 -0700 (PDT) From: =?utf-8?q?Andr=C3=A9_Draszik?= Date: Fri, 28 Mar 2025 13:29:15 +0000 Subject: [PATCH v2 29/32] rtc: s5m: switch to devm_device_init_wakeup MIME-Version: 1.0 Message-Id: <20250328-s2mpg10-v2-29-b54dee33fb6b@linaro.org> References: <20250328-s2mpg10-v2-0-b54dee33fb6b@linaro.org> In-Reply-To: <20250328-s2mpg10-v2-0-b54dee33fb6b@linaro.org> To: Krzysztof Kozlowski , Lee Jones , Rob Herring , Conor Dooley , Sylwester Nawrocki , Chanwoo Choi , Alim Akhtar , Michael Turquette , Stephen Boyd , Russell King , Catalin Marinas , Will Deacon , Alexandre Belloni Cc: Peter Griffin , Tudor Ambarus , Will McVicker , kernel-team@android.com, linux-kernel@vger.kernel.org, linux-samsung-soc@vger.kernel.org, devicetree@vger.kernel.org, linux-clk@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-rtc@vger.kernel.org, =?utf-8?q?Andr=C3=A9_Draszik?= X-Mailer: b4 0.14.2 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250328_063111_120228_9CFB5E5C X-CRM114-Status: GOOD ( 12.33 ) X-BeenThere: linux-arm-kernel@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-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org To release memory allocated by device_init_wakeup(true), drivers have to call device_init_wakeup(false) in error paths and unbind. Switch to the new devres managed version devm_device_init_wakeup() to plug this memleak. Signed-off-by: André Draszik --- drivers/rtc/rtc-s5m.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/drivers/rtc/rtc-s5m.c b/drivers/rtc/rtc-s5m.c index 7b00e65bdd9c25b3426f92355f8ea36e66c3939f..e8e442c503064eb4e570af5bf7dcff6bfa7f4656 100644 --- a/drivers/rtc/rtc-s5m.c +++ b/drivers/rtc/rtc-s5m.c @@ -779,7 +779,11 @@ static int s5m_rtc_probe(struct platform_device *pdev) return dev_err_probe(&pdev->dev, ret, "Failed to request alarm IRQ %d\n", info->irq); - device_init_wakeup(&pdev->dev, true); + + ret = devm_device_init_wakeup(&pdev->dev); + if (ret < 0) + return dev_err_probe(&pdev->dev, ret, + "Failed to init wakeup\n"); } if (of_device_is_system_power_controller(pdev->dev.parent->of_node) && From patchwork Fri Mar 28 13:29:16 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Andr=C3=A9_Draszik?= X-Patchwork-Id: 14032076 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id CFA93C28B20 for ; Fri, 28 Mar 2025 14:26:01 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:Cc:To:In-Reply-To:References :Message-Id:Content-Transfer-Encoding:Content-Type:MIME-Version:Subject:Date: From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=31t2yEGURbHN+dYzF9A6q02DZ3VBH6YOfFo8ts0pTFs=; b=X0TLgGKFIMnCGvXWPnhV0dkQrW BjObW6XYgMKrtL4rnhBlsTRoAu4E3UCt3T+4xgLppP3jjFRWgfYmkfprZyeXtOcawAeRtlzjFUGub a+oP1IZapGYJHF3E56ohcWLp7nrKZ6xoyjeZd/YXpbjqSPb246XtwaK23uhzyTgbKEobaS7cLVsZl R8dzDeV5cK7E+qQ35ZlDzb5wxAOOOLQF5angK5443ciXbSdxFzRw0UR/dkMgKJBKLXDcNjSazjyKW 3SxLDuohGBsnvlEcE6cBcHA8CeYBwj+VGB2wjr2kgLyStizXlWnsuNR4izJ6XI/zxd4ESvjO0y1JD w3Ih9eVA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98.1 #2 (Red Hat Linux)) id 1tyAed-0000000DahO-170H; Fri, 28 Mar 2025 14:25:51 +0000 Received: from mail-ed1-x530.google.com ([2a00:1450:4864:20::530]) by bombadil.infradead.org with esmtps (Exim 4.98.1 #2 (Red Hat Linux)) id 1ty9nj-0000000DQnX-2T9U for linux-arm-kernel@lists.infradead.org; Fri, 28 Mar 2025 13:31:13 +0000 Received: by mail-ed1-x530.google.com with SMTP id 4fb4d7f45d1cf-5e6f4b3ebe5so4054715a12.0 for ; Fri, 28 Mar 2025 06:31:11 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1743168670; x=1743773470; darn=lists.infradead.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=31t2yEGURbHN+dYzF9A6q02DZ3VBH6YOfFo8ts0pTFs=; b=uDA78V81a/9KdLfGyXqb0V6cqNec0bWQe7JSPoKtJVKZJSPOSfu02H3pt7IaPJUYwV IQ9hG/HGde1fOSnJonW4HxQWv43BHVMlvcQuHl17u5wGCGhi3cX/RLG8NcfamFFDQRXj SuHw/ThrWmdTPNXhNjT7a6t2Gc+djzK8AiALcMfvPfogzC5Qi7jJ0hF/FNOmBKt13m26 +amRUV4mopy/MAnYBaVgMhX9ApUa0nX9f29ZqRIWaL+SxuZzJ5Ki0ITYY6VQYBaiTZFU B48Z9tP88O131aZBZIoUCDc6Z2+n/ytln8EV5+QSBwbEqDKiCKmzen96He/5UYTrl79v m/3w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743168670; x=1743773470; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=31t2yEGURbHN+dYzF9A6q02DZ3VBH6YOfFo8ts0pTFs=; b=vh7/Rg5XWVMK4KKm3/9K7AO2GfSgtqWMOgn1kceYWrJGNT0CQAdkG+k72ospaWsQ5F nYchXlMzeYOm90rQm5jg10yowzjN4X474DZrX26fBD0qNbhZ1wYge6cEgSrol0uWQLLK v+zlWdPD3TYtuVDhQAYfNJZFaYEWATI7yxFsT2auDJA7RutmpJlgMmKa811Z1Gih3JnO U0k0M2hU+X4QwXcstAA6GCjxTN2ZMqP4j2+AfNialCfXGcdomnN8Jtz3TJ378O5xTkhE xnF8ClV0pzG46zzH5BFOl/ifPL2dF2XgXTsTpKdJj7QhvdhLvqmgCnw5cu+wrtKM6t7Z 5LUA== X-Forwarded-Encrypted: i=1; AJvYcCVfqm9np985tPO0QRzqsXmyC//phCqMt6AWmgn/TRCdNZn64SKu2Gm2NvGyIatuu8EzYUkKcsydAAs2mlYDX2+t@lists.infradead.org X-Gm-Message-State: AOJu0YyyDmt1buJGUAValAZS1l2WUFcWb6DA9dHrUgWwNcrYNdHbv8QV 7dZr5bEyhsRevVMXTLhO/QVx6oL9mmtz8qQy9/uSl2tqbtdp5LTLI62pMfwfsyk= X-Gm-Gg: ASbGncv9KEZv7mjXdMyhY2T6D5/S9B517MkBYJ39eMdgVDB8ZwrWVCop5P7siodgi7z fzH6ZihnhEJBj+w3ULK1ir5dR61JZuTH2tsF4R9dL5s17MUh0igDxRQ0+ZgQzCLXw4Piks/E8QX 5D8MQcBwM7Vackfb1O0OxTOb2sEjyWDrYL7mYhMb3QkecE8bnHIOj1WV7H6MqC4pMVKDgsnE2to BXATuzLb5sDhbx4a3SWqO240B00lu3QxsfYDwj+G2KKS+oivMd5I/86uXdC+uy7TfA5FbebcPM3 yhfjNm0qPoV8zLqAfXkeRrF0LUe7qVlx0HwSqob/K6qEV2s/p+EzSH3ltizg7iCFUah8oav9FgK JZyb10zo9ngf/YpbDX3JUE9fdKQRU X-Google-Smtp-Source: AGHT+IHYdNpE5Oaiy98m+ZWWJjpn0kB8pbikHk0ZcUltpSgeHSv0me+ylZHKLUVEOgvnZGzJh/notA== X-Received: by 2002:a05:6402:518d:b0:5e7:b02b:6430 with SMTP id 4fb4d7f45d1cf-5ed8f3fd122mr6775177a12.23.1743168670150; Fri, 28 Mar 2025 06:31:10 -0700 (PDT) Received: from puffmais.c.googlers.com (8.239.204.35.bc.googleusercontent.com. [35.204.239.8]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-5edc17e01f7sm1355284a12.79.2025.03.28.06.31.09 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 28 Mar 2025 06:31:09 -0700 (PDT) From: =?utf-8?q?Andr=C3=A9_Draszik?= Date: Fri, 28 Mar 2025 13:29:16 +0000 Subject: [PATCH v2 30/32] rtc: s5m: replace regmap_update_bits with regmap_clear/set_bits MIME-Version: 1.0 Message-Id: <20250328-s2mpg10-v2-30-b54dee33fb6b@linaro.org> References: <20250328-s2mpg10-v2-0-b54dee33fb6b@linaro.org> In-Reply-To: <20250328-s2mpg10-v2-0-b54dee33fb6b@linaro.org> To: Krzysztof Kozlowski , Lee Jones , Rob Herring , Conor Dooley , Sylwester Nawrocki , Chanwoo Choi , Alim Akhtar , Michael Turquette , Stephen Boyd , Russell King , Catalin Marinas , Will Deacon , Alexandre Belloni Cc: Peter Griffin , Tudor Ambarus , Will McVicker , kernel-team@android.com, linux-kernel@vger.kernel.org, linux-samsung-soc@vger.kernel.org, devicetree@vger.kernel.org, linux-clk@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-rtc@vger.kernel.org, =?utf-8?q?Andr=C3=A9_Draszik?= X-Mailer: b4 0.14.2 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250328_063111_626563_317C13EB X-CRM114-Status: GOOD ( 12.71 ) X-BeenThere: linux-arm-kernel@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-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org The regmap_clear_bits() and regmap_set_bits() helper macros state the intention a bit more obviously. Use those. Signed-off-by: André Draszik --- drivers/rtc/rtc-s5m.c | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/drivers/rtc/rtc-s5m.c b/drivers/rtc/rtc-s5m.c index e8e442c503064eb4e570af5bf7dcff6bfa7f4656..fb65a8e439d72d9070751c00f5826a403ac0b416 100644 --- a/drivers/rtc/rtc-s5m.c +++ b/drivers/rtc/rtc-s5m.c @@ -338,8 +338,8 @@ static int s5m8767_rtc_set_alarm_reg(struct s5m_rtc_info *info) /* On S2MPS13 the AUDR is not auto-cleared */ if (info->device_type == S2MPS13X) - regmap_update_bits(info->regmap, info->regs->udr_update, - S2MPS13_RTC_AUDR_MASK, 0); + regmap_clear_bits(info->regmap, info->regs->udr_update, + S2MPS13_RTC_AUDR_MASK); return ret; } @@ -351,10 +351,8 @@ static int s5m_rtc_read_time(struct device *dev, struct rtc_time *tm) int ret; if (info->regs->read_time_udr_mask) { - ret = regmap_update_bits(info->regmap, - info->regs->udr_update, - info->regs->read_time_udr_mask, - info->regs->read_time_udr_mask); + ret = regmap_set_bits(info->regmap, info->regs->udr_update, + info->regs->read_time_udr_mask); if (ret) { dev_err(dev, "Failed to prepare registers for time reading: %d\n", From patchwork Fri Mar 28 13:29:17 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Andr=C3=A9_Draszik?= X-Patchwork-Id: 14032077 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 0BC70C28B20 for ; Fri, 28 Mar 2025 14:27:53 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:Cc:To:In-Reply-To:References :Message-Id:Content-Transfer-Encoding:Content-Type:MIME-Version:Subject:Date: From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=PSEpA1j4+zmEauzOiOoF/mVKhD6CkjV25eyM5OWecNk=; b=xt4uyVfuzjpCUCh/x7t/nfChDu vPHmUC3dBq/0hslNDMHQEBeExHmmLjgJMnUhgkbQI+ZCZ6+eiebRkLL4rZbQaoCQV61MN5WrxOQTv YkML7MxaQTcSodXHPG3FqkHG3dF+dxQE3aakc3vLwPe9SLAAwLt2Et7yUm8dXx/wRf3cytw0o2XMR 1e1+P0Z1UH8bkEKtx/v0btqqBFrdOH11D1QWPaVHmfaMgAJOi+Or/4fHF3t+HmDP05argoiBhBzcu nYs30cxFkxV2tP6O2pwyWwqpBpdhax0H7A+SOiHi6tB6G6oe9W2yecvdwp2fbMoR+xVc+2d8PkvKj 05FQ9z5w==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98.1 #2 (Red Hat Linux)) id 1tyAgM-0000000Dazc-04o5; Fri, 28 Mar 2025 14:27:38 +0000 Received: from mail-ed1-x52c.google.com ([2a00:1450:4864:20::52c]) by bombadil.infradead.org with esmtps (Exim 4.98.1 #2 (Red Hat Linux)) id 1ty9nk-0000000DQnz-0P9l for linux-arm-kernel@lists.infradead.org; Fri, 28 Mar 2025 13:31:13 +0000 Received: by mail-ed1-x52c.google.com with SMTP id 4fb4d7f45d1cf-5e5b6f3025dso3368207a12.1 for ; Fri, 28 Mar 2025 06:31:12 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1743168671; x=1743773471; darn=lists.infradead.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=PSEpA1j4+zmEauzOiOoF/mVKhD6CkjV25eyM5OWecNk=; b=BXtAN0M5EQdwmfAagmjWV1IwcIMfbuAbgXG/EAzIAG/8fb5yZQgiaTRGv4gyHR45S3 1ydt8mDTlAgJH+K522TdfjjDi3hXo7JOiQRle2qLv9AUPX7uj+UuQlRRdl1FPLf+xzJH 6Zn/VNFUe5+viLyjbryPk1RJstFfojfDsIym5efZjX+EmBLKiZ4vAm86xMHNDNLqYHQz dGC7u5tzy9H0oS2RXQxcnQeShg1tgQOFcA76l6G5u39ElGIOTUWUZVyvZI2tmlCazFUi 3z6Dwt+c8gzCKxB7xX05H9SFIQWLFto97zjRFez+wKcZUhp5ZDO5NrZP9Lu06iKY5EYH jxdg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743168671; x=1743773471; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=PSEpA1j4+zmEauzOiOoF/mVKhD6CkjV25eyM5OWecNk=; b=NaFiEdf1QgieQlSd0ApMfMHhzZJEW8pXrXyd7k7h2tsvJozFd5wLfJQuHEbfgNNeq7 q9UblV82KXatmzemyIrKo1vJagjh5FlSxC2OEDuAEJt7tX9L1zZ7bFZWAfuXzCNK0Q+g N6yVxIyDDjhF5ycAjZYG4wH5xWmilPzkQELSk5+51G7Fz7kkcHyQY3pJ+gNZkvyKCnls KxK84AU9eZ/ft8Zm04NDNrSHrl50TnVklRaQPdrym+lssXuIKxwQpP1ZPZT08iQ/ByB2 gAq8i6c+QkfGxb2pWwLSBz+gtQzDekP4m8jo+W4vUr9u7DJo2WDTOGZfZqPUyskwBr0Z 7JiA== X-Forwarded-Encrypted: i=1; AJvYcCWFlPUfWidiUNgPXcP8JzmgNlzo+yryt1wDhUvH1CIFEkBTD1FpVFZYh12e0bFZ+bBa+0yuAyumtlq+OXQ+AiJy@lists.infradead.org X-Gm-Message-State: AOJu0Yx/cKfEilUDESrMbOfiMjgQT9XO2W4mbRQjcyKJGRGID/FlAD5/ ftyVeyc3z0nLWJvaycv2HjHP7VOowOntFAW5yxenmPqczD8Z1j64FMYc6DxnKIE= X-Gm-Gg: ASbGnctzYfUA3CbjETpd65sG0DES6sz3c7Q0Iy9lbYfV8983wejIXlwLTG5XBLRwWTz H+Di5qDW0dBTv5+bK4flhr4B9BpNKCrPOc7w6+xCVi2NBHYhJp3hd/F/NMmojeGobvd5fBebccC 4I/Zxt/rD6dRwJl90ElI4iM7EnQTfzclpsD9UvfP1aJL9KWbe6Bsng979pArEh/39Tu0VYn3ZNB 6XbYyhj3QwgXBH4RU1ivmsFnXTI9/itNPUUW84G0xOhls7laRFl7ozFXRVuf/ZVATSdM3Ue0FQl YQCfO1aSCq8TXciGB35TYNOYtHMRlQxCsni32r7bXebK8lK+ZfNsZvC1Xwm/UvNFYBCih0TqMLa ISIr2jg+BV3f2afzLb31qnlGNWkzZ X-Google-Smtp-Source: AGHT+IFSs1uiz+MYEgU+bUhAfh3+GZqO0SVgrjZOqgHDorj3bQXBjGPLvsOv5IgyeRPZA7NSU+kGow== X-Received: by 2002:a05:6402:268c:b0:5e5:c3bc:f4e0 with SMTP id 4fb4d7f45d1cf-5ed8f80a51amr7531556a12.29.1743168670656; Fri, 28 Mar 2025 06:31:10 -0700 (PDT) Received: from puffmais.c.googlers.com (8.239.204.35.bc.googleusercontent.com. [35.204.239.8]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-5edc17e01f7sm1355284a12.79.2025.03.28.06.31.10 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 28 Mar 2025 06:31:10 -0700 (PDT) From: =?utf-8?q?Andr=C3=A9_Draszik?= Date: Fri, 28 Mar 2025 13:29:17 +0000 Subject: [PATCH v2 31/32] rtc: s5m: replace open-coded read/modify/write registers with regmap helpers MIME-Version: 1.0 Message-Id: <20250328-s2mpg10-v2-31-b54dee33fb6b@linaro.org> References: <20250328-s2mpg10-v2-0-b54dee33fb6b@linaro.org> In-Reply-To: <20250328-s2mpg10-v2-0-b54dee33fb6b@linaro.org> To: Krzysztof Kozlowski , Lee Jones , Rob Herring , Conor Dooley , Sylwester Nawrocki , Chanwoo Choi , Alim Akhtar , Michael Turquette , Stephen Boyd , Russell King , Catalin Marinas , Will Deacon , Alexandre Belloni Cc: Peter Griffin , Tudor Ambarus , Will McVicker , kernel-team@android.com, linux-kernel@vger.kernel.org, linux-samsung-soc@vger.kernel.org, devicetree@vger.kernel.org, linux-clk@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-rtc@vger.kernel.org, =?utf-8?q?Andr=C3=A9_Draszik?= X-Mailer: b4 0.14.2 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250328_063112_155555_3C0C353F X-CRM114-Status: GOOD ( 13.27 ) X-BeenThere: linux-arm-kernel@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-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org Instead of the open-coded read/modify/write sequence, we can simply use the regmap helpers regmap_set_bits() and regmap_update_bits() respectively. This makes the code easier to read, and avoids extra work in case the underlying bus supports updating bits via struct regmap_bus::reg_update_bits() directly (which is the case for S2MPG10 on gs101 where this driver communicates via ACPM). Signed-off-by: André Draszik --- drivers/rtc/rtc-s5m.c | 28 +++++++--------------------- 1 file changed, 7 insertions(+), 21 deletions(-) diff --git a/drivers/rtc/rtc-s5m.c b/drivers/rtc/rtc-s5m.c index fb65a8e439d72d9070751c00f5826a403ac0b416..2ad01fb3bc72fe9259a8307584c9cf3a839bd492 100644 --- a/drivers/rtc/rtc-s5m.c +++ b/drivers/rtc/rtc-s5m.c @@ -279,17 +279,9 @@ static int s5m_check_pending_alarm_interrupt(struct s5m_rtc_info *info, static int s5m8767_rtc_set_time_reg(struct s5m_rtc_info *info) { int ret; - unsigned int data; - - ret = regmap_read(info->regmap, info->regs->udr_update, &data); - if (ret < 0) { - dev_err(info->dev, "failed to read update reg(%d)\n", ret); - return ret; - } - - data |= info->regs->write_time_udr_mask; - ret = regmap_write(info->regmap, info->regs->udr_update, data); + ret = regmap_set_bits(info->regmap, info->regs->udr_update, + info->regs->write_time_udr_mask); if (ret < 0) { dev_err(info->dev, "failed to write update reg(%d)\n", ret); return ret; @@ -303,19 +295,12 @@ static int s5m8767_rtc_set_time_reg(struct s5m_rtc_info *info) static int s5m8767_rtc_set_alarm_reg(struct s5m_rtc_info *info) { int ret; - unsigned int data; - - ret = regmap_read(info->regmap, info->regs->udr_update, &data); - if (ret < 0) { - dev_err(info->dev, "%s: fail to read update reg(%d)\n", - __func__, ret); - return ret; - } + unsigned int udr_mask; - data |= info->regs->write_alarm_udr_mask; + udr_mask = info->regs->write_alarm_udr_mask; switch (info->device_type) { case S5M8767X: - data &= ~S5M_RTC_TIME_EN_MASK; + udr_mask |= S5M_RTC_TIME_EN_MASK; break; case S2MPG10: case S2MPS15X: @@ -327,7 +312,8 @@ static int s5m8767_rtc_set_alarm_reg(struct s5m_rtc_info *info) return -EINVAL; } - ret = regmap_write(info->regmap, info->regs->udr_update, data); + ret = regmap_update_bits(info->regmap, info->regs->udr_update, + udr_mask, info->regs->write_alarm_udr_mask); if (ret < 0) { dev_err(info->dev, "%s: fail to write update reg(%d)\n", __func__, ret); From patchwork Fri Mar 28 13:29:18 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Andr=C3=A9_Draszik?= X-Patchwork-Id: 14032104 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id B9E66C28B20 for ; Fri, 28 Mar 2025 14:29:33 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:Cc:To:In-Reply-To:References :Message-Id:Content-Transfer-Encoding:Content-Type:MIME-Version:Subject:Date: From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=IvD3NPE37fI+ZqUrH7EmoQBagetQaG70If7tawsO/t4=; b=0KJeq0R7o1NYtLbt1j0z3pKeN8 U2A55/lNH51KOig8AKZPo2J+I28sn6O3mSE5k3Rm+fS9PUIZR+r1fJhtDQsiVm/ZlQeOWAgl/X6u/ c/z1qtnyMz7blKe9sD4QFJBlxfIYqKTJ0sqOBljwOtmOALccx/Nn+VMl1QrJesclX46tkk1Ir0mJn 3YBYLqQhEOUm2zQUSY6eQu7+Cs2jpVLGReimhBVIqFwsw/D9sXjcuFTzrnA23qYmDhIsM9I8Xo6WO CHnM6JsAJW8ap/hT7KLUPIOfmf4ROli5yhLDoVIuaMG66GRR4HetBE+plASiUbEVuDYNcoOsHxLiu DTuVpVqw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98.1 #2 (Red Hat Linux)) id 1tyAi4-0000000DbNC-2yZP; Fri, 28 Mar 2025 14:29:24 +0000 Received: from mail-ed1-x535.google.com ([2a00:1450:4864:20::535]) by bombadil.infradead.org with esmtps (Exim 4.98.1 #2 (Red Hat Linux)) id 1ty9nk-0000000DQoa-38fO for linux-arm-kernel@lists.infradead.org; Fri, 28 Mar 2025 13:31:13 +0000 Received: by mail-ed1-x535.google.com with SMTP id 4fb4d7f45d1cf-5e5e0caa151so4139195a12.0 for ; Fri, 28 Mar 2025 06:31:12 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1743168671; x=1743773471; darn=lists.infradead.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=IvD3NPE37fI+ZqUrH7EmoQBagetQaG70If7tawsO/t4=; b=ybZ46NYA9xNAX0CkIAe/cs70XO76uk625sBrN3b1Ix/thjbp9zdBiK3585gwweCDcq ECfRQpBYasRFPvO7/fwZQ9N3MzH+2ddNCW4dJs/ffljZ6NHFBvVuA0f5Om/Urbvs3JKa 8qqJSwiiDmsJ8Qk6rtvDVz5PcdRIK/JdgFSsBzKzslOj8znGsJfFUBuQKnrrylZ0HVFQ Qk0qnKd0wWJ+HFQss9558HPIpQql4slwy8w8F62JICBN37/EGaroLljHJKo9fMiBHNQj Tmtcn6twQMmzAhWcABwmX63Gk2KhLTUE3gNRXmM46e6bxSTXSoVHgxS0E3MpFBCvJLpE lU/g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743168671; x=1743773471; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=IvD3NPE37fI+ZqUrH7EmoQBagetQaG70If7tawsO/t4=; b=l0tKS6R9WeIJJH6oWBDjuPteoMl3Fs9hw7CKAGvJnJV4qXx+5C7IJAR7bRgW2m8LnZ /pIrnPTK3+lPYKdP7igzFNCilqdwvqclEWHw+bp04FTMbZLFHLTql2I0dN80zmwuz366 TXrcGOGpEi9Ey1GqpL80dTG1nUFTkXGNa48PeMxX//fdBSWwyFuzmGHRwbqoCn5kWnPB 1mavqlTSnqlKIHAGY3PGFaOv2Ik77hTy/U2zlKqpHOc7zgf8n1nBI3h6SnIHsaioaZO+ cqKKL9NPkNz629AP9IvwMCSxYOOhOaQ0o/H/FWtHM29ZLv2+VprdNMRMqcfKSYLPW2YE GSjA== X-Forwarded-Encrypted: i=1; AJvYcCUdKdBzixxLEw5ssTvHUd96ISp8uu+9YzOGPx+GawkiVnM5uPgW9QmoiYI02KjsBBuCRQCekwhAYLolp9W0GgY3@lists.infradead.org X-Gm-Message-State: AOJu0YyMUutCrMEDHMV7mpZOjfK3NlnAsE/qUUEUFxAYaoq/lMXOFZcP rlR6/CLWjFYQA9uEUJ67DQTNLhsTM3A4nT1swXevULa6wr0slqNEze9S0rhXhJg= X-Gm-Gg: ASbGncuQvuXD2kVCH2p2jyqBKtaK2+jJm11jXX2f2pK6O1F0zCkR4DRLFMw+UBqku2e 5En5bU7G1pWvWlrTSivFtK66E6N/1WsTCzcKbOHmCwyDiRREHja2laVpmqtLnMjXiIZtVBzcplK uQlHRzZYGFEGU8rLeQCAG9I4zLkmjniRTRDmDBCJLcBBE8HlImuMxjl48pc2fs11DYSPwMO0QGq PGRTb600JfFQ4avNo1V3Fp9zoiQXkM+4ckEHOmwBbnELtLibyzGqGlk3Fg9I6lLvTygmK5P4ifN DQkgMbTzWl+gryOiiQE7uYbBSDt6ipvsn9y2VC9CDjMaYqYvc8GMxAmKjWlgIZuVrkxV0aB86CQ ZWgS2Xp7nqDK5cBAYDXRVYoYY/Lft X-Google-Smtp-Source: AGHT+IFcXivfke8CF3Ua6fUT95VkCgqgOsG78wJbvWFT6tJJvWhz2bwcboGbcdFVisEshC8NwxZTJA== X-Received: by 2002:a05:6402:2547:b0:5ed:3228:cfee with SMTP id 4fb4d7f45d1cf-5ed8be108a2mr7864450a12.0.1743168671175; Fri, 28 Mar 2025 06:31:11 -0700 (PDT) Received: from puffmais.c.googlers.com (8.239.204.35.bc.googleusercontent.com. [35.204.239.8]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-5edc17e01f7sm1355284a12.79.2025.03.28.06.31.10 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 28 Mar 2025 06:31:10 -0700 (PDT) From: =?utf-8?q?Andr=C3=A9_Draszik?= Date: Fri, 28 Mar 2025 13:29:18 +0000 Subject: [PATCH v2 32/32] MAINTAINERS: add myself as reviewer for Samsung S2M MFD MIME-Version: 1.0 Message-Id: <20250328-s2mpg10-v2-32-b54dee33fb6b@linaro.org> References: <20250328-s2mpg10-v2-0-b54dee33fb6b@linaro.org> In-Reply-To: <20250328-s2mpg10-v2-0-b54dee33fb6b@linaro.org> To: Krzysztof Kozlowski , Lee Jones , Rob Herring , Conor Dooley , Sylwester Nawrocki , Chanwoo Choi , Alim Akhtar , Michael Turquette , Stephen Boyd , Russell King , Catalin Marinas , Will Deacon , Alexandre Belloni Cc: Peter Griffin , Tudor Ambarus , Will McVicker , kernel-team@android.com, linux-kernel@vger.kernel.org, linux-samsung-soc@vger.kernel.org, devicetree@vger.kernel.org, linux-clk@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-rtc@vger.kernel.org, =?utf-8?q?Andr=C3=A9_Draszik?= X-Mailer: b4 0.14.2 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250328_063112_784800_E124C40F X-CRM114-Status: GOOD ( 10.61 ) X-BeenThere: linux-arm-kernel@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-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org I'm working on a Samsung device which includes this MFD and would like to be Cc'ed to further contributions and help on reviewing them. Add me as reviewer. Signed-off-by: André Draszik --- MAINTAINERS | 1 + 1 file changed, 1 insertion(+) diff --git a/MAINTAINERS b/MAINTAINERS index d4d577b54d798938b7a8ff0c2bdbd0b61f87650f..9f05af52b062d8cab0f8b48b2625432108604c3e 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -21397,6 +21397,7 @@ F: drivers/platform/x86/samsung-laptop.c SAMSUNG MULTIFUNCTION PMIC DEVICE DRIVERS M: Krzysztof Kozlowski +R: André Draszik L: linux-kernel@vger.kernel.org L: linux-samsung-soc@vger.kernel.org S: Maintained