From patchwork Sun Mar 23 22:39: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: 14026683 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 AAA72C28B30 for ; Sun, 23 Mar 2025 22:44: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=HXb1pE2B5VZK7eIRvGjCX0bwONX10G0/gh8FJgs0P90=; b=Nw7eTjJ5w+73SLFUZYURBdsoJV c2NoSQyTocTqiaD1MO//BGaWL6gmj1L6bZKgxoYm6385crmVZ8Ca5LOLm/JVeoHEROqXuJ7K4cPYu A6PCfGTuffyWBVv6h6NYSthwfw+FrppQ0mfYJxLDv3yquaerflcPFEYsAzg8GMk5XzB1CGMm1H3rV lQ8tGLPJuwJyVAugKCZD6y0ZxNOnzJyalPfBHEJLSLg+c531JFhvb3/LYMscoDH7CVcC5Zffe0O9s 7XYx49bKxhgiC35g4i+Bv/sdr6Lo4fjvg4t9oUDZaBVvrpOVJUl5OCzVN8ea46AJC+YEz34nc9ddp voW9tVEQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98 #2 (Red Hat Linux)) id 1twU3Z-00000001qD8-33GZ; Sun, 23 Mar 2025 22:44:37 +0000 Received: from mail-ed1-x536.google.com ([2a00:1450:4864:20::536]) by bombadil.infradead.org with esmtps (Exim 4.98 #2 (Red Hat Linux)) id 1twTyY-00000001p3i-1oib for linux-arm-kernel@lists.infradead.org; Sun, 23 Mar 2025 22:39:28 +0000 Received: by mail-ed1-x536.google.com with SMTP id 4fb4d7f45d1cf-5e5e63162a0so5902728a12.3 for ; Sun, 23 Mar 2025 15:39:25 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1742769564; x=1743374364; 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=HXb1pE2B5VZK7eIRvGjCX0bwONX10G0/gh8FJgs0P90=; b=cfcvLcLE7mgUgnEcKGfyMEdfstU8wcmrDtxpsZQY0ht+7xrOkdqMbrTeZ7iu0FNEsi Mkw0CED3duHlok3+4fpRbvasfK2nRQebsG5Uo+SxmMTSBqCgkH3yqm7NWWXKerXNqsD+ PnrJqQQc3atjhI/g0vRh4ZXxSS/KRH4fpilYCRN111+dt/DfYwHS2pu9Hh1AyMS7uUJk 0xqX/BNVbeKTgmg69tKs8aOickpmTjLU8S7RWGybS8tk7Y0g+pUyk95v4nmvBshwNDbh 3bnH6yGjdVW17dX1rrb/4dzPjscd3iQAdP8YP5iQ9ufOfm4NxkKJ3uFW3ZC4GJAnrwTg GuoA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1742769564; x=1743374364; 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=HXb1pE2B5VZK7eIRvGjCX0bwONX10G0/gh8FJgs0P90=; b=RwaTetmTaZzWz/We360VSgvXqekY8Gt89nJZQXjiX4vaMDuHVh1k8y8DnGDgoHO+ko L6Pz20u12kEPmWdr75LHU9PTDj8R7X72KXHe02QTdz9XWjkyL+M8rkFaU0nKXwuc1QJM BrF7h1uXf7CTgS6s4keP8g2fgYD047Ylt9DVy1CbQQB0PN1uxicIkN24BZ/OM9Mv8VNV xtqB9ttQTHzuHQKXhxSyTXzGgP0nDHyRWovmA2zrVw4f5TOvvsYii1GJhkjmRtnLfVg1 00lZ9doJlpLZvWbC9BOIZpWLpIMlvTBRo/VCQx2lBLJEoNPWWy4DBOqTFoBq2fpDWktZ 5KSA== X-Forwarded-Encrypted: i=1; AJvYcCW5Ud1Y+Kpf4nDhsjUK3vWL0/54DRjZ5w6qevs/C4SnMJcuMv0v2AwZEnBMJEeKDnlUViw4v0kcRoKzVR7yY9rE@lists.infradead.org X-Gm-Message-State: AOJu0YyefFd3fYgC7csmTU+MftOV8YaFBUK+gvQ1pfi7dqdX7GoCaHgd izxcS4+yCVwE0p9QRIjtLDfdbLNEH9qHZ5WM7N6DtLJxFOeAJ/esdYoGNzMJ5U4= X-Gm-Gg: ASbGncu906MxMgNJ15+NrqyuEUAwZ1Ee2w79roOV9b54DUXkgRkV1+iDv6F6Tw88nif fGh0ZDcv5ruLcZORvnCwLrZMKswHsrpVC2DEMwqOTdAyc8675J39ZOZi+4tyX6ZguHzvOXiuycC A9h0Lqxxqs9gr3sdRGFhPYE319Y9gzSVVdTAcfxhRxZQYxoPVKX0C284jrXbw0V6bvfZVhawUsv oCN9qy34p4nkvriHT1uPGGPqdMEqDKJRxzVrKKOdcolpy22oB8iSSrC7j1RlmYgD92Ecoa0KsRT 1r3wsrizqkGoPirfg2CPBz39eRsrcAFMUNTtpL0AsMBEv+6NI1q7aACWXRJDsfmzTUTxZCviHIp i+CxSmMbR0o1cBF40BVlz9AeKgKG4 X-Google-Smtp-Source: AGHT+IFEmZ9BlAcg5cpLq9P2zpjpd5ecowSIznI/DDr2rcI73G5OWcR4yuBPI4oD1OUtU38fBId+Ng== X-Received: by 2002:a17:907:7ba8:b0:ac2:b684:542a with SMTP id a640c23a62f3a-ac3f23df97emr1170613466b.33.1742769564196; Sun, 23 Mar 2025 15:39:24 -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 a640c23a62f3a-ac3ef86e44dsm559686666b.31.2025.03.23.15.39.23 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 23 Mar 2025 15:39:23 -0700 (PDT) From: =?utf-8?q?Andr=C3=A9_Draszik?= Date: Sun, 23 Mar 2025 22:39:17 +0000 Subject: [PATCH 01/34] dt-bindings: mfd: samsung,s2mps11: add s2mpg10 MIME-Version: 1.0 Message-Id: <20250323-s2mpg10-v1-1-d08943702707@linaro.org> References: <20250323-s2mpg10-v1-0-d08943702707@linaro.org> In-Reply-To: <20250323-s2mpg10-v1-0-d08943702707@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-20250323_153926_643832_09A6A3A0 X-CRM114-Status: GOOD ( 13.53 ) 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 a handle to 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 will be added in subsequent future patches. Signed-off-by: André Draszik --- .../devicetree/bindings/mfd/samsung,s2mps11.yaml | 34 ++++++++++++++++++++-- 1 file changed, 32 insertions(+), 2 deletions(-) diff --git a/Documentation/devicetree/bindings/mfd/samsung,s2mps11.yaml b/Documentation/devicetree/bindings/mfd/samsung,s2mps11.yaml index ac5d0c149796b6a4034b5d4245bfa8be0433cfab..ae8adb80b3af7ec3722c2a5718ad8fddf0a5df34 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 @@ -43,6 +44,12 @@ properties: description: List of child nodes that specify the regulators. + exynos,acpm-ipc: + $ref: /schemas/types.yaml#/definitions/phandle + description: | + Phandle to the ACPM node for when ACPM is used to communicate with the + PMIC, rather than I2C. + samsung,s2mps11-acokb-ground: description: | Indicates that ACOKB pin of S2MPS11 PMIC is connected to the ground so @@ -58,16 +65,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: + regulators: false + samsung,s2mps11-acokb-ground: false + samsung,s2mps11-wrstbi-ground: false + + required: + - exynos,acpm-ipc + + else: + properties: + exynos,acpm-ipc: false + system-power-controller: false + + required: + - reg + - regulators + - if: properties: compatible: From patchwork Sun Mar 23 22:39: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: 14026606 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 E471EC28B30 for ; Sun, 23 Mar 2025 22:41: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=76PH5cHSw8HwRSSvCBVkDwYPjRgUpAN3tWdOoIM1T/Y=; b=Eefl4ogIG22muLmbnorWmpiMzr 4Dy8MxrfXRE6LAYvuzU5frazbSpEJRDBNbz0B6Iy3StzzHCyRnfn7ZECNpXKmFOX7Mwr1UPUemJcP +odbfu9tpxGt1kQ9VgcpbzcKnSA4U7vIB8sdPRTCrpM5s6zNLVYDk6cCqLLG5I4H4fhXPpU2jCII5 9HeNJJ+VBnfjz8Dikgh6dKGv/V8IHjO09gVwfqzga8S8/H2/5/pvjkzPvkpmVT3ENy4OMrRZkOS6z BhwjKpGzum2AneukPdj7vIvtLhREM/wR/UsiE1bl2fu5q5ZIMlF1qDLIYKYLbe+jkmvVagiu4UA3+ e7QrLfzg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98 #2 (Red Hat Linux)) id 1twU0G-00000001pVi-0rse; Sun, 23 Mar 2025 22:41:12 +0000 Received: from mail-ej1-x632.google.com ([2a00:1450:4864:20::632]) by bombadil.infradead.org with esmtps (Exim 4.98 #2 (Red Hat Linux)) id 1twTyY-00000001p3l-0KBO for linux-arm-kernel@lists.infradead.org; Sun, 23 Mar 2025 22:39:27 +0000 Received: by mail-ej1-x632.google.com with SMTP id a640c23a62f3a-ac25d2b2354so632202266b.1 for ; Sun, 23 Mar 2025 15:39:25 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1742769565; x=1743374365; 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=76PH5cHSw8HwRSSvCBVkDwYPjRgUpAN3tWdOoIM1T/Y=; b=G0CjfqlZ/C4MktyLQJAqpr34quaHSpAdRkjlCRbCG/LvoHvPUBMoPoSDpbIT/LJlPP 4iXiLVHweoQBiGa0r48vQSnC0gWshSKLlxS3cCI6lrgDJmQgJiIGRHH7qZpCtngI8fUY R1uPgQlWgZBESyCIJIGRbbCNJuHC4u0TieNEeUpqjWmyHlRwJNKDmCiW0gPCHJf6Rjxw tjtlHaJUHKhdvrjS/pPotlHbiciwfMowlsVLY8bbRGahNrgfsOkuPFQEBcnvfQt1eUz1 c5W7Ba5AiqJZr0PZK1VXfjozGg713jEED09oJn+p5AzZdIc0lRuivktA1dwSH28rzu1J 5GOA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1742769565; x=1743374365; 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=76PH5cHSw8HwRSSvCBVkDwYPjRgUpAN3tWdOoIM1T/Y=; b=EUWfgojsWFpqfPRD3IbMmvCHCVnsLjPG94VLkvZIYmJIHjI+548kYKbkE2FkMRGtSi TS5Q5TzPuuogzWY27VoHCcexl+Dchorr/K6x0HxJ8BjETSeE+46JpbUL7t1/bcZ1uIpA he608R3PQnWM0V5EPKxuMvVH6qAWE7Oha7y7Yt6Ab/FYaqWtRehjM+QVhnvS1GRsIg+/ Tb6nrk31e/AvGtHaW8GF/xk0GYxAj59t1l4NpqSTnhoIX5gN30yJCFbH9Ab+hBvqQfGn JBCoTn19vx1BVP+niOz4+EMKyA5/n+7kRA8KWPGngLkupRXQ8wybk1tWx2n7N6YN8uae +y+g== X-Forwarded-Encrypted: i=1; AJvYcCUeLlxLa8GFF3eY5bbTcfmDxZ4Egnt+ggbd8D5ObkUrKV2DCo59yCizWWf/t05ZDmhxYxbZH/3AprXDpfj+dIi6@lists.infradead.org X-Gm-Message-State: AOJu0Yz5nuLkC3cyhOinF/ErBDytpnsQzoGqaHoy+ozz6YeNOdmXnnIR s5DiaMKrM90GcJyofFmd2q7f6XRDs7Pv2D7+5VQP3+8MdFsrk6/zU/acr8fviic= X-Gm-Gg: ASbGncuadhBQHlYeGRC8HsIRGYwth7d41hJwq+EHVChuKWci7XC1HOulltqATCYzwtN eEapiGUzryKjtEeMVzC6KPA1XhEma8VEqgaudaDZI9QLWwewEMvuLfJCx6kowKL2xPIvZ6h5OJw GOrg0MuaYxMcjHiLsrC5fqCeUbPmEN8Na3s47QvZvS5Ov+A+aPPvZG5kJ8OpnMR5A4sAK3l4Fid 8FsBo/VF5lZ11F+M7UrVVW2Q5f6PFFFMOycLi3rEpfGPpUieZ0+C2IQYsvoFzLMpBtMrVRwSEJu rHP1wDT6aG2mp2iPO81eF37xQc7gljLRscJiCtIX4xt0JfMlXgEAdYrgncgOlq6uRTiUUrNqg/c AUeCv6hp89Fbbp+xQETmR4D35KtOP X-Google-Smtp-Source: AGHT+IEYfWzNbR+K5DYstAqClR9nSakyWw/N8LzTya4wskfRe5KrC67EU110F2zXc4Z6WRaZMMlhIQ== X-Received: by 2002:a17:907:7292:b0:ab7:6fa9:b0a9 with SMTP id a640c23a62f3a-ac3f208a29emr1120053966b.11.1742769564738; Sun, 23 Mar 2025 15:39:24 -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 a640c23a62f3a-ac3ef86e44dsm559686666b.31.2025.03.23.15.39.24 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 23 Mar 2025 15:39:24 -0700 (PDT) From: =?utf-8?q?Andr=C3=A9_Draszik?= Date: Sun, 23 Mar 2025 22:39:18 +0000 Subject: [PATCH 02/34] dt-bindings: clock: samsung,s2mps11: add s2mpg10 MIME-Version: 1.0 Message-Id: <20250323-s2mpg10-v1-2-d08943702707@linaro.org> References: <20250323-s2mpg10-v1-0-d08943702707@linaro.org> In-Reply-To: <20250323-s2mpg10-v1-0-d08943702707@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-20250323_153926_112454_CE7A7C26 X-CRM114-Status: UNSURE ( 9.40 ) 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. Signed-off-by: André Draszik Acked-by: Rob Herring (Arm) Acked-by: Stephen Boyd --- 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 Sun Mar 23 22:39:19 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: 14026684 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 9350BC3600C for ; Sun, 23 Mar 2025 22:46:28 +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=9y2iwGfLCsw/LkK7ASOWMxlU+K/ybzYKfyvSxQC13dg=; b=0VVcm15gH6lWU52WC9fAkh73hD BNZenE7NUqVYdp28QvGJacChUm1Dp3tYJ9YMO5msvSuEd7qG22oHfTxA0hxXALLlQ2coomIvOagkm JkbCHny4my5N/dfk8Jsen7Q8Y8+9O2C2jT7RlPmjVOjzxr/ygi07RtJEEVD+0ziO8HBRxgU+jGzmy GnBn4pXoTINoe38bMPLMMWX9mYa3Uyq8NOAyfLSBdFuXl6m1Kurhjj5pzPIFZOu1++gvYGeVwDS3T DQhcG/V19c8l4t43Sf3nrE82DufdYabuRAqO0yVJKDy2zbG+IzXHE4pzKvNDOL/DG18aTt3tOx+cF uKiTkX9Q==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98 #2 (Red Hat Linux)) id 1twU5E-00000001qWt-2AXE; Sun, 23 Mar 2025 22:46:20 +0000 Received: from mail-ej1-x636.google.com ([2a00:1450:4864:20::636]) by bombadil.infradead.org with esmtps (Exim 4.98 #2 (Red Hat Linux)) id 1twTyZ-00000001p3u-0kf4 for linux-arm-kernel@lists.infradead.org; Sun, 23 Mar 2025 22:39:28 +0000 Received: by mail-ej1-x636.google.com with SMTP id a640c23a62f3a-ac25313ea37so454783666b.1 for ; Sun, 23 Mar 2025 15:39:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1742769565; x=1743374365; 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=9y2iwGfLCsw/LkK7ASOWMxlU+K/ybzYKfyvSxQC13dg=; b=VirCo140wjUsAqQmjecOePVd6HF8lU2pIn2yCNmFT2E2UaN1SaoAJIuCNaV/cpZOEx DeyBsKWU/yKLnDlP6aysnGuKsTPehs8/mspb/aD/qtFt3RyaJosaYVFMfkReKcrE+Lh2 +7rDR5T8RWDhHUNqWzfq+vGQAyJOO0bhL/J/+kslqrh5h7uMFMlNym00Mc8ShyOKnagR i3OHHwUcK6QTlbvMJdm3RtuWLdctf/uLZ5VdajkXdTyfBltZhDUQDtEjbLByzQGVEofI FR2u8ML+8aD8wPD6E1oZHZskiFohQLz/UNtAX4sGPPLrBeTL1TmxY7sjNacPjR77mrew RiFQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1742769565; x=1743374365; 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=9y2iwGfLCsw/LkK7ASOWMxlU+K/ybzYKfyvSxQC13dg=; b=Pn7pubYLFUoSNX3T/K4HKgRGzB76K+UYIc3Ezkbcc7qrKf/TjCw1CQEoRDEmBBbjQb c0u6CDLE1T3CKFhkeMmXHXhFeJVhT6ZGAI5s3YB8R+2VyiNEIHmwnRGl4zsbp/Wyi8y3 Ox23YbJGobuZzwYbVa6Xi4TjasYqE+oNV25VHDEWurFSTGH0taZW9yKA0DkXuG80+iO+ RSFo5QADIk/4Ljx5UuwGIkluMYiaAxouR52pCcW6o4FV9G9v2z7/Yn2S9pbR8z0jhNcf HoR25niLyZLy75GhQvVpgqVQra6KexrwNKP7hFSNB3QbUakPw7px0K9Xbo9+A2PbbRgO wyfg== X-Forwarded-Encrypted: i=1; AJvYcCVrEvzzZGCuAnaDlPLskiP/allAtxyq3YaQSPaNDuB6dPX8Fu3pL3rAZiIsBzLtIZP0qlRf/GzNWmS5/Syi1ldv@lists.infradead.org X-Gm-Message-State: AOJu0YxB7jyOfw2fzoDWG+hCc+v8BeWRTLeD4mw2fOEl4VJzIn08tao7 QK+hSZPgWVNA+gtt6XGH6mKYBhgIenApDtXjaYNpAmZNwSxaN+IABPapMJOd0/8= X-Gm-Gg: ASbGncuuYF9TDBO5KjCLQuITQyN+DYN/JMq7kk2FNIrmQxSCHEy0XSoWyvwv8hMSb4W rUYCurDpLkeFEBRtRwOm8maSbT55pQ8BhdhNJwTcWSx2OBBjoeSrDhrO+4z1Ibr5EWC0u7nnrsS dDelT18k3UeXp7qnSK9ioTINYTL6TKiG6WDQYcZ6d0v/xw+snXwoxGuqf40OuXXoMYFivDIG2zJ Px9HnlA4iz3HCmBTPNNU9yB23JZ6gJ5MWNOF4MkC7zDX2FYJZZpA2KNtN5bPoXxTnhYXJeaJQlx SstxwNme3enLSszfDMQbTFJNT/HQCqDL8v7YEVJrXxDHtjtE+OdZorajHOhIVFc7itO9iEFxcRH LajS9J9dghJF8lazV+oCmucbIHO4b X-Google-Smtp-Source: AGHT+IGsAC+lKGhqNteT46jfSAPWq5SZvMmaurRX3KpVQHgnAMqrYltc7UBx62PPecd7JPcN0qJQgA== X-Received: by 2002:a17:907:9805:b0:abf:4c82:22b1 with SMTP id a640c23a62f3a-ac3f2297ac8mr1130529166b.32.1742769565476; Sun, 23 Mar 2025 15:39:25 -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 a640c23a62f3a-ac3ef86e44dsm559686666b.31.2025.03.23.15.39.24 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 23 Mar 2025 15:39:25 -0700 (PDT) From: =?utf-8?q?Andr=C3=A9_Draszik?= Date: Sun, 23 Mar 2025 22:39:19 +0000 Subject: [PATCH 03/34] firmware: exynos-acpm: export devm_acpm_get_by_phandle() MIME-Version: 1.0 Message-Id: <20250323-s2mpg10-v1-3-d08943702707@linaro.org> References: <20250323-s2mpg10-v1-0-d08943702707@linaro.org> In-Reply-To: <20250323-s2mpg10-v1-0-d08943702707@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-20250323_153927_213139_E1A9F973 X-CRM114-Status: UNSURE ( 9.87 ) 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 upcoming Samsung S2MPG10 PMIC driver will need this symbol to communicate with the IC. Export it. Signed-off-by: André Draszik --- drivers/firmware/samsung/exynos-acpm.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/firmware/samsung/exynos-acpm.c b/drivers/firmware/samsung/exynos-acpm.c index a85b2dbdd9f0d7b1f327f54a0a283e4f32587a98..7525bee4c6715edb964fc770ac9d8b3dd2be2172 100644 --- a/drivers/firmware/samsung/exynos-acpm.c +++ b/drivers/firmware/samsung/exynos-acpm.c @@ -741,6 +741,7 @@ const struct acpm_handle *devm_acpm_get_by_phandle(struct device *dev, return handle; } +EXPORT_SYMBOL_GPL(devm_acpm_get_by_phandle); static const struct acpm_match_data acpm_gs101 = { .initdata_base = ACPM_GS101_INITDATA_BASE, From patchwork Sun Mar 23 22:39:20 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: 14026689 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 3880CC28B30 for ; Sun, 23 Mar 2025 22:48:15 +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=vE10aUiMRjd8RDkwLK4ZfbXWjVS481xd07k1tbR4ePA=; b=ipN339U+QbEk1xSABcRO0ha9QJ 2nSgoeuDhqRRQGFRtTk/WCOx0uKr3LkdXRXKyu+f1I+OT9jQiUNETmIrBb7snRxn3sog1sNK4vAQa bS/czmRkWx6wR3FdtQGpZVEsz+dfTBUxvffKKpMTFwj9bwbtLyAP8ly6XmCWSDOtaNojnLopmmQoF dA7b3/Jby0daweqfOZlaPuj4s0ADZJ6cs7ozM/sPCvUVgKxHf8y5wqDGhRE4YooQACALOi5iJpSSn icMAIGeZxCo8zH1I7aOeZ8SMnc1Mjd6xhQTTyBIXCZv0pWBarx7Qo4fgKX+dejqO3ZRPDl29oV8vB Ph74pW2g==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98 #2 (Red Hat Linux)) id 1twU6u-00000001qxH-1WXT; Sun, 23 Mar 2025 22:48:04 +0000 Received: from mail-ej1-x635.google.com ([2a00:1450:4864:20::635]) by bombadil.infradead.org with esmtps (Exim 4.98 #2 (Red Hat Linux)) id 1twTyZ-00000001p4S-3VVr for linux-arm-kernel@lists.infradead.org; Sun, 23 Mar 2025 22:39:29 +0000 Received: by mail-ej1-x635.google.com with SMTP id a640c23a62f3a-ac2a81e41e3so805155366b.1 for ; Sun, 23 Mar 2025 15:39:27 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1742769566; x=1743374366; 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=vE10aUiMRjd8RDkwLK4ZfbXWjVS481xd07k1tbR4ePA=; b=aSgS2J+nL4ocEKktmipLakRQNHC41ll60Hs+uklRRqS21Za0phZHDTrYJD19QLU9pw QBDtHkHHdQW1guwLOgA69fJy1OHIHXgA1ms7dpnAHUDrZHvBuOESIcyL8UovaJL/T6XB dp6hOuVBsgMvSYQqN115devP+IzHF/yYYL5GRAjerKQCDG9wf1hBDUiJrMhaTFd67qyN PZPm5iSx2FQ+j8XuyRaQNvUZeZouCrBPC8lJCcLmOwTwdW68r8xvK80yD5v9+HN5+tIb lTz0m7QixCAX3rHZ2pzxI8qLPlJp8s6BUszQOtUCTRzpnP8kukzC/zlxstyHqHtXVNpZ jrsQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1742769566; x=1743374366; 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=vE10aUiMRjd8RDkwLK4ZfbXWjVS481xd07k1tbR4ePA=; b=C0f2nFtHpje4UCTpBHxWI0/+ji3qmhOscu+tJHpc/NJvBs31Qi09jJcH0z4P3jRy7Z aVMHbfN4gJ2O04LICoU0xdAoKNWCYZ7dszAs7qNhrYzbAdwUsHKsTn+B2kQpfFPiFG4y pwAPem+GRn3kRh+m2m32cxYRTy7Zqq5nOxQtAtVt8JgCjk+XxL2KF1SagbjJHsBMbWwa 0M2PvCjVJPZO+aXiP9AP30kuebyK0mbocTqzucXH7ATXvqJOnBK876ELVQuMnz/+QEtk GqNHwQg2FbHOimISGgW8Pl9DM+UYj7YMIPB8t4jRT4scli9qXeZdVBPIs7WmjiQ/GXwO RC1w== X-Forwarded-Encrypted: i=1; AJvYcCX/L4ogKMWvG3gIVSuR4z0O3ORztOfc0WgTL//KUGiuju+Ocu0s4XqsBQErtwu0R/5YSdlQvnzJbLgQHGf8Ungc@lists.infradead.org X-Gm-Message-State: AOJu0YyZO0v1GXRwBXou4i75BXY+9hhYMF+8mifk+Y/FUw/q52ceKw4+ VwCEKNIJjnCES8kWgxVMaCfg4mnuR5+oBbaKJAhiCWefIyx9bEiRPYBWYD2QmP4= X-Gm-Gg: ASbGncvr+M6jXq7oEwSQhrM7CHkdDy7fUhdiJDkkQcHIsWvNUKuF7yvhQuNJSVnnmAt QSMH+obA3L9xMT93OgkW0hrAQatXJ/L+vxevd+9eu2L+vj3LJ3hwK9hiZUSpwPPsI5skOlGWimf FWpazmZWThYIpxRqnstIh/j0CAopBVUb2/YuHbZU1RzMjCw3pQbo726EfXiKQx+bKg+LW2Q3dMu aybgoK1XGRWExKH5waQIe68KX37rHSW5MNnbEv0iIM1ugU6Cv0fhmiAUqZU7ApubWwliojaZewE /iWi15pJ/mj6n2tqb5bYK0hKXMbF/WX0P59XvOGmq6RH+44xmE82LQsVGBCVVDFhLr6cOjuMv3W a09cHlNtY6F7zZpI8JPKNyat3tK8k X-Google-Smtp-Source: AGHT+IGpWEO6t55UagtbffDf7jAwBntYjANUq6862eIF7eGvrz/eDXOggCL/0jo6AVynnVDx8dSnbA== X-Received: by 2002:a17:907:97cd:b0:ac3:8988:deda with SMTP id a640c23a62f3a-ac3f24d7916mr1017581866b.40.1742769565973; Sun, 23 Mar 2025 15:39:25 -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 a640c23a62f3a-ac3ef86e44dsm559686666b.31.2025.03.23.15.39.25 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 23 Mar 2025 15:39:25 -0700 (PDT) From: =?utf-8?q?Andr=C3=A9_Draszik?= Date: Sun, 23 Mar 2025 22:39:20 +0000 Subject: [PATCH 04/34] mfd: sec: drop non-existing forward declarations MIME-Version: 1.0 Message-Id: <20250323-s2mpg10-v1-4-d08943702707@linaro.org> References: <20250323-s2mpg10-v1-0-d08943702707@linaro.org> In-Reply-To: <20250323-s2mpg10-v1-0-d08943702707@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-20250323_153927_980268_2CE62ED0 X-CRM114-Status: UNSURE ( 9.77 ) 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 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. Signed-off-by: André Draszik Reviewed-by: Krzysztof Kozlowski --- 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 Sun Mar 23 22:39:21 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: 14026690 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 2BA24C28B30 for ; Sun, 23 Mar 2025 22:49:54 +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=epweE/CfbfJt2xFB7j7q8NZbqQJAbZszVB23uUdGgMg=; b=BXvpjp9+EgCbXCDIEWumdqLzg4 a3dofkSpvNZJ5et3/YHNa/lfGdD/ZRsnKjSNWuY+wJuzRmbHsbPExHw/iFTxmh9UJfWsWRVB7xvn3 HWMKfU8Csrj5oagw1OjYwIfEyVgyaYMHiwmXH46qePhp8aH3xsl8DMsylBoXEh70WhsmW+vcZ3CXN ZznOEOjseg9hdEDJU/RUW7zojOvp4B1OrCa3a9cf6bhwncaPaip5G7Nuc1FcP2K8QcMbpVfQDGl1M qne9yJS100BQQZApSZCBpotTUUHpdy5JiYUPgyo797zJiHVMWEIsYCPSn0U/XDx3w0/RA20PZDzFu rcHKEIlQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98 #2 (Red Hat Linux)) id 1twU8Y-00000001rEu-0Mbf; Sun, 23 Mar 2025 22:49:46 +0000 Received: from mail-ej1-x62e.google.com ([2a00:1450:4864:20::62e]) by bombadil.infradead.org with esmtps (Exim 4.98 #2 (Red Hat Linux)) id 1twTya-00000001p4d-1Rdd for linux-arm-kernel@lists.infradead.org; Sun, 23 Mar 2025 22:39:29 +0000 Received: by mail-ej1-x62e.google.com with SMTP id a640c23a62f3a-aaf0f1adef8so677055066b.3 for ; Sun, 23 Mar 2025 15:39:27 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1742769567; x=1743374367; 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=epweE/CfbfJt2xFB7j7q8NZbqQJAbZszVB23uUdGgMg=; b=sKCAy+mfTirtJVVxm7yOshTvgbLaXKqFWivwuOlJX+/8uRMQX+o2Vi4N51vTjcrv3w cd+E6cwSP8yq/Ni8OvxGtHTOMTUGiKYzk6Qu8+PKdT74shP61uGSiBs9UwnuQdYXx7rW CiPnXsCag/z/Fyb3CA7E7I5bagm3lNagHeepYSjzP0vwF9qptzYATbQnxareiSK3PEGG q2SDSmFxa1A2zUFXjEEN/4TJqLmrst9m2GtgHkYpK0qZT52jTOTFlFImZVvIj8QMhh6p PsvnZzkODZSs3gSuwW5rqSEki1G8tRKRKpIQUF1rxO0qNRBGwk3g4FQ7IF08aIGET+Oj N9Fg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1742769567; x=1743374367; 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=epweE/CfbfJt2xFB7j7q8NZbqQJAbZszVB23uUdGgMg=; b=G01anbtxbgJalQ0KvOssi/Q8u10VrEjFldNtg2IUhgDTNuVadxRoq4vuKnTpxy1pLZ 0UgWOy/vJNKOSnvDNW5y25yRAZj6WI4ACFyhAxqIbf81Hy9wkEH1oVeBmub0AujWnb9P qgrUDP9MkKme8X3KA6x2JTcl/40M+Jh96mJA9vsy29xXyFlrEdvRaXOtRxiglA0VgeAx haZ3fx/UFSHXfCquyUTm8zO/nRCVLcdyTPrysRCRu8b/G7X6b5sEurRFZanSg8uYkX0R IBaStEmzy9URpsV7OG8EGmGyhpMFsvTZrMj/r8bZrtKCh2bFTJUhJ3FL9Pg9x6+pEqgJ eouQ== X-Forwarded-Encrypted: i=1; AJvYcCUCe4r+XxGvHdybmZCTJvAzCgc+F7uI/KdP++zkoukbWgluBG4iHBIPFyLRhJiJFqb4IY9f43tMiSNorhuYF74B@lists.infradead.org X-Gm-Message-State: AOJu0YxqvDbvg4A2Oew17iYozXc7E7H3qF1Dppva0ZQZYwbj/UuNNLZu HPcUtms656wVBg0r6syn4G+KswlDgs52A21ZdCp+rNjnRubbgo044tuljoH7MFM= X-Gm-Gg: ASbGncvXsmEM2vxCXWGfYeH+rl6qg+RYoxFEQW6qo5FsscGYMJweKcfEbvIC0yUsx35 J+x4L1NRSR2eRNAWi7F5gVef8NiHXUeZtqXhLe6RmU0lS74GdJkJH0MOIHQm3UfY0bL/c+7y0dN Wuikr6mMJ6AnY9wEcPaLs42Q8c04BTRyYYUwbh5CBiHjv8xNzZqdc+CklWIgLnZy7KfNsApi58n bsy6eN1w+p7ittxi08J99hh+9o+OYTI1DBJYnVxGJD1EKXpjyuchFdmc2lDmthcZQazxCW72kjQ hh8At56o+jm52083YQbnIxYYdwP14Xecnb2ECCWIIGjpK204Q1rPFionRkbCxkgxZevlgRrMFGB UjuZsFLzzDHlItT2YBc7UKHCtUR1l X-Google-Smtp-Source: AGHT+IFxrAKkMvESpg2DzD65IhmLmaroltgGQ5JYq8gpBxP70jAXR5CPVBPl8pc6WMyqqMZfFh61ag== X-Received: by 2002:a17:907:7f22:b0:ac3:2a54:875d with SMTP id a640c23a62f3a-ac3f251b8a8mr1007451366b.36.1742769566602; Sun, 23 Mar 2025 15:39:26 -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 a640c23a62f3a-ac3ef86e44dsm559686666b.31.2025.03.23.15.39.26 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 23 Mar 2025 15:39:26 -0700 (PDT) From: =?utf-8?q?Andr=C3=A9_Draszik?= Date: Sun, 23 Mar 2025 22:39:21 +0000 Subject: [PATCH 05/34] mfd: sec: sort includes alphabetically MIME-Version: 1.0 Message-Id: <20250323-s2mpg10-v1-5-d08943702707@linaro.org> References: <20250323-s2mpg10-v1-0-d08943702707@linaro.org> In-Reply-To: <20250323-s2mpg10-v1-0-d08943702707@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-20250323_153928_380048_EBD1F4CA X-CRM114-Status: GOOD ( 11.52 ) 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 Sun Mar 23 22:39:22 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: 14026691 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 BA7BAC28B30 for ; Sun, 23 Mar 2025 22:51: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=ElO2IZ9G98m5zgbIKm9J2T+DEuKZxhIOZ2O4ti4VZ1Q=; b=nQKRStFXTCHGatgua/gvfTNI8P M+xBjdx/RkBRBYpUAzpZnqntuhGyVu3KjmXcqLR51MPcwGhMAyNlmp1r8ThEtY07FYE1q58Sc3o/8 ezMnGHpzYQmNubC2E+TXXcEHNN2S8WXFS8c7oJi7X3A4g93X3YhxsRqlsT8R92DSQYUyezCbln+qh b3jJAAjqNb+PjE0B1Z0yhAGz6J1XLppcWJEXhAGSHwNY2DFtIsMqVyylsBSjfnmbB5xwAcz8SrGCc +740vKbbiyWkDdYGHGTwO5zoYUWzpXofjqemxFmn+QBUNtvdOqyNT7+9eQA7WZm8Uc1L+c/6NmV97 Zjyy9T1g==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98 #2 (Red Hat Linux)) id 1twUAB-00000001rQb-3yw4; Sun, 23 Mar 2025 22:51:27 +0000 Received: from mail-ej1-x62a.google.com ([2a00:1450:4864:20::62a]) by bombadil.infradead.org with esmtps (Exim 4.98 #2 (Red Hat Linux)) id 1twTya-00000001p4t-3feC for linux-arm-kernel@lists.infradead.org; Sun, 23 Mar 2025 22:39:30 +0000 Received: by mail-ej1-x62a.google.com with SMTP id a640c23a62f3a-ac2aeada833so704447266b.0 for ; Sun, 23 Mar 2025 15:39:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1742769567; x=1743374367; 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=ElO2IZ9G98m5zgbIKm9J2T+DEuKZxhIOZ2O4ti4VZ1Q=; b=SWnnwMPMTZML/LjlA3o52qvkyNiQ/x7VLX9HJhfZsRgCpMredH7Tf15ob2nQ6Bgy0n SWNvYG5sHtGyJyVe6UZUTBE828Ycyli8vpeteeZoku/YrSlF3z471uKfuKF0CDAmPoMM khd1+iqlxEZQdfwqdakxK8NyNrCatjZwO2qKNPwmSycet0G9fPKRNKMWVKCt4xdNaLPs EKHOD88ybqWBv58f+bp62/euEm2jjZu4etfcl1WEWnO5Ma179XydKA58Tj1xUEZlv0Ye AtpVOQYBADRyBrqJ2KedSASrKVhtQEaBp1FvrPK1m9fXzGBi2EBtR7iV2gZX+4/xGIYw rp8w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1742769567; x=1743374367; 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=ElO2IZ9G98m5zgbIKm9J2T+DEuKZxhIOZ2O4ti4VZ1Q=; b=Kn0dAYJ4WKn6Yz0T9S36TFCYolt8+e1NVltZH9DvGpU8nXMMqZiKjokAW6P/ppF1As w39G0JF4Lxo8Dum6dylQ8nrJnebBASKAShii4I7+r8AeQG4xGN44HroIX/99ZFueOVui FUDSY8px1PxczWGTO6GGjXBwch11/fsi2aEhWtGliQeAl1o/cLKyzDZXz9XMxC2Ah6A4 ZifVjdI56M+kRqjHQJPxgk0qmA/q93wkvedfevka4N3nCzjX0s693X/HtIvveLt9TOqW 28X2gyTbc+ISR18aOkXHmiFd3hxcClbNY+rRFtn+5v2s09LtSwdBkAgU0GN4ySXY+CHO 1y6Q== X-Forwarded-Encrypted: i=1; AJvYcCVCh1zrOWR8RQA1RVVou8F7Oj0nu1KiNxsoK0lWIBgz6xEjkTKt1BbRCJxgATZvOCfROFpvLhC60uprgmhrIiG2@lists.infradead.org X-Gm-Message-State: AOJu0YxCRPJsOSX0utXtHnITGnEhUiY3US3PFeoNyzSq5XOswdjzS1Vs oYhRCAo38kTzduFsvA8jCeZ052tQJIdTetamAHoaJvng1lFHQVkwuto0R85kk2o= X-Gm-Gg: ASbGncso3MV6NYiYAe2fcXSurQ2z/DpQ9FMscsMPD6n4xaz25t/nXa5Gw2+yfheA0LO EC4oZvf5Wwn9apJnAGj27JjLR8+dcADLM2GQjUQ/tos7+VSZkLV0Drcw//J3zYnvSJruzSTySPD BWgCs8IuWKMAGyWEUjUs/PEIikBiPqYwPs/YbQROTZwnByrFx5nMO+cgoPSKSgxTQgFtjSItyNQ GIEWyW0+iG32kuujp6h9vDV62vi1KlfWL1mOQJ7bdtHZ0u37+hKitlalYI8+oTmCRITM8SlCxue LR505/jeMOoVFtlwRIvnmLzRM4A3NS813h1MTrZmZmfEfWiWziY071BJ5k61sTxrjJL1N3qNq0e h1i/J3mrzGcTNQdgR90y7W1eVeMx9 X-Google-Smtp-Source: AGHT+IHK84mhAeYJUO60X9G/6jnyMUTEi3qcuoEP39r4Iheks7w5bAT6r9bNJMH9nKdB0JzRhkSGLA== X-Received: by 2002:a17:907:d58b:b0:ac3:ef17:f6f0 with SMTP id a640c23a62f3a-ac3f00b5ff7mr1040036766b.5.1742769567137; Sun, 23 Mar 2025 15:39:27 -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 a640c23a62f3a-ac3ef86e44dsm559686666b.31.2025.03.23.15.39.26 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 23 Mar 2025 15:39:26 -0700 (PDT) From: =?utf-8?q?Andr=C3=A9_Draszik?= Date: Sun, 23 Mar 2025 22:39:22 +0000 Subject: [PATCH 06/34] mfd: sec: update includes to add missing and remove superfluous ones MIME-Version: 1.0 Message-Id: <20250323-s2mpg10-v1-6-d08943702707@linaro.org> References: <20250323-s2mpg10-v1-0-d08943702707@linaro.org> In-Reply-To: <20250323-s2mpg10-v1-0-d08943702707@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-20250323_153928_939836_CF682103 X-CRM114-Status: GOOD ( 12.65 ) 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 Sun Mar 23 22:39:23 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: 14026695 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 72474C28B30 for ; Sun, 23 Mar 2025 22:53:19 +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=0uX6CkEO0NwgPlFwhM+5SvUIZg247JR2UUxHaZZQTw4=; b=iS4C26KIYhazhb78+GM5ce715T flz67VR6poL7JyIat4ye4CFVE6sSZyzX8GOS63WIUITsC6Wde76h+S+CMMJczHeMjGHNFHRU4CmrO Wcro1cORZisKRgPFIjC7Kt0t6pvIriYTYmiaINkN2SRE9XsUzg+F9KQpSKKwAR7Ub1SpZ1ahRqz2R csNk4qg5jb0d12toFVopydxSd3M6C5KD7+UVDGW/VHJNoqgFy/m6rOb1LVV8mV+fg2YxvL40qUxzl FQ1fO44zbdgiTLwaGAtTQ+Q3e6MjuxAa8t/+TDjgLsudXaWJfjZrKFIDKxBi/+60BfTKxalqHH79M ZZM3+aYg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98 #2 (Red Hat Linux)) id 1twUBq-00000001rd0-2hMT; Sun, 23 Mar 2025 22:53:10 +0000 Received: from mail-ej1-x630.google.com ([2a00:1450:4864:20::630]) by bombadil.infradead.org with esmtps (Exim 4.98 #2 (Red Hat Linux)) id 1twTyb-00000001p56-1eYD for linux-arm-kernel@lists.infradead.org; Sun, 23 Mar 2025 22:39:30 +0000 Received: by mail-ej1-x630.google.com with SMTP id a640c23a62f3a-ac297cbe017so864495766b.0 for ; Sun, 23 Mar 2025 15:39:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1742769568; x=1743374368; 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=0uX6CkEO0NwgPlFwhM+5SvUIZg247JR2UUxHaZZQTw4=; b=Z+SwC/zGvoCkY8dHgr1IAG9TV7gffR+Sti/e+b0FLc4wFgKogf2V5KpGt+dWNAGs4N wHGvFxLWOkxQGb0eMjNvUMbm4CLzDVwnze5yHeNj0oB+KvhaHW8E0c3Tph7szGDLZN3S wRPbNNJwyuThlbUmPh3/T3xWhHsS2LRQgvd/ymguzAl+dqqvRnqbtytA6WrgvyC5kGZ/ TLng2ZLVyXh9Y8MlW/FTQv1csrgfKL52Ul68/F1jfinibp5pB2bDhS1tVnAqPFzImLEj mzNMOfibnJiqU1ftpdy8NjwxUjC1ZxJFVf7ezI3SxOq32bXF3sAECNwaNL1ybFWBuNtx lsWA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1742769568; x=1743374368; 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=0uX6CkEO0NwgPlFwhM+5SvUIZg247JR2UUxHaZZQTw4=; b=GLWJiXGWWuD/g+iVI5w39SSHmfBnnEWoAD0hBlz7DCZHIDK4mwbhQsCpAX1EZmOCaF gJcqJk/b9f7SyDWpPWu8W+mSYQg7xy755EO4VGnX5kkfAsGqf3PBEzX8vfVkP7JOsJjR Nmf9sexsRSPu/FUVjpPOK5IDliMQkH02051MEvdqritK+4THOW8YHKbHLTxLmHPLgskT 4GUvxMoo7hTtVCCwfqjQonZxxbOFEfrwnWiGlYbmM3+5Rz1ttvgj3Rcje/J3uvXKJHaV rA41ONi9IhsjT2VaZmGzRCNUse8ISdHu1qWzLgHf0CB/ircv4fkirulnFZsHQz7zHuVK rUSQ== X-Forwarded-Encrypted: i=1; AJvYcCU24eQat6ZhH6wGWSP+t6z/q2RKgQYO28Azc97pMf0yjBu2SkxTp49OysZJyN25GLsIdbsb+T0Bc0pBNGcXWqma@lists.infradead.org X-Gm-Message-State: AOJu0Yw/rSI9+9AM2U2DDgSfodhYWR0vTxWv5J6I/nZN0GxkpbtF0X5f OtjQGNTX0eimw7B82n+AzQMvxNBCaj8PIykCGZOTmyyfXD9pL7JsEr6HZiHtcf4= X-Gm-Gg: ASbGncsSIEjK1wBVihLYfKpJJruihn9yGVauJSmunU/Gta+ZewF4Zy42/JMTrgfmg6s JmNqH5ksJ9RuHVkyd2ckpUclRzfdljJsgvM03tIGGzLjFUo8+xU2w5NnMYtRJGJGdMYhJqNkLeD REaXX/00MnjvwfscxnuHqr6MYJW4xPNnAQV2G7OjKCfZ6TZ/bHc4rFa4RAw4aKLW/IYWz1YX1ee Cbvilk+1Sq/SmAPzjZxMfgxIiqxEWpC2Gs3bfLG+NQjyUr6GUP4mfthNbVSSC4fEZ1+sv1FAt0B 0NIjC3pjv/xEqgc9V8dOETDnvVB+N8794zV3wGg2ZEk/OwElYtcNReNnl92AWSjID6cR4JLSIa1 7X51XRie3CQEcgN0117AmKBmZYmEO8BRYJLozyXc= X-Google-Smtp-Source: AGHT+IFvkyM7m55m5DAsodXq5EZ4AXqEDqM6V8YHvLrK06u5ugX5A70IcVFVe8/Urn5Sgh48Nw6Uvw== X-Received: by 2002:a17:907:2d20:b0:ac2:26a6:febf with SMTP id a640c23a62f3a-ac3cdf8a8bbmr1398647266b.20.1742769567610; Sun, 23 Mar 2025 15:39:27 -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 a640c23a62f3a-ac3ef86e44dsm559686666b.31.2025.03.23.15.39.27 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 23 Mar 2025 15:39:27 -0700 (PDT) From: =?utf-8?q?Andr=C3=A9_Draszik?= Date: Sun, 23 Mar 2025 22:39:23 +0000 Subject: [PATCH 07/34] mfd: sec: move private internal API to internal header MIME-Version: 1.0 Message-Id: <20250323-s2mpg10-v1-7-d08943702707@linaro.org> References: <20250323-s2mpg10-v1-0-d08943702707@linaro.org> In-Reply-To: <20250323-s2mpg10-v1-0-d08943702707@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-20250323_153929_430880_6D199FBA X-CRM114-Status: GOOD ( 17.83 ) 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. Signed-off-by: André Draszik Reviewed-by: Krzysztof Kozlowski --- 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 ebf7fa9a814d2d198fce853f7ff9a01f2bb69f5f..d686e02dc7ccd61e35173df997d2f894ee5ab515 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -21351,7 +21351,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 Sun Mar 23 22:39:24 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: 14026727 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 40B26C28B30 for ; Sun, 23 Mar 2025 23:40:19 +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=a1WAgr4uwM04DZyOzCnLxT64GQbYEMMtR1/k9PjNmnI=; b=4kJ5UW2EWBf5MEavtj0vO7M00D Tc6NAOt4z+aOQBOdOKlGS/d6ysElQzSCT/4hjug6c2AKMjCgJUGYG0m8qhzNuN5igM+QdomHE95TL C05K81RN4ONB2LFRXb+QOrS22rUnaF9LsCAs05yaJWFArNB8tof8al+1ltUnNX/WDkCtLDApa0Jyj rsVOkwjbFH89X98OgzR9UrtydCU9d0E7b14WBYxP39T5EAXlc+MqDnThAIY+LfeciKR4pKyxg8iOT /dIE1OAr8Sp/45Zq2PBNpAXRwVC2cw696n7AqSKPoMGoeStFQjgg7/9GybHbt+pKpkGpztvPFOmVz IqrKiudA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98 #2 (Red Hat Linux)) id 1twUvH-00000001vHT-3zuG; Sun, 23 Mar 2025 23:40:07 +0000 Received: from mail-ej1-x631.google.com ([2a00:1450:4864:20::631]) by bombadil.infradead.org with esmtps (Exim 4.98 #2 (Red Hat Linux)) id 1twTyb-00000001p5U-3oME for linux-arm-kernel@lists.infradead.org; Sun, 23 Mar 2025 22:39:31 +0000 Received: by mail-ej1-x631.google.com with SMTP id a640c23a62f3a-ac34257295dso794851266b.2 for ; Sun, 23 Mar 2025 15:39:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1742769568; x=1743374368; 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=a1WAgr4uwM04DZyOzCnLxT64GQbYEMMtR1/k9PjNmnI=; b=BjDdN2xhAqAK7FFCL/21dQ4idRz3eqRLfVYMXtxtBmXq6Hpu8eEzdekm8ISzYsbwac tX0oEFTZHUjrUvr7FIlP95+sO2dk3FYzb1V4I6Lx0q9mkDER47d3wCq8DJ7Fhd/zfPln 7NptHcSrKyvqFaI5iQhbzOQs9HO34xYY24pkgCG9qalHhsihpLOxzj7jHI3hn0GOw4pa qxnrs0qUSUkfR/gcqvCAwfYR8TNLKmQHLpWcnuWSLnY05UdeHDmGH7YjhvH8M5xrou7+ 8aDh5rnRi0DDPThI+uacrMnHZEW6r/7lSovdvsp8dbHQIBPohSM0hLZyGVYrQ3DTrwuE dLnQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1742769568; x=1743374368; 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=a1WAgr4uwM04DZyOzCnLxT64GQbYEMMtR1/k9PjNmnI=; b=X2Bdlq5n+ds6tZqWxuiMIiM6Npv7Qg3dRGVlyaUBlOMx3rJZzaCWeYU3NZe4fmC+t5 lHIqDSv7LuhCmX+1A41yFVP4yorWQWS/6B1RT2sjU9OLynBj2jepMyCtQPZC5d2q5uTL i0y5BHJYV6Huajcl0qcw0Cneg8ZQdj8jihnsCluKhNQ26WNapizKL2U+PY54EMUkFWF5 /9ucaCSFwa7DHx0LyM73zMttRtpMxrSfsrbAiK0/hlVVHEa8tJH2XBH6eb7DfS9mhFUh fQ+e/1ZEawD6p7y74vngo9yURWPJNcYiYWyyYSs0hezoBi+43wwWB37kNdeGuzUo41ZX QVpQ== X-Forwarded-Encrypted: i=1; AJvYcCXO1wjcHOk7cxeEJEYq4a3R9+K/a1Swme0EPbonDELsWk1pehRbfERCJLaxtE7ZDPOpa5P3kKtlgf4xNxigdiHc@lists.infradead.org X-Gm-Message-State: AOJu0YxoyvemFrEC1of0ysX6s8X7sQdw90P4ugnhjOw/ItKvadlrKTth Eo+MsCTUxad33DZK4fi3r+haAVQYGbn2QERsgLTUnpnDn9Xb+rzO1VpMHOny3o8= X-Gm-Gg: ASbGncuOdsEOfDfakjZsX1Vq4aRSbcj1TStWBBiplM3AJxUCGshPlcdRCy39D0/wZsd IWbPZ3D8gDNw6xj3mkN5wWaLjYENGwd3wDCTHUm0BxfKlJGXHdR262doNBIErw+S4ev+EgB1rwJ ocq3jNLnfl4qDyjhNpsGHVYfTCt1T342mwkI7tOkbTPlJqTUne+n3JkYkZx9lIg2TP78uRV2xxN FeoYUXu3jQTRAwU/Srv6ZYBHst70dfw7w4A88XGnHK4FXV9kna8BcY4YSHcscIhnwkYI79h8iLO 2mPPeEOvogv1sV/MWFB6nrQ72ctjdS2EBGVs0EOexxj0bI+n1vKYIOMimq7nUElmwJRddH3pwIL Gq3IQGpF7vGYARqaZ73inwSenO17m X-Google-Smtp-Source: AGHT+IGESlPld0TIZcF+ERlnjIFgWzaZCupFw8MycHD7wowlazt/klJI/2hD2dVdJFw5afV/HysuBA== X-Received: by 2002:a17:907:bd88:b0:ac4:491:1548 with SMTP id a640c23a62f3a-ac404911816mr803996166b.11.1742769568148; Sun, 23 Mar 2025 15:39:28 -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 a640c23a62f3a-ac3ef86e44dsm559686666b.31.2025.03.23.15.39.27 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 23 Mar 2025 15:39:27 -0700 (PDT) From: =?utf-8?q?Andr=C3=A9_Draszik?= Date: Sun, 23 Mar 2025 22:39:24 +0000 Subject: [PATCH 08/34] mfd: sec: fix open parenthesis alignment (of_property_read_bool) MIME-Version: 1.0 Message-Id: <20250323-s2mpg10-v1-8-d08943702707@linaro.org> References: <20250323-s2mpg10-v1-0-d08943702707@linaro.org> In-Reply-To: <20250323-s2mpg10-v1-0-d08943702707@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-20250323_153929_949514_9CD7AB12 X-CRM114-Status: GOOD ( 13.21 ) 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, we're going to split out (move) all I2C-specific driver code into its own kernel module, and create a (common) core transport-agnostic kernel module. That move of code would highlight some unexpected alignment which checkpatch would complain about. To avoid that, address the error now, before the split, to keep the amount of unrelated changes to a minimum when actually doing the split. Signed-off-by: André Draszik --- drivers/mfd/sec-core.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/drivers/mfd/sec-core.c b/drivers/mfd/sec-core.c index 83693686567df61b5e09f7129dc6b01d69156ff3..b931f66f366571d93ce59c301265fe1c9550b37d 100644 --- a/drivers/mfd/sec-core.c +++ b/drivers/mfd/sec-core.c @@ -276,10 +276,12 @@ sec_pmic_i2c_parse_dt_pdata(struct device *dev) if (!pd) return ERR_PTR(-ENOMEM); - pd->manual_poweroff = of_property_read_bool(dev->of_node, - "samsung,s2mps11-acokb-ground"); - pd->disable_wrstbi = of_property_read_bool(dev->of_node, - "samsung,s2mps11-wrstbi-ground"); + pd->manual_poweroff = + of_property_read_bool(dev->of_node, + "samsung,s2mps11-acokb-ground"); + pd->disable_wrstbi = + of_property_read_bool(dev->of_node, + "samsung,s2mps11-wrstbi-ground"); return pd; } From patchwork Sun Mar 23 22:39:25 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: 14026728 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 915E5C28B30 for ; Sun, 23 Mar 2025 23:41:59 +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=PkErzt1Ss+Bkd54SXbmEFKlCZnBrxlDz3Xe8Bme42SE=; b=J5viKEH9f7pky4QrljjgPzVuqs XFNoNdkKI2a3JIHpjc5OxKyNXixLeHTXpYD4/ZeYyjLbGD4rPHE65GpChdHjTpjrT4ddPBObDIKa5 8W82opOIrTbXGwstSlUutVp7jDd4eOcV5euHrdTqQsf+Ks8r7S4QpPSQnlCTEFZrfFQLgdaUbCfq/ kxNFoIZ48TAY3HVO2IXJRMhbXgwJgUBGBap/ibcHtm7gq8naukt34yDQbq7TyECpiKvCk/8fUICbd cUgNWRHhNIsDok5v6djwqm5VE9qC4ZL8f6wawsz19krXShRB2i14D9qYVO0PWbZol4E+YhQ9/tAiW vnJEifDA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98 #2 (Red Hat Linux)) id 1twUwx-00000001vaS-2mbR; Sun, 23 Mar 2025 23:41:51 +0000 Received: from mail-ej1-x62e.google.com ([2a00:1450:4864:20::62e]) by bombadil.infradead.org with esmtps (Exim 4.98 #2 (Red Hat Linux)) id 1twTyc-00000001p5p-0LCk for linux-arm-kernel@lists.infradead.org; Sun, 23 Mar 2025 22:39:31 +0000 Received: by mail-ej1-x62e.google.com with SMTP id a640c23a62f3a-ac2bb7ca40bso838504666b.3 for ; Sun, 23 Mar 2025 15:39:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1742769569; x=1743374369; 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=PkErzt1Ss+Bkd54SXbmEFKlCZnBrxlDz3Xe8Bme42SE=; b=DpybbQ9FbxjeK4iX403lc0d8bltLiny1aRe+QII+2hhlImgUmq9SJFxx2P098ZpPWQ v3DxgR84YerCjh2nMGruV2lat6c1uai/1Mz/sLxuNcWCkdwSQ0LHIiq4QLGg9oumaDpp k3E/xRuPynKJpJ9cNs0GpJ8eTfViQzeUBDeC9339LcGCcqTesEnqIPh5IU/xEG5OA0+Y PYPSbaq3v+wvOFsAnH1+nVyIdiWUXVWIRSkYMelCXKnP6zzjmxhShnZKNuJhPganYLrs F4zqSkR+sSEmt2sgynpkm5hmx1U+0N4hK9G5iVteMfm+SBxRYAEalx1f5Tjowk8fAIGP 9Nsg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1742769569; x=1743374369; 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=PkErzt1Ss+Bkd54SXbmEFKlCZnBrxlDz3Xe8Bme42SE=; b=MB5nAUIsPdceaB/tcRiBAc01d04Ip7tNqWcYgZwAh2cNpnKo8qF8YGL9MWc0wgnLru QleDY74J7FsHQqCtmMSnWPCPgqsbzLxsYysD1fJ/I8GnErLyqf3tqoG9AZMVmDzC9V9D /R3Jn9KhxhVBcmbWvEIR2OOFRAE7TJbmlHVvXNWTw7OlEPAtW0xFbInqiYNj9fzwVOKc kzMwsP7kMcREmZQdGToI4TubtXcPjLGaCRoYLbCh3/djLKHWPBf6F8HzjmigeEJrFS/f mtQJbW2Vd7zWq97EVIfbxW/9PLr9Leg0tCNZwIlwtiykl2HjPf3e8V7oK+1+3pg2EJn+ e0Qg== X-Forwarded-Encrypted: i=1; AJvYcCWLjtwfWfBGJ1f5jHzANlvj/B8huOGYYXpgLNH1ag+mM2geExZ3GrtMgqX+1fvCtx+prkkQ7cbJdVCjYiIU9Hp8@lists.infradead.org X-Gm-Message-State: AOJu0YwDcz/V9rZRJ3vuTV/i3UinOjpgWhMFyNBOKqGg+c18FHu2XD9s lOR6fiX+bUVLaFpZcky6F4I+cvQ+Ve3GMvBoQwFi1/SFf89VG1HeKA9RTgEzkzg= X-Gm-Gg: ASbGncvQ2iIgzOoZITQw6iLu3s/MmzTXG61w+9Vtj9XKxyamoLR6RWDkSjdVgQymzKx hT3fBSoDLmnHAkj4l/O9liaQ9Io6+m2Gxa/n0te1i/HdrYnuoSMPVuxjC300j9z8a8vd2nl8QmE /DPryCdSAKf7fNFvWkKK40hIj2Csp93r79TpkwBjpt2BpACLutUXlkDS97GoyX30pLHqZ6l9NdB JjyCz9dmCz1leECIrnFVl/v6JJxROfDIsGz3BGCZxUyQCHYyLgirgOyLZoWP9VmvK9LG3ztm5VH eyuaDMp9pn0K+YcuDdntTnyQtGJ6OH0sKHzilxDEmm0zBrRwljzuuPNwf8zJN5gqLe/2FyjCyQo 57Lh6vG976k5eNkhUHZXsX5rSCCAf X-Google-Smtp-Source: AGHT+IGAFdzsUecxR0Ot+aNtVjqQT9dbvewdjFSLK22DE4stZjNqeNVzWwfh7T1/N7CaL7vQgLskZA== X-Received: by 2002:a17:907:ba0c:b0:ac2:4db0:1d22 with SMTP id a640c23a62f3a-ac3f251f16emr1170254266b.42.1742769568705; Sun, 23 Mar 2025 15:39:28 -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 a640c23a62f3a-ac3ef86e44dsm559686666b.31.2025.03.23.15.39.28 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 23 Mar 2025 15:39:28 -0700 (PDT) From: =?utf-8?q?Andr=C3=A9_Draszik?= Date: Sun, 23 Mar 2025 22:39:25 +0000 Subject: [PATCH 09/34] mfd: sec: slightly rework runtime platform data allocation MIME-Version: 1.0 Message-Id: <20250323-s2mpg10-v1-9-d08943702707@linaro.org> References: <20250323-s2mpg10-v1-0-d08943702707@linaro.org> In-Reply-To: <20250323-s2mpg10-v1-0-d08943702707@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-20250323_153930_126586_F1096D74 X-CRM114-Status: GOOD ( 18.17 ) 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, we're going to split out (move) all I2C-specific driver code into its own kernel module, and create a (common) core transport-agnostic kernel module. Transport drivers will have to do device tree parsing, and the core driver will allocate its own additional memory as needed. In preparation for that change, separate out runtime platform data allocation from device tree parsing. Having this change will create less churn in the upcoming split of the transport-specific parts. Signed-off-by: André Draszik Reviewed-by: Krzysztof Kozlowski --- drivers/mfd/sec-core.c | 30 ++++++++++++------------------ 1 file changed, 12 insertions(+), 18 deletions(-) diff --git a/drivers/mfd/sec-core.c b/drivers/mfd/sec-core.c index b931f66f366571d93ce59c301265fe1c9550b37d..9c514f4b5f853ec2b4e234c578935ffad145cd4b 100644 --- a/drivers/mfd/sec-core.c +++ b/drivers/mfd/sec-core.c @@ -262,27 +262,16 @@ static void sec_pmic_configure(struct sec_pmic_dev *sec_pmic) * Only the common platform data elements for s5m8767 are parsed here from the * device tree. Other sub-modules of s5m8767 such as pmic, rtc , charger and * others have to parse their own platform data elements from device tree. - * - * The s5m8767 platform data structure is instantiated here and the drivers for - * the sub-modules need not instantiate another instance while parsing their - * platform data. */ -static struct sec_platform_data * -sec_pmic_i2c_parse_dt_pdata(struct device *dev) +static void sec_pmic_i2c_parse_dt_pdata(struct device *dev, + struct sec_platform_data *pd) { - struct sec_platform_data *pd; - - pd = devm_kzalloc(dev, sizeof(*pd), GFP_KERNEL); - if (!pd) - return ERR_PTR(-ENOMEM); - pd->manual_poweroff = of_property_read_bool(dev->of_node, "samsung,s2mps11-acokb-ground"); pd->disable_wrstbi = of_property_read_bool(dev->of_node, "samsung,s2mps11-wrstbi-ground"); - return pd; } static int sec_pmic_probe(struct i2c_client *i2c) @@ -303,11 +292,16 @@ static int sec_pmic_probe(struct i2c_client *i2c) sec_pmic->i2c = i2c; sec_pmic->irq = i2c->irq; - pdata = sec_pmic_i2c_parse_dt_pdata(sec_pmic->dev); - if (IS_ERR(pdata)) { - ret = PTR_ERR(pdata); - return ret; - } + /* + * The s5m8767 platform data structure is instantiated here and the + * drivers for the sub-modules need not instantiate another instance + * while parsing their platform data. + */ + pdata = devm_kzalloc(sec_pmic->dev, sizeof(*pdata), GFP_KERNEL); + if (!pdata) + return -ENOMEM; + + sec_pmic_i2c_parse_dt_pdata(sec_pmic->dev, pdata); sec_pmic->device_type = (unsigned long)of_device_get_match_data(sec_pmic->dev); sec_pmic->pdata = pdata; From patchwork Sun Mar 23 22:39:26 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: 14026696 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 013D7C28B30 for ; Sun, 23 Mar 2025 22:55: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=dFsyupPhmKYZlG9iNTJYyZLnPSeEsntUTwAd5ZCRdnY=; b=ZOAnc34g7E46VW0sU/AcstysNo sUN/YRDTkZBNMOce/cIA8LA9EkG+HfMrm6a8OOckPA5veRxRIy+JmHI2oWeDzSvV7Qv2hQSnE+rEa 7FRSotbq2SlI7R5eDuVi4axFkJ1O08ib58u3hw5lPsh2+r1JNJCCFBqwG/xlbWPdL8Q6Q920g/UDC VstkDEhcIiRyCutd97o6+AIai418ohLZFVRm83ycXsing2URLe+zf5zUDlwt6FnerodrtncyjXXcg USaT2rDaKMDJCRDppixV7l4/DUyz1ccmhBd9uL5E3suVjahfa2LOrz782DtO5dMPVDdl8YN1OD7BI PZ0XWSwQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98 #2 (Red Hat Linux)) id 1twUDz-00000001rmv-1o3M; Sun, 23 Mar 2025 22:55:23 +0000 Received: from mail-ej1-x632.google.com ([2a00:1450:4864:20::632]) by bombadil.infradead.org with esmtps (Exim 4.98 #2 (Red Hat Linux)) id 1twTyc-00000001p6M-2usz for linux-arm-kernel@lists.infradead.org; Sun, 23 Mar 2025 22:39:32 +0000 Received: by mail-ej1-x632.google.com with SMTP id a640c23a62f3a-ac2dfdf3c38so490790666b.3 for ; Sun, 23 Mar 2025 15:39:30 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1742769569; x=1743374369; 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=dFsyupPhmKYZlG9iNTJYyZLnPSeEsntUTwAd5ZCRdnY=; b=kXMPUqZrjDrHITaCBfJoWZbuPer226pczs0pJ9RdRjIkHShvwvBVrGPh0vmPDddJWg qtXjmocB6A277DSZNhTNu3xk03IE/imlOBFF9CcWt6de4fE7ou0ANTD8W2xXF1Koc89i 2BC6gyKAZvHieIKx209QprwlakULsM4WOhb6vaPYWyX7eYFtwWtulh7AyAhad+KvJA9F NxAE+oQodrpEN60YiE0N4JUJkBWwg5mBiCOh/PgE4QLN7j5xAUiAF4qvpeSURU1Ww0qn qYdTqEm2uizaKqU2B9EuCm9H/RlAN+7XL6s5TDhLJ59eSH/6mHJeN3IfVFG88l5HMZWT u6HA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1742769569; x=1743374369; 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=dFsyupPhmKYZlG9iNTJYyZLnPSeEsntUTwAd5ZCRdnY=; b=Iy5CDxUKlyXI0MEUNjUm/KA2+0hNVKTdr1tkGt3qcEhfXPVgZPGU/qnnCkib5PDEj3 eEafpggvsVG/q+ieXfXckiTPV1Uo4r6jXHbnUAGuolty5mQrifGlMv4395yynS/edQ5Y Hkr4WMllmDv06cAZ4kGQbZc6BOgtYwAeHnUVAJ1dEZXnK1614uxHnLqU4RZMvh6N/ggl M8VUD+/tOOFVe9hvEKhh6Yh2vLpJ5hxePoYhZc7wwQ+JPpAFetQm3QI5W8C9xJtamItT QzACGerrQm6hemmR/vN6sFIIdJJN++EdjebdT6AZTA1mAcKbrdperYktw1DePVDBNikz b8bA== X-Forwarded-Encrypted: i=1; AJvYcCXNjRtY3BbEIKrlxIuw4OutvtA/Iu5ZOVZX2OPh5MIAA7ySpGJPJn4i/7tgTqW3p6DzfFOIXu4AXde7JS0He7pi@lists.infradead.org X-Gm-Message-State: AOJu0YzK1Mjg5ER4Tr2T+UYvTQofA/cdCub7BgH2U7+3dcf4HUtlAaY5 GjMjEyFcfwK9JI0uKQpepEa3uJzoKc58iH9Jrsvcq2MRSmeMh0dJBxQQbeyJ7BI= X-Gm-Gg: ASbGncvlw4a5c/khH3Qcxcl7rWaIfQRhR5Ou+HwAQlU4XEpnXnQHtVNfXEw7LuEYVU5 0mFS+VDUzLxamL4pG/qYGH6Xnwej11pfKNclUmPizh14p0LMI5fI+pTMST6C5k6Q/cup2tHz9ya vRlAm9/vS2+dgGyXaYeMuHoKO9mOq6nXtNaZfP3kuhs5UWazOYCQAc18ohIuqGkBJSn/IU5E+Wc EjSMOy0rypGJGkRU5KHwAUtKqfDrSoDRYtTAXS8Kua5YTAQ66Fn6kIxeoHHW9MWkdJg5/3StyhD zWCkQjtjYMdG0jPlxkzTQBpNtJMjtazgVlchinPWF2PMM5/YsR70a0Xvbe4LyZWxOVbON/cjbDn iM3S8Vdx6loki7QzzE2TIpxHMTE6D X-Google-Smtp-Source: AGHT+IFKRMEiigkgpMescp9Pdge+rz06jxqEMtOIomAzaRLdoxKIqzx2eOJmKTb9eHlLOoRhHEw7/w== X-Received: by 2002:a17:907:7f06:b0:ac4:4b5:2433 with SMTP id a640c23a62f3a-ac404b53f82mr827448666b.41.1742769569301; Sun, 23 Mar 2025 15:39:29 -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 a640c23a62f3a-ac3ef86e44dsm559686666b.31.2025.03.23.15.39.28 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 23 Mar 2025 15:39:28 -0700 (PDT) From: =?utf-8?q?Andr=C3=A9_Draszik?= Date: Sun, 23 Mar 2025 22:39:26 +0000 Subject: [PATCH 10/34] mfd: sec: split into core and transport (i2c) drivers MIME-Version: 1.0 Message-Id: <20250323-s2mpg10-v1-10-d08943702707@linaro.org> References: <20250323-s2mpg10-v1-0-d08943702707@linaro.org> In-Reply-To: <20250323-s2mpg10-v1-0-d08943702707@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-20250323_153930_911410_2CD69D56 X-CRM114-Status: GOOD ( 27.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. Also add myself to MODULE_AUTHOR() and update file headers due to that and all the follow-up rework. 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. --- drivers/mfd/Kconfig | 18 ++-- drivers/mfd/Makefile | 1 + drivers/mfd/sec-core.c | 268 +++++++------------------------------------------ drivers/mfd/sec-core.h | 17 ++++ drivers/mfd/sec-i2c.c | 252 ++++++++++++++++++++++++++++++++++++++++++++++ 5 files changed, 316 insertions(+), 240 deletions(-) diff --git a/drivers/mfd/Kconfig b/drivers/mfd/Kconfig index 205918c826334981587c4179bb00481c336ab8d5..9cce9a632827a38d6e4396167aa3b0391f273e97 100644 --- a/drivers/mfd/Kconfig +++ b/drivers/mfd/Kconfig @@ -1316,21 +1316,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 320a431b4aa11e8d4d99740dfa16267a83cb417d..ca9efff5780a7c818ca6cfe017c0f897ca70b449 100644 --- a/drivers/mfd/Makefile +++ b/drivers/mfd/Makefile @@ -233,6 +233,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 9c514f4b5f853ec2b4e234c578935ffad145cd4b..e81da34cf6795beca5f660fb46eefa4b5f8957d1 100644 --- a/drivers/mfd/sec-core.c +++ b/drivers/mfd/sec-core.c @@ -1,25 +1,22 @@ // 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 #include #include @@ -88,144 +85,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; @@ -258,87 +117,40 @@ static void sec_pmic_configure(struct sec_pmic_dev *sec_pmic) } } -/* - * Only the common platform data elements for s5m8767 are parsed here from the - * device tree. Other sub-modules of s5m8767 such as pmic, rtc , charger and - * others have to parse their own platform data elements from device tree. - */ -static void sec_pmic_i2c_parse_dt_pdata(struct device *dev, - struct sec_platform_data *pd) +int sec_pmic_probe(struct device *dev, unsigned long device_type, + unsigned int irq, struct regmap *regmap, + const struct sec_pmic_probe_data *probedata, + struct i2c_client *client) { - pd->manual_poweroff = - of_property_read_bool(dev->of_node, - "samsung,s2mps11-acokb-ground"); - pd->disable_wrstbi = - of_property_read_bool(dev->of_node, - "samsung,s2mps11-wrstbi-ground"); -} - -static int sec_pmic_probe(struct i2c_client *i2c) -{ - 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->irq = irq; + sec_pmic->regmap_pmic = regmap; + sec_pmic->i2c = client; /* * The s5m8767 platform data structure is instantiated here and the * drivers for the sub-modules need not instantiate another instance * while parsing their platform data. */ - pdata = devm_kzalloc(sec_pmic->dev, sizeof(*pdata), GFP_KERNEL); + pdata = devm_kzalloc(dev, sizeof(*pdata), GFP_KERNEL); if (!pdata) return -ENOMEM; - sec_pmic_i2c_parse_dt_pdata(sec_pmic->dev, pdata); - - 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; + if (probedata) { + pdata->manual_poweroff = probedata->manual_poweroff; + pdata->disable_wrstbi = probedata->disable_wrstbi; } sec_irq_init(sec_pmic); @@ -383,9 +195,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); @@ -397,10 +209,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) @@ -424,11 +237,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); @@ -448,8 +261,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); @@ -458,20 +270,10 @@ 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("André Draszik "); 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..58e5b645f377cea5543a215c05957a2c49239a6f 100644 --- a/drivers/mfd/sec-core.h +++ b/drivers/mfd/sec-core.h @@ -10,6 +10,23 @@ #ifndef __SEC_CORE_INT_H #define __SEC_CORE_INT_H +struct i2c_client; + +extern const struct dev_pm_ops sec_pmic_pm_ops; + +struct sec_pmic_probe_data { + /* Whether or not manually set PWRHOLD to low during shutdown. */ + bool manual_poweroff; + /* Disable the WRSTBI (buck voltage warm reset) when probing? */ + bool disable_wrstbi; +}; + +int sec_pmic_probe(struct device *dev, unsigned long device_type, + unsigned int irq, struct regmap *regmap, + const struct sec_pmic_probe_data *probedata, + 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..803a46e657a5a1a639014d442941c0cdc60556a5 --- /dev/null +++ b/drivers/mfd/sec-i2c.c @@ -0,0 +1,252 @@ +// 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, +}; + +/* + * Only the common platform data elements for s5m8767 are parsed here from the + * device tree. Other sub-modules of s5m8767 such as pmic, rtc , charger and + * others have to parse their own platform data elements from device tree. + */ +static void +sec_pmic_i2c_parse_dt_pdata(struct device *dev, + struct sec_pmic_probe_data *pd) +{ + pd->manual_poweroff = + of_property_read_bool(dev->of_node, + "samsung,s2mps11-acokb-ground"); + pd->disable_wrstbi = + of_property_read_bool(dev->of_node, + "samsung,s2mps11-wrstbi-ground"); +} + +static int sec_pmic_i2c_probe(struct i2c_client *client) +{ + struct sec_pmic_probe_data probedata; + const struct regmap_config *regmap; + unsigned long device_type; + struct regmap *regmap_pmic; + int ret; + + sec_pmic_i2c_parse_dt_pdata(&client->dev, &probedata); + + 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, &probedata, 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("André Draszik "); +MODULE_AUTHOR("Sangbeom Kim "); +MODULE_DESCRIPTION("I2C driver for the Samsung S5M"); +MODULE_LICENSE("GPL"); From patchwork Sun Mar 23 22:39:27 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: 14026698 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 AE625C28B30 for ; Sun, 23 Mar 2025 22:57:16 +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=UPaIY3x3VVrMkB4/G8kk/a/tWB9/OjPG56rBALdlvrQ=; b=y11Mp0Tf9rv/WUtFUrmtMVJD1p W+KHuQdPucg4B7NKJWqpq2FggKJbuUIFTgAJG7hLamfIvmYr2F/Pqa25vE0nGRCz62LTfsQP5YOdn JsrxVXRGEy/3C4xvrCmue2F2FGgzlfEC0BFix6L+yYuxahCtmb8I2xq6IabyKp9C2JAq2NiqavEoa 2d0FPA+s0c3ZtuF5eFTlOW8ImL7nYgp4t28o/cQHajxTibhr2aQ/2EJTyHwHll1NS2vNx2jwxQciM 6aO/VJuef+uaIKYvIiC94es0v0eI7CLVLvi0oo+PvtBIQlpJZIDto/d69YxLU6ttKrvtuOEDmUCkQ zbLYfiLg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98 #2 (Red Hat Linux)) id 1twUFe-00000001rzW-34fq; Sun, 23 Mar 2025 22:57:06 +0000 Received: from mail-ej1-x62c.google.com ([2a00:1450:4864:20::62c]) by bombadil.infradead.org with esmtps (Exim 4.98 #2 (Red Hat Linux)) id 1twTyd-00000001p6e-0wUQ for linux-arm-kernel@lists.infradead.org; Sun, 23 Mar 2025 22:39:32 +0000 Received: by mail-ej1-x62c.google.com with SMTP id a640c23a62f3a-ac345bd8e13so673815466b.0 for ; Sun, 23 Mar 2025 15:39:31 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1742769570; x=1743374370; 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=UPaIY3x3VVrMkB4/G8kk/a/tWB9/OjPG56rBALdlvrQ=; b=tfVoeNcgyVvtrbYT2TQ5yH7890rWu1LznphXZHx+8tb77tI4eBFXjZmAAPJdjWsZNN kN9FhxkCDmV7xoXh2zjZ0FIdclIxr8cMhxN6ACB1FK/SEzJn5+JaTdFCz0Y9T6U+h3iU N7GzHtL3eoKM0VgIG2ilEQvm1n6e4FFgeTE5DMOTznUKJllcVdv7sGq1HF8CWZnh2b6k /ImjdsVbTEh1RKD3C2zAU6a2+obq7r7HRmN41p53Pbv30XsnS1LOSC2pxaAl2YHRaZ40 fdnrcwr0L/RoWDZa5Tow/bzOeyd2tLITBbqxTDxSOjOAPHRhCGyn7/K8W8YfXl7N/rKL 33+w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1742769570; x=1743374370; 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=UPaIY3x3VVrMkB4/G8kk/a/tWB9/OjPG56rBALdlvrQ=; b=qzteSrv62jVd8bkCZ0fPMPZXZoPnuoZV7gczFCr4Fr3jHiSZtMUbaKMiMSffHYRx45 sPfvzVZATV7cAoBaiVp/QLxdSJv7sY7l9Fdlcw2h/N2FhEmZkIoIwvPt32GcZm+tp4Z/ unoDnsaueekoES1Yh0Cr+IVMYOx4PmGFqOev3WewO0bPWxpJUgDJrSqI8dCzFM6AmvZF z2NlhVUxzV3Qh8hfyOHfCCJlX0P7tuEvtYl4kd9ktsq98zSdDp32ozJSB5asb9ZeIa+a xq067uysRb/K8yI05BUm92c2+J3bYT4xNdpjYrpZXMRMWSPRSmH+2oCzsFtazuO9a1tE DTEQ== X-Forwarded-Encrypted: i=1; AJvYcCWG6Fw5TRIVlz3fmFcPIhAT0F/QqKvCOdgrWRF8lP25SAFTjzFuwMClDu9FoDdFQ7OIrgqvRAV9zH/79OwqN4/o@lists.infradead.org X-Gm-Message-State: AOJu0YxB4Qi3jqKW0YrIDuIpr4MsPjoDeLZhFBWhGO0aW4PYvZk6NMH9 Ymk9WW6QB5HIp4/n+X1YYDRf+ZoBP7ofenA0N+zmKdCdlrjFRMtZVKwcpoD9Qes= X-Gm-Gg: ASbGnct5tq5WXiN44Kt0aABtG3dSB3OOYMKhGVFF+fEicfkmZKoV6c6gAYO3ChBDRAM Ts5vq5ef0T2vOCqV9hGPNRArsjp8kwFp3ET/Kvjda2rpE9Yyhh2aDe91ccK82lgzhhE9lOkwV1I q7GmO8+7dJgnPIhmOqWHpRapDtP2BY8ukP+jYhHiISfaY6E2gjrY3+oTEeuRumWArWmDJvrptUz myGb/av54e/BDhOH0g04XHqPp4HeTIQWz/ytBDKFqtfD3g2G5lKoddVvMMMKqdv3EMyQoklBuWf UFLJJYBYjhi5rSdpIE/qSkB2PLHkMtvsMSt2t9GAWYtdT6ghIqVTYGFJH1/7jYxKbtNB1lcufNM ekGE7mYePisMV4LK8VmwJO2XzMmD3 X-Google-Smtp-Source: AGHT+IFPXn5kuydsVZ5juxiG+97RkmMKn/3aV6ozY9UpbUvRFJV9i4K4wAS7EARyuWbOU8je237GtQ== X-Received: by 2002:a17:907:7293:b0:abf:fb78:673a with SMTP id a640c23a62f3a-ac3f22b0fb0mr895769166b.29.1742769569876; Sun, 23 Mar 2025 15:39:29 -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 a640c23a62f3a-ac3ef86e44dsm559686666b.31.2025.03.23.15.39.29 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 23 Mar 2025 15:39:29 -0700 (PDT) From: =?utf-8?q?Andr=C3=A9_Draszik?= Date: Sun, 23 Mar 2025 22:39:27 +0000 Subject: [PATCH 11/34] defconfigs: rename CONFIG_MFD_SEC_CORE to CONFIG_MFD_SEC_I2C MIME-Version: 1.0 Message-Id: <20250323-s2mpg10-v1-11-d08943702707@linaro.org> References: <20250323-s2mpg10-v1-0-d08943702707@linaro.org> In-Reply-To: <20250323-s2mpg10-v1-0-d08943702707@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-20250323_153931_265924_8574AB4C X-CRM114-Status: GOOD ( 11.11 ) 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 We are adding support for Samsung PMICs that aren't using I2C and therefore had to rename the Kconfig symbol. Signed-off-by: André Draszik --- arch/arm/configs/exynos_defconfig | 2 +- arch/arm/configs/multi_v7_defconfig | 2 +- arch/arm/configs/pxa_defconfig | 2 +- arch/arm64/configs/defconfig | 2 +- 4 files changed, 4 insertions(+), 4 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 e8dfbe22db68d9aa24df5af0786a2eeb8f33bf3c..cc4dc330cfe82d11ca0c4c9ba8cac4b14decdeab 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 From patchwork Sun Mar 23 22:39:28 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: 14026700 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 E4E9AC28B30 for ; Sun, 23 Mar 2025 23:00: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=7f8avKZRw6w317MoHLh8hYaw+o5WK+EwvWuCQDnUpOw=; b=BRhAph13EV3tAzq6WFjj00oar+ 2RIbEFyGedYtW1ZG89MSOVyt7vw54ee2t9VKYPOAipXJEmonigS2WXLhDV+j2zPOA3ZNc4MlhG4sl hy0aOa7076dz51HtsafqnZScOLsdSQBCX5O+vXfLOSYO8AeezXmrWDRBlbaY5GzHGuoxPVc1C8w3m y6OW5iF9Q+tqsT8StqMjaqEVh8GRXbnWjV5+hMFRoWAglTDV/8eK0Bfw1AIUGYjUV7EPo61hpJ3wU R95N6fgjIOau7mftuf6QmKLM+TnPvlcnIhZThFLPjAu3hyh1OBmGA7W7u50dpwMdUfwjU+EcSr4Wm RkEvW1OQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98 #2 (Red Hat Linux)) id 1twUJ0-00000001sJu-1HDg; Sun, 23 Mar 2025 23:00:34 +0000 Received: from mail-ej1-x632.google.com ([2a00:1450:4864:20::632]) by bombadil.infradead.org with esmtps (Exim 4.98 #2 (Red Hat Linux)) id 1twTye-00000001p7U-1ChQ for linux-arm-kernel@lists.infradead.org; Sun, 23 Mar 2025 22:39:34 +0000 Received: by mail-ej1-x632.google.com with SMTP id a640c23a62f3a-aaee2c5ee6eso588938466b.1 for ; Sun, 23 Mar 2025 15:39:32 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1742769571; x=1743374371; 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=7f8avKZRw6w317MoHLh8hYaw+o5WK+EwvWuCQDnUpOw=; b=YVJNwGfLGin+mMfISt/qDEd0jeDcu+3DNWS9GnNiEovWwX8Jho4ZvTOczGog+f3I1J CRB/IHi+fJslrP+J8GJNou0XSps+4dh6nJ+cRhT6Hlmdsl3A8zMrg8IVILmy+bFMq+N0 pIzs/3V6Q1jcfSHQJMYRDRsmEuORSpl6ui2tqSGmPTr7mNFnvuhUgXXO3iQvWuM+xX1u 8S0fV9uAx3C3fqH82RjEIoGrk969xY4mE5b8ydlP2EU6WejczBg6wXoxcSgSs4DCu630 BcpmhjwLmL0XEY5wHm2wQtkGsdFc8pa/ed8VS58FJdTderV8hwacr5/Z8TmskPZOu/vn W09A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1742769571; x=1743374371; 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=7f8avKZRw6w317MoHLh8hYaw+o5WK+EwvWuCQDnUpOw=; b=OqI/hd4CYhMoo+5Hl0YCGzinPx8se0h32BGTK5IdgN4dfFTZc+zfE2Bdj8vqhRR5SR 5sZDGQXP53J3SDvXlKpsL2tSKtZimjNXvzFLY5oSfTjhrPjDfJevCDPx++s912OcN685 OicP5Yz6Gepth0BdwdKXSTS7/wUX6HLvvDPdSNF6tCgY4odjgzhcm9Elmx7hDIVuxtRZ Fn/Dv6d2yn5MO1dl5wQ9Aj4XBmPJcRlUor3Sd7VFvxt4nUiRlVTrHJNw9NhU9JsMSowC sE17i4PvvyU2ZGNfGptykbCoJmX2nGZzYMeRPm9Xm7DV24P7AVse+J6CMGzs0NXYcIik QFMg== X-Forwarded-Encrypted: i=1; AJvYcCWyXrHb7jKSy7VtlwF+a3Q0xnS3moFQPi13Wk4WaJdS2aS+ghk4XUC7bCGI9WlX2U80hUVQIDshTRQeSlzi+2mt@lists.infradead.org X-Gm-Message-State: AOJu0YyJiuCD+oySgXpbHSmbP6iLCOVnBek0GKbrhqTK/hI9Drstk5+g //2/Z5+vIkwqUQ/xxoRnrz5fbKHpzCakfUIknUI16tOo9OgftP3I6sQX/lBSe5w= X-Gm-Gg: ASbGncvaVgzigneQUX0byIenBB+6phPcThH+Nefjg3P/ClLhv/ajTtgJJcLLEg6A17p KDaYT3pgmoTQXYIoDLZouFWpK5BB+RVFslkdgJa+iHpraB1tNOSlDEpkxt3EXcNn5tgCLzE/V6o pyUTVoxQMCP1d2hILarVV+ah843hHsY5yVhjFI8L6Kiq7MgK7J1NSmvXuzrFxMvCGS68y5fpy68 DE6W4Jci2YqL7gmRafPuRZ0wEjCXdDaG5y0klAdq2u7DwGY1ub2fG+5IrtB8DVq1v0PbGrBOCJu nfG2Kh2bfIDtdHHEZ2zmAlEZHBiBpuQgwyjK9lK5Qjp5/HGXJH+RQKj0DqDmDLTdA+yA74Oe2Md x1qdg+mMRSTziFPJqlP/5/WizvBoQ X-Google-Smtp-Source: AGHT+IFPCVSpCsN9G8gL36i+X2OmHMIEEiVZzrvFJ1orAU5U1fjgiuIiYr+lmn2muaixnVkLGbpoMw== X-Received: by 2002:a17:906:6a1c:b0:ac1:ed96:56d9 with SMTP id a640c23a62f3a-ac3f24adc8bmr978099466b.40.1742769570580; Sun, 23 Mar 2025 15:39:30 -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 a640c23a62f3a-ac3ef86e44dsm559686666b.31.2025.03.23.15.39.29 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 23 Mar 2025 15:39:30 -0700 (PDT) From: =?utf-8?q?Andr=C3=A9_Draszik?= Date: Sun, 23 Mar 2025 22:39:28 +0000 Subject: [PATCH 12/34] mfd: sec: add support for S2MPG10 PMIC MIME-Version: 1.0 Message-Id: <20250323-s2mpg10-v1-12-d08943702707@linaro.org> References: <20250323-s2mpg10-v1-0-d08943702707@linaro.org> In-Reply-To: <20250323-s2mpg10-v1-0-d08943702707@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-20250323_153932_568309_43DC2ECF X-CRM114-Status: GOOD ( 21.57 ) 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. --- drivers/mfd/Kconfig | 17 ++ drivers/mfd/Makefile | 1 + drivers/mfd/sec-acpm.c | 471 ++++++++++++++++++++++++++++++++++++ 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/s2mpg10.h | 310 ++++++++++++++++++++++++ 8 files changed, 987 insertions(+) diff --git a/drivers/mfd/Kconfig b/drivers/mfd/Kconfig index 9cce9a632827a38d6e4396167aa3b0391f273e97..a154be6e2d44e41608e0a297e0915a84ebbb66cc 100644 --- a/drivers/mfd/Kconfig +++ b/drivers/mfd/Kconfig @@ -1320,6 +1320,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 ca9efff5780a7c818ca6cfe017c0f897ca70b449..8a8c678134a9721c7f78e432ddd0df33b2b0de69 100644 --- a/drivers/mfd/Makefile +++ b/drivers/mfd/Makefile @@ -233,6 +233,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..4d5b3f412cc22dcf3bc1680a54dcf263a65882c2 --- /dev/null +++ b/drivers/mfd/sec-acpm.c @@ -0,0 +1,471 @@ +// 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 "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), + regmap_reg_range(0x0a, 0x0c), + regmap_reg_range(0x1a, 0x2a), + regmap_reg_range(0x33, 0x3f), + regmap_reg_range(0x57, 0x7f), +}; + +static const struct regmap_range s2mpg10_common_ro_registers[] = { + regmap_reg_range(0x00, 0x01), + regmap_reg_range(0x28, 0x2a), + regmap_reg_range(0x33, 0x3f), + regmap_reg_range(0x57, 0x7f), +}; + +static const struct regmap_range s2mpg10_common_nonvolatile_registers[] = { + regmap_reg_range(0x00, 0x00), /* CHIP_ID_M */ + regmap_reg_range(0x02, 0x02), /* INT_MASK */ + regmap_reg_range(0x0a, 0x0c), /* speedy control */ +}; + +static const struct regmap_range s2mpg10_common_precious_registers[] = { + regmap_reg_range(0x01, 0x01), /* INT */ +}; + +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 = 0x7f, + .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 = 0x7f + 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 = 0xf6, + .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 = 0xf6 + 1, + .cache_type = REGCACHE_FLAT, +}; + +static const struct regmap_range s2mpg10_rtc_registers[] = { + regmap_reg_range(0x00, 0x2b), +}; + +static const struct regmap_range s2mpg10_volatile_registers[] = { + regmap_reg_range(0x01, 0x01), /* RTC_UPDATE */ + regmap_reg_range(0x05, 0x0c), /* time / date */ +}; + +static const struct regmap_access_table s2mpg10_rtc_wr_table = { + .yes_ranges = s2mpg10_rtc_registers, + .n_yes_ranges = ARRAY_SIZE(s2mpg10_rtc_registers), + /* no r/o registers in RTC block */ +}; + +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_volatile_registers, + .n_yes_ranges = ARRAY_SIZE(s2mpg10_volatile_registers), +}; + +static const struct regmap_config s2mpg10_regmap_config_rtc = { + .name = "rtc", + .reg_bits = 8, + .val_bits = 8, + .reg_stride = 1, + .max_register = 0x2b, + .wr_table = &s2mpg10_rtc_wr_table, + .rd_table = &s2mpg10_rtc_rd_table, + .volatile_table = &s2mpg10_rtc_volatile_table, + .num_reg_defaults_raw = 0x2b + 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), + regmap_reg_range(0xf1, 0xf1), +}; + +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 = 0xf1, + .wr_table = &s2mpg10_meter_wr_table, + .rd_table = &s2mpg10_meter_rd_table, + .volatile_table = &s2mpg10_meter_volatile_table, + .num_reg_defaults_raw = 0xf1 + 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_MASK); +} + +static int sec_pmic_acpm_probe(struct platform_device *pdev) +{ + const struct sec_pmic_acpm_platform_data *data; + struct sec_acpm_shared_bus_context *shared_ctx; + const struct acpm_handle *acpm; + struct regmap *regmap_common, *regmap_pmic, *regmap; + struct device *dev; + int ret, irq; + + dev = &pdev->dev; + + data = device_get_match_data(dev); + if (!data) + return dev_err_probe(dev, -ENODEV, + "Unsupported device type\n"); + + acpm = devm_acpm_get_by_phandle(dev, "exynos,acpm-ipc"); + if (IS_ERR(acpm)) + return dev_err_probe(dev, PTR_ERR(acpm), + "Failed to get acpm\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 = data->acpm_chan_id; + shared_ctx->speedy_channel = data->speedy_channel; + + regmap_common = sec_pmic_acpm_regmap_init(dev, shared_ctx, + SEC_ACPM_TYPE_COMMON, + data->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_MASK); + 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, + data->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, + data->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, + data->regmap_cfg_meter, true); + if (IS_ERR(regmap)) + return PTR_ERR(regmap); + + ret = sec_pmic_probe(dev, data->device_type, irq, regmap_pmic, + NULL, 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 e81da34cf6795beca5f660fb46eefa4b5f8957d1..27f5036ffa1009304147755c91d00be333dd206a 100644 --- a/drivers/mfd/sec-core.c +++ b/drivers/mfd/sec-core.c @@ -35,6 +35,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", }, @@ -89,6 +97,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); @@ -170,6 +182,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/s2mpg10.h b/include/linux/mfd/samsung/s2mpg10.h new file mode 100644 index 0000000000000000000000000000000000000000..471def422d00c2592e6875b1eff00a4c1be7b09f --- /dev/null +++ b/include/linux/mfd/samsung/s2mpg10.h @@ -0,0 +1,310 @@ +/* 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, +#define S2MPG10_COMMON_INT_SRC_MASK 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_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_DCTRLSEL7 = 0xc6, + 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_B3M_OCP_WARN = 0xd2, + S2MPG10_PMIC_B10M_OCP_WARN = 0xd6, + S2MPG10_PMIC_B2M_SOFT_OCP_WARN = 0xda, + S2MPG10_PMIC_B3M_SOFT_OCP_WARN = 0xde, + S2MPG10_PMIC_B10M_SOFT_OCP_WARN = 0xe2, + S2MPG10_PMIC_BUCK_OCP_CTRL1 = 0xea, + S2MPG10_PMIC_BUCK_OCP_CTRL2, + S2MPG10_PMIC_BUCK_OCP_CTRL3, + S2MPG10_PMIC_BUCK_OCP_CTRL4, + S2MPG10_PMIC_BUCK_OCP_CTRL5, +}; + +/* 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 Sun Mar 23 22:39:29 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: 14026699 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 CE122C28B30 for ; Sun, 23 Mar 2025 22:59:00 +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=i5FeheMvzJmbwWW+zZr6R44NUMWEXy77OJnz7z8P8Mo=; b=f9C3FDYczKk8r2Tk8ZHBYwTZQ7 pfHHj2fq+iYBSRYBzLDGJSVfs9BE64RbmatUMFTgMCcIE0b3uxTRum7WjpLsP7QIdvYqDkP5ghiP0 N8LsXabnj+kB2Rm9AsmxwO0jyOduKzffdJPgpRVEKf/Den93vbWV1j5lAoc4vMQ/JERTDQ/MB6HMu kwNH/gJ8/aAX9cT98cWqhbPHsEDKWKctCtpE4/3eF/9Lssg8W3hBqr4MXBDqvLTDQqjNJMiPBy9mZ h3UQqrmr7tUXXOkXrdQPy7Od/6CNtG05wL7V2pUayW9Z2P8l154QxGAE2bdhHWqOSpPyqDYgW9kQs TTFxrALg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98 #2 (Red Hat Linux)) id 1twUHK-00000001s9c-2ZDj; Sun, 23 Mar 2025 22:58:50 +0000 Received: from mail-ej1-x632.google.com ([2a00:1450:4864:20::632]) by bombadil.infradead.org with esmtps (Exim 4.98 #2 (Red Hat Linux)) id 1twTye-00000001p7V-2tf6 for linux-arm-kernel@lists.infradead.org; Sun, 23 Mar 2025 22:39:33 +0000 Received: by mail-ej1-x632.google.com with SMTP id a640c23a62f3a-ac2a9a74d9cso776697266b.1 for ; Sun, 23 Mar 2025 15:39:32 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1742769571; x=1743374371; 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=i5FeheMvzJmbwWW+zZr6R44NUMWEXy77OJnz7z8P8Mo=; b=ESioBpX9H0o4YJS134lTT2fB3ePuVN6CCSJ/ZsdgqWGVIxyItKdrh/fp9qHtZzfisR 8HBPaf0q6m7BuFrnwxiTAH3eQu9zwtqMO8uN5Q7z92mMQY5ZNdiFicRzpEda5xlBsTHm qBH2gDnTAkhJWwd4tGKJTjvanMqZVk6LZLHI1x7Kl2qgkprz4TAnttEi5GXR3JjDa3GV T6Hi0HjBSJ8ZpEOtaGvYvpRku+NNFAENWLNd7IKi0BQWLH9VPcfEJMyoqoa6c+699Q4Y iv/gd8T5nj0pITGA81NGI97c9iJ2znuBat8ohwPDFCqEDQ8frLfy2rbKhUdaoNT7GgZq x7aw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1742769571; x=1743374371; 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=i5FeheMvzJmbwWW+zZr6R44NUMWEXy77OJnz7z8P8Mo=; b=NkoUYAbbTPr/e7j35SokcUepBnuzLldgoNKGtaKD3Lk0hsdFJlCOIseWTEo5YfX9Pc X1a7U/hYAQBde297xkSaKuyQ1sCPto+xdp4Vr5vI5h7me2Kjnt6SZBVGWdzKvDeaOVU2 e96z7uGUl5IMrYQghVyRm7shVFOUhQRVhBtktfpU6loL1TKdkky61Bw4OZeE4eqmBUWM 1l3mzHcJa/fTRTbPEJOHM/ge52apPf4QUWzSR/ijSdSZOxxeJRVDCL/2zWjvwnaBW6rW yZfzSrd85eVj0Af/kaLe+C00ZZcGJJfNwdfW4qDKfJIQqhI5eOfgGgJYFY5ZZZCe/Fc4 aZbg== X-Forwarded-Encrypted: i=1; AJvYcCVnexq6V5h8/eqTXSlRq3xcJb2owEQKZ7Ix1RMEsSxR7gS4jFX5RZyGjcj/Qzm+FVwHObmnxowIfqWl07FpLylW@lists.infradead.org X-Gm-Message-State: AOJu0Yz04xdr/pmQC61MXBln83SFHM+hby8RjYShlBoa00O1tztJoQDJ NJVA2121H13QKZLmZZIMI0ooKVSo0WXPq8HqpeGlvLd8Pwcwdw4GhN90HwgQF+g= X-Gm-Gg: ASbGncseTDDZg6JGQWxi6Y/TfeQZi7xn7auBYrHFtPXXCn9s+U0HRpLw5QKiK2B/cvE sI+oZc93iXTOBmhxp5CPy9ek4TZmWLlkiGlWVJnp5vwaQybd2/z4JxCX502iRR2SQWnYeB+ZiJL 5TpUqkL1xkYDKUW9sHhVvVceAcwaiUMzV8qUcA5uXIXJe7jVidr6US99dm2wgTuoOXgAjikT6Cd GyYa5pVecApw6B0qMyIEWXDQEBYyzKER+nV1B9SDx+ECr/IMd+pvTiuz7I7+6IYU99CL0hVBNh1 rUTpaulXhteJbTZjNIPb0ihJ8uPyYm15Vio2WsmybSIzrNNO15b9z7wi7iZ0uayIZ3M4QVOz/IF K+2hBBW7yGXmmktJyIqjVP8pJS6HJ X-Google-Smtp-Source: AGHT+IGUlU/bQ4EEwEZ8SvxfGdwz6JP0ixr4oFBkCNhTZdri22pju1M/NgGRE9XtZE8yWlr6k3maUQ== X-Received: by 2002:a17:907:3d88:b0:ac3:8d24:a7e with SMTP id a640c23a62f3a-ac3f22b476amr1025053966b.26.1742769571302; Sun, 23 Mar 2025 15:39:31 -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 a640c23a62f3a-ac3ef86e44dsm559686666b.31.2025.03.23.15.39.30 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 23 Mar 2025 15:39:30 -0700 (PDT) From: =?utf-8?q?Andr=C3=A9_Draszik?= Date: Sun, 23 Mar 2025 22:39:29 +0000 Subject: [PATCH 13/34] mfd: sec: merge separate core and irq modules MIME-Version: 1.0 Message-Id: <20250323-s2mpg10-v1-13-d08943702707@linaro.org> References: <20250323-s2mpg10-v1-0-d08943702707@linaro.org> In-Reply-To: <20250323-s2mpg10-v1-0-d08943702707@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-20250323_153932_731860_C511BCFE X-CRM114-Status: GOOD ( 13.07 ) 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 Signed-off-by: André Draszik Reviewed-by: Krzysztof Kozlowski --- 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 | 8 -------- 3 files changed, 4 insertions(+), 9 deletions(-) diff --git a/drivers/mfd/Makefile b/drivers/mfd/Makefile index 8a8c678134a9721c7f78e432ddd0df33b2b0de69..67fac46c8eeb9c7b4429e8a496a1d7d40d2b7b31 100644 --- a/drivers/mfd/Makefile +++ b/drivers/mfd/Makefile @@ -232,7 +232,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 27f5036ffa1009304147755c91d00be333dd206a..fcf7668efd3215ad70d81916ede249ed5f9d45ae 100644 --- a/drivers/mfd/sec-core.c +++ b/drivers/mfd/sec-common.c @@ -290,6 +290,8 @@ 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 "); 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..4afac3aa0a582994bf04c41768c1c788c54ee2e9 100644 --- a/drivers/mfd/sec-irq.c +++ b/drivers/mfd/sec-irq.c @@ -6,7 +6,6 @@ #include #include #include -#include #include #include #include @@ -510,10 +509,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 Sun Mar 23 22:39:30 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: 14026701 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 3F8A7C28B30 for ; Sun, 23 Mar 2025 23:02: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=vmds4rrDLrfKJmwR2Z+ZSZKx1qRT0gZntXalkJpQH7Y=; b=SxqSZ1BlXKIz4Uog0wLmxPt0Md EdIGAxi5aS+dMTtCws51EKDHOpQPhpt3LhvxaHAOvFWvA9aJ5B3nCv1mlMaOwGz+eRP0Bx5RJrEAW rIcvOQi2MHcWEHsLpLTvAflyW2z+8larz1n7H6B5VNhJ1qyAHTno3WyLMxRZb94HGXWCKpYoiynHL VkwF6ilJx7nhg8FcID68I3/RGnErXcQYebXl9xl5ovoum7G8hEOWcnsqH8t3/KAkV6rDme8Qwbby2 7pnQjnNEW3Qayc8rXwXVVVUFOc8tQWj5l++JhlQkHZ3aeZmqho5SIjpEDC7j6GUwekgLzZwKiFiIr aJCzgWrw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98 #2 (Red Hat Linux)) id 1twUKg-00000001sW6-0zGj; Sun, 23 Mar 2025 23:02:18 +0000 Received: from mail-ej1-x62b.google.com ([2a00:1450:4864:20::62b]) by bombadil.infradead.org with esmtps (Exim 4.98 #2 (Red Hat Linux)) id 1twTyf-00000001p7v-2yCS for linux-arm-kernel@lists.infradead.org; Sun, 23 Mar 2025 22:39:34 +0000 Received: by mail-ej1-x62b.google.com with SMTP id a640c23a62f3a-ac2bb7ca40bso838510166b.3 for ; Sun, 23 Mar 2025 15:39:33 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1742769572; x=1743374372; 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=vmds4rrDLrfKJmwR2Z+ZSZKx1qRT0gZntXalkJpQH7Y=; b=X06CIcpORvkySIjHbQKSU7dylDyD2+3gt0VshJl96PfUCMfo586FNsO63oA1gtKVUf VesvFIfgb+aHOKTVb5KYt3ACVYCBI6i47+X6NX5dmVNqL3RTvyakO9uMQ9EIgWOLnYTs H2GprlxlA8xLNfnWWMhQZmwe00KG+E9VGv6UtgFbKrqgMmmyzOF1xKGl56u3aPu838bd eSFlw/XdMOujoML/0V/SKJGQIleRehzWDW9nbwGcmN2ZJU44hi5g3eyVcF/mrJDJzp6K OVHm9lom5RwwJ1zz1PcFJYmoMlmNFpYGFG5O8iZuuB3xTPH882DjMWoIBvDMGneOK7S9 xnhg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1742769572; x=1743374372; 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=vmds4rrDLrfKJmwR2Z+ZSZKx1qRT0gZntXalkJpQH7Y=; b=p21NyBh+H8zBvObxeeck1FmGZYVfy7WKD3dWKz5Vg0vobIWTTMNYsmRVcPuHdqIR4v b83302bbtxs97vt9dHYQ/AqVnNzzB5ps4aAShj2Z/HoxJy01O8B8jSXV3cpjFQNCTdtD r2TopznTAqB01AXNIQnw/JlflBpw9D/jZw6Eq2QvDexE8kpItZ6xeZbhTYzJW86V/3sz mpk24P3f+Zsqzvvofk8LtwnHpeOpZaE7qb4TnMskgIMyi7de1G0vPRPFMBaFE5dC2q2B zF+N4BEuPcs1cFQPqcF2nWNit0FtrHA2XaKrwvn7E6lYI3/u+z7FRqZofJsc9uQGwQBJ MV7Q== X-Forwarded-Encrypted: i=1; AJvYcCWbevTIZEKXwnzfsA48EBXZpVZuW41rh921N27fB7PnrvQMxKOxLE2Aho/QDFep0roOXN9j3a3dGaYEXDQ1ZvGx@lists.infradead.org X-Gm-Message-State: AOJu0Yxjxyjoc8hoHudekPbI1h3C8ZjzgjX8NmHfeLvFSIp5mVTvRHdv v+Inb0x/CsNb56NPGOGmRSGDCBt139rokwWb1Gl00FBX+eTg2hziCmxnU6kY9C8= X-Gm-Gg: ASbGncudAt45sP5Q3CVycQvbq6HgtMCMKTZB0XzS7AdaGxRXv4ukw783KyFCi/+dG/d CAEgciQ90WG2WcaGyAr/0eQ4tAqr09MEMrxTL3BJzbSZxPaAc9zfXNa70oRJAx4xLB2XCCcLjjv uhav0mMHBdspbHYbqJELKHLr+aRrvI4rK2ejN2l6/++CIB6WO906jfKHYdW8j2Wa0mZeYTj+LOq KQ6HPlsvnRat/PwDRZRyT/Qob8Dket6oMuvwqHVjwjXfYZrCGiNi7lfhjdg5rSE9m0ua66/lhrF r2HE2yXL53PSCFVUIqd07BSgFrsLwnDBF+Dbxa+s9CrNgofTwkjbdeWWTVKNjl7eiWG0R68mEmD nzRdsY24IAAwveHbaI81/u9AQx9aQ X-Google-Smtp-Source: AGHT+IEN5dOxnNTTla9a5uamRe8PZKZsb3egHapeEJMQ/eCTIADM/0J2Xb8LBoxvBHWdtuRNYkVBpg== X-Received: by 2002:a17:907:bd88:b0:ac4:2ae:c970 with SMTP id a640c23a62f3a-ac402aec9f2mr753664066b.21.1742769571904; Sun, 23 Mar 2025 15:39:31 -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 a640c23a62f3a-ac3ef86e44dsm559686666b.31.2025.03.23.15.39.31 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 23 Mar 2025 15:39:31 -0700 (PDT) From: =?utf-8?q?Andr=C3=A9_Draszik?= Date: Sun, 23 Mar 2025 22:39:30 +0000 Subject: [PATCH 14/34] mfd: sec: sort struct of_device_id entries and the device type switch MIME-Version: 1.0 Message-Id: <20250323-s2mpg10-v1-14-d08943702707@linaro.org> References: <20250323-s2mpg10-v1-0-d08943702707@linaro.org> In-Reply-To: <20250323-s2mpg10-v1-0-d08943702707@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-20250323_153933_874081_003B0039 X-CRM114-Status: GOOD ( 12.48 ) 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. Signed-off-by: André Draszik Reviewed-by: Krzysztof Kozlowski --- 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 803a46e657a5a1a639014d442941c0cdc60556a5..ba0efb30877bf668fed7476a5e247e0dd4095806 100644 --- a/drivers/mfd/sec-i2c.c +++ b/drivers/mfd/sec-i2c.c @@ -174,12 +174,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; @@ -204,11 +204,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, @@ -221,15 +221,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 Sun Mar 23 22:39:31 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: 14026702 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 A326BC28B30 for ; Sun, 23 Mar 2025 23:04: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=0Ic/0Xe88bpVQ1K2LP6tYIkZ9tLwnecoFfoF6m5efNc=; b=jwA87O8Tyh4sLDKKqVMUAtaJ4r xiWfpW38qRi+z2brb/v1vfxebupZq7DA4ciXnm5AG2bNASeuPSvwRaUQ2NDAuKThqTuumcIrnW50U YHtJ8sz2ZZ0jHXgxi9U3STb+Lim7tqZDDDi52ouZFXJ9BhkeiSejp1b5m5ycmMoeK5MvNB31DHO+Z 100//5xMt+XxzR9xZFxf7OM/7geC1NjpBWoq2V1DFi9QnFrXjXEH1BfxseLuOy//FIZSFNg/p+dLG B6QWWCfA7BvzMv4GqPFv9HR4eYZJgFWvxsJxlzuWiKlT/V/K1WRVhEayTCknc1rPqyh99SHyOmTls yjJcDS+A==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98 #2 (Red Hat Linux)) id 1twUMK-00000001sdD-10p1; Sun, 23 Mar 2025 23:04:00 +0000 Received: from mail-ej1-x62d.google.com ([2a00:1450:4864:20::62d]) by bombadil.infradead.org with esmtps (Exim 4.98 #2 (Red Hat Linux)) id 1twTyg-00000001p8B-1DyY for linux-arm-kernel@lists.infradead.org; Sun, 23 Mar 2025 22:39:35 +0000 Received: by mail-ej1-x62d.google.com with SMTP id a640c23a62f3a-ac25520a289so683589166b.3 for ; Sun, 23 Mar 2025 15:39:33 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1742769572; x=1743374372; 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=0Ic/0Xe88bpVQ1K2LP6tYIkZ9tLwnecoFfoF6m5efNc=; b=hTUAPGKT/uqkfKO0WG8gfVxbo/U97V+wO15emvH43I6xG/MZypEPMVZn34FhA6YJvq Dble+NNlfLt+NovLRxuOWiZBCqVFk994ih3ibrAZc+MhdVBm4LzwfmgXjxLEvOaHjMWR J9FIjjj2k2AcCt6CwbGazddhr//4tB1k19pSEDvFffLEP0deyBYh0rxzB5q+i1VK54ij i5x6YUECm5npXbmsxEu9oUUunZ73bh44j4qjKZImfWfrM4RqMOgZwGivhd4D4Nf3juG+ AIRpiViPh7fZByrs/TSsMHq6a9nJEGWPxJl1CjlHZhJGyBpycgfmE8ZsJy7MtBNIHAzO wViQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1742769572; x=1743374372; 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=0Ic/0Xe88bpVQ1K2LP6tYIkZ9tLwnecoFfoF6m5efNc=; b=a36B+LTs+3N7CIEUmvh+hBWn5IvBd4C7HjgaLy6OAdNjfYTZ19MTBOnHX0KLgv/i2R V/eApoivvxNPEQpMW70GlbDlbfYYsbPtYMCyZd4T+0dfbPXwftHsOh1gzJyzE7+cG3T/ +VhAyKq2UXi1WaJPBzYgVD5YE14LqWDF3NSYibTrVlmGT71oIWB/0oFXsc9Gj6iHiLeb 6SOGMlaUKoUD8WAMpicb2MsHbKAPsXWAZ7n5L0OzbLmU5qoI7DAkyubzCDcd8r5T1pKf Vj8E6M0hcbIStb1hWcgCCQf/O98+DrOBu9Pfqac6Ya+6gUdctdYLiFlrDJgtGrCIbgYP 8gAg== X-Forwarded-Encrypted: i=1; AJvYcCUwkatRyDDoDSt53tLmVWvFrFawxa5zc5Uozy9ek2K+zD1z/5BnZntKhOH0WdJJl+gSYJBW7HAc3UfZSqp8IqJL@lists.infradead.org X-Gm-Message-State: AOJu0YwiivExYAbfSc/JQDdY5M0PUOLI4qKCRZAO/k05mVbOtvLion4S gaOzscP4GtuXkY33ziPmAefaNWRxyaPvgYO54jTDEtf92GeZ4ug5CrC4dyEYWbY= X-Gm-Gg: ASbGncvFvgUFDj9wKRqhCI1gnWGkDU6uVXcw58Wh02bHUliCddU6tk8NlQ45j3WwyOt CeN0zKC56i1UOEdGHN8kbnzF5zMqWxOu0RZMdIe3B9E47NiMlHnqY5DbcC6mqJNMhZu7kuedkEy Y9Hv4HkVuTbwVy+kKQIeGCWT15bl8LePbtz0DK3ea3jaVNMHZSqlAtC+xRevVVDgjXUOQ9c3dd9 /PAxiTMhhVZxzud7mkiO67UvISs5ugJWzR/2nRDC8elRQoOfsrCC5Yc/vQRF9gVNOpSnPaiBEoX AmMnR/bLeOwNja65RuGHLlC5on8zWNzHlfo2CQHztL0WTMEBq9dhAZOKtwrqESi/sSzJ/LeRkwX Ny/Abmpo3yx2br3HpxdTj+PPcTSI2 X-Google-Smtp-Source: AGHT+IHSWJYMmiilFq0GtP25G1GQAXzOeFA4uM6WttlSQSDa4D8BZIvbWko1AKzeqQZza3T/DLDdOw== X-Received: by 2002:a17:907:d785:b0:ac3:3e40:e182 with SMTP id a640c23a62f3a-ac3f20f29c6mr1017949366b.19.1742769572496; Sun, 23 Mar 2025 15:39:32 -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 a640c23a62f3a-ac3ef86e44dsm559686666b.31.2025.03.23.15.39.32 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 23 Mar 2025 15:39:32 -0700 (PDT) From: =?utf-8?q?Andr=C3=A9_Draszik?= Date: Sun, 23 Mar 2025 22:39:31 +0000 Subject: [PATCH 15/34] mfd: sec: use dev_err_probe() where appropriate MIME-Version: 1.0 Message-Id: <20250323-s2mpg10-v1-15-d08943702707@linaro.org> References: <20250323-s2mpg10-v1-0-d08943702707@linaro.org> In-Reply-To: <20250323-s2mpg10-v1-0-d08943702707@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-20250323_153934_330645_0A40C5DE X-CRM114-Status: GOOD ( 12.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 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. Signed-off-by: André Draszik Reviewed-by: Krzysztof Kozlowski --- 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 fcf7668efd3215ad70d81916ede249ed5f9d45ae..5e084e2c389ea6d509393be93f7e2d39a795a60c 100644 --- a/drivers/mfd/sec-common.c +++ b/drivers/mfd/sec-common.c @@ -211,9 +211,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 ba0efb30877bf668fed7476a5e247e0dd4095806..ce1e5af9215a305fbb55157ae4e7bfb9aace86b8 100644 --- a/drivers/mfd/sec-i2c.c +++ b/drivers/mfd/sec-i2c.c @@ -152,7 +152,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; sec_pmic_i2c_parse_dt_pdata(&client->dev, &probedata); @@ -186,12 +185,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, &probedata, client); diff --git a/drivers/mfd/sec-irq.c b/drivers/mfd/sec-irq.c index 4afac3aa0a582994bf04c41768c1c788c54ee2e9..d05c8b66c35f2a1356d7c641484404628870ed42 100644 --- a/drivers/mfd/sec-irq.c +++ b/drivers/mfd/sec-irq.c @@ -488,18 +488,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 Sun Mar 23 22:39:32 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: 14026703 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 8869AC28B30 for ; Sun, 23 Mar 2025 23:05:54 +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=hTxU1W+gue/BWMRsVQK9iOH//Nw2cf3wcu3aMwThOM8=; b=EIGPOf3yJKSKWgIzhptlHw9km9 YMdcT1zYbB55jjFArm0YuqV57VpbqPjCgOw/zV9NkRlgmkPJlaLYzs8SHlXIEr0tzYCHYKH23Irrj SOVTIb/Yyl2DhlMWmQEX07IMmN5E+a5H8Kqse1RnLAUPizhiBoZl4a/KwkoRNLFLOwb0Cs+H/knJG q1eRFwo+UzkpLeqOc4VAtrA4e2/p30akw2Le+Q6L3sGSFJTP1XAUkTq/cxk9utWoj1v+Q2rFLD1Kf 3OR4muriWARxz0cXRveQ7Zb9ykLBEomdXaE2qYf/ylYIAIloo76gc7Ub4wlDjGi3aJRAUpKj22zF4 A5Ki1lJA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98 #2 (Red Hat Linux)) id 1twUO0-00000001sjx-09jg; Sun, 23 Mar 2025 23:05:44 +0000 Received: from mail-ej1-x62a.google.com ([2a00:1450:4864:20::62a]) by bombadil.infradead.org with esmtps (Exim 4.98 #2 (Red Hat Linux)) id 1twTyg-00000001p8C-1XjE for linux-arm-kernel@lists.infradead.org; Sun, 23 Mar 2025 22:39:36 +0000 Received: by mail-ej1-x62a.google.com with SMTP id a640c23a62f3a-ac2c663a3daso769282066b.2 for ; Sun, 23 Mar 2025 15:39:34 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1742769573; x=1743374373; 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=hTxU1W+gue/BWMRsVQK9iOH//Nw2cf3wcu3aMwThOM8=; b=donyPolaYIBlUTxscVhwo8Jr/nbrhY9DUQr+eefj5eG/hYvSBdehc/lfXvg7ckRGm2 qiqtudIaYNpspdOxDcVvtWS6hlJAtFGMTEAcyfdGZETue24M532ILDrxrYkB5WsHlNRl I+y38N7afDie+FTvM9/f50nh11iLvhiqr01UIAO3NfNXCIZOIOsiKtFI1h+b4uN1He/a ryRyhdDYi4dy/9vbOQmLKEQV2g3QXQV2v4rteqqNRvaTEy/yHebzmyVJjmeSnFPk/u4t 1PsAp2HGEnitgDk2bOd7EkWT3SdalobIxpm2CuNVEV5V0gbpUam+hdK4NeaB9ZxcF6Gy a0sg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1742769573; x=1743374373; 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=hTxU1W+gue/BWMRsVQK9iOH//Nw2cf3wcu3aMwThOM8=; b=CzxI9dafAC5M6zDPa5l79HpvB9OMBEM4S3hT6r4AHldqkbSDFfD/vQiVQrlgHZsdZl 5aFXQ80wMw3gY47yI2cisQwaSr/xqSb+g3iIeQbiT54VfIB2Q4ydxwitpxOY+/ktH9pP F6uKsq8HvY980EcMloIitVkGwSy6zW6A3ayQgMW42P1dLJbQ82IqlOIllpOyzqLNG6NA 7kfUe3JVJUKTO/b5ZWDoleWxYfA+n/WH/SBPGjj4csw6dln+DDvxnxSvdzkKBI3Cc/8P 4glugETGeIZrCYITLKzLrYQYvOYuGGpOzCAFXm/Idv7hQJYFPhYBNR6NsvN1b8B01ZWM 8Qlw== X-Forwarded-Encrypted: i=1; AJvYcCVo5N/GFscxTgNYHRLaD4YvVaq3pwhvp+LSHgtBlRHV/19sfAJ0UaTWN2r9qd2ARzBkFTcVopVWSi4ZKMyePgEC@lists.infradead.org X-Gm-Message-State: AOJu0YzFxeaC9ger04UKDO/5/8l7wZm/pHBIUmmweU29vsehny/KbKs1 YDDKcSKqKd+rdCBYgo8XnytfIxfS2C7cg0MW+S2afLJPaT1omyiTbyc3NlaYeuo= X-Gm-Gg: ASbGncuiRNJBnTyZws0pkAz4D02qA6ZZx3AT8HwQZW5rrHmdpv5lXycuhE4188xmSex Se33u/K8fihDeuCMEbaESe8OYynLWrnwsdeFqn6hU6GI09XaSHKyVz1xWAJTTzj9eWIXU0NxdiW COA2eQm4HcjXaLz6rrr71Iz5+zQDtY1B6jiUYBYg8EFxuPjmRpK25tarJucNML7mnoVnWSxypiP 4Mc2jf8V6TstpB5A8CCnnHfpCmdB1EcP5XRlXYmFn4z3ksUj8yX1fUDNDUBw69bz79+ASjyLXPy 2ROw+E2raXFl6N2S5vquENwuKmA6Rfch8tvAeOtWfn5PhESREGDws3eOCf9WimVpqz7H9mUX+cZ LMg0Z9FgOfvxaHZdYr259p1JP1ITC X-Google-Smtp-Source: AGHT+IFRwsk7g0/V5N71R/aeNk5DfXRJnWzrEBdlGqW+YmGP+K8r15zEhceKjqCGxIHr3ot1FPPH7A== X-Received: by 2002:a17:907:96a5:b0:ac3:5c8e:d3f5 with SMTP id a640c23a62f3a-ac3f2238ac9mr1051718066b.27.1742769573042; Sun, 23 Mar 2025 15:39:33 -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 a640c23a62f3a-ac3ef86e44dsm559686666b.31.2025.03.23.15.39.32 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 23 Mar 2025 15:39:32 -0700 (PDT) From: =?utf-8?q?Andr=C3=A9_Draszik?= Date: Sun, 23 Mar 2025 22:39:32 +0000 Subject: [PATCH 16/34] mfd: sec: s2dos05/s2mpu05: use explicit regmap config MIME-Version: 1.0 Message-Id: <20250323-s2mpg10-v1-16-d08943702707@linaro.org> References: <20250323-s2mpg10-v1-0-d08943702707@linaro.org> In-Reply-To: <20250323-s2mpg10-v1-0-d08943702707@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-20250323_153934_420035_0D4217C4 X-CRM114-Status: GOOD ( 15.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 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, so that we can ultimately remove the generic regmap config. 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 --- drivers/mfd/sec-i2c.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/drivers/mfd/sec-i2c.c b/drivers/mfd/sec-i2c.c index ce1e5af9215a305fbb55157ae4e7bfb9aace86b8..3912baa5c2f918b7ad345e2bbbbe4daf2e49ca6d 100644 --- a/drivers/mfd/sec-i2c.c +++ b/drivers/mfd/sec-i2c.c @@ -66,6 +66,11 @@ static const struct regmap_config sec_regmap_config = { .val_bits = 8, }; +static const struct regmap_config s2dos05_regmap_config = { + .reg_bits = 8, + .val_bits = 8, +}; + static const struct regmap_config s2mpa01_regmap_config = { .reg_bits = 8, .val_bits = 8, @@ -120,6 +125,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, @@ -158,6 +168,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; @@ -176,6 +189,9 @@ 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; From patchwork Sun Mar 23 22:39:33 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: 14026707 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 3D450C28B30 for ; Sun, 23 Mar 2025 23:07:36 +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=ma2h8YcPyNzHzzZtNTsrMSq+4WFWkERbNAUqbwhG/XE=; b=tIQ9wiptql32uMtoaJDdKbm971 l9tfu/PGy6hQTjVW4BcWZOkgCOiYGLoKNDbnS/hFPa2/XYzoHXizewZnYalK1cSwj4AsJKmz5R4rS xMy3lmyN2ABPJ4uP20+sySaJiuuAVW9PoyQ5Q7HARUxiAyTymLiY+VpE0SRTVOIcrvP4Co9HDewX9 LJCiGsE3QUQxPI3+7K/GWKzgz/5LrENTbzWIiiBW4ZlSHuTN+HvDjJhcxBHtsJiucBlNlQxBwsfnk PIl9nA8DKArsOf+YqMUNffPdd5A4kSVceHu4czC6ovzOLiLhArKtsNJOtd4LgAuzexXl0ZecCN87m VWPYmUCg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98 #2 (Red Hat Linux)) id 1twUPf-00000001sqz-1puG; Sun, 23 Mar 2025 23:07:27 +0000 Received: from mail-ej1-x631.google.com ([2a00:1450:4864:20::631]) by bombadil.infradead.org with esmtps (Exim 4.98 #2 (Red Hat Linux)) id 1twTyh-00000001p8p-0UfS for linux-arm-kernel@lists.infradead.org; Sun, 23 Mar 2025 22:39:36 +0000 Received: by mail-ej1-x631.google.com with SMTP id a640c23a62f3a-ac28e66c0e1so567665466b.0 for ; Sun, 23 Mar 2025 15:39:35 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1742769574; x=1743374374; 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=ma2h8YcPyNzHzzZtNTsrMSq+4WFWkERbNAUqbwhG/XE=; b=WSRtBtHNUgPlT3q6uf32SaXRbAHg+iI08kWazTo+5hq28fj/2XM2XXxIGfpPkD+F0F rXdDjza1QjetO5BJiG+Blq7/jCM+/sNzHie27ZRda0gROVPfgkrtw7X9kEI9snXaMMmW ZF+s1LPywx9XGDwSDoESWm2vrdar/HsUmiokvaz7fZrEnLeIFL03WSYCUBwZN6kNH5TO Up90ktBI2+4I5jDCml0eubRTpu8f8pJKV7826P1j1HjlhVBn1B19iKWzLdMSO0HgIvQ/ GvzKO7FL8kcjvdK3SXl04Exchqsa7O6Bv/PYnTpCYP32QNQ1EJESOQv18lZ5OdJptf5A Nj1g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1742769574; x=1743374374; 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=ma2h8YcPyNzHzzZtNTsrMSq+4WFWkERbNAUqbwhG/XE=; b=uoRrnm9X/j67T0eXsocE0b5OZYCLo4T1Qri5RXfjZPZTCRpOQeKp/SCBeNWBp/tcOh cgRGd94H3ATNkzGNxPz5YP1CnzYlXPWLSCYpfZ9JUx+T8VeqCiqJgTsoImDLDBwQrrQJ PSnTMUd0VpGFKhp+Y/Krd5C6bbPpiolaZshs5X2nGfCXRw+5vALtasPYDu+XGrY2uYT4 IRLuCm022AWesGIxLUGL9jCD4TCwO5e4YAyJGjqeHT5+Ydk8XXyTF/VwHTJ55FpErLhc lr4GpDl6kIh5MVtOyziTY+onMLxnvIwj+SHRRmquar5M6+CLWXzvGpkPivzwFzeUb6Z/ Hsfw== X-Forwarded-Encrypted: i=1; AJvYcCXH3NqfLIGUBWh9+auCmCM0D+unPA4ea24WOTs6pzW2vDF09JHX7Rkda2LnCLAykra98HV8kZxJ0Vjz6jiaz9Av@lists.infradead.org X-Gm-Message-State: AOJu0Yz8GPx9my2LaO59UyXaVH0C1YU75+4Fd5OuAhwCDkA0ssQto5WG CyCZiCEL7fNIcjTJyNM/6UfeuR5mrXlt1+8yM8F36MyqgvAzVxvlJSC9gZEuTMU= X-Gm-Gg: ASbGncsaehd45ZBu/XnvoOVx9K7GlTwvb13yYSwm8h8790jT58XJRWYIZcuDyLdQJou kuEbxhaGRVTUepxCeiQy3dRz65tDhXU5IGWhxFfoLY+FTURYe3SLo5sj9nvNPJV0+a1p/KGGfmY 4rb6PkhGEDq87yM/stdwaySXB2cCsLrLJPh+pA1lsyurIHDQxfthYFVJ2m7PpX7zb7GES/MvGR3 Ww63qULFQTSvlUQ5OB2FQOS/n0tiAqWVVkDxOl+A8aF5gdbSSHKH1JlFM8Kts3/xVCqnuZ1xKOT NX1PZDZTrVdknXSNNiX/VarLd2c4UNje+3a6Sx90M3uWBlcz+EILR5E+FPMKuLVBfLt9x4emyyZ gATZVGkV1Pxn4nRHEu8MamaUqQHgO X-Google-Smtp-Source: AGHT+IEAdjv9xEbMYB+Oz8xJ1E35q2wdeD2HNBvV+6r3g5vXOlzMcwWya0yXpD0Ui6X7vYMMVnjHVw== X-Received: by 2002:a17:907:d91:b0:ac2:a4c2:604f with SMTP id a640c23a62f3a-ac3f24a7838mr974893166b.46.1742769573704; Sun, 23 Mar 2025 15:39:33 -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 a640c23a62f3a-ac3ef86e44dsm559686666b.31.2025.03.23.15.39.33 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 23 Mar 2025 15:39:33 -0700 (PDT) From: =?utf-8?q?Andr=C3=A9_Draszik?= Date: Sun, 23 Mar 2025 22:39:33 +0000 Subject: [PATCH 17/34] mfd: sec: drop generic regmap config MIME-Version: 1.0 Message-Id: <20250323-s2mpg10-v1-17-d08943702707@linaro.org> References: <20250323-s2mpg10-v1-0-d08943702707@linaro.org> In-Reply-To: <20250323-s2mpg10-v1-0-d08943702707@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-20250323_153935_167201_44EB0288 X-CRM114-Status: GOOD ( 13.30 ) 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. Subsequently, the accidental new users have been updated, so sec_regmap_config is an orphan again, and can and should be removed from the code. Doing so will also ensure future additions to support new devices in this driver don't forget to add a regmap config. Drop this fallback regmap config. Signed-off-by: André Draszik --- drivers/mfd/sec-i2c.c | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/drivers/mfd/sec-i2c.c b/drivers/mfd/sec-i2c.c index 3912baa5c2f918b7ad345e2bbbbe4daf2e49ca6d..1bdd6ea36fcd9f56ea5ec1159a87723f4c09a0bd 100644 --- a/drivers/mfd/sec-i2c.c +++ b/drivers/mfd/sec-i2c.c @@ -61,11 +61,6 @@ static bool s2mpu02_volatile(struct device *dev, unsigned int reg) } } -static const struct regmap_config sec_regmap_config = { - .reg_bits = 8, - .val_bits = 8, -}; - static const struct regmap_config s2dos05_regmap_config = { .reg_bits = 8, .val_bits = 8, @@ -196,8 +191,9 @@ static int sec_pmic_i2c_probe(struct i2c_client *client) 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 Sun Mar 23 22:39:34 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: 14026708 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 1B92CC36002 for ; Sun, 23 Mar 2025 23:09:20 +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=OvVG+h6exYVME9DrCs1LDYgxvlNyKrO2ZRoKATXeWAM=; b=AokrMAMv6dPRzB3rGnM0GoXJ3Q uO8tmU85ZGxSvgU5ieACUShrfscoT1D2zqBF/vxNFDIA5xlcglgpVNZSqmkHr3dDYc7Eh/ZNR0NDA g21v87zmpq8uKEYmmTlNkgeWhLgJLrlzA9IHXcDOLffBV9j5FTdkoRjaizRBMRI15nvDfXnmCJatF 35RPAbef3BoZIdcGRb/em2wlBMr8qaun6bSMR0XbNy98sO0Zaqa/u8E4LzkyztbnDN+pSrOOE60sG 639Fh48hS7buQwB8AFHQeZ+cic9bOdAkM1zqY29AEXxGkR14r8sQ5v+q3tbkFcnNuJF7tIHirdKHg dQjg1pcw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98 #2 (Red Hat Linux)) id 1twURK-00000001sx7-1Drh; Sun, 23 Mar 2025 23:09:10 +0000 Received: from mail-ej1-x62e.google.com ([2a00:1450:4864:20::62e]) by bombadil.infradead.org with esmtps (Exim 4.98 #2 (Red Hat Linux)) id 1twTyh-00000001p95-2q83 for linux-arm-kernel@lists.infradead.org; Sun, 23 Mar 2025 22:39:36 +0000 Received: by mail-ej1-x62e.google.com with SMTP id a640c23a62f3a-abec8b750ebso702083666b.0 for ; Sun, 23 Mar 2025 15:39:35 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1742769574; x=1743374374; 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=OvVG+h6exYVME9DrCs1LDYgxvlNyKrO2ZRoKATXeWAM=; b=fTKJ1vaIx9puTBGC9pHUc3jClmGxdUfea/hEmZdRbjvr2H8kjJmr9mDPVu6LLbbJOX X3xgUtqdwErI8fv9VEOJ8XbJSewVPvvMJo2FHrpagyZYqjF8xDOiqDKNlNyLevkn5OLX PHQvkLffYiXlG13kmEKV6OF4xNEF6VpgszijNsoULmjMnx4G7dFE3Hjh+ahIXIkkJEdY fcN7Jy3JV1i4p8u6wTWJfmwrWTaPGpduzaeMFg21v1zHUqwLFllIByuqAACrw1jfc3LC Qu5W0m/xgvIzg0qTvLEzIH5o+GuSbVA7HIp3JH1t987NmX3FaEMnLjXgp0MdABoT1S0j y3Ig== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1742769574; x=1743374374; 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=OvVG+h6exYVME9DrCs1LDYgxvlNyKrO2ZRoKATXeWAM=; b=vjJ6b1LlpkhEJi2H+AWSHJyBKX+z/qmRh5TOlTP5+FGMGF9XZ0u0e6qEVui6S3ZpSc NvTVyolRRjnuvzF8mvvnt96JbtYhAp+V38sNx3Nnv7eNwzSfb30bshS3iYdhwGBr9OOe 9B0E9n75zcF8IfAsPaKGRC0Nml5FYKOk5EFL6HTFXu1h0oQhFEDJI07HFrrA6VOqXycJ pkm/dHHWf7eIV6f7yQDzkXQfM+bCgMs36q9G4tdpPIkVQNITue+9CXmghWVJVmvIb84f gxasWITvI3Hj7+LLuVVajvv/jOHV5jp+Abnnmv5BHxrmnvbWft9RGbEy3greVpTxpFBD wTzg== X-Forwarded-Encrypted: i=1; AJvYcCXFTDc58fE5a386N2e6gfXYOZnhaBRJ1XK0NX9ICYvQf9n4AlSIaBspmUIfoTquvCJMSAGpFRlBN6ewsa58Eik7@lists.infradead.org X-Gm-Message-State: AOJu0Yy+cQCeBl14Gs+GY60csPJbiTiKKxg9YX7i2SzEs2d7JDaRDctd 4vgsCXzVYy0/TnWsoV+pOUUjfHwIpNHEHaN3xTPT1qshpO09eGEGyAG3fHVA6q0= X-Gm-Gg: ASbGncsPID7cx1uZTI3HDWSlI95kof+l9/Q4FWowo5xyOPuHlZB/rh+04uMlk3Rz/eU 7rFF+RASSTLL20xcOh9Z0r6DA6U9Ske6a6ekiBOU9fXYW4YuAEDPAlFwVVULQVGoYxoPmwOu9op wsdU2zgkIYCoBHIbVmYcmC92p6EKB5Mx63tm5W6I2wtrUt7UzW3aLHEDxoxJ8eRvzf1CNFzLosF BPGT9lIyPE+WQsjv3vqHKKCOzZBY8wyjH1ovneuuZga9rQwE5SJdZNZz3UuyZ2VquO1zdWr9rJk xmklqtVSRDRBLuhPyM4dYGvJL0VXlh3vG8xM1vcGXTUVJYEloS6f4LSK7agVU1u9hZmRmFO8yEX EnJHvXDSyo1GL0jBZu6wbMzZmuDtp X-Google-Smtp-Source: AGHT+IGbu/jFjtqa9LSXFqPCJsAn/xbvTSf/7H1OcPEes32L8sKOj1rM+QLBV82JKfVyHX96sb/teQ== X-Received: by 2002:a17:907:1b0d:b0:ac2:7a97:87fb with SMTP id a640c23a62f3a-ac3f229dcb7mr1140111466b.33.1742769574302; Sun, 23 Mar 2025 15:39:34 -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 a640c23a62f3a-ac3ef86e44dsm559686666b.31.2025.03.23.15.39.33 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 23 Mar 2025 15:39:33 -0700 (PDT) From: =?utf-8?q?Andr=C3=A9_Draszik?= Date: Sun, 23 Mar 2025 22:39:34 +0000 Subject: [PATCH 18/34] mfd: sec: s2dos05: doesn't support interrupts (it seems) MIME-Version: 1.0 Message-Id: <20250323-s2mpg10-v1-18-d08943702707@linaro.org> References: <20250323-s2mpg10-v1-0-d08943702707@linaro.org> In-Reply-To: <20250323-s2mpg10-v1-0-d08943702707@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-20250323_153935_728572_7DFAE83F X-CRM114-Status: GOOD ( 15.85 ) 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. Signed-off-by: André Draszik Reviewed-by: Krzysztof Kozlowski --- 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 d05c8b66c35f2a1356d7c641484404628870ed42..dc5560a0c496917e847a40295c53e3f762b60998 100644 --- a/drivers/mfd/sec-irq.c +++ b/drivers/mfd/sec-irq.c @@ -453,16 +453,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; @@ -493,6 +489,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 Sun Mar 23 22:39:35 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: 14026709 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 A5B9FC28B30 for ; Sun, 23 Mar 2025 23:11: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=k8z5p12enI9RZw66rCmwLiYXfJvqOoZz3UAG+lMt/bw=; b=OX54zahcJDqpsB6IMnEmOwfT/c DzC8C+V3zrxmBt5f8XqfigtufXWood2mP0U/jTTcVP/3gvTGhleFSu1ZqUhqQPwwJc3E+IoWBrFa1 3b/IQ/ZaZRji3DjuHr2kR0RRTifuMEnsVdEX6fGSRDgJ8H3kQ6m5Hq6as5L/FVl/ltejSBc4/GiiO C6jVuDwqt1SlsnCAhSL+vwMp36xR0BfzDUTI6J6ww419VEmt4q+Af2WHgBIV3nRTGmYuKp4OkI65e x/8N6yXXWT6ArDB0NleXQEGiP0oeFW4+O57VCXRbLGnchZ6isNeQjIYc4e/lxzjLIIqNWVHVFDZ3b w+Uf8oHw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98 #2 (Red Hat Linux)) id 1twUSz-00000001t5f-0uCH; Sun, 23 Mar 2025 23:10:53 +0000 Received: from mail-ej1-x62f.google.com ([2a00:1450:4864:20::62f]) by bombadil.infradead.org with esmtps (Exim 4.98 #2 (Red Hat Linux)) id 1twTyi-00000001p9W-2tm1 for linux-arm-kernel@lists.infradead.org; Sun, 23 Mar 2025 22:39:37 +0000 Received: by mail-ej1-x62f.google.com with SMTP id a640c23a62f3a-ac2bfcd2a70so552638166b.0 for ; Sun, 23 Mar 2025 15:39:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1742769575; x=1743374375; 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=k8z5p12enI9RZw66rCmwLiYXfJvqOoZz3UAG+lMt/bw=; b=mI2NNnIjjPc4oazSHKcUYeOK6GhKGhVJ3GRH1dJ2dNkxSelfQQJIoUPOJGypb7vpv/ YymvZfZpz0dHTrJdK5cWpFnSGCYF1s+NJxqkH4Yjt0KKT6PuAucnMPhAGnTE6c6DFQ1+ atZ/ynYuQSVZsPksGP4ySh5pvyWajP9ABkA++VYN+7+NF66q5O8tL75g9FbJnIj4J/yM kO0ziF6AMM0lYp7wXIwHzy/armvnybgiSCTsGeL1W1sEJ0ywN1c/+oSdwl9lqKgSRR8C r/W4pmEo3P1PBTkNZTH9dtq/58LftPUf1dUtzy+f8q3NzfM+b2+2D0Yg13djCJ32bdxw yUug== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1742769575; x=1743374375; 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=k8z5p12enI9RZw66rCmwLiYXfJvqOoZz3UAG+lMt/bw=; b=FA4N07U81uiV9k6Ywt5iChAGJf1snju6q36gZK3ehBfeMkqjU4lvwLUDfVf+f+ZRNw B5LE41qwSY4zcKS34fBMJ3tgJ7VbqN6dZPEDiqiDdh5K+6/b929UCYNfH+AwWoDqlRup tKOMtcsCc62F9mBm+tY+9BOjmaHd7iik8WAascFX8Yu4VZvooPnuh9eyuWOUkgt5KA5u qfAWZwBiwCgwVP42T3lHd2jC9urkogkBKY4mXtMlMnVIWWR6CgKYyVck0YWn6xK07M6M QZCiWdbAQ6SELGkYXVNSI6hHaa8wLXxd4j6PGlqC8/0/0NTNNXkejkuHsahwMM+w6egg It7w== X-Forwarded-Encrypted: i=1; AJvYcCV67y5FEUlkyzrXQJT9Q/AyzR+WbYt0v62doZdXo8dBFjlLguKqLk1UQDraldF+fiQwUARS34MKDwbURmTjCvCM@lists.infradead.org X-Gm-Message-State: AOJu0YwYN+CuFxGeoZNhkreMdpWeptMEEb8yXuxaJ52QpBbpkePEOY4p kkvEsAhfLWKnGuxjkiX3Y+VoWYg7v+3CZxGifyCVw7I88RiUexnQtTnk5KzLwho= X-Gm-Gg: ASbGncvajHfFQvxRnud+gYY1Yn511qE420XTi1fnGyREbVdxQT/Rr8Ije6+r2LY5afo oIuU3QV/m/PdFl/NUbCHVuAYNeKTDS7ooog2FnY9+uD6MaRa1ViGyqGcUlkex1RZ+XCa9Pj+Wqu 05JdKHXBO/2Smspn9I1CLG3te0nOqiWn8y1a7qvAtTSvtYNG0Pgobs0WR87L9A0x4cOpEvdjW5k wjNOe8ONeH8SSRqP/2xHB5KeoFycRLSa71VIP97+l77s331ONVJNN8IZ/ECqQE4muliYdW+3UaM zbD3YzspRrywjdM/4Rb1saD4t1vtsGfky0wH/rTVafdAly+Bf1EQvhegDKlfgLbKAynNs7esy59 3/nXTzx0OHXHX0VcHi7t4fCFd6LVj X-Google-Smtp-Source: AGHT+IGe5qmoAcXMWbaWHDRmab3UauFteJoVt09a7sGbTlNJP0cYBqQFxBHjhU8bkTv1Ztr/PWxw0A== X-Received: by 2002:a17:907:bac2:b0:ac2:e059:dc03 with SMTP id a640c23a62f3a-ac3f26aee3dmr1087374966b.38.1742769574917; Sun, 23 Mar 2025 15:39:34 -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 a640c23a62f3a-ac3ef86e44dsm559686666b.31.2025.03.23.15.39.34 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 23 Mar 2025 15:39:34 -0700 (PDT) From: =?utf-8?q?Andr=C3=A9_Draszik?= Date: Sun, 23 Mar 2025 22:39:35 +0000 Subject: [PATCH 19/34] mfd: sec: don't ignore errors from sec_irq_init() MIME-Version: 1.0 Message-Id: <20250323-s2mpg10-v1-19-d08943702707@linaro.org> References: <20250323-s2mpg10-v1-0-d08943702707@linaro.org> In-Reply-To: <20250323-s2mpg10-v1-0-d08943702707@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-20250323_153936_725040_774FB57B X-CRM114-Status: GOOD ( 11.46 ) 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. Signed-off-by: André Draszik Reviewed-by: Krzysztof Kozlowski --- 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 5e084e2c389ea6d509393be93f7e2d39a795a60c..bec8f93a03f7fd794beade563d73610534cb96b2 100644 --- a/drivers/mfd/sec-common.c +++ b/drivers/mfd/sec-common.c @@ -165,7 +165,9 @@ int sec_pmic_probe(struct device *dev, unsigned long device_type, pdata->disable_wrstbi = probedata->disable_wrstbi; } - sec_irq_init(sec_pmic); + ret = sec_irq_init(sec_pmic); + if (ret) + return ret; pm_runtime_set_active(sec_pmic->dev); From patchwork Sun Mar 23 22:39:36 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: 14026711 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 5F691C28B30 for ; Sun, 23 Mar 2025 23:12:48 +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=66I6A9BwKPx78r+x2ze+D3BdpB1AaTqz42y1bAQYxGU=; b=Duwv7HZ3xOb0VnzceYtp2ot+YL /jKq7nKx5JXe3+ZMqDvq3wu1A+OVWOUq7gYHyhWS4Skw+u5lEjxAL+M2hI8PAMUyJZzKzODIxleQf SSLuM6N0yhFwY+aK4n/xbbt5ANC94cACOuZNQQbwm6MOvrgjUOxet5lqqUSZHYYTleJXjmeX0GSyC fEQYa1H9H8ydocS6CVIVcFruUfvNyknziE58AiPLAUXAnOTiQWW7FAzz7k0pwxzrBU1VGx3itux/Y 1b5/sB6ejygmM/d1MoHrC8izrlqA8aHY0UgnYcshiP0EffRg8h5JrwDeDUGoU1SjZmkXWVdy27CEa rCJp/dBQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98 #2 (Red Hat Linux)) id 1twUUf-00000001tGf-0a6V; Sun, 23 Mar 2025 23:12:37 +0000 Received: from mail-ej1-x62b.google.com ([2a00:1450:4864:20::62b]) by bombadil.infradead.org with esmtps (Exim 4.98 #2 (Red Hat Linux)) id 1twTyi-00000001p9o-3ZrS for linux-arm-kernel@lists.infradead.org; Sun, 23 Mar 2025 22:39:38 +0000 Received: by mail-ej1-x62b.google.com with SMTP id a640c23a62f3a-ac29af3382dso635621766b.2 for ; Sun, 23 Mar 2025 15:39:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1742769575; x=1743374375; 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=66I6A9BwKPx78r+x2ze+D3BdpB1AaTqz42y1bAQYxGU=; b=LpPWf5wo1TqPJYZbdPWvURPI66sBI/6yP+96Q1zgWlf3irA8zh4QQs4vrB9T2WECCp RK/I2bdlZmbucU5wP/NXRLYWa3oPQcAmCbGZ2wosrWu76FqzRnu2dXla09Gkb0wcZj4Z aq9IDvJFMaZeJKIPUpnTbJ4k5PA+9rO+d8tmKFABGhB2b/Hud8t7wwq5hAge1NKHfEVH bPmwRhp+iDknqYM76zOgdoE0cPYigJ21ED64ltOCqRmE51JoTI2As2/yKTm/dFLfGF+M StII6oSnR0m7k3MbcSA9cNUoau5f30HYACAtyJ1G4TdRxIdqy+VzIKYEB6P+9usNf56h ccag== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1742769575; x=1743374375; 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=66I6A9BwKPx78r+x2ze+D3BdpB1AaTqz42y1bAQYxGU=; b=KBj3NH1PjFOy8KdF8fKQNuofAJYYtKV4rt2EQB3MDaumadDdA6s+/tPOAdAiiEUioU TRSEnRdRi4+q5AeASyuZrgeETpLO2aR1NRtF44VI6bcXHHyAy3nr0LPyssF0HefP5Cur bPsoY1One3weU1QWR5k60iQ3fNywWKBbA2H2Sm+nw7/TUhn0PqQwwDz3e4flFzOQ7gRq lsgN/QMZsdlE0U02sisFthuiLPrIapNg/QnTp+CiTFDo1ufwkazXS2h4WsUxha8PTQkd hwBZIJxH9MwdnyWUQfDXCCSaLpYahhDco1QuNYl120iqrPWSvWzpMySHCAEqMnkIToZo rzJg== X-Forwarded-Encrypted: i=1; AJvYcCWjJcpmxgn9GYLEGi4hlqnaAooM8RNtIrOSZhGbdCtndM+dNZwL/aKR7nshpbjQvuE/00N/uHVMfZharlLb7ts7@lists.infradead.org X-Gm-Message-State: AOJu0Yysy2AxWyJU5RujmHXgHJpe0JevnNlm3geXNyX0GcVSPJEqJMuH BbO39moL3Rn7xjlT6gj/0O84uvrOL/d+cktbRAy9h1IiD+PtvqK9BLvO2mW+xfE= X-Gm-Gg: ASbGnctpDGVb07U2xR2/MDyJGSAFRHm31OWrjXI/ug4KYu/Z+GYyuoXnXv6RKxmJt8I sl4gmXElx25e+/6gQ+U4JMDObiqP+58apUxLa5szMnLhyT0pSKR8xtWJVZjXERLLZnJAq/JY7j/ Czg6CCgtk4sWfZ5OkcT8957h/HFfLXCDYdzKYwPeJ/EnCFtX6BwZdhk6yOoeAhBlklSfnsKyWT7 XG6Zv5OeyqngbTENosbZxKMi4Zo5znB4CMdZbnqKp6kYj3gnbxggUGvsZgapGljuQ4rYD2qi0lC PbbSToCVsqWiTf0J9Fa8joBrVuX8kS91ZiKpErHVBpm93xfeY58efsCtnnIvMZDUWFPE86cn8QQ Sk2kN7c9zAsNIbWKisjmMkNUH9EfR X-Google-Smtp-Source: AGHT+IFOl2n2dt4259UO9Y2Hc/nB/vtxXxb3XEltGi4hCBG4hgPGKnJT2FEY0IZG076qDEvYKYdc8w== X-Received: by 2002:a17:907:7f0c:b0:ac3:c4a9:7f89 with SMTP id a640c23a62f3a-ac3f251f2a0mr846621366b.54.1742769575429; Sun, 23 Mar 2025 15:39:35 -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 a640c23a62f3a-ac3ef86e44dsm559686666b.31.2025.03.23.15.39.35 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 23 Mar 2025 15:39:35 -0700 (PDT) From: =?utf-8?q?Andr=C3=A9_Draszik?= Date: Sun, 23 Mar 2025 22:39:36 +0000 Subject: [PATCH 20/34] mfd: sec: rework platform data and regmap instantiating MIME-Version: 1.0 Message-Id: <20250323-s2mpg10-v1-20-d08943702707@linaro.org> References: <20250323-s2mpg10-v1-0-d08943702707@linaro.org> In-Reply-To: <20250323-s2mpg10-v1-0-d08943702707@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-20250323_153936_905929_2AB710AB X-CRM114-Status: GOOD ( 13.17 ) 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 --- drivers/mfd/sec-i2c.c | 137 +++++++++++++++++++++++++------------------------- 1 file changed, 68 insertions(+), 69 deletions(-) diff --git a/drivers/mfd/sec-i2c.c b/drivers/mfd/sec-i2c.c index 1bdd6ea36fcd9f56ea5ec1159a87723f4c09a0bd..9f33d4569cf73461c57d101f6ca1cf2b75f22b4d 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) { @@ -153,55 +158,23 @@ sec_pmic_i2c_parse_dt_pdata(struct device *dev, static int sec_pmic_i2c_probe(struct i2c_client *client) { + const struct sec_pmic_i2c_platform_data *pdata; struct sec_pmic_probe_data probedata; - const struct regmap_config *regmap; - unsigned long device_type; struct regmap *regmap_pmic; - sec_pmic_i2c_parse_dt_pdata(&client->dev, &probedata); - - 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); + sec_pmic_i2c_parse_dt_pdata(&client->dev, &probedata); + + 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, &probedata, client); } @@ -210,35 +183,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 = &s2mps15_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 Sun Mar 23 22:39:37 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: 14026712 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 E2E1BC28B30 for ; Sun, 23 Mar 2025 23:14: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=e3Twc2HyOCZXfu7bqwpcMcsjD+r2Ct4/gngHvFw4saQ=; b=Fo2ByOVNFBtdrZ0NUjkqmwXOhG TTbmOBpzaWFSb6IVH6o2TiDPkdtfk/omom3hUNsBI+UPkYQ6b9yA7OvnKDwzX3ZKO9sZtWPHGpDtW SkHOLU/qcoSDQa4364nyj+fKQF5x0r0rFTZofeDMbpxWYaYZGeDHzw7pZb02G7poYrsWYdkMp4CV1 aCD5DuZKcFihaY4FaQvdXgGqvD2oO4LWacfz429cRDM2eq80D7jTGwcw3MncJfBx/FKTvmc4r+LX5 z3CYHe6NhvXIB17yCJJwGDqssmOOkOK6JDobvDlV8gUl+kJRZNHQ6PG40gk1M5gMFNZWh+i2EvYAi /svlCb+w==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98 #2 (Red Hat Linux)) id 1twUWJ-00000001tO7-3Mb0; Sun, 23 Mar 2025 23:14:19 +0000 Received: from mail-ej1-x62b.google.com ([2a00:1450:4864:20::62b]) by bombadil.infradead.org with esmtps (Exim 4.98 #2 (Red Hat Linux)) id 1twTyj-00000001p9y-1g3J for linux-arm-kernel@lists.infradead.org; Sun, 23 Mar 2025 22:39:38 +0000 Received: by mail-ej1-x62b.google.com with SMTP id a640c23a62f3a-ac2bb7ca40bso838516166b.3 for ; Sun, 23 Mar 2025 15:39:37 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1742769576; x=1743374376; 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=e3Twc2HyOCZXfu7bqwpcMcsjD+r2Ct4/gngHvFw4saQ=; b=uEpi5FGLKbCpk7YYffzJ+P4+6n4PqBrw52f/UUUUCZETjSYrWpFGvi5AWJCGmgUAOf 3HG4cH23nFzR4h7u/WbK681eBrHsiWzEH8RyCGM2yRUq3P1QYOMRMlAMiUJ9KkhwU1re F0UwOH+7G8MIUw8VqrrkIl7o0dYxUfkzxvIypfpczF8aqCYMXGk1Mj3AGJ5SWyvbHNQo wPE+Vkl4Yot1QlzowmnGvfSA9g60ps/Wq8Sr84vj+bUWHVreSmTeP836eTe+3WG8O4mn eM4ogAZY4doyjlX0YrO5l5zoI2ToBvQuIlXbQI3AGWTGjm81gaWPzY8BDNOOnIJXd20R op8A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1742769576; x=1743374376; 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=e3Twc2HyOCZXfu7bqwpcMcsjD+r2Ct4/gngHvFw4saQ=; b=jRdU9WXivFfYMqLZWKqxylPXPFu1MvQ4a0soYRWYquIOelWg9LqERNZatlXk17ptOO cPr+H3VDz4vNssHSq26Q6UQUPvCJctXyPC5nB7v1dbVEKhjl6aP5DO1wUmb5rUG/NmjB btnm2Lt3yB96CT78A2pB47XpEL+rOweEbM396axibRvik6Iwvb0HEOnVbc6gURAqU+of eGZ+ad7i+aRvsMG7xzM0a5aqs3eQxaBYms25K8+2mTlVDNAfpaLUIZb2Ck/bK1//9lhE +nvYXOXSy0mxJ/ZXrJNqmKQzgUUWpg/UeBbnN0ZAj9lssvRRbtS+lcAotbXvLwymtPIq ljpw== X-Forwarded-Encrypted: i=1; AJvYcCWsItfWHvRrr+NJVGgFTI900qGfJOenDQ1XMdUTCofulcQ+2M7GUhQwaMGyuRm08qjuQUU9ApRDjNhE7KJ4+vWL@lists.infradead.org X-Gm-Message-State: AOJu0Yzhf9AEZigJBc7+VDEZeOhszFWAxVU7UKQt9LJli51yLNWyhDWB wnnxrrIWpBPCuellksTDQMAveps3G5KhgXKpei9z7y2QfovaCetQhNNNAElINow= X-Gm-Gg: ASbGnctWKZIA1zZQDrSK6u/rpxb0VNf+lL1Ij0DPEHBo+jc33VxEpePGyPUEeYEmmWA M1wLQ9K5WntsN4PefRjr9WKkgv88HUUHYhv20JxUU4LMbr6AOkvrG9VLyQAo6tKFNdes35/sdAP jQn0DI28cjoDJPD3yKeZVs0aZT97EVotGKWxJFspGpD1XAyIPg0fsarN/ojSDTCCCMMKALvdIjm kAaS9a5GMJ5FW15/5Te58OJkcX0zWrxWw6L8iC8wSR8YFnjGLXzRWhGaRed0jZmoJ+/Lsj+Ht+8 zqvq//iG0xG7iP4VZ6Ox0J/VwYwaqemmdMC9TROY5GYfetsoPluoHOHXTTLlCb0Km9h38CjdbzB 9vxQCwBPCGc8gkd1MzNhnP3iMWoXm X-Google-Smtp-Source: AGHT+IGQ8L6LLeC0zwpvMlguGkzr2gQM+jg2bpgKU+l+fqanTCryHJuZychWrZmnRDXRMuRhkKJXmw== X-Received: by 2002:a17:907:7f92:b0:abf:8f56:fe76 with SMTP id a640c23a62f3a-ac3f22b43c4mr975457666b.25.1742769576042; Sun, 23 Mar 2025 15:39:36 -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 a640c23a62f3a-ac3ef86e44dsm559686666b.31.2025.03.23.15.39.35 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 23 Mar 2025 15:39:35 -0700 (PDT) From: =?utf-8?q?Andr=C3=A9_Draszik?= Date: Sun, 23 Mar 2025 22:39:37 +0000 Subject: [PATCH 21/34] mfd: sec: change device_type to int MIME-Version: 1.0 Message-Id: <20250323-s2mpg10-v1-21-d08943702707@linaro.org> References: <20250323-s2mpg10-v1-0-d08943702707@linaro.org> In-Reply-To: <20250323-s2mpg10-v1-0-d08943702707@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-20250323_153937_448659_841DCDF7 X-CRM114-Status: GOOD ( 15.66 ) 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 | 8 ++++---- drivers/mfd/sec-core.h | 4 ++-- drivers/mfd/sec-i2c.c | 2 +- drivers/mfd/sec-irq.c | 5 ++--- include/linux/mfd/samsung/core.h | 2 +- 5 files changed, 10 insertions(+), 11 deletions(-) diff --git a/drivers/mfd/sec-common.c b/drivers/mfd/sec-common.c index bec8f93a03f7fd794beade563d73610534cb96b2..48d5c9a23230d0927b9dc610166ae3f8f1aec924 100644 --- a/drivers/mfd/sec-common.c +++ b/drivers/mfd/sec-common.c @@ -129,8 +129,8 @@ static void sec_pmic_configure(struct sec_pmic_dev *sec_pmic) } } -int sec_pmic_probe(struct device *dev, unsigned long device_type, - unsigned int irq, struct regmap *regmap, +int sec_pmic_probe(struct device *dev, int device_type, unsigned int irq, + struct regmap *regmap, const struct sec_pmic_probe_data *probedata, struct i2c_client *client) { @@ -214,7 +214,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, @@ -248,7 +248,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 58e5b645f377cea5543a215c05957a2c49239a6f..34a801144a47bcdb5472ce5548bcef0fe3f0926f 100644 --- a/drivers/mfd/sec-core.h +++ b/drivers/mfd/sec-core.h @@ -21,8 +21,8 @@ struct sec_pmic_probe_data { bool disable_wrstbi; }; -int sec_pmic_probe(struct device *dev, unsigned long device_type, - unsigned int irq, struct regmap *regmap, +int sec_pmic_probe(struct device *dev, int device_type, unsigned int irq, + struct regmap *regmap, const struct sec_pmic_probe_data *probedata, struct i2c_client *client); void sec_pmic_shutdown(struct device *dev); diff --git a/drivers/mfd/sec-i2c.c b/drivers/mfd/sec-i2c.c index 9f33d4569cf73461c57d101f6ca1cf2b75f22b4d..760dd89b62a1639013c9e51b6e1a7376f15ac504 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 dc5560a0c496917e847a40295c53e3f762b60998..cf1add30dcd0ff1ad149b483fe40edf82c2b57e1 100644 --- a/drivers/mfd/sec-irq.c +++ b/drivers/mfd/sec-irq.c @@ -450,10 +450,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; @@ -485,7 +484,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 Sun Mar 23 22:39:38 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: 14026713 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 1BD10C28B30 for ; Sun, 23 Mar 2025 23:16:14 +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=9Z8QgNOGdyxdSVBJRkjlahCtXXFXCQYtK5J/GCQaRwI=; b=3atF2uQn68Hu2F4zJm3bQMmBVQ CdZkAw07IbLKMUoICfvEcTRy0NdNdHPFvyXwyof9zGaHNVvr6U5xcW/jfWmwtkM4QIy2pJGrvh9OU ax+VtNrQVbBjNuD1zKCTOurCDDbgwtRdkBMZiBkGNxsoM93mOKlvky1tsdXmVWcYR1tQO4L6ena8t SEdMLyTerxUDXuSlojT98NWQv3rkjO8HjU/y+ifmp1/w7W2zXnNhrmtGl05/kn9qmh4FknWd/Asw8 AeIpR7YI4g3HStgUU8v8nK/6c8yJbZ3nRGkCV3o6I1GOYXroMr4FX2Fy2p1/T+3+YyrEv9OpMcXa/ WQXb/fJA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98 #2 (Red Hat Linux)) id 1twUXy-00000001tVS-2F08; Sun, 23 Mar 2025 23:16:02 +0000 Received: from mail-ej1-x62d.google.com ([2a00:1450:4864:20::62d]) by bombadil.infradead.org with esmtps (Exim 4.98 #2 (Red Hat Linux)) id 1twTyk-00000001pAZ-0c3c for linux-arm-kernel@lists.infradead.org; Sun, 23 Mar 2025 22:39:39 +0000 Received: by mail-ej1-x62d.google.com with SMTP id a640c23a62f3a-ac3eb3fdd2eso560756166b.0 for ; Sun, 23 Mar 2025 15:39:38 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1742769577; x=1743374377; 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=9Z8QgNOGdyxdSVBJRkjlahCtXXFXCQYtK5J/GCQaRwI=; b=kQofAuJflgUo5uy7TxaczlBGERPN3og3o0pd9nBX1wjBZFlniORqLCpqQfVGAZnXIf f5MtfLrl0zpXzcgag9dn84Kgyxmy/9LMs80GOYZ5Xp1IN3hPMWlkeB7kerkA8nabEyb6 qQxY//5IZtXEi2SMXPsetxiMjdOZAsrpaUczPeijWD0lalnrMV3WdLVdxpOZ8xmHdhRy Voo/tQonshYAB5PiEcBRi/X7sg4prZuNipwBfe5UabxpmOtDTadGUn6eM03mmoVesNkr jdx++kDtcZK8vBs1qqftfTnSsJWxFNRDnbJQioa07gYHlyf3KOjoewnsmjbgfiZeRjjC l0QA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1742769577; x=1743374377; 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=9Z8QgNOGdyxdSVBJRkjlahCtXXFXCQYtK5J/GCQaRwI=; b=DtssW1GpwBXMGHgjWM5VjxkpB0du998nHwgnuwCT6n3lEvYu9DP1sYexRsMtOJG/8j DcwwQNzq3ctU83xBoT7YrXzxIcbf1nEW88KXcxzv4CTROsD5Hd8YNoCb0baVGEKBYVkG IuulkrE/Q6R/6XVZ4uHgLmgspjBbaTQJCz6kLusbcwj66SpcNca347Y+jdwLHgAy7kIj LQYPUf0gy3/EH+iC+XzeatZvM6OaCGsOowhpCM4ERI2xVDA9oizV7lxH2LFHMMvgX93I m7uZBWSOeJyyM57uW2aSxIDUu+Y5ydZS9Gv3Y44JQcNOcz6qnvFK19BkwlT26GV/ntvw PeZw== X-Forwarded-Encrypted: i=1; AJvYcCVHYBXmoxdy2N5VOXs6Cqp/CB4auSo/g6GW3uP7WJZ7dJNiULmrX4lKqlBakySmVMwB2qmLCUe91J3c3vxhvUKX@lists.infradead.org X-Gm-Message-State: AOJu0YyNTVpsp83G8R3sWTV5ob1PhnTcsvAS2m/S5epOU8bN3Yzca2wd KMjU0ufWXn7xJI6QGEIE4HQ5vxJmDAXfADlhjaeJXpupI+61ekWkERp+hOqoEJE= X-Gm-Gg: ASbGncsKCRLZivPEbqgA5i8GcRFWHoVRSqge56u4QKmkwxltWydBL7sgD5ABP1wMUDX hwekRw113ekSzPw6BMUUtFXMcAJ7XstleJbUumk3L/Y0KG5Fdf2PsZ1NG6dZdgHNSYnsaTfPs4b KAUVKEXhLUZUMWIsIaO3ScNeMeYoWB15/YFWr9KPgA1OmN1o1iaCQydkyAKA0/SV/S/HsLPdEO2 nAUdqAUvKjSF45JIvEVxQoDanKIxgJpeBEYIPAmDmq9QAVTaVzSSCM/5i7Nr2LIKGixrIAfI3wo U0+4faWvImn3ACOlPFoSvXoTLpufmByHuusXqDcqU3VUvsHWKfxJWS5QHCqF1fjUhuYH+buoHUo vlo2BTFTQiMw7upB0+mQzN03YwW2e X-Google-Smtp-Source: AGHT+IG1+wcYan4wIw2G87vBZ9kZLmE/4EPPJ6sSCzBbDr/N/WxDb6EjTSy7GHnKX+cpVY7JCrLHPw== X-Received: by 2002:a17:907:3f9b:b0:ac2:63a9:df0b with SMTP id a640c23a62f3a-ac3f251f206mr898500466b.35.1742769576773; Sun, 23 Mar 2025 15:39:36 -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 a640c23a62f3a-ac3ef86e44dsm559686666b.31.2025.03.23.15.39.36 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 23 Mar 2025 15:39:36 -0700 (PDT) From: =?utf-8?q?Andr=C3=A9_Draszik?= Date: Sun, 23 Mar 2025 22:39:38 +0000 Subject: [PATCH 22/34] mfd: sec: don't compare against NULL / 0 for errors, use ! MIME-Version: 1.0 Message-Id: <20250323-s2mpg10-v1-22-d08943702707@linaro.org> References: <20250323-s2mpg10-v1-0-d08943702707@linaro.org> In-Reply-To: <20250323-s2mpg10-v1-0-d08943702707@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-20250323_153938_182558_18B33FD0 X-CRM114-Status: GOOD ( 13.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 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 48d5c9a23230d0927b9dc610166ae3f8f1aec924..90225b683fa083d4df7a20dfaa4f47084051e250 100644 --- a/drivers/mfd/sec-common.c +++ b/drivers/mfd/sec-common.c @@ -140,7 +140,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 cf1add30dcd0ff1ad149b483fe40edf82c2b57e1..084a40490979058b48640263ff5cdb38765b9ff1 100644 --- a/drivers/mfd/sec-irq.c +++ b/drivers/mfd/sec-irq.c @@ -449,8 +449,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: @@ -497,7 +497,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 Sun Mar 23 22:39:39 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: 14026714 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 32E8FC28B30 for ; Sun, 23 Mar 2025 23:17:54 +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=DaAxKK1RdiX9Q5Rykt2k9FAZMFKWbpXqOP1fRVyJN0c=; b=XEjMBhg28lpeQah2UvUVdsq13W jkxigYBofAX/goPHziTQE1umM5Jzic30EArFrbOlXPelQMm8sbEcxhJNnj9Lj65QrQ2PJQ2cXeqZl /lhrw/VhvCpC3/nGlta47UTc9byy25rmFr0qKhXgn/SsqX8vhQqHAiW795wyRHgCuhALmR1yrY6xc R3JkYQH0gS/jRYaoW9PZSXboRT8M2ipYoogg3ob5ESbFMegKUSH+hb0GJGz93RRL1zYr/nIuK+eyd 0MFSAUuKO4Ltz8JKvlCjgISPvnHHQjSXg74Pbx7Kk/1mVvSCCVdgn2fOG7q4P3+blmNNZkDy9SGJc vY8m/gow==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98 #2 (Red Hat Linux)) id 1twUZd-00000001tco-27Io; Sun, 23 Mar 2025 23:17:45 +0000 Received: from mail-ej1-x62f.google.com ([2a00:1450:4864:20::62f]) by bombadil.infradead.org with esmtps (Exim 4.98 #2 (Red Hat Linux)) id 1twTyk-00000001pAt-2nRA for linux-arm-kernel@lists.infradead.org; Sun, 23 Mar 2025 22:39:39 +0000 Received: by mail-ej1-x62f.google.com with SMTP id a640c23a62f3a-ac289147833so457751666b.2 for ; Sun, 23 Mar 2025 15:39:38 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1742769577; x=1743374377; 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=DaAxKK1RdiX9Q5Rykt2k9FAZMFKWbpXqOP1fRVyJN0c=; b=jt1w1a7Ta5PAWkjxSggUn0kb9YVQqn7coKY9BJjBl4ya5SBrOAvDkZUV2AerSfj38H sWvKCT2stR6nb9jZGqRf/qqQp2GTUpQ+FIoYeJt9hSpviTCYQv90j6Ae85lSiVEIWKFY qGKkxUGZpbVDEOU0Hx8LHwA2/k6baEEzfyuEVxFkmsH+mLLGNKqSphjhuT0wWkCN8BGM 61ONIcbHkLzA9p91vcyxmYl1qo4ZbCnxfCWpd7bYkaG5wjNshuyCFwsFg8piXcyq/cm1 bbgNTbjRbmkZsslsVzHxGPkqz8TCSY39KTp8/EMgDTFSJ2yny5S655U+tbDLb9tF6NUL 4CAg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1742769577; x=1743374377; 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=DaAxKK1RdiX9Q5Rykt2k9FAZMFKWbpXqOP1fRVyJN0c=; b=r4SJiagaPyFi9en+lBJXhRQ+LQJW1NPw+d4Ysy6zVk/QZnKaAJ0WZi5/Umgahc8B/1 php9Io9i0xeElb1Ec4OVNxoX92neuUmv0boLmbj524q6kHKWa0htYgw98KB1JR5gw112 9FuXDrmPH9L1IXnfA3wLpDIOy6yrttrpItZJPw4e81gebCzfLUycrdKflGZhEh5Bbtcg buXJKtcGIpU6xNKlxSXxKcoZ5G7WVhehCcMb9tr9ys5sBE07wWWvV0wUvWnnJ+JFcgip 4zRKM7ak1Q2iNTYTda9BoIPde7Aae9PbekdqWhpnAG19kaKsGVaGc1xuf66XBA6Usuj1 Po2g== X-Forwarded-Encrypted: i=1; AJvYcCX1AXkuRVngItmMz5Mz/MWaChb1AtbS0TCUTFWUBalFv8np9QKklY+PA1GWPwaSPxyMYhVpMS2k0mMTdWN9brx2@lists.infradead.org X-Gm-Message-State: AOJu0YxncWMVutOI5PCuezvIuxSji2XEJrhMEYOQugDiWDGyEpaP9HM5 11kU2FLdQexlnEbRYl9X+dcYczlVekaS+O9Dm+ImjNz4FqIJuTQTVSR41VO4/wM= X-Gm-Gg: ASbGnctPEmiPlEMdG53WKw+cxoXS3theRmSmoAqKX7g4+PCqBPqK8ev1a/d80TzbqZ4 jQtSW+2brE5G88Lx1tLXn/SEKSrqx9+NWsJ9SphpTaXKYiSBgyuev4rUOux5plqpItKO0Cs0H0g WlSJtT+8ZT1djnKTEGVgjjWmjrFpT7So/Eoh0Dg4ia1xYg0WJ92KPoKJwbfxGcyFOky4tumTiPi ezDVCbUYcbl4riPubhwknxy0PlHTZLweuQsQ8evRT8x8iAo+Doa+PNWV26rpOlFY5PnrNmBJLRb /zG6I88Su+7TWxycIjRCFnc8H8Xhbh9yUqsL81VBD+7YdPnPjXPVcTuTnUqwd6o8tMHfuqMtFQq BN2r16Z1nz5UP1AudrqHGhJz7VSag X-Google-Smtp-Source: AGHT+IEHAfiBfUB/nsPtj6YObLClfT3lIBDTn7g2B2otGsQqhwkiW+Sr35dDHIHATiseMaWDI7emPQ== X-Received: by 2002:a17:906:d7cb:b0:ac4:5fd:6e29 with SMTP id a640c23a62f3a-ac405fd6eaamr641943466b.26.1742769577350; Sun, 23 Mar 2025 15:39:37 -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 a640c23a62f3a-ac3ef86e44dsm559686666b.31.2025.03.23.15.39.36 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 23 Mar 2025 15:39:36 -0700 (PDT) From: =?utf-8?q?Andr=C3=A9_Draszik?= Date: Sun, 23 Mar 2025 22:39:39 +0000 Subject: [PATCH 23/34] mfd: sec: use sizeof(*var), not sizeof(struct type_of_var) MIME-Version: 1.0 Message-Id: <20250323-s2mpg10-v1-23-d08943702707@linaro.org> References: <20250323-s2mpg10-v1-0-d08943702707@linaro.org> In-Reply-To: <20250323-s2mpg10-v1-0-d08943702707@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-20250323_153938_736190_A4654C88 X-CRM114-Status: GOOD ( 12.66 ) 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 90225b683fa083d4df7a20dfaa4f47084051e250..5ebc77d7edacbc1b7a3debb9069bb489109d57d7 100644 --- a/drivers/mfd/sec-common.c +++ b/drivers/mfd/sec-common.c @@ -139,7 +139,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 Sun Mar 23 22:39:40 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: 14026715 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 B8166C28B30 for ; Sun, 23 Mar 2025 23:19:38 +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=MtwK6mOFDS+3HmyCw+zVaAjjy/x9ridjjJuIuDjP5y8=; b=EqTBjhOBvWemlTQoSz1l5Id6na pexJNPgpf9d7dUonNMzR4lEHGx/UXJuhJ+WSbs4QoUDxz5WkFkF4VKeEOi6SJSo6XhQ/z8ze9ybiA kH+MRWSEDjWFavwWTxPmV6+yCIdLWceGAtD5SRn0Cp/u7EbtMuNYj9oADUPykLcLeaPkblJq5Qv6W DuvibhCW2PSmuSQGQ/+vFd+zQxySFxcqS9D/me8ikGvzsC9WpLq/a4rBOkHy3+kqAaz/yxLVK7enm o0eKS4xDSXnJrpuG5X23OTub20/CP62iomAAXqeESw9wEiqVDJkocOHTzLju+TYokm8pGHISd/QP7 jhZKVogg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98 #2 (Red Hat Linux)) id 1twUbI-00000001tj1-1Af5; Sun, 23 Mar 2025 23:19:28 +0000 Received: from mail-ed1-x52d.google.com ([2a00:1450:4864:20::52d]) by bombadil.infradead.org with esmtps (Exim 4.98 #2 (Red Hat Linux)) id 1twTyl-00000001pBE-2TDk for linux-arm-kernel@lists.infradead.org; Sun, 23 Mar 2025 22:39:40 +0000 Received: by mail-ed1-x52d.google.com with SMTP id 4fb4d7f45d1cf-5e8be1bdb7bso5766469a12.0 for ; Sun, 23 Mar 2025 15:39:39 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1742769578; x=1743374378; 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=MtwK6mOFDS+3HmyCw+zVaAjjy/x9ridjjJuIuDjP5y8=; b=C31sqBeTMf2URSxIIqpOOHw/ASFeKURuWmcYhqiLyqIwUc8mEaM96uiynJ7J2NnQw4 gfO3Zu/SpqtshebgcXp2EDSaNKQhW0DmumHSZ3wY0KL0v1UfkuFWa/2AiqcYR4nPTthT ffnepEFWjpsrOFIARE+B8bkFZKvQ2rLA6mIqOl68WUsoIIt02GmPsT2UsSmwRQwNokql +MSzwieM64PUOfyegGaGw7YCczAbgGU9DM9vGHNciAB0sxWLPfrVUA9u3eI5WWaO3O2C RZHqaUbBWcmPagShoLUwg3o/aAjEwKOQiJcr605s7uaDCWox1ljWzw8tNTeeJniz2AqO fkUQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1742769578; x=1743374378; 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=MtwK6mOFDS+3HmyCw+zVaAjjy/x9ridjjJuIuDjP5y8=; b=g+aXV9Yb1hlfdzpBK9K1FPHE5dY6a1+asS+WUYRUU0eFNeHj2qmUYXk9XgK4SG99eU 2wNmZGWl7yd0UqyPhkDLH6FnksaHaIRHU6cLpgMnpXP0eyT8y0z/wpVd2BpiaDAfQZ3h +NKTFb4CRFxMaH3/aHu9lq451E6o/G/TmXGa4lkttIf+nUcKqCIg1W4sW1L6hc+zmkIv 53L07kgO/kmqc3UTJ1uMWCaAI8XPKGcjJbK6aDWtUhb9kID+fz7XWkMcwS9pQnvB+qXY cj86YdMNRtYuy6yvJd/2l9cRbYmIcAAuZaobGZXu73JwJhFNyTC5+PMNcaJjspRxfixt Z7vg== X-Forwarded-Encrypted: i=1; AJvYcCUzIvwM8qIlHKA3aZjHxtIZFbPnJt2pomCukwD8AiaQx2KGtE91gfkBvL5CBPmjUpsZten9Xzpk4NitlHS7m0Mi@lists.infradead.org X-Gm-Message-State: AOJu0YyI0yeJtXKyJMog5kh1UMVRrkTnGVsmyt/1dUI9XlNgiEVWm0/f mNrB4Q6DvJT8JPvaqEd5ovij+1NCkcTRnlIRGf3ODxqC8NIBGyXIJ9xz0ivXClk= X-Gm-Gg: ASbGnctdOZLa5R6Y/in9hqOuKSYCVILVKslPYFO+Cmm9j69TOzbaJ+W3RiGOepWDOiB MBhB7hyNWCguBkjInrzowjho4zfOI64QNoY3hCvLl4TdiMftFMC/R/mN5NkywA448RLv/Hg7kNR AIw3j4tYxWNtnZCYqDsbaxrvXKKaLnyul+EzJ0EYTAfQnw3+d85PJK3haOCCUmgYswT5TyiPZlu VN3p980DMrikPUUNVrmhA/L/ypcvoF0G08aKL3COJtCiRwp6svRaKtMbjeShKJEBz+v5XyMT0ST fGVgDpiiQL+v4lrch4J1fMLnDKQfz2yM5nFOSqq9bc7ZkLgU9ozW3KzvSjWQZ1xqE0hLw9CEeCs Uind5bd0/pISuk8M9gBKuGaAQ/MM6 X-Google-Smtp-Source: AGHT+IGSiAkDAFqSZ3rMyd/nphhDlOTX1hDDy7CmBLGPyAROlgJin8tD1xxjQmFA6VfwByP2ficCYA== X-Received: by 2002:a17:906:f5a3:b0:ac2:bb97:e56f with SMTP id a640c23a62f3a-ac3f2559a5emr850721866b.53.1742769577873; Sun, 23 Mar 2025 15:39:37 -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 a640c23a62f3a-ac3ef86e44dsm559686666b.31.2025.03.23.15.39.37 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 23 Mar 2025 15:39:37 -0700 (PDT) From: =?utf-8?q?Andr=C3=A9_Draszik?= Date: Sun, 23 Mar 2025 22:39:40 +0000 Subject: [PATCH 24/34] mfd: sec: convert to using MFD_CELL macros MIME-Version: 1.0 Message-Id: <20250323-s2mpg10-v1-24-d08943702707@linaro.org> References: <20250323-s2mpg10-v1-0-d08943702707@linaro.org> In-Reply-To: <20250323-s2mpg10-v1-0-d08943702707@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-20250323_153939_637555_EEA23C97 X-CRM114-Status: GOOD ( 12.19 ) 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 5ebc77d7edacbc1b7a3debb9069bb489109d57d7..77298e92642021679ea1eb95d338907fec098aea 100644 --- a/drivers/mfd/sec-common.c +++ b/drivers/mfd/sec-common.c @@ -23,16 +23,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[] = { @@ -44,53 +41,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 Sun Mar 23 22:39:41 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: 14026716 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 56C07C28B30 for ; Sun, 23 Mar 2025 23:21:20 +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=/BfF02ZxGuJsRdlJKwmKz4A2829MjaBQR7CX37kNCLc=; b=GFLzHQO0D9H/EBtDOofZtG0Obe o6IuPmwqejRzJDxgNDHcsgkhauF74tIqrC+HrCkGo+lrqtG3zR7mRG4QQgYQt/S/ui9xQeY6Q6YvX A/tkpOYCOgNHra78lKwKhWc7brJpgts3S7KdaPbEpD/YhSrdP2plm/qM9ahVDKihyizUv7xyWedXp irR1RDCIoFLwzypZWSR173p14MPJqKaBGB9fTjgUAWECt3i15DHdBPxBD1OBzjBykdu+XWJAXfIL0 qJN4YvBymY68Mpy79I3ur4QAKYmsdtkjMnxQuDjm8wULh7WQJz5NraQQF+eI4wY4pgO8Xlmb7C854 oVfrdYaQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98 #2 (Red Hat Linux)) id 1twUcx-00000001tph-0xY8; Sun, 23 Mar 2025 23:21:11 +0000 Received: from mail-ed1-x52b.google.com ([2a00:1450:4864:20::52b]) by bombadil.infradead.org with esmtps (Exim 4.98 #2 (Red Hat Linux)) id 1twTym-00000001pBY-1It3 for linux-arm-kernel@lists.infradead.org; Sun, 23 Mar 2025 22:39:41 +0000 Received: by mail-ed1-x52b.google.com with SMTP id 4fb4d7f45d1cf-5e5b56fc863so5398766a12.3 for ; Sun, 23 Mar 2025 15:39:39 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1742769578; x=1743374378; 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=/BfF02ZxGuJsRdlJKwmKz4A2829MjaBQR7CX37kNCLc=; b=Dnjb7mrHTNhfKblhVrv88/SJ5hmOUtLRALRBtetG4goN5ttmLbjM7YqRh3zU2YdvpP Vpou5tyONwdH5TlqFnUGBeXIDOKBp5/DlWVN0QkPATUBvQL2a4MNPtOLTIX466eHMPY3 l8+u35P6C0YO//jaV/0U6WNyeolgoiJjKOy7f0J7LK+nt8YCUn8DRucWpyvL5m+FFBC/ RXHoyZ2EmC3r5okNCCwbckG/S9oMevqm9dHT8MEyyCy7+Az7fy4PYh2X/EtnrhM/JGjF 2LRptfqaGshneyZXj6khsuTkpQa4Tk8AAObLdT00zVmaF5F1fBGbpqhaiTTyJEvCD92U qx/A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1742769578; x=1743374378; 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=/BfF02ZxGuJsRdlJKwmKz4A2829MjaBQR7CX37kNCLc=; b=biqBsbpaH9FZa9LmedHvYM0Wedy5uX5AjZhmNhJca5oEdvbSouJczunoJwFjPUiKG9 yHLSvqFxeLAFdyUBbZkQmPYuVF0efXYy3P0ODmP058gzFmaPsUp7xmlSTAygaJThysZl 6KEnQCLd2iQuipKzqqJZsHdQpgLLOlwHFUrXatNtg0PxLRyaV2wSHH7CafQGgPVi0K11 zeuCjMmoqlgsDyEFngTJA3ypXCM8nVQSFcSMZAqHfLX07EMnPNGgKgYWrtG1nmvZJ5Ma O6GtZm/YcSC0rFxClV5dof2IH1akUdniyjgQVDuhZwwuuffcUZzOW9CZBy6P768EERck 4TDQ== X-Forwarded-Encrypted: i=1; AJvYcCWzZilECxbZF4yAMDE8io6EUD7vVv7Ur2rRwx8m2QIokPKJDBsPgzF2F3W7RBPucJUiCt9lh8wAWXMQzU2aDS7r@lists.infradead.org X-Gm-Message-State: AOJu0YyBxfoLzF+nEOwl4mvDQKJKkM2eXNnJQzN0TUKCTV5V9Ozvi6V5 ZqHW3tyITyNgMwHM3OMQ2yhczV8QgLUDOmgOsFW1ojK7Px2/hRoIUXwaYn8bR+c= X-Gm-Gg: ASbGncuBrdskynfkbO6Fe3Cd8lOWT4OP5sWWw1aKgcnBpNdwLQnNwUzgCXmi22j6EW6 niL8QuEmqTII6StfvW6HpCfmlow/dHG4LEutjXW8fwWPrTUaFc6HAK1fgB50A8UgnArcVtDK6Gj 3o0XrRUoU78Rfm2SEMNTlQH1dQSFq4haXHp+11w+n2nLs2rP2xWvMNa0JyKLKba4U278cq99mFu kbES65WEQQv8WwkhAWUkr0QHfU7ENnI9gYDhpvcJk/wOSHbcVGQf8zWJCULyxjqQNnoG8ZCEMYQ 3W8kJvW6Ar2R+04kJ0D3GEY4iboL1c8WynKtfWeyD3O2rNSk17eGbjkQ1UT3WLISdn/IgbwHGli YkJnQ3D5gFOSGIcxuMrIkQRHzOXEj X-Google-Smtp-Source: AGHT+IHQc5/juISCIhGJYSWlIacU3J8GKRH2vNvv6JBixFTUW2yDMQT2CajObU4gYTu9Dfg9Nz5qJw== X-Received: by 2002:a17:907:e84c:b0:ac4:751:5f16 with SMTP id a640c23a62f3a-ac407515fefmr709698366b.30.1742769578426; Sun, 23 Mar 2025 15:39:38 -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 a640c23a62f3a-ac3ef86e44dsm559686666b.31.2025.03.23.15.39.37 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 23 Mar 2025 15:39:38 -0700 (PDT) From: =?utf-8?q?Andr=C3=A9_Draszik?= Date: Sun, 23 Mar 2025 22:39:41 +0000 Subject: [PATCH 25/34] mfd: sec: convert to using REGMAP_IRQ_REG() macros MIME-Version: 1.0 Message-Id: <20250323-s2mpg10-v1-25-d08943702707@linaro.org> References: <20250323-s2mpg10-v1-0-d08943702707@linaro.org> In-Reply-To: <20250323-s2mpg10-v1-0-d08943702707@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-20250323_153940_350215_7D5C56C3 X-CRM114-Status: GOOD ( 12.10 ) 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 084a40490979058b48640263ff5cdb38765b9ff1..661b0b2d7b7e3da5df7085f468e6860a63c1016f 100644 --- a/drivers/mfd/sec-irq.c +++ b/drivers/mfd/sec-irq.c @@ -75,212 +75,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[] = { @@ -304,74 +160,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 Sun Mar 23 22:39:42 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: 14026717 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 358D3C28B30 for ; Sun, 23 Mar 2025 23:23:06 +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=DHaTbCMsBXEPy+wffmMjNGPy/wKjQsHouvVH+3/pTJ8=; b=K9z/1W9bFhwlyBiNrndC8w++jj aMJ7vYGIsf89u/bqIjDwN1HZhL8Dwo1AHGII1QssHRB5vBjCffG21e1hjFhwdlcFJMQIaph8FZda5 RUREBk5fR7uL9EXuznRko+Em8zVckxepfafEWf70SahCvjr8+CYGAUdXYXcsHkp/WMh0TwqEeozZx bIl/VE2NYdWtWg0So37AozlXeT9Fp+3R39Xw5Je2HmCAylDldAfeUQ98UEZKUwMXlGZ0oUMUHs9B2 FirLUEY2+wUvZ5vAIzfBSEwdg1fXIC0FcCN4DCJAJoxjOJr8jRN/XaY6MdQ6dmSGQJVcecfHXUdGm Om1yyexQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98 #2 (Red Hat Linux)) id 1twUed-00000001twB-0UDw; Sun, 23 Mar 2025 23:22:55 +0000 Received: from mail-ej1-x635.google.com ([2a00:1450:4864:20::635]) by bombadil.infradead.org with esmtps (Exim 4.98 #2 (Red Hat Linux)) id 1twTym-00000001pBu-2Gnu for linux-arm-kernel@lists.infradead.org; Sun, 23 Mar 2025 22:39:41 +0000 Received: by mail-ej1-x635.google.com with SMTP id a640c23a62f3a-ac2aeada833so704466966b.0 for ; Sun, 23 Mar 2025 15:39:40 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1742769579; x=1743374379; 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=DHaTbCMsBXEPy+wffmMjNGPy/wKjQsHouvVH+3/pTJ8=; b=c3Vju25RgW2n0mrOxJrN5C7d4d447j+omQxnyzS+6h3BO8xfKe3nAU85bRO77j0M4D 0w4NHSqvYNPJM9dEikFrRtwk6VFNDt8vPZvqH44Ui0uIAd2pRqDM4sXF3kXrVkvVmoW2 oM2Q8ofdFXmb3L4WJixT89Mgi7+5RITPZjH6peNayaRrkwE8bGzRMJG5EYdKdU59lXDX huKFf8lr/ajYbXTyJzNMITqs03zhCY/C+slaOwPH8emIOOE9Z5tz6e+oz5sHvzPSyMfL RZ/5Argg/TXSAJYF6Vp61pgaUSvQ8NhyZmvHtujjLaOnlo7VMUOs8eSoXzPc8O/wC0a2 K0hQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1742769579; x=1743374379; 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=DHaTbCMsBXEPy+wffmMjNGPy/wKjQsHouvVH+3/pTJ8=; b=TL6fMleU0FDTXKN47TQfGvGwYhSYGFN/447vwZ0WuySCSozeTv7WQel0mgeabRyODT 9SQwMTvEKqSgYtxVr5jNRcx8SaKKAi5PlYa2oIApoyJWQl4lW/5uwj+Sa3TLWasHGDG7 6yv9za7be1lU55+QJde/AZnaPNuvEEM3JS1L92bVtGjqlENPvPM+/7MPTgCiwxfDd8v+ 8JMUWNEZmJ8XECNX66hgIOswf/coTqr/xDsRRp2vvEXZrShhHX75qUGdVjp5rr+NKo3W ZjI3YmfGrTcZ3jjeCFY1ku2xHdKdOQYBZBXC6BO0hxsERj2X0rvPazhgHhxCBfjS4Jt+ qJog== X-Forwarded-Encrypted: i=1; AJvYcCVvuIg7RFXtbxKlEJKEiKwlAhd8vHPrsFaqQYKHWx7j2kbaa/9DJmGvCS/vKarKyMBWvocPm/X/B+gK8/VPRxM4@lists.infradead.org X-Gm-Message-State: AOJu0YxxBMSgi+8H/5C7o9Umc53hgQeG5dGDMcJadbR1Bx9g3PXy0bnW yTs2Q8gcLOqdYp2UgpPxk1da0CHHHtME1y6GZP9JQP/alI8kpd8lTFKLi8MHHsY= X-Gm-Gg: ASbGncv+ZNo4wr0iVZYQSq+WxXq5tF/Io3BgpXymfR5f+dyd4HPEFXtILrWsCEag3xU 8pzlwb6TQi3EN+hfpF2WPLyyhKTBFyz29UpH83wjdCPN9FzQf3ARgoURzpokO52Mh+zxgl+Yeon v1FWv9y7rCj7dkMsTVQVGq5SB+Jjy8oZNB4BbSA0YbSOzMu1QV3rOsIoF+hplHwlUetxeTj/Tqb scFqvhW2aulbc5dCpY+7rEL8weDYHNyJHx4xOYH4JMSPCrnj/EedF/uepFiZPOrf6VNN3e46DyK U0Mb77b8cZ2pUWtQ8W33Yv5vjvHIjPq5cqF+NUrmGJ9fodgjQErJg1MamtpjXxIazpV+Io1RWRV aYjGN2DHRxiXUZdhkfXVu3eRLePVY X-Google-Smtp-Source: AGHT+IE8DhyAI41xwJ1273XUXoV37Lt8dbT+04E2oAAFhJgLPXY5M4zmkgkE92YY51ZbbO2cYsb3Mg== X-Received: by 2002:a17:907:d84d:b0:ac1:e18d:a738 with SMTP id a640c23a62f3a-ac3f00af8famr1143082266b.3.1742769579059; Sun, 23 Mar 2025 15:39:39 -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 a640c23a62f3a-ac3ef86e44dsm559686666b.31.2025.03.23.15.39.38 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 23 Mar 2025 15:39:38 -0700 (PDT) From: =?utf-8?q?Andr=C3=A9_Draszik?= Date: Sun, 23 Mar 2025 22:39:42 +0000 Subject: [PATCH 26/34] clk: s2mps11: add support for S2MPG10 PMIC clock MIME-Version: 1.0 Message-Id: <20250323-s2mpg10-v1-26-d08943702707@linaro.org> References: <20250323-s2mpg10-v1-0-d08943702707@linaro.org> In-Reply-To: <20250323-s2mpg10-v1-0-d08943702707@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-20250323_153940_587917_A3B42A25 X-CRM114-Status: GOOD ( 13.89 ) 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. Signed-off-by: André Draszik Acked-by: Stephen Boyd --- 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 014db6386624071e173b5b940466301d2596400a..e86a762f80ccd7485a9f2a6f567b81bafe119874 100644 --- a/drivers/clk/clk-s2mps11.c +++ b/drivers/clk/clk-s2mps11.c @@ -11,6 +11,7 @@ #include #include #include +#include #include #include #include @@ -138,6 +139,9 @@ static int s2mps11_clk_probe(struct platform_device *pdev) return -ENOMEM; switch (hwid) { + case S2MPG10: + s2mps11_reg = S2MPG10_PMIC_RTCBUF; + break; case S2MPS11X: s2mps11_reg = S2MPS11_REG_RTC_CTRL; break; @@ -220,6 +224,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}, @@ -240,6 +245,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 Sun Mar 23 22:39:43 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: 14026718 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 F030DC28B30 for ; Sun, 23 Mar 2025 23:24:46 +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=QFi/wIa2zliLVLaoNCXevujk62BEru73nW/QKRcDHsY=; b=I7nKLC1YpyDwNdhYsTJu2noB9e mbYQ3DKrRisvv5fk6k57yqrG8H8yQphExXZT/GtxU+M2B86dF9AkCgS0Lh+yNOzN4c/JxMfrrVpqi YMjxetmV03VcAeqfLMKcglGA9cQpt92/4e0884RyzmO1XPE5eHctd/2qc5d3xof+ZuLr8DNDL2X6A Xv9wxWBDHPQAlEN2uDZ0sdsvjYv5569bqwwhzEMrt6XZX5cER0NSWbjkNeUj1uBC0Giku6qegNax3 ckfVqT/3AVjS1a+TCy2r9qTAqcYQb1DQR3G4r2YgqloXrCPB2Vr8ZFr7vN2ugIPVB4qkrcZ9Q/oYq xUrfRcwQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98 #2 (Red Hat Linux)) id 1twUgH-00000001u2t-3XDV; Sun, 23 Mar 2025 23:24:37 +0000 Received: from mail-ej1-x62b.google.com ([2a00:1450:4864:20::62b]) by bombadil.infradead.org with esmtps (Exim 4.98 #2 (Red Hat Linux)) id 1twTyn-00000001pC0-03y8 for linux-arm-kernel@lists.infradead.org; Sun, 23 Mar 2025 22:39:42 +0000 Received: by mail-ej1-x62b.google.com with SMTP id a640c23a62f3a-ac2aeada833so704468566b.0 for ; Sun, 23 Mar 2025 15:39:40 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1742769580; x=1743374380; 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=QFi/wIa2zliLVLaoNCXevujk62BEru73nW/QKRcDHsY=; b=FMlECcl8ZaYQipz85clg+R3EF8+9aB9PFCEoTGi0graT2dmbaFUNl93cGEKJBY7jop Wr88NVnUYAGEKOfgaQtx38eKpqmKHxx2b1EWkWZavFee56jCcdVMbcfWr0fFfovCivkc 8p73dnjkbWzO0M5+0GsQ02nLY/Rf4io28HesKDeor3RTRxqXgy+JggPbtjOG1NLJ4tJ1 pVkCbNTWOVvmmWTgNyrg+yMeWD2ylST2A52cT3f+Qhpmz2Izt/CEhd1gaiULIqh+IPOo UHNfEO40QiTddoF8dHQyeGFaeMqMsCXbZF5rJC80Y3O0BReoSzeg5ozvE+ulXHey99ba /TMw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1742769580; x=1743374380; 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=QFi/wIa2zliLVLaoNCXevujk62BEru73nW/QKRcDHsY=; b=ZYLd9mfeaWeCUmLoIti+oe8P1jQrF83QR2Bb2UuuucTi3uud0WbnItL0AFmReyqAvx ti5HHbnSDUpEf8/ic5+TPLC1NEbgyvgQNWdUy6ojriD0FISk5LY1snw2SaMgK9WO0mrL 5mrxM9w7R0PPGkgpmmLE9B5tERd5Jtd2yM+RpftXdl0PNC1OV4oeVySZondMV7ZS7DIf ixZjldqa8y7Jr5SMGukNlMjl3Dc2hOtJHopXfWjalvVHfDLpvgqrVjiGxtSDtg2EW63R CXP8PmNaGcuzbYctvHvuW0BiDAjBliBgLisZK9FNO+gyBCUU8/oFWU+QXawnrH1KQrei aTyg== X-Forwarded-Encrypted: i=1; AJvYcCUSpHv3nqBUYRt9idzsCfTORQlzBKeNTtbACO6INLSd15Hwjl2M5uzTpj7Qokm+k80wmUSE++MULd8hy3f/y1xo@lists.infradead.org X-Gm-Message-State: AOJu0YyXElnOqf3CEt7sdsYJk91duoMniNLBs6dpXD9dDprP1s2MVZtT gK25Kz2hRkG234Er8QnmaeAVhFwmWHFeGeEKPGRfXCddsx7scrglOLvF4RcMbcs= X-Gm-Gg: ASbGncs7W4asXhQPPd1cOgz6YMBv3l3ig1jkDlVUX0agClVYJL0OUNHBGGQQzAQqvKT pVWXFtC5P6EJIuHcO90W4imSdx/5e0ed2YIL9Q0HzEoYdJxMIfkxJLGYVCN86vtxrXTkkbRerz0 N3XD0yKXKIMeTg/6VAxCDfnK5xEGqfjilbCi+JJQU28NGW5dpTDjI3ZdWC9TFLjoB+mRpt0qXfn /TQdxiaNu9EDxPcQYG8XqCWGwbzf2Uppo3TKchBjWSLuBCCD7I7PQrvB/2tDvem5q2I6d2SiY2+ R5InSC7xQ6pJcCOVZ7J8Nkj170Oj+2Ux3uzHvfhUCwZuavh8pgxPoA5/6Z7yCTYd+TNVyqlPPVH 9D75BGMaKjeWtxctAQzIpX0a8oHHy X-Google-Smtp-Source: AGHT+IExdWMeq50KMSeL2g8X5YzwdCsnSfpgrljF2A0N/7BkwT1ZoOB/F1xNUkswffcMZkq5HeqMZw== X-Received: by 2002:a17:907:86a7:b0:ac3:c6a2:a02d with SMTP id a640c23a62f3a-ac3cdb95075mr1563087566b.7.1742769579644; Sun, 23 Mar 2025 15:39:39 -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 a640c23a62f3a-ac3ef86e44dsm559686666b.31.2025.03.23.15.39.39 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 23 Mar 2025 15:39:39 -0700 (PDT) From: =?utf-8?q?Andr=C3=A9_Draszik?= Date: Sun, 23 Mar 2025 22:39:43 +0000 Subject: [PATCH 27/34] rtc: s5m: cache value of platform_get_device_id() during probe MIME-Version: 1.0 Message-Id: <20250323-s2mpg10-v1-27-d08943702707@linaro.org> References: <20250323-s2mpg10-v1-0-d08943702707@linaro.org> In-Reply-To: <20250323-s2mpg10-v1-0-d08943702707@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-20250323_153941_053934_CCED417D X-CRM114-Status: GOOD ( 13.89 ) 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..31bdceac7aa245175a30eb13eaaf1f52f70e22c2 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_entry->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 Sun Mar 23 22:39:44 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: 14026719 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 9034BC28B30 for ; Sun, 23 Mar 2025 23:26: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=FsLbKQJRD9tdVXE8w0Z1fJ+0H6Ywqg5fj1IFaYNGdSQ=; b=EzRBWfLV+r3jaUPtcjtVVPbwE3 fU2yBdxNMbs58y6k4CSdr1eQdOVVpJ7kneP9toY601fo0iHMYdKInmWg1+PttA9QN9Qc31irJ66ey 2k6rk6ID8GJ9MzVHZMig68aZ8d6QUfndtZ1J8JwB8uUhhYM65vo4Wo/1/roojcxQZcuUKB7KbkKS6 ZBTB8ZNTRtzD6bem2saaVbKeRM2D1lFtnUAQ2NelQNef+Soc29gSC/r23ZKjOD4cJujNRNx2jF87P yQal2Tc4tZWAJcW4YqyZRgxHUH1G2RpnlFK53fW8rWaanUrG44EBFvdogkt+cSk+Tqj/LbMaXVJRx +AoIWVSA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98 #2 (Red Hat Linux)) id 1twUhx-00000001uBk-2X0Q; Sun, 23 Mar 2025 23:26:21 +0000 Received: from mail-ej1-x62c.google.com ([2a00:1450:4864:20::62c]) by bombadil.infradead.org with esmtps (Exim 4.98 #2 (Red Hat Linux)) id 1twTyn-00000001pCq-2faS for linux-arm-kernel@lists.infradead.org; Sun, 23 Mar 2025 22:39:42 +0000 Received: by mail-ej1-x62c.google.com with SMTP id a640c23a62f3a-ac29fd22163so654485066b.3 for ; Sun, 23 Mar 2025 15:39:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1742769580; x=1743374380; 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=FsLbKQJRD9tdVXE8w0Z1fJ+0H6Ywqg5fj1IFaYNGdSQ=; b=m1WpiaYN7TcP86wTdsLGoD8TFuqZBzl9oOu/rmNhmz9hm5vHmj2yYPri96T8XA/NyT s9mvDkQ7Dp14pJ10QYZnMMNeMXVpZQh/fZtqdaYZGG2Lq+ozywNWIv7gMZgRrLnDXtWq H3XvwDqT8/Ov4wt5K6hve+nBE0qLIVsjfCG/wN03VhserLrfp8v9Y52CFIMEqUOVxtqq 8P0c5EpipnOUq68N1mH62vNYVENcjgl8FmWiavLaayX1bUfOti+u5qKjJJAUqfGRe9+5 UMaHoaDk6Z7iWLaqiK0fN1t4yyTrM8xY7XKxTq79JWhZkpY/Wm3SoCNuoiFGnKUoPZ5n 0Tiw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1742769580; x=1743374380; 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=FsLbKQJRD9tdVXE8w0Z1fJ+0H6Ywqg5fj1IFaYNGdSQ=; b=H3cbv2EWeMQXLcLzN1OgKXhKk8qCVxvDzxppcX49FWaMUtS/2tj3mJzFJPMBERDnAs 86TE64b3PksqRkKyeN0qcSBEgni1daZt68A3OYlDHSfHtf1guYgapBfyFCRlBLERORj9 OziKP+jYMadd+suCdIZrUDa8MtALXDJXgEARCPZsMT5qCoDcoTgTR/xIkKGP+wau0Cq4 jb2gw1c6y9Z02mAImPqfIG7JnMrUnCIyXn/kPoZyQ00F78a+ZgsQGiRX/89AfC4w3yXH tAzf/KaSCYboTFzmYIcMjtYpwFbEePY+jsIqwGH8/KkyMujP1RZhXsoy9acGmu0qcQyL 90PA== X-Forwarded-Encrypted: i=1; AJvYcCWjivqB8Xj9OYzbQzkVf7fwVUBkTtF/xONtqEAqGi8gNM3u3HjKmdqHonQdi63A/OL9vC7P0LhnrDY6uk21uxw4@lists.infradead.org X-Gm-Message-State: AOJu0YxJSU3vQb7SfWB3Q47MG7NbsU5HKB6CIHHTW+/PcEwTkGeP7ezI M/etTzfFT0HxfiZrgMXSVM68Wh0Et6D+Sx1Dc9LzKd+BkcwwITjD/0yHzA4jRV4= X-Gm-Gg: ASbGncvQ3ZLyC5fwvu202pydXQzg8tLoqNg0dlDs9y0Lqw1eoZpQuSOY0tMw4mMA0Pm 6AGoT59ZKZTuxiMPwSCoxHXQqvanMxmue8zlg9/dGYgtsQGKCmeF8jnF4bOzbrNYQQ6P75SG5UA YHH4NuQHx/Yw+gShtV0hw5HiOvWsCarlzjidOcaGyrWfg5ks8emlqPUtK5Trdv97tFFGUkkNeg0 aLdWSX/xW0locgjKTFvUthQv0CB0XrwI9FN3Rw4EcXME3w8KSlNL/hPHqK0fbtsxwNBsLKuCrIR Wsp7zPIeZHaFnjJ8OgY/qDjnADpBs8a7DgrX2hMJ8Ewp8yBmDHaV2kltsAYMQmGn9qKbRX/5A/9 m1Uh2flRXiYsIMW+ZUtTd57QyggSH X-Google-Smtp-Source: AGHT+IGvOa3XAeKcwT9Vr0T+ZVATFp5TvHs+FtoKfari/ok1W7HicIpcGqvAlFVuwPQSyDN+Jo9fHw== X-Received: by 2002:a17:907:8694:b0:ac3:b277:2474 with SMTP id a640c23a62f3a-ac3f2285fcdmr1145400566b.28.1742769580258; Sun, 23 Mar 2025 15:39:40 -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 a640c23a62f3a-ac3ef86e44dsm559686666b.31.2025.03.23.15.39.39 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 23 Mar 2025 15:39:39 -0700 (PDT) From: =?utf-8?q?Andr=C3=A9_Draszik?= Date: Sun, 23 Mar 2025 22:39:44 +0000 Subject: [PATCH 28/34] rtc: s5m: prepare for external regmap MIME-Version: 1.0 Message-Id: <20250323-s2mpg10-v1-28-d08943702707@linaro.org> References: <20250323-s2mpg10-v1-0-d08943702707@linaro.org> In-Reply-To: <20250323-s2mpg10-v1-0-d08943702707@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-20250323_153941_693044_5F1F7F52 X-CRM114-Status: GOOD ( 16.80 ) 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 | 83 ++++++++++++++++++++++++++++----------------------- 1 file changed, 46 insertions(+), 37 deletions(-) diff --git a/drivers/rtc/rtc-s5m.c b/drivers/rtc/rtc-s5m.c index 31bdceac7aa245175a30eb13eaaf1f52f70e22c2..86ccf666c68059408907c97f2647716ffaad10c6 100644 --- a/drivers/rtc/rtc-s5m.c +++ b/drivers/rtc/rtc-s5m.c @@ -640,51 +640,60 @@ 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: - return dev_err_probe(&pdev->dev, -ENODEV, - "Device type %lu is not supported by RTC driver\n", - id_entry->driver_data); - } + info->regmap = dev_get_regmap(pdev->dev.parent, "rtc"); + if (!info->regmap) { + const struct regmap_config *regmap_cfg; + struct i2c_client *i2c; - 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"); + 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); + } - 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"); + 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, + "Unsupported device type %lu\n", + id->driver_data); + } info->dev = &pdev->dev; info->s5m87xx = s5m87xx; From patchwork Sun Mar 23 22:39:45 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: 14026720 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 B8139C28B30 for ; Sun, 23 Mar 2025 23:28:15 +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=6v0MXm/qoCpI5RYf5jdk2hz7kULwB27Fo7iOKKWRDMg=; b=eutXzY7nFKJwC9m8yjvSXHZRWQ pZTQYyTAA5QHd40ris0U7QkLyvxtBJ4XL1DiexW4b/bVuKT3lMQwPEGRvWAJXbTQwZlS10Jj9zs90 M3CuDMA+mfSmFqfiy5b/P9MAjS1NCufaMjM1V9tgLbrNl0IWMfONx4/n9PelI69w01jli19sddVOd L7DeGUoV16GMSxmDJa7fH/v7PDZY9OFnK/u7/yAGvFYXs7DZTnQlnRgUVixA2p7DYuCYx+AF88J0P vpTzTJiBKabU92YrRcygo1Z3Rafll+X35kAsIWGTKv6wYNSj4hu+UZ3t7UBAiwCY4OqdZV2eQq38s EXOruWSw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98 #2 (Red Hat Linux)) id 1twUjd-00000001uJI-1aJa; Sun, 23 Mar 2025 23:28:05 +0000 Received: from mail-ej1-x634.google.com ([2a00:1450:4864:20::634]) by bombadil.infradead.org with esmtps (Exim 4.98 #2 (Red Hat Linux)) id 1twTyo-00000001pD7-2G6D for linux-arm-kernel@lists.infradead.org; Sun, 23 Mar 2025 22:39:43 +0000 Received: by mail-ej1-x634.google.com with SMTP id a640c23a62f3a-ac3eb3fdd2eso560769066b.0 for ; Sun, 23 Mar 2025 15:39:42 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1742769581; x=1743374381; 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=6v0MXm/qoCpI5RYf5jdk2hz7kULwB27Fo7iOKKWRDMg=; b=TJ7hYxoM2OgpJuPmYAl4WkJZ5FYAQoTtbS7UiZSvYijubpeithNt0wuKRVrbUIUR7E SYFf4z1NudpcZJ3+nsdhVCS+ydOaso9myDy0NgpFgMy6fiP6OwwnV+dtOsCtflmEA1Z4 AG0xQFpNbG6c/U1uAmOMxL1Ze1O/NSmBddWd9Mq6uDAA5RUG3TQ1T/+Xs2dfETyIcvmL nOe78ggIKH80WNff+rWBdpLN0bKaH1T3wk4d65JEN1aCgyOwiTy2DLY214m22N+bnmv8 rjGCms0+WAXRPHaJ2RTgu7Ie57B6rFiKPAQjvZtQh1BTexlcD9Tgpz6WvD3Xf2cO5xcg 1sHw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1742769581; x=1743374381; 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=6v0MXm/qoCpI5RYf5jdk2hz7kULwB27Fo7iOKKWRDMg=; b=A/9KzMe6BnafdOOPocIAfECjKS9SsMNi21QdEJbrOLWThgERTqlXf1wvQAE5Oq/H/y NxYDXnUfI2IrJizqg1T/8JFQqbM9bYuJKtXn6loJMsP0D8mx5LVVw2IVLuii26K2e5eU E7DW7VFUiOpA2YwkyOmBI8rQYNGrvt4psLO0nbkUptNztRFXaAsj43HgkJnR2NKp28vU 33fqcOcxXPPE+hLVIcZn1XLAHSeCcukZJ2reEpmMFw5g3XdeKF0Ztw6M6/YOhVOKpM/k u+pVpt5bK5NPjVOrJkhyyO9GEa+lh8pBUocN8BC+Gc4roDIXhtgjInhgCyefyIp7iHuw smrQ== X-Forwarded-Encrypted: i=1; AJvYcCVWuXC4XFGeGL7SLZRtUoeI1AHNVrEeujKs2qySjjSp0oQyCPvCzhlkmxQmMrsyXfDK6/Ny7mHogk58dItiVvqt@lists.infradead.org X-Gm-Message-State: AOJu0YxVhq02fTRprCn4gR2RpoqWurdbKZswqVWrLwtXJ7h0XuvEMYwb UXxpNw2Wluf8d8RwWopPNG7jQk5+ONwCX9/SwXq6rjnw2SakpK7lKy+AumBUKI0= X-Gm-Gg: ASbGncsO2eUEe9l5Dv6l/vri9wv9y53b10tRChxdG8nXbcf0s4rdVRQg5fpOXQKFOSt eITfYLRSdQE0QlEc/If6D8bsF118jLs4EDB9ahld54pAmq7HkIRnRhfRPeCYRWrs2+/Yv0pqj2U s61xdvpZF0QdSB1Q8MKyRcricoNRlzBqdiZCAi3EuDrNQ078uGVcf4sFXsGBpGtIZNKJhMXvTMk L0/pzYQHUFdmNBsujwsobMg6fV7JcLimnbfJs3oYwc4TL/TusgDIiWUhKEMsEiVprnMaQ7GZ9n4 puMVsgxuVmCeqFO6Uhtcx3Wggsz+Um/iMYWpPerg/4BQA1mPM3htdJPX/oadFVkUNMllwD2NnPz UJfcEKnGEmzLd3ViBBYR0+nM3GHRy X-Google-Smtp-Source: AGHT+IHcUN/NKgiZ0QEWiaH6bbGLjnVaJs4ldC7bKImYRP7M3qFuMVyRO0tg7YQLo4APyblVGgoatw== X-Received: by 2002:a17:906:6a1d:b0:ac3:cabc:1be7 with SMTP id a640c23a62f3a-ac3f25833f0mr977627566b.48.1742769580766; Sun, 23 Mar 2025 15:39:40 -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 a640c23a62f3a-ac3ef86e44dsm559686666b.31.2025.03.23.15.39.40 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 23 Mar 2025 15:39:40 -0700 (PDT) From: =?utf-8?q?Andr=C3=A9_Draszik?= Date: Sun, 23 Mar 2025 22:39:45 +0000 Subject: [PATCH 29/34] rtc: s5m: add support for S2MPG10 RTC MIME-Version: 1.0 Message-Id: <20250323-s2mpg10-v1-29-d08943702707@linaro.org> References: <20250323-s2mpg10-v1-0-d08943702707@linaro.org> In-Reply-To: <20250323-s2mpg10-v1-0-d08943702707@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-20250323_153942_584731_6CE75EB5 X-CRM114-Status: GOOD ( 21.13 ) 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 +++++++++++++++++++++++++++++++++++++++++ include/linux/mfd/samsung/rtc.h | 37 +++++++++++++++++++++++++ 2 files changed, 97 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 }, 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 */ From patchwork Sun Mar 23 22:39:46 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: 14026721 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 1B16FC28B30 for ; Sun, 23 Mar 2025 23:29: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=+WWXWLpvDyb8usGlL8yRG72QzGDtYxB508Wc6qQDfhs=; b=YHy0thud8Pq3sE9LIoH1hgD0c3 Z1owIn4WOiemC9cq8nomItg8U+xCIJQQ1+W6EzXBjumkrgxNL+ryhzWK52OtOmv1zY6BsETdGeoqV 094SFOz9vrGx3KakhSlm5zDdqM3U7NvCjW1+Z9N8EJ2q6ipSz0T/Q+Kuminm3sgRCD9/uCTH/m+o0 pjIsZUpCGLLVtKaRcs3M9gOeFvXLTM4XflHbs5sokdkX7qycESQ63KQUamypjT6w/dUunW/dnFlWw PXXxXvOHlRoCvOojTYbLxbu1e6MVw2eR1q+c797oF3y3eu7HHnJcOyjjRLtk6jclE+W17ppiIPwb+ EVCHhMhw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98 #2 (Red Hat Linux)) id 1twUlI-00000001uQ7-0i7T; Sun, 23 Mar 2025 23:29:48 +0000 Received: from mail-ej1-x635.google.com ([2a00:1450:4864:20::635]) by bombadil.infradead.org with esmtps (Exim 4.98 #2 (Red Hat Linux)) id 1twTyo-00000001pDU-2bOl for linux-arm-kernel@lists.infradead.org; Sun, 23 Mar 2025 22:39:43 +0000 Received: by mail-ej1-x635.google.com with SMTP id a640c23a62f3a-ac34257295dso794869066b.2 for ; Sun, 23 Mar 2025 15:39:42 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1742769581; x=1743374381; 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=+WWXWLpvDyb8usGlL8yRG72QzGDtYxB508Wc6qQDfhs=; b=AYuATIIU28ZqlqcneUgCltqpWXLBTL86ifbq/2f1pPaAIQwt0nqaO4lMktqsByN6M/ gn4N843ByVP5/lxNukwf166um7xNl8+COMuXjtx5APBbRKi8TDwInrkYFGqVA/kj0tPx q59hKY7HwF26xjGSS74hop+TyvVUeg4Ueahj3qe4E3XQeGOWRpIUNms+IhhtwnjZlmVO N+gNs8kR1i2FSGEMsBa5FuZqr7QfZfpJjxvRwCkQcgVMazfOIOsD1kT2XAcG6/gnNfe9 nuzA5MTk9b2Dl4mgs5MYutO/tHA7UfjQbogq5uVhe3imyrZ/QDb2FOLeifcgXVTVckRV GGHw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1742769581; x=1743374381; 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=+WWXWLpvDyb8usGlL8yRG72QzGDtYxB508Wc6qQDfhs=; b=TaWAVSWIQwd1XDudLH+PGGOX8ogM0se/ftW0zg/wN+aDt20IhE9KLvI9mLQopTUO2O q3w2jEggZPPH5RxPsBbUW8J+kK/TQG04SQmiZ2I2KOaubMlXCWdTkZSkrUPaO00rpSy2 X0v1wpfWSBiDlUi4LuA7M7DjQPMByQ8hqZpOOZxvmKmvgiFjFHMN/9XmLMEEHp9wCT8F zDT+lBHB8ox2e6UJEMlS3n1F/Cfsg/PSDK5WMTXErAnB6k9EeVOcQh4WywjKLtKYdLsB gdd2OkeWxuo7GpWNKLU5E287eelq4NJYpdbiDHyii04AIT2LpeFuc3wXczCd5DBJMEV/ FzfQ== X-Forwarded-Encrypted: i=1; AJvYcCVVIRRt2PbdsYsWS290uDqCeuRD/cUNjAMPFT61bfVry2gyyA/QcaThfeqHxxqksz/RT4EngT4KRgxTS+yljWGB@lists.infradead.org X-Gm-Message-State: AOJu0Yx9JQPtb2a0eeIngQS5VzlaeNhfnqvLAO1J0SBDTdHcYMZ/hHtO TiSHDAKkAuBWJ2BCeuQO62CM0QtN9hgXg2shmnXzu0PZDiynobcSVlv6OfJrU2E= X-Gm-Gg: ASbGncsSdThahxDv8dF4/rM1OWY9aspupxPfK7YEjYi5zcYuoMaYcCHEwxfUVOtJGeI 76DBZTS1GwlmmM0ZHZVUJtS0Gq6F2nNXc2/NMzNSIzuWP2N4uoYq89LBa5Dz20mGTpC09ka9jYM yJLDtQiVi4yDkHe684pFQ5zymudE3qutX22o0rP+rzQSPhUJwBct83vs2JFSzA/lWpnPKbhuL5f hPUdXSbJst5GTndyh7sFnwmGmMqQMRRhwpDKjy72gmxsn9VX4HktvWvxhrmeOALOVipZGcYoAqL qA86sF90+P4jWZpp/BCzBe8WLSjyJJqWfAWtgI1X8oNmVgOkbkzcS+CkhOYV49lY3X62XdCY5P3 hCRpIHMnfEguypW/rTqLC+j5apkXo X-Google-Smtp-Source: AGHT+IHUwVqfRBATiENga8y2WvKZVKOrHZpSBd488/sJ0QhrasF7WRCnvzn1JwM0TwTxkLrFTUS5Nw== X-Received: by 2002:a17:907:1c21:b0:abf:6389:6d19 with SMTP id a640c23a62f3a-ac3f226757amr805060366b.15.1742769581299; Sun, 23 Mar 2025 15:39:41 -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 a640c23a62f3a-ac3ef86e44dsm559686666b.31.2025.03.23.15.39.40 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 23 Mar 2025 15:39:40 -0700 (PDT) From: =?utf-8?q?Andr=C3=A9_Draszik?= Date: Sun, 23 Mar 2025 22:39:46 +0000 Subject: [PATCH 30/34] rtc: s5m: fix a typo: peding -> pending MIME-Version: 1.0 Message-Id: <20250323-s2mpg10-v1-30-d08943702707@linaro.org> References: <20250323-s2mpg10-v1-0-d08943702707@linaro.org> In-Reply-To: <20250323-s2mpg10-v1-0-d08943702707@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-20250323_153942_665205_0B208F2A X-CRM114-Status: GOOD ( 11.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 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 Sun Mar 23 22:39: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: 14026722 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 77CECC28B30 for ; Sun, 23 Mar 2025 23:31:40 +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=VFl8ti8LLZE4LPxCWkejP2QjcAENJxbtxTGfboQDJno=; b=pZy1lSrd9KV+NlTpGKAVvmALdH zUbjEOcfSYXQafYqkU1aW/LmoVxqIn9B+E9YLV4M/HB/deYoka6c+3daTooCbDPUDPvd6jqD0NrdJ g7iJmoKawLbwFMUxdCf0Dh9mgvPKJZTeKGBtNceIsNmQAA1evo+thuUlnYzMWlTaKebEHILaEKfCz UAi0UdcsYUE2pHJE/idZtRR3qWJyNxGADeysCQFrTSIkGJphR8boeuzapyhrsKE0MceLHquliFEvp Zk3I+xDkVzUuLTqygTAsyxtADCbNcJs7xh/UAhglJ8BFV1RtT0lOvX1SEa3+6SGrD11xtseHi/Han M0gE395w==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98 #2 (Red Hat Linux)) id 1twUmx-00000001uaG-3TKx; Sun, 23 Mar 2025 23:31:31 +0000 Received: from mail-ej1-x633.google.com ([2a00:1450:4864:20::633]) by bombadil.infradead.org with esmtps (Exim 4.98 #2 (Red Hat Linux)) id 1twTyp-00000001pDh-2Bh3 for linux-arm-kernel@lists.infradead.org; Sun, 23 Mar 2025 22:39:44 +0000 Received: by mail-ej1-x633.google.com with SMTP id a640c23a62f3a-aaee2c5ee6eso588949666b.1 for ; Sun, 23 Mar 2025 15:39:43 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1742769582; x=1743374382; 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=VFl8ti8LLZE4LPxCWkejP2QjcAENJxbtxTGfboQDJno=; b=zO8zi5Hv1wQEGq32bLm3V8qj0BqcZLCoQt4ra9fNO621hni8aA6Fl/LeeSTGMo/Aw/ A60uIi0rj1YkzoGCoMuvC08lIDzz9XSaYBZmi/SbtDOTzyi53i6gwul35WybDZFHZkGj DSqKXtXbI04VIJ0bodiUeNYzQAYik1Hm3lpavUKXyzcvTgyyemHjS79bOSn5PmskjRqN 60XXtXwgwrCNXlSTO1eutojVBFtF4l3UlK4X5mSBs3abW3KHz11pX2uX7jxxwCsWb+X7 P2w0io7NbkCZaQdt8hzs8DsBOstCecfjoNbuMSIiaSVnhMzOejog63EjtqoyQUEENuuZ NZNQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1742769582; x=1743374382; 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=VFl8ti8LLZE4LPxCWkejP2QjcAENJxbtxTGfboQDJno=; b=W3UmOY8aWC/LyJQ3MB2x2XsmBlMv0pB6Gm6COk62zaNLbnUaRUQqAsV5X2m04Y6o/j cqJKi9OvfJlJXH/LflubZnDRZoDpN/qEaPuQtJCHlCz5TO1SV398U8mfSLaHq7OuIq22 UBUM9C0xZsBHVEtdkvMJdkQ26EqUBWfAbELo4tzlX0dpSOShUttw5QqMJrWjiqvSpraQ SjRhu4HghRzSzXj4u+aaGXvPUczRc7U22+aVeYml+yrn0Np8hK9ArCBkqcSztYnluPQd 6lpRpN0qtuLX6Y33erHuO7qlkyzZx9D0wvb5qO6Osi15OByYX8h7kwxlWs1LZzmPdbnJ ZRtw== X-Forwarded-Encrypted: i=1; AJvYcCU++V6hSHlkyBwJGRTD2hyYiP86kHfnYputiWBbUlATjPl8M+k3G+305Nh6K/8sg4iMRXG6unieNkfa2RnCgR2i@lists.infradead.org X-Gm-Message-State: AOJu0YzAlZfoE42Yfv/rsFaCEEoZp2pUqq0SMPLJvKnT2YRx2ULF0oUB /16ZB/tTadFUmijz0aOhvTEuszxZ+TJTm2CyTn+oK+65CkvuPYX4XRcpGcwEQ3w= X-Gm-Gg: ASbGnctsy9O+mwlesi3RmW6gjeRGwmOkcQJhjhZ03rH4auTfp11fJg4BYOINCq+Jd4n 5GNPviW1TzEgSx+8vYwL6lOYapg/aO4tXP1RzFSxJy8p6NuwTCs70Vq/oos6i092VinSYfHiO95 77smvmKnBKP0fdyOlr7qJc1Pi8clNxNIHeJg7JeUdnAXbHLzvNwYU4h07vMvHo5DzZ10QTqsB4d g1JfdRyKLeOtc5KOWZQwZ5Tnc5ZvL/50NWIWPQQ4jB8WSDGK7fTV1jalAbrKEFUhzPkqdzwL6Hq /EyAlqPAvR+E8uzfDa19PkiuDjQAo0NPHUWDVuIBNHb/RNyDAr4o6yRtbKvl1T4eRpRuPaEGSnM tq7BKDYfYNJzN2MCJnlBRUUnNqGeR X-Google-Smtp-Source: AGHT+IG4c/ltmFn+ZYM2U03LWJ2WSMibTI8JvVco3lTM01jqnuwgY40zG7FK43Yn/mRbbubKlLsYtw== X-Received: by 2002:a17:907:c1c:b0:ac3:422a:76dc with SMTP id a640c23a62f3a-ac3f22b52f7mr1161510866b.34.1742769581788; Sun, 23 Mar 2025 15:39:41 -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 a640c23a62f3a-ac3ef86e44dsm559686666b.31.2025.03.23.15.39.41 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 23 Mar 2025 15:39:41 -0700 (PDT) From: =?utf-8?q?Andr=C3=A9_Draszik?= Date: Sun, 23 Mar 2025 22:39:47 +0000 Subject: [PATCH 31/34] rtc: s5m: switch to devm_device_init_wakeup MIME-Version: 1.0 Message-Id: <20250323-s2mpg10-v1-31-d08943702707@linaro.org> References: <20250323-s2mpg10-v1-0-d08943702707@linaro.org> In-Reply-To: <20250323-s2mpg10-v1-0-d08943702707@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-20250323_153943_578448_EF373111 X-CRM114-Status: GOOD ( 11.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 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 Sun Mar 23 22:39: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: 14026723 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 238ACC28B30 for ; Sun, 23 Mar 2025 23:33:25 +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=qB2B+UaRvhzRZZ5Wx1Ln6+NaDhGt6Oe4sLGxlVN20j8=; b=WZmF2SXH459/rUPV1/YLnUv0ds 7j4bmIs5NJ178z2KLToTNDZoLQK7j9qFTA3jJNU291tar4hugoYRyv7NtGQ61HDvylC6CdJoLRF6Y RHF8CB6LgJeYteqRlJrJCjGrSMo6Mit03IN8PxdvRAFdZHtwxBayWvYDGbwjN3k+DrTyqU4Mjp18W brPGBTGCOLO4EeqlvZMZhkwwXTgbsElDM5kWk/q/SEye30HUG99Dc9A/HxoGOWqMOlYXkKGG2LPIm IJQvcnLHh/l7FuvJ0bJcwODkW2i/M5OebfJOX2LOxywjaYc/Vih9IPuC0+v/pEXFqGu9RzfwPz/fj raoYYRVA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98 #2 (Red Hat Linux)) id 1twUoc-00000001ugd-2zBn; Sun, 23 Mar 2025 23:33:14 +0000 Received: from mail-ej1-x62f.google.com ([2a00:1450:4864:20::62f]) by bombadil.infradead.org with esmtps (Exim 4.98 #2 (Red Hat Linux)) id 1twTyp-00000001pEU-46Xu for linux-arm-kernel@lists.infradead.org; Sun, 23 Mar 2025 22:39:45 +0000 Received: by mail-ej1-x62f.google.com with SMTP id a640c23a62f3a-ac345bd8e13so673832266b.0 for ; Sun, 23 Mar 2025 15:39:43 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1742769583; x=1743374383; 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=qB2B+UaRvhzRZZ5Wx1Ln6+NaDhGt6Oe4sLGxlVN20j8=; b=LAba9iY2jDdPjgIuJUp3NemEs+FeGMAoE9lSpQKX6H/R3TTpr+duHFOdFEkzhPtCER /gakWhvxe8n/jCqy9ZD1ziUeFR5ez8KKq06h1/YoCy4cLm8swQVAOxh8wMP6gI+lFuaL J9WRTZRve9PpOaQUrnSjDGkadn4qEljPbMPenh6zOhNzTyfRPQAI2bsC2wLHX04JBh2A JE9uiYH7e1U11DGqn9Oo99P7GaOwzVVcIIePJ1v7zenfiK8ruXsvI8YFFsSgkHIeAU90 NCZEOHjJhWWTysrzBuxX3PSETeZ/9jffO56zY8Z8zUzF3wvXIVPqHraoV56EjFKPvDvZ tg5A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1742769583; x=1743374383; 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=qB2B+UaRvhzRZZ5Wx1Ln6+NaDhGt6Oe4sLGxlVN20j8=; b=pHQ2cQ85dhev2/V2Tqe5vztLDZsJ+JrbWLScppKI5WD5PnbrprGMgwUjkBXn6reBS1 8hvS7bVSnvTvoFZBNoWIh524GoM7SC0ER8f0fg0+aeBf1vz12p58t7rBj2di3XP8WwX7 ccbv9+M/HufIQwOEzgh0KzQnE8rngqu06Z24EKnPA2PqGmjJcQ06O1Tpb9uHpRxscN8b u3BJB5CCrO/YLsV236UiWtCFu+iMfk8rzxJuUuW7Gcf5cQ7DuX7Q8/lucm1hSWwSxiUk 2wm1ktXWpFPuZvTdO2ZvgrTVJHhivKIHq7JU5IMlbuaqmHWt0aUUZw8OCz25FZ69WqC/ 3IGA== X-Forwarded-Encrypted: i=1; AJvYcCWvxf0blmTL9i+cqNv2ZpnMovpVd6uMi47aT2CUI1hMTLU9DZFnvi8PS9QhSumfSFr5hSLIvQkLLE17S5Qjg1Kr@lists.infradead.org X-Gm-Message-State: AOJu0YzqOZG8T44cxP+80pxhTYu2oSYVHU6dD3TKCo/M/5TNmo+5kEhW o1YIeti3R4F258cHtHGSZZervRLrbT4vyDK0Jq85e6EL7yuKdFXDLGkpURJyPd8= X-Gm-Gg: ASbGncv7Joen4rDdSX4FKE8mBHJ6wrp9x72tvwn1JIeoqElAmmD/N1apuIhetsAYRuq FT/aZ12RqtOsh2O68T061KJzYXlT2iXfhoKcS3fe8dzSFaTQr1IWWkrc4AxBezhYj+DuLyccoFb SyNzSopNfVxuHSfzcBEvmKleLk2ELNCm9tg2x3PSZxR36mtFFI/QtZFMoWtvUeyb/7nn039oUgz 0n5tJeOkHm7I8E10l7i2FzIHD1WO8Y8eJmlGi6Igs/s0o/guECrSQV0RXq59KHjBGp8C4/Z153D 5fy4NUKWYlM0+1y8JgouAoF4uAnkZmBNeFq0GYlKl46slY63aSm1P6H0R1bzRA5SCTSMKMrWsMY NGg+3hLjx4Dfxw0TJ5h0hAFGVaztl X-Google-Smtp-Source: AGHT+IEqdMFkeJB9L19k5i2T9SHkqV7HBIih5q+Sk1+mGJp+qYtrcbGq+req37UQlXtoOfZvy9bw1w== X-Received: by 2002:a17:907:da0c:b0:ac3:f683:c842 with SMTP id a640c23a62f3a-ac3f683c845mr1099102666b.42.1742769582647; Sun, 23 Mar 2025 15:39:42 -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 a640c23a62f3a-ac3ef86e44dsm559686666b.31.2025.03.23.15.39.41 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 23 Mar 2025 15:39:41 -0700 (PDT) From: =?utf-8?q?Andr=C3=A9_Draszik?= Date: Sun, 23 Mar 2025 22:39:48 +0000 Subject: [PATCH 32/34] rtc: s5m: replace regmap_update_bits with regmap_clear/set_bits MIME-Version: 1.0 Message-Id: <20250323-s2mpg10-v1-32-d08943702707@linaro.org> References: <20250323-s2mpg10-v1-0-d08943702707@linaro.org> In-Reply-To: <20250323-s2mpg10-v1-0-d08943702707@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-20250323_153944_018052_6DD05475 X-CRM114-Status: GOOD ( 12.30 ) 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 Sun Mar 23 22:39: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: 14026724 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 B3068C28B30 for ; Sun, 23 Mar 2025 23:35: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=+9zuZxWNg3rbrJTairaqhANzxAqu72T6zzPhxq7UOmE=; b=jWfFyALOFaS6wjHhVNHegVdwNW jLJF7yXWb4sWf0qczzKs9O9ZN2UwwVWuiE59aAjDwSSV1r13e8dgQp09gpwdI9CwYbCewoZXJJl8/ q0wunnO6p54peAnJXVu0lKyAz8KewoC8ZHlz/Ffs6ZoJGrz3YH+I81cYoZQ9Zaec5OQuMTs1MzG2l N7wk+erAF79O9nR2JlM+4RfmcFB21y/WCxAVWC3RCttH0vZWdA3sCpdwSlH8fF75RWXqFClA60wzv m/DQpTfz5uTZhy3weo+v4XfiO4Up0683DXgR9X2tU2ARktegIE4KcSzTTZ4ePizkS1VylmWDjupIH GJsws0Sw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98 #2 (Red Hat Linux)) id 1twUqH-00000001uoC-1jmn; Sun, 23 Mar 2025 23:34:57 +0000 Received: from mail-ed1-x52a.google.com ([2a00:1450:4864:20::52a]) by bombadil.infradead.org with esmtps (Exim 4.98 #2 (Red Hat Linux)) id 1twTyr-00000001pF5-0ePX for linux-arm-kernel@lists.infradead.org; Sun, 23 Mar 2025 22:39:46 +0000 Received: by mail-ed1-x52a.google.com with SMTP id 4fb4d7f45d1cf-5e5e34f4e89so6965258a12.1 for ; Sun, 23 Mar 2025 15:39:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1742769583; x=1743374383; 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=+9zuZxWNg3rbrJTairaqhANzxAqu72T6zzPhxq7UOmE=; b=vpVAMspxct/wXnpJ3IpK8NyywGwsJs+caK6ZLX5fp9b3DvLO1pYV1WhCoYgBhUsD4L TPJcJO7R2N4ZkG37jd9ojzCGKRgTtaSNvqC9gpVe/OwCduUMJW55SSLUbt3zSdZDeTh6 S2Zw53mO0+2mhIGMCU04DPxjpS9wmRb2nOnHBSucaQi1sv01WeKC4yO3hwNBbdWcmjBl f5Q+6HPOYMiov6ru7xHgamyFiNqtgnOHYsqzLSaWLWQ3nbj8phi+RABIteTa7VUzsURF ilR/1XNwjh/dAo5ytRKXNzBkmRzvOJAVTWPofDe7v3mR+c6crfa1IFe/AEtsD7z28ake 9WHQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1742769583; x=1743374383; 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=+9zuZxWNg3rbrJTairaqhANzxAqu72T6zzPhxq7UOmE=; b=mnclJ6ePav2ZGe6DwLo2fZZSUjwuw1GtJ+dekOdwMfniQcmuOG0IUxzLarvX3jGMqi xFLo4o+r0lFtFFHP27WO+8hBUlUv0YbtXBhzFS1VzLKxIkl1QMdc+JDiJN39vqfpEJiO gqjQexRi1D8BteWHHCZrbN94LovLXXrgdJ0U6/lB6TDRjdG8Igmg9oiGW8rxq9PHsG8V 6SDfIiEyGhntjr5P7E4FGPZyGu1FqoRJKMQ0CWKqP8CWV7TzCRiSNg72291f67RI4dIc ebTQoJlXBrqRCCw1Lj0voyeM3rf7GQDNwyB8Wz0+5RzJCditPeNObb/9Cxyip4mWJFzC zmqw== X-Forwarded-Encrypted: i=1; AJvYcCWBBBPIDTPD83ULAcOj21hu3PTsbQVDjP4XXiqJHPUy/vFV/m4mdF315awmHgPGTK9QZVWFPkQ0YrudHdAN1Hvx@lists.infradead.org X-Gm-Message-State: AOJu0YxvoS+D3AGqzfRJziM/f6eK0Jf9IoU1bB2TU3rS6TQVKAPsAehE 35Z0X+P82QGMeJTXicrST45/nE74uqkrs2UWxNlsRU8FcUfnTLkpsxIqX2U2tag= X-Gm-Gg: ASbGncv/VyhwL80FGGP6+jXCQakwffmAWLXdFfPA04dWYpdHQ0cN1G74fnch2fo5K13 mzCJpn+BJd+Pd9+VfgArPxfEODvw0ZA8mC08FMObVpdhs7fPfVcZqt4w/v4Fsi3J/jwQwVESRl/ X+sNGAyphqNlf0Xh+w+FZaIc815AVIc46XS7JzswH+uiQMWiNyEX9JUsMaFkVRlIIaJ7MU/kjUh HYPBJWnd+q8trALOoQwDCP6B74S5Ssui+FTm2mhIUpD8Sgk7+6bOtqwX8UGAPiHxsklkLWVrW3F nJB2iADIff5J7T9SV8L1Q0h1zif6HUV9LgHS9oJ6TO4dQvwZYRbd+fHoa9AH6ooBq54LUupzgY1 4CnaoHGyboAlvhYCQ0P5YzbrhYu7eA4/d/KqODrY= X-Google-Smtp-Source: AGHT+IFs4xHKZtefwGlVOQ1hTfmO2hUQ+8e+EVgI4+xRTbfzM8/S+AZdGH6X4/sL+XMu2751zvkyBQ== X-Received: by 2002:a17:907:7f0d:b0:ac3:3cfc:a59c with SMTP id a640c23a62f3a-ac3f20b9b10mr1154328366b.11.1742769583314; Sun, 23 Mar 2025 15:39:43 -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 a640c23a62f3a-ac3ef86e44dsm559686666b.31.2025.03.23.15.39.42 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 23 Mar 2025 15:39:42 -0700 (PDT) From: =?utf-8?q?Andr=C3=A9_Draszik?= Date: Sun, 23 Mar 2025 22:39:49 +0000 Subject: [PATCH 33/34] rtc: s5m: replace open-coded read/modify/write registers with regmap helpers MIME-Version: 1.0 Message-Id: <20250323-s2mpg10-v1-33-d08943702707@linaro.org> References: <20250323-s2mpg10-v1-0-d08943702707@linaro.org> In-Reply-To: <20250323-s2mpg10-v1-0-d08943702707@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-20250323_153945_224470_46CC2C1D X-CRM114-Status: GOOD ( 13.09 ) 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 works 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 Sun Mar 23 22:39: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: 14026725 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 96B41C28B30 for ; Sun, 23 Mar 2025 23:36: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=jhTacnWIaHzojbgZVRhkXLoj0m8Qn0dJu2GgWCUO9Oo=; b=gOw1Jbj1Nzy8bLzqJiFqwZsz2p X+0/f1a+sBy4oecrA3FvNrO+y1KwDeNWJ+U3RmVp8D9iEGxG51QoGSOUTdoNSQQvcc5TLAuKlBEhh PFbgFjVSUb+V6/yrN0gqRSuT2Qpag8v5d9mjhEKCDzEZ496dag8oLhlCm69Hd3zkRLwNGZuuu7Hph munr1by6EPxkRS6E0gfNqgdQ36r8RlUG1Eozb9KOyLSqKC/htXxita+LxO+KbTRQEVRcMApo0jDW/ 1baoPO4nh2CyVKekWApo603oT9gAGMCM6soDtk/dJq4h76DgKmXGjQbEkfYXvl22XDBKROayMkhqT 99RogLow==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98 #2 (Red Hat Linux)) id 1twUrx-00000001ux8-0cYk; Sun, 23 Mar 2025 23:36:41 +0000 Received: from mail-ej1-x62d.google.com ([2a00:1450:4864:20::62d]) by bombadil.infradead.org with esmtps (Exim 4.98 #2 (Red Hat Linux)) id 1twTyr-00000001pFH-14L2 for linux-arm-kernel@lists.infradead.org; Sun, 23 Mar 2025 22:39:46 +0000 Received: by mail-ej1-x62d.google.com with SMTP id a640c23a62f3a-ac2963dc379so636679266b.2 for ; Sun, 23 Mar 2025 15:39:45 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1742769584; x=1743374384; 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=jhTacnWIaHzojbgZVRhkXLoj0m8Qn0dJu2GgWCUO9Oo=; b=Fu2H6qY7qnw4LL8S2E3dz3HqP/shrFtCXITA4RsixTWDv36GhCEJp4QayJlx3UGSh3 ejYCnGYVsGYpG2+UzmnZNGZwUpnvkUXhxeY5PNXNkLCp4szz2bbZMotvpQDkxKyC/5ER IODkuc3XT6iHX61criIdOAed67R2A8SY7zerrHq0+pgEH/myfrJV5HQ5rjw2IYtks/54 tzg7pqKGBZdNvVgZqlHi9fRRyozyCQW8dvCcWJ0cLp37r3mVS8vNDz90Dg8fe4bLaZgn NA4QYvU72oyzYCR2vkiRR6BhFr5OLb5ws1c9MOxHfzzl0FC9j2XOrvVtO+4STEcmMwdu AUjw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1742769584; x=1743374384; 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=jhTacnWIaHzojbgZVRhkXLoj0m8Qn0dJu2GgWCUO9Oo=; b=Uy7XCesuePtcYsgDnz0CcNqPft25vq1R9OW8cJKQpUYmemO8xUBafC74A47dHn1EHb 2E9XE1YZOP4dLSwEHutDV6Ngtp4zMICACUZkWSGLvQ1ccs+dKqc2Iik7QSGqsmjAx5GW rui2TUyLq5Eq1A825zE3KcZftHqDs71RRAjOZe54zUHJTtlIvSD+PJiPOND9Krdd4qrL 8p7SyRFCG1RJPpcB0yxtMGOXOPUh/nQ5rS33IzjqWLVXpiltUXXlLshh8ZuyHDwFbBBx 93klOFhVwmeaW1sKpIl6iTJ1fQ2KdfOPN5D8MJUvs9I8rjfdkxy6LB9wp0ZmvEgTISRS lL4w== X-Forwarded-Encrypted: i=1; AJvYcCV0soJy6r58grbFnyrjYXP2Brdnh3gYgKtb1xA0jXfvT4uzCulTyzX2AUxmcL9Jze1OdpxsaiDG/IItQcsx5LV8@lists.infradead.org X-Gm-Message-State: AOJu0Yw375FAoVXh3Ko6So2Um8KtJ6dxzeYRO4nLbKz8peN7ZrzZn4uT NMiBhzuy5SVyHXvHmSmtoxUGlH2+hYjkhtIWJCT40a6B9021P3V6j+OySCrq95E= X-Gm-Gg: ASbGnctqQiJK3v+ztUAXhltomWARQKJp586erhOw62M9eC6FnWJxeWe1WypUKSdzke2 qdkVv1up8LlOMhKTZRJJ4FVkkQsBt0Kzuhfa+kdJUAF2e7JB/dimTm8/xDTygJmAUqk+ql+3nV+ nfPUOCGbi08GzbQUfQo6DwNmNCtM9SWAgsBnoZH1JA1xWwbBpLXXyTpOtlNHNvjxiItaR3lIdOb SuCqeStuppTyCgpP/qokO2Mt+oo7rnTy7OKHlKTioO8oVNM3y1bBJ5p9Vvgh1QRyufPKkxg8oG8 xaxdybrFTYUGq4OQNPtKiuXIjxYiKxhMbU+clMEmeYR6RXV5q7S/wqiEoXFdOtz939BlP1Q/0iK 9TOW//cvKsRZbdG0GXx4V8cwHTigw X-Google-Smtp-Source: AGHT+IGBmk43Q/5KSqStfiKdhkMzhnRppuC/FFtUW+Zjtoma50FlDv2NtShPafcq2wFC3LRoUhXzZg== X-Received: by 2002:a17:907:d2dc:b0:ac3:a7bb:1c2f with SMTP id a640c23a62f3a-ac3f241b95emr1147181566b.7.1742769583868; Sun, 23 Mar 2025 15:39:43 -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 a640c23a62f3a-ac3ef86e44dsm559686666b.31.2025.03.23.15.39.43 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 23 Mar 2025 15:39:43 -0700 (PDT) From: =?utf-8?q?Andr=C3=A9_Draszik?= Date: Sun, 23 Mar 2025 22:39:50 +0000 Subject: [PATCH 34/34] MAINTAINERS: add myself as reviewer for Samsung S2M MFD MIME-Version: 1.0 Message-Id: <20250323-s2mpg10-v1-34-d08943702707@linaro.org> References: <20250323-s2mpg10-v1-0-d08943702707@linaro.org> In-Reply-To: <20250323-s2mpg10-v1-0-d08943702707@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-20250323_153945_290036_7358D93C X-CRM114-Status: GOOD ( 10.31 ) 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 d686e02dc7ccd61e35173df997d2f894ee5ab515..10945909f5b317a894b6afbeb6bbccd1a691de9d 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -21341,6 +21341,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