From patchwork Thu Apr 3 08:58:53 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Andr=C3=A9_Draszik?= X-Patchwork-Id: 14037180 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 41B81C3600C for ; Thu, 3 Apr 2025 09:04: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=a+M3GihTjnRn1Hrg1CuNjUwnXLbiE9TQN/WleV7zPWg=; b=XmnrRDk2eebHaPFjDp1zLv34Zh K5hIBBEk2vSw3vNMD1kTfGkdR7CLlvUgjvkBqFAgXGGuei2B3wLRqaetzAUWLUqltvE5Vdx8iO+xC gkiDLfyjWk1Jw1deSALm5EvqkprRJZykOgNdk1wRhS4rJdP/8htv0R83Rq6ybLQe1fE18yVigMshL ZL0wLqUd5VAzA8siBdJFclx+4Kp1d+LqWeOQkzNYzejA8EW62vdwCMMnIF6jCbVsyN8rSe69ZLqLu abimoeyph52iAex3G/FLBxkGkKElPiCQARnKrvez3v0yFvvBAJc1NO23IMw1vVCEzITwJGLeHwXzn qIj3uGaw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98.1 #2 (Red Hat Linux)) id 1u0GUs-00000008Ky4-0fZR; Thu, 03 Apr 2025 09:04:26 +0000 Received: from mail-ed1-x52f.google.com ([2a00:1450:4864:20::52f]) by bombadil.infradead.org with esmtps (Exim 4.98.1 #2 (Red Hat Linux)) id 1u0GPd-00000008Jer-1Jfr for linux-arm-kernel@lists.infradead.org; Thu, 03 Apr 2025 08:59:03 +0000 Received: by mail-ed1-x52f.google.com with SMTP id 4fb4d7f45d1cf-5e5c9662131so1124768a12.3 for ; Thu, 03 Apr 2025 01:59:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1743670739; x=1744275539; 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=a+M3GihTjnRn1Hrg1CuNjUwnXLbiE9TQN/WleV7zPWg=; b=dHEcCNT220sxDiT74k6zysOIrzyEouJSgtQcaMa1jknC3q6Jw/v+AuWQWLNOy8OKWp iy/UZwciPC9Uk1p4TUZ2uPPUtdqfFagd1IZ47FL6j2zrmRTnLlkQyh6vjTTCsJEIB2vd N+mZC2C0kWKw4a+1Mg7nvQT68USa5m2hMlGrKKFfnjwHprV1FUirnToZOTGgBSk74zNa FSkPUJnBGEPcLrtsMr/EiQtGY0tDJXx9Q1BX7I3j1IRoeQl8X4y+nxOvlZXsW5SqGX+T 1Awfx1E+9Th3SjsoI32oLhM/qwdB8qCZ70rIcLw14lshDzu2nzM5vlRzxW76OBketdOe RDwQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743670739; x=1744275539; 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=a+M3GihTjnRn1Hrg1CuNjUwnXLbiE9TQN/WleV7zPWg=; b=sIlZCdIcFpe5MY0ma5Z66yJCjHxnOyWxf9t32krQ1gMec6SQb7/VyYCHzzhkUUptik Vy2ymRDSZ22ew4FuYnpngojFzIIOYuKBuyMiXsg8Nwq/Y01vGytRu4GImXFxEc7H7Jgt M2aUatZuFaGvfnkbhcLX0GmAXHb3LJBiyB6PVjMluyD68B6g6iXoluTuuQRemuzU5+BP JVTcVNH7qBG2J/Kvrr6fTjv5EzjkgJ9wWtgsyyW/6tzv3jJuqJMiC+sV9b1MRVU1ui1T EclGFN7Lgp/O5gVvAQL0743E2ETBDdMqWqdldPCVqfl63v37QIlpIHnmbnPdnP/ItjCD ISow== X-Forwarded-Encrypted: i=1; AJvYcCU42uwGW1z/2SBmm4Jbu8pJRQG/5WMB7arFZixr+nMU/QS2W0FaA3mnchZMUralojRRJkCAtvTCa2+rZKt7Y27p@lists.infradead.org X-Gm-Message-State: AOJu0Yz8LhtId4pvRnTOzhNqjzt/auCog+vpxu8UVpI05AaMD7B45jaB 7tAyBFNG/B88U4ejLzgBJmBBSG2gxguub7Rj2etDlcbUGp+57L0VfOsTL4T438Y= X-Gm-Gg: ASbGncsXA7eSkUo7LxGuEMSMazLsPQh+uWjvHPTVXkO3I5gO7ck2Eyu+C0bSaJ9o6W7 0alY7oGydCYoiu6OgUOGlDRUDtfEN6sUMR/gUnd9tunkh9Fs2Tc2U3gFGPPBhVPgvDw48R6FWaG QSNwJre3uRWUE6jHJAo2Vrv42SEbYG2h4dFxYwmKr712tubIoCi51WM3DXrCyIhY2mWYMJ2/iKj l3pyhLg3WzPCEOu9HlYXA2mu3ln9d5Sm95wgG9Le+Xq67/wuPBsIyzt7rz1R3thJgIMgqnZnjpM Wx1UsMqwEQuG3hwUBT4G7l9DUt/tYdClHArebmFGxUU7X2oarcwccx6gkjqFgYsNyODN6LuqdWD n5upb73EoUuWRtns8nPSzLDn5660uVB5qSy7S9bo= X-Google-Smtp-Source: AGHT+IEO1QurBQVznveFvWun3Jg1GT4794QiV4XVF3U5z9BB/kH5NvSDatCmfwTx4VFKQZlezuZZbw== X-Received: by 2002:a05:6402:3513:b0:5e5:e396:3f9a with SMTP id 4fb4d7f45d1cf-5edfdf1ce8emr15075770a12.31.1743670739159; Thu, 03 Apr 2025 01:58:59 -0700 (PDT) Received: from puffmais.c.googlers.com (8.239.204.35.bc.googleusercontent.com. [35.204.239.8]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-5f0880a535fsm637614a12.80.2025.04.03.01.58.58 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 03 Apr 2025 01:58:58 -0700 (PDT) From: =?utf-8?q?Andr=C3=A9_Draszik?= Date: Thu, 03 Apr 2025 09:58:53 +0100 Subject: [PATCH v3 01/32] dt-bindings: mfd: samsung,s2mps11: add s2mpg10 MIME-Version: 1.0 Message-Id: <20250403-s2mpg10-v3-1-b542b3505e68@linaro.org> References: <20250403-s2mpg10-v3-0-b542b3505e68@linaro.org> In-Reply-To: <20250403-s2mpg10-v3-0-b542b3505e68@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-20250403_015901_369826_B951410E X-CRM114-Status: GOOD ( 13.20 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org The Samsung S2MPG10 PMIC is similar to the existing PMICs supported by this binding. It is a Power Management IC for mobile applications with buck converters, various LDOs, power meters, RTC, clock outputs, and additional GPIOs interfaces. Unlike other Samsung PMICs, communication is not via I2C, but via the Samsung ACPM firmware, it therefore doesn't need a 'reg' property but needs to be a child of the ACPM firmware node instead. S2MPG10 can also act as a system power controller allowing implementation of a true cold-reset of the system. Support for the other components like regulators and power meters will be added in subsequent future patches. Signed-off-by: André Draszik Reviewed-by: Krzysztof Kozlowski --- v3: * keep 'regulators' subnode required even for s2mpg10 (Krzysztof) v2: * drop ACPM phandle 'exynos,acpm-ipc', and expect this to be a child node of ACPM directly instead * allow, but still don't enforce, regulators subnode, to ease adding it in the future * deny 'reg' property, it's incorrect to optionally have it for S2MPG10 * enforce 'interrupts' or 'interrupts-extended' property. S2MPG10 can not work without. Note this is done as-is using the oneOf, because dtschema's fixups.py doesn't handle this nesting itself --- .../devicetree/bindings/mfd/samsung,s2mps11.yaml | 26 +++++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) diff --git a/Documentation/devicetree/bindings/mfd/samsung,s2mps11.yaml b/Documentation/devicetree/bindings/mfd/samsung,s2mps11.yaml index ac5d0c149796b6a4034b5d4245bfa8be0433cfab..d6b9e29147965b6d8eef786b0fb5b5f198ab69ab 100644 --- a/Documentation/devicetree/bindings/mfd/samsung,s2mps11.yaml +++ b/Documentation/devicetree/bindings/mfd/samsung,s2mps11.yaml @@ -20,6 +20,7 @@ description: | properties: compatible: enum: + - samsung,s2mpg10-pmic - samsung,s2mps11-pmic - samsung,s2mps13-pmic - samsung,s2mps14-pmic @@ -58,16 +59,39 @@ properties: reset (setting buck voltages to default values). type: boolean + system-power-controller: true + wakeup-source: true required: - compatible - - reg - regulators additionalProperties: false allOf: + - if: + properties: + compatible: + contains: + const: samsung,s2mpg10-pmic + then: + properties: + reg: false + samsung,s2mps11-acokb-ground: false + samsung,s2mps11-wrstbi-ground: false + + oneOf: + - required: [interrupts] + - required: [interrupts-extended] + + else: + properties: + system-power-controller: false + + required: + - reg + - if: properties: compatible: From patchwork Thu Apr 3 08:58:54 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Andr=C3=A9_Draszik?= X-Patchwork-Id: 14037179 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 6053CC3600C for ; Thu, 3 Apr 2025 09:02:55 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:Cc:To:In-Reply-To:References :Message-Id:Content-Transfer-Encoding:Content-Type:MIME-Version:Subject:Date: From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=r/wEh4QmLnuluQvbcZ6Yqq9yXOMvoeHgrUwhyH2g5L8=; b=FjYEEegKWnoime5B4OpmaHMCRG aMuKcwSEANMEc8Z1tzc4kS/MnrTUrUYge9E+5TCTzqG4z/lFNvi32UnrRw/ZDJ4NurqT4XhO+27cm K2I86DYJQ8VWzSRkZnzRHOvUT2kRv9D4VxhXHI/p/bXuUjO6kpmjDzfkPXG0HEUVHRAKlj6r2Eh4N A0/HWaezK82skG6/rqSKVDR1JLhU7CEPwNSJUWMMZdBh5F7c4FqJqQBZo62LrYEGUcgwj6utq8P9M V/glPkxAm19U9cdhT7P8OBBd9y2LIOX/rtfj4Cz1cM6qITzWVLagVr5Rg4OKpPtSKw5qnY9bww+Bf Cca/12lA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98.1 #2 (Red Hat Linux)) id 1u0GT8-00000008KWu-1Wa0; Thu, 03 Apr 2025 09:02:38 +0000 Received: from mail-ed1-x52f.google.com ([2a00:1450:4864:20::52f]) by bombadil.infradead.org with esmtps (Exim 4.98.1 #2 (Red Hat Linux)) id 1u0GPd-00000008Jev-19Rh for linux-arm-kernel@lists.infradead.org; Thu, 03 Apr 2025 08:59:02 +0000 Received: by mail-ed1-x52f.google.com with SMTP id 4fb4d7f45d1cf-5e6194e9d2cso1179529a12.2 for ; Thu, 03 Apr 2025 01:59:01 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1743670740; x=1744275540; darn=lists.infradead.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=r/wEh4QmLnuluQvbcZ6Yqq9yXOMvoeHgrUwhyH2g5L8=; b=i/GwqpstNeTCJIduEC8U5hhg8DPaaUd4C2Z5dbFNxRNlIsHpJb2xUuJGh1aYah6zjg wrjFMGjFJQTBrQU9lJJ3A2seFSODj/NXFAQiSG/bvKsy4u4V94WsrsGBe65+nlp4Z98v R/nc9iEZ1bmlxWA/Ve2eWMuhJQ7zguZSHGdeS7iAp/+CAoIaXb+qIGei5qmk4cbC5UN2 JcbGkcYXThBc8vrbC0Hd+5EBDXq2/JyHuBuDkqs2i9Zj9el4Zz9ix9mR2fejihQgX3Vt E9EePbvkegZ//7y6w8to1RSeFjPuFP5V0jde73CpP1+PnQ5BMACqyNwlMldq4lC0l4XY L0jQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743670740; x=1744275540; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=r/wEh4QmLnuluQvbcZ6Yqq9yXOMvoeHgrUwhyH2g5L8=; b=D/4+N3RB5FY0ZFXiQnxJwZKrdWuo9l+Yo//pE/kAwcqebnOfnnBDx0aL51a2aoW0Vf KP721tzW9EwMlNQ5HebnYGTE3QDfX3k4BfePyEoR+tmKUOL9rrlUYlCqzDAdaM3eZOkU /j116rmWFLr3V1h0/lyE7e8LNFAK0xFzFnnZqAH3926LCNJyvC+vGGupoPOAFvsk0X51 9nBFzef2wsWt5olRksXmQVFr68ZvwaywW8fEJYobAfUUJFXwxZe5ecXp5qasevueRoZM HYcvry1COh69N8KdR92bZYUYIQdc8fJuGV+xnype7cquy09gNNB/xHPWN8w85oOPtUHp /6Cg== X-Forwarded-Encrypted: i=1; AJvYcCX7a7srF/Ir6SJwWBaxvfmrDyyEyFrYRs2uZJM+C8v/7HGDm2y6gEKXdn3TX/XkzLR4a1gOy2/WN8h3UNE+X8Q4@lists.infradead.org X-Gm-Message-State: AOJu0YxM6AjVZMXhDy848lsu9/BuMrs+xaWKLVg3ybHTLEEVdzlChvv7 UUQ83OeP9uwGheB5XrwW4YeXhakxhNLm9JLXsALg7nbyiobRdOgkxs5T4jg8tvA= X-Gm-Gg: ASbGncuhsdm7VYeLQvxIFr128Fo0rYanZb24XNN0wkA0RH6T7sceDJOWYf42tRcLrfp ixMT++ig/ohqETROOb7OZeKIPz1p81OFaLv+5HsaX4Nm1mgyVOc8ViB7bf2hX5mjf3rwYcyLMCu zpALp0SMgmhFgfvzon5hXpKIsf8tAGywPUOPleNJ9Nikf54CY3AbC6JA/48zfAcNJ4YZxiQMmCk DLDJVBfkktLPOCNhRl3dHIy0W/vm1HeS7+1yP7m0zStbQsEmbgANZdLOi9yDjzFaWQu0OQBEKGW 2iEMPScmcn5a9ijxd9lk3IQPfiPcbVvxIC2dSugdscWlQ+BFhQT1M+Osd5hA0/SsaMQWOdLbpvk G0TN1UY5bTeHTbuvMX2CwpVXLdgjO X-Google-Smtp-Source: AGHT+IFpNCgTUy3yn5kNBStSgNtkMlYeVkvi4R54YROwAonbhkdXCkRSsgfQeF745WZBnvMJR3nP5A== X-Received: by 2002:a05:6402:27cf:b0:5ec:958b:6f5a with SMTP id 4fb4d7f45d1cf-5f08726ef19mr1525065a12.28.1743670739930; Thu, 03 Apr 2025 01:58:59 -0700 (PDT) Received: from puffmais.c.googlers.com (8.239.204.35.bc.googleusercontent.com. [35.204.239.8]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-5f0880a535fsm637614a12.80.2025.04.03.01.58.59 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 03 Apr 2025 01:58:59 -0700 (PDT) From: =?utf-8?q?Andr=C3=A9_Draszik?= Date: Thu, 03 Apr 2025 09:58:54 +0100 Subject: [PATCH v3 02/32] dt-bindings: clock: samsung,s2mps11: add s2mpg10 MIME-Version: 1.0 Message-Id: <20250403-s2mpg10-v3-2-b542b3505e68@linaro.org> References: <20250403-s2mpg10-v3-0-b542b3505e68@linaro.org> In-Reply-To: <20250403-s2mpg10-v3-0-b542b3505e68@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-20250403_015901_311577_3AA78E39 X-CRM114-Status: UNSURE ( 9.72 ) X-CRM114-Notice: Please train this message. X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org The Samsung S2MPG10 clock controller is similar to the existing clock controllers supported by this binding. Register offsets / layout are slightly different, so it needs its own compatible. Acked-by: Stephen Boyd Acked-by: Rob Herring (Arm) Signed-off-by: André Draszik --- Documentation/devicetree/bindings/clock/samsung,s2mps11.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/Documentation/devicetree/bindings/clock/samsung,s2mps11.yaml b/Documentation/devicetree/bindings/clock/samsung,s2mps11.yaml index d5296e6053a1881650b8e8ff2524ea01689b7395..91d455155a606a60ed2006e57709466ae8d72664 100644 --- a/Documentation/devicetree/bindings/clock/samsung,s2mps11.yaml +++ b/Documentation/devicetree/bindings/clock/samsung,s2mps11.yaml @@ -25,6 +25,7 @@ description: | properties: compatible: enum: + - samsung,s2mpg10-clk - samsung,s2mps11-clk - samsung,s2mps13-clk # S2MPS13 and S2MPS15 - samsung,s2mps14-clk From patchwork Thu Apr 3 08:58:55 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Andr=C3=A9_Draszik?= X-Patchwork-Id: 14037181 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 6C610C3600C for ; Thu, 3 Apr 2025 09:06:26 +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=TTxYh5RL8tOeSvhD/5hLspaDOdxe6ZuNdEjOA1UzBwY=; b=LRHBmZxoZhRIUJkIXxhkwGZWws yKdpuYwSGsFO6EYEyxoOAT+458Eb9jQ0KOQlz95HwGBW58E9rz/hyhO4l6sm/rRT2jApKUvzCjwhm nUb7QL96xSm4PXYaelcYB/CGfzhTeW8lBk8nvQ+/Cb27KPuRov4kmrJYoP47b9SgQ4YdjMd8r8Lzt bYC3qJqLhQ18kQi4y1aTYuSShYm3W3zrgkrESWBICidr4NEz2VMEhF1qyU+eXgHeQCL10938Ljae/ 5RJj54NLjw3+7BOU52c3cmxzV/VMN/Gnum9cF2PROHLtfC3KcG0u1EVwLoLy5FQzatOBwISjTAww2 ggCm5z/g==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98.1 #2 (Red Hat Linux)) id 1u0GWa-00000008LMT-3xbz; Thu, 03 Apr 2025 09:06:12 +0000 Received: from mail-ed1-x52b.google.com ([2a00:1450:4864:20::52b]) by bombadil.infradead.org with esmtps (Exim 4.98.1 #2 (Red Hat Linux)) id 1u0GPe-00000008JfV-25dc for linux-arm-kernel@lists.infradead.org; Thu, 03 Apr 2025 08:59:03 +0000 Received: by mail-ed1-x52b.google.com with SMTP id 4fb4d7f45d1cf-5e8be1c6ff8so1319043a12.1 for ; Thu, 03 Apr 2025 01:59:02 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1743670741; x=1744275541; 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=TTxYh5RL8tOeSvhD/5hLspaDOdxe6ZuNdEjOA1UzBwY=; b=MPQBOxbnwR/niNT1mpIR0pALfOXs8212DoxYzdk1zof4aDtR15U7PCkuLsDmyemiCI tGYKJ2gQtiEdmM+2tXe9t/CtBJmI9JERnZCEjTmQgaNybQHXPjEyPruUgpK/a8Bx4qdf KN7XOXC+lroZllIfvEa168oq0zhwATyFkZOCChJM9y9u4pzXon8DSoymZHEmy0FXMwQI jOLbnjFeg/M9w/6aLJ+eE5K4PzkCdvcGkdw9mp3dh+lVN8/psAssoLZOqousbfIKMAjO z2MLXGe+B7qva6kZdeMN1gm6XTX+cEbCA24qhJg5t30qkBBKeYYk/C8f9dlR3PbrOyZ7 FESA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743670741; x=1744275541; 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=TTxYh5RL8tOeSvhD/5hLspaDOdxe6ZuNdEjOA1UzBwY=; b=rQvnRnmcVj+oUcwSWBYrghQYLa4ykI0PBW2PE/9L8327Ydc3n/p41rlxf2tPhb3gF6 DimNVu4Foel1QDXG/CVLptbUGhCpR7YCkz6dIYpIzr/1KfDc/tdUa0/J99qOunAqyWaC 8QNpqU9CTvzDiCRy9Kaw4wliqOu0nKJ5dXm6NAGNDnnqhqhymOv0plANML3ymmRamRyp hcHbdHJordlRkP391Ft31WgX611NTLE1hB06RAxdSxz3GXZHtyZSWxZL53G+q1oB9bba 3U/IzaBVJDw1sPn9BF4Fl0HN2TzB6x1ElAYRHroDzHURhUZHb056ibs1TMIXvalQE5ws PAaw== X-Forwarded-Encrypted: i=1; AJvYcCVg9KzxtTPLlZRplEyfvHHXc2lslvNAyTy3rEFvWofX9xa5oR6Gj99Yj6unmAfy4aoTzbxcuokO8dlAcC/XZ+x1@lists.infradead.org X-Gm-Message-State: AOJu0YxHISXfuvlEgoLUT7Gr3CDByKEFydWDLNn/QCh/mowlJEyRdYx0 KqEKH0B9ADTTCkma3x4XVaOVdf9UbkBinJ6uSPyKWPREer3bOubzURF9xQHwZW4= X-Gm-Gg: ASbGnctiZxMZQrZ/jS11hte+MqTbtkY0l52xCAGihuXshr+U7qz2EC5r68UKylf8fuk eGJ8Q+Lsa45YeY5kKUsWfftXB81Z5UvSkzRaaUAVU23YjdtWEaXspWh78kSjtNJ3fGsyEJxWY6b ZrXlOO95XFwt/ukbaGgky6CQPYOn0c9TUcD9xzju0c3M5WHu+hkWo9D8cYdOsUydfmZP8EZzkgg grvoiz7J1DFbO70SBYTVXdMHsGOyXJtbpuwqIHqRmyi4zSfEZ1YtjkPbIzMxCD5BRD1okIiU3RQ 05ACXh9n85Phc3zThHEEro9AZN16UAR5U7n1Ea8rPTqnF8YblwyMLliWQaAeXJqP3SwnHqY35sE kFcVoyIg/A4WKpa6GhPvXUoyMKaMc X-Google-Smtp-Source: AGHT+IGqS+cHosPp545QR90MaWlJ7FylDhKCGqpl/xjJ8Dzzg8KkweIQ6IAoK4HbqAdErYyQhuV36w== X-Received: by 2002:a05:6402:3229:b0:5ee:486:ea34 with SMTP id 4fb4d7f45d1cf-5ee0486ebc0mr15642777a12.34.1743670740725; Thu, 03 Apr 2025 01:59:00 -0700 (PDT) Received: from puffmais.c.googlers.com (8.239.204.35.bc.googleusercontent.com. [35.204.239.8]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-5f0880a535fsm637614a12.80.2025.04.03.01.59.00 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 03 Apr 2025 01:59:00 -0700 (PDT) From: =?utf-8?q?Andr=C3=A9_Draszik?= Date: Thu, 03 Apr 2025 09:58:55 +0100 Subject: [PATCH v3 03/32] dt-bindings: firmware: google,gs101-acpm-ipc: add PMIC child node MIME-Version: 1.0 Message-Id: <20250403-s2mpg10-v3-3-b542b3505e68@linaro.org> References: <20250403-s2mpg10-v3-0-b542b3505e68@linaro.org> In-Reply-To: <20250403-s2mpg10-v3-0-b542b3505e68@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-20250403_015902_535135_096C958A X-CRM114-Status: GOOD ( 11.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 The PMIC is supposed to be a child of ACPM, add it here to describe the connection. Signed-off-by: André Draszik Reviewed-by: Krzysztof Kozlowski --- v3: - drop '$ref' and 'unevaluatedProperties' from pmic subnode, use 'additionalProperties' instead (Krzysztof) - add some regulators to examples since s2mpg10 requires them as of v3 --- .../bindings/firmware/google,gs101-acpm-ipc.yaml | 35 ++++++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/Documentation/devicetree/bindings/firmware/google,gs101-acpm-ipc.yaml b/Documentation/devicetree/bindings/firmware/google,gs101-acpm-ipc.yaml index 2cdad1bbae73bb1795eccf47e1a58e270acd022c..9785aac3b5f34955bbfe2718eec48581d050954f 100644 --- a/Documentation/devicetree/bindings/firmware/google,gs101-acpm-ipc.yaml +++ b/Documentation/devicetree/bindings/firmware/google,gs101-acpm-ipc.yaml @@ -27,6 +27,15 @@ properties: mboxes: maxItems: 1 + pmic: + description: Child node describing the main PMIC. + type: object + additionalProperties: true + + properties: + compatible: + const: samsung,s2mpg10-pmic + shmem: description: List of phandle pointing to the shared memory (SHM) area. The memory @@ -43,8 +52,34 @@ additionalProperties: false examples: - | + #include + power-management { compatible = "google,gs101-acpm-ipc"; mboxes = <&ap2apm_mailbox>; shmem = <&apm_sram>; + + pmic { + compatible = "samsung,s2mpg10-pmic"; + interrupts-extended = <&gpa0 6 IRQ_TYPE_LEVEL_LOW>; + + regulators { + LDO1 { + regulator-name = "vdd_ldo1"; + regulator-min-microvolt = <700000>; + regulator-max-microvolt = <1300000>; + regulator-always-on; + }; + + // ... + + BUCK1 { + regulator-name = "vdd_mif"; + regulator-min-microvolt = <450000>; + regulator-max-microvolt = <1300000>; + regulator-always-on; + regulator-boot-on; + }; + }; + }; }; From patchwork Thu Apr 3 08:58:56 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Andr=C3=A9_Draszik?= X-Patchwork-Id: 14037182 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 2CB18C3600C for ; Thu, 3 Apr 2025 09:08:12 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:Cc:To:In-Reply-To:References :Message-Id:Content-Transfer-Encoding:Content-Type:MIME-Version:Subject:Date: From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=eMxQ7UQKMt0+Oaxy9pEE80XpNTXV7CL+WPCOZ4uzjjQ=; b=roTZx0l3PQLdsmSwWbkdb4iTqc OWN4mRpTndHk8dbbkpPaoWB9PVAycbYOHGVU6WH2yid3NOOgj265e7frH9vouXdGGmKAm94K9okFw ibEklI8esvU9hJw6QLi42mYylU31SNw4zGGYpVmHHq5545qakcM6AJjJSxn6vghv3a9VPg76bP3s3 HsebLNbzmeoAdKjOmfBOcFvHPPolQnWHH+eOcQvz6COzBn56DHRtSt/eXvUhztKEjdVCtORocCC9N xZK48gIUGxPwHInt8bYC3xAaisgoUGEPieESrinmJZG8q2pyU7wFy8yaVP2+phdHmP9cLJyrcgwsy R6Z4r5Cw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98.1 #2 (Red Hat Linux)) id 1u0GYK-00000008LiB-2mlD; Thu, 03 Apr 2025 09:08:00 +0000 Received: from mail-ed1-x530.google.com ([2a00:1450:4864:20::530]) by bombadil.infradead.org with esmtps (Exim 4.98.1 #2 (Red Hat Linux)) id 1u0GPe-00000008Jfc-46cm for linux-arm-kernel@lists.infradead.org; Thu, 03 Apr 2025 08:59:04 +0000 Received: by mail-ed1-x530.google.com with SMTP id 4fb4d7f45d1cf-5e61d91a087so1167685a12.0 for ; Thu, 03 Apr 2025 01:59:02 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1743670741; x=1744275541; darn=lists.infradead.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=eMxQ7UQKMt0+Oaxy9pEE80XpNTXV7CL+WPCOZ4uzjjQ=; b=U0VWaYPBfkbEha42lEoFDRc7pEkAOFPzsBRk0wnl+jwqllJTFgpeyVGuJDl4INqo/V qNDhdF2RjgeuHj7X4Mmn8DTVdLU7LBFFaq7qAT9SuayKMkLUc6XFjTS18bOAsz8FgZ0J gwWUtkUEp6u85fRhdarK/Z6TmKOsBCIoFawAUEbXKltWQUNl4RpgwWpYBn2eqyNFIDPA Ww4k1b3Z7z2joYV9gfmDMwBbDmWa3LMzcaLH/aJQ3b/G2vYS1vFptuhpX91K7qV6rrq/ dhNM+vEHSxLzfCLOO8SEUcNwMmTaSUrwwS/8K7SfbAK2Dp6LZj3Bsxjd0MMzhnSNfvt5 NKzw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743670741; x=1744275541; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=eMxQ7UQKMt0+Oaxy9pEE80XpNTXV7CL+WPCOZ4uzjjQ=; b=D789G46ToRVNsvFB5ghU26cQ0g6AgvwDm7Qw+TiugXZT+Li5KFn1LXmyDM63p0gS2X yskQFVAS8dXNEjaDVFpgLfXBxbtIOe3LLanymDDfI8+AD4QcZnsDeEHJcCPUBR2I/NKc QUaNtiHc5fxkKuBuNrBCzzKtQEW5IQWwCza92K7nRdM8p9T63JJiMrUG9fJJbvvEFQ5/ WHJUyL3ZxiVPEoSYA7vRdQ7mJzGoQlbmARMA6P0XCBKxBQpqtO6akjjFxPmdHQt5+cCS XEl+t2EBnMtYzYE2WKKJxnokqvd1PE4eMUEZDcYk+ztfOScNb7fxDyuNb7QC6gxZ03gZ eQfQ== X-Forwarded-Encrypted: i=1; AJvYcCWfN+kkqb5VZ47jSOp33C3IlbKNTCuFF74XxDzf3c8ynl76d0LcGZVVK2Ftzx/0Yh/hzHk6aeAPyUnOOIN9brup@lists.infradead.org X-Gm-Message-State: AOJu0Yyd9G2ATrf1ugJf/F8eKqv38p6/QbjXNhPYIS7TQ9wPjKVypdMW m5jpz8sHnVoW0sTsbfo8Fe6y4tiZ1a57vkJZEWgk4AZLxe5EjRj9/7uDDchd1/E= X-Gm-Gg: ASbGnctMWrSOMIaQCb2/MSzdyYv82/dz9hwHhkjM7m7BUaJJkAUyTZyyFjLDu2BZjIk Cf9cK9U8jUR13nAPaG+Mc0NIzXEfRu7WVKJWuywofRg9BW7hkYnAHr4VhngOT9bN4B5ZgbkjeP3 +dWZ84OI4DIyuaxEqksGEOPbwq7l8T8KM5sX1ODbH2fmboi1z7VaPXiZxnlGB8HEDnVl17A8ev1 bX+J/aCsx/dw5c035eqgR31z2UeiU/KXO0+O6mVCJZ5vgoFimoPKShNRwOk790/3t+ug1s5arpv 7Oja2iX8MeN1nNRjqmZgFLpus0F2jpXAWlPW72elPR/KKWxF6mX4LfFtCvC21fIP9E3ViN27eh2 dSMPN0UriLAVPb2JpEQg8ZJ3sR2+3 X-Google-Smtp-Source: AGHT+IHQrHf12EJNK/p+81ZjxQhmjVXLedkpjwoD4qMiwxw3fr2xU8zdguaJrZmoo26ZrVzwsXGVGA== X-Received: by 2002:a05:6402:2802:b0:5ec:cd7c:de55 with SMTP id 4fb4d7f45d1cf-5f08717ff38mr1640036a12.17.1743670741481; Thu, 03 Apr 2025 01:59:01 -0700 (PDT) Received: from puffmais.c.googlers.com (8.239.204.35.bc.googleusercontent.com. [35.204.239.8]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-5f0880a535fsm637614a12.80.2025.04.03.01.59.00 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 03 Apr 2025 01:59:00 -0700 (PDT) From: =?utf-8?q?Andr=C3=A9_Draszik?= Date: Thu, 03 Apr 2025 09:58:56 +0100 Subject: [PATCH v3 04/32] mfd: sec: drop non-existing forward declarations MIME-Version: 1.0 Message-Id: <20250403-s2mpg10-v3-4-b542b3505e68@linaro.org> References: <20250403-s2mpg10-v3-0-b542b3505e68@linaro.org> In-Reply-To: <20250403-s2mpg10-v3-0-b542b3505e68@linaro.org> To: Krzysztof Kozlowski , Lee Jones , Rob Herring , Conor Dooley , Sylwester Nawrocki , Chanwoo Choi , Alim Akhtar , Michael Turquette , Stephen Boyd , Russell King , Catalin Marinas , Will Deacon , Alexandre Belloni Cc: Peter Griffin , Tudor Ambarus , Will McVicker , kernel-team@android.com, linux-kernel@vger.kernel.org, linux-samsung-soc@vger.kernel.org, devicetree@vger.kernel.org, linux-clk@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-rtc@vger.kernel.org, =?utf-8?q?Andr=C3=A9_Draszik?= , Krzysztof Kozlowski X-Mailer: b4 0.14.2 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250403_015903_044971_E2FD2627 X-CRM114-Status: GOOD ( 10.20 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org sec_irq_resume() was removed in commit 6445b84abf91 ("mfd: Add s2mps11 irq driver") and sec_irq_exit() in commit 3dc6f4aaafbe ("mfd: sec: Use devm_mfd_add_devices and devm_regmap_add_irq_chip") while the prototypes were left. They should be removed. Do so. Reviewed-by: Krzysztof Kozlowski Signed-off-by: André Draszik --- include/linux/mfd/samsung/core.h | 2 -- 1 file changed, 2 deletions(-) diff --git a/include/linux/mfd/samsung/core.h b/include/linux/mfd/samsung/core.h index f35314458fd22e43fa13034439406bea17a155c9..b7008b50392ab857751b89e0a05d2c27f6306906 100644 --- a/include/linux/mfd/samsung/core.h +++ b/include/linux/mfd/samsung/core.h @@ -72,8 +72,6 @@ struct sec_pmic_dev { }; int sec_irq_init(struct sec_pmic_dev *sec_pmic); -void sec_irq_exit(struct sec_pmic_dev *sec_pmic); -int sec_irq_resume(struct sec_pmic_dev *sec_pmic); struct sec_platform_data { struct sec_regulator_data *regulators; From patchwork Thu Apr 3 08:58:57 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Andr=C3=A9_Draszik?= X-Patchwork-Id: 14037183 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 4606AC3601E for ; Thu, 3 Apr 2025 09:09: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=zvnZunCYyaEwV4fUoehy+lbIydvSzIujDoR6jNNiKRw=; b=eEf2NWjKxqzjD1qJ8fMzlWNvEN czZYbVkuzBbCmCQGp/OI4I7GKobq+B5iyzOf0EPd5lLGp5LpPsofiIcVm1NRLMkiQhp13zMW1gg3Q OxfS5K8cOBPy7ZP2WrsEuWYnrPbXIKB1G1LB9YRbLbRQlESbmucOkvLijSFYq92saAtzkBNhFqbsf Tgk0p6qqROAdn5PNwo/YY9o3RsYnb3eN87nLb5dkgMz1O2pQFCLaw4VqsoeIVyvERWxZTTA+dDE4t B4HFMtNtS2NGTVsx3JzkzsvLC0JZSx64WtXtn1iI7vkeF/taDuVVhdq4xpDGi25fuE2aCooDX8KD3 ejyWk0Jg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98.1 #2 (Red Hat Linux)) id 1u0Ga4-00000008M4j-2sjQ; Thu, 03 Apr 2025 09:09:48 +0000 Received: from mail-ed1-x530.google.com ([2a00:1450:4864:20::530]) by bombadil.infradead.org with esmtps (Exim 4.98.1 #2 (Red Hat Linux)) id 1u0GPf-00000008Jg0-2KVk for linux-arm-kernel@lists.infradead.org; Thu, 03 Apr 2025 08:59:05 +0000 Received: by mail-ed1-x530.google.com with SMTP id 4fb4d7f45d1cf-5e66407963fso1295759a12.2 for ; Thu, 03 Apr 2025 01:59:03 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1743670742; x=1744275542; darn=lists.infradead.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=zvnZunCYyaEwV4fUoehy+lbIydvSzIujDoR6jNNiKRw=; b=PuLbiypGZH0LpEoNc8KOZkSP6SRExNwFHedQPEYrhvObprWgQBut3Q64HmRELIlDPd OBfl5pZYJsZg6WvhIqeS+Ljelrg9dTsiNjx4uNGimkKPPOZVm5koPtifXA59xl2b0B8C x6Wrf1bOaTmYpduzzk5H+jpuxsC4PunG88jkdsrZErFBQPITYFPw+kFUwg6dHymJ9Zww 3DKNKfXKnq3tSTUdEPmT8eUZ8FTUyR59IgAMK0BTUAQ7LwugaAFPiYbdG5I7/OcDahd9 wFlj4YDXk74nIZyIg2Q6v5nXpw7Gk8jSMe+Aw7gEsoM6b0wPPUg79J2N7i9UVj13yuS8 8rvg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743670742; x=1744275542; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=zvnZunCYyaEwV4fUoehy+lbIydvSzIujDoR6jNNiKRw=; b=YAGCYHtSj6wOvnN3KwHRNLrKqYhjwoX8Yg0FkRH9t7gdxrB1VK9OvgRB//xwEfKs0A 4Nr9tY0HUVJLbKeA1QTSUEIcSCWnpzB4Syo0bPokd/Qh8WNAd+nWOS5DJNBZR0CSgh/z 7rTHMD8tM2+J0Xi8k58MmoNIxTQiOJK+bzpBB5NqDoXflJ4TVD9/rkOWWmt49sdr0r3Y RonoZ0jdiXfGf65FXbvBvzFaNa+HflL2eIn3G5xjBFtRZmXXoONDSsggqMVP5qGnxw07 ZYJ7ZetzUimeqe7SzBk78ERVKdSeVB/dJo5j1yy/K8lQm4ocbOypxlUDCkBu/K52cITU ufhA== X-Forwarded-Encrypted: i=1; AJvYcCVSfFtI6/vTV4/WAW/6p8i08I8uWteU8j3heZHddl91KbhvRsUdOwrsOCcO8NNu9IltFMf/sO2dmSGwFMqSU/Nz@lists.infradead.org X-Gm-Message-State: AOJu0Yy+o2ceCLYKDgpn8WDBZldvr5vF1YsHnuzgJZceDPfJi70Etudj AgEc2NnTcoJbjB+Jf7xMSJI+N1xih6JDAeWI7lYbhlK5vMpuH38xuBDcDrqu4X4= X-Gm-Gg: ASbGncuqwqvRcEAkzkWDOgW8uHTM9mbRXBoVQ+0uezEL/K11CFtxN49kj8ZR7szebw6 slrelTsv1J0c2lElf0SLTELThfY42Wy3VVZORxhBdOCQ8A1vRuy04iJ+gM9ygtKOk2/31lJp6lz 1tYwJI3PV+IuFcawCEXYxN9cSGEJtx3Ip+m6k7Ys4xkhUtweL41DBvSeKQs7h8JmPra8a+DGh0B W1NS+lI5Pnjg+0tmT6D7L23N2pUr4ac5q56cuV13EWxxRBaH08/Lm48lFP/vrrxrOU7zsilWvNe WJh7pAjM7dFKtDATIt5GMYpx4ck8625wPuYb1WH/MJmYfewZAPnwKuGpQc6Nv9P9NeH04jGodxD OSqC+bnPmWVwzYYz6vlbbObQnKYfK X-Google-Smtp-Source: AGHT+IHLPvSEymTsQ03JgORzrfz3sWcW5LSP8Sp0KzcMY46wC//GzsWqGdq35W45MXKHrK74iEdBWA== X-Received: by 2002:a05:6402:51ce:b0:5ec:f769:cfa1 with SMTP id 4fb4d7f45d1cf-5edfdd155cfmr14720447a12.29.1743670742249; Thu, 03 Apr 2025 01:59:02 -0700 (PDT) Received: from puffmais.c.googlers.com (8.239.204.35.bc.googleusercontent.com. [35.204.239.8]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-5f0880a535fsm637614a12.80.2025.04.03.01.59.01 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 03 Apr 2025 01:59:01 -0700 (PDT) From: =?utf-8?q?Andr=C3=A9_Draszik?= Date: Thu, 03 Apr 2025 09:58:57 +0100 Subject: [PATCH v3 05/32] mfd: sec: sort includes alphabetically MIME-Version: 1.0 Message-Id: <20250403-s2mpg10-v3-5-b542b3505e68@linaro.org> References: <20250403-s2mpg10-v3-0-b542b3505e68@linaro.org> In-Reply-To: <20250403-s2mpg10-v3-0-b542b3505e68@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-20250403_015903_598260_BB066252 X-CRM114-Status: GOOD ( 12.14 ) 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 Reviewed-by: Krzysztof Kozlowski --- 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 Thu Apr 3 08:58:58 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Andr=C3=A9_Draszik?= X-Patchwork-Id: 14037184 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 8BAEEC3600C for ; Thu, 3 Apr 2025 09:11: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=+XJ0BnP9OZ8bJehCr0mEgQXneIq2z0WdureacdI7Rno=; b=HPuYw9fzfhJASkq6WeJuIZSRbu ecz28qSAOYYZzC8UeLLXSbWPYn/hYs1NSfs3RrnV1oRoIkTt1m1w5ikdKW07xNCcfvDrNRfRDfHj7 PdqQ8FiqVdnIxAZUnKOu91vWIMQcJPbUhI0jZ75vbz3pWLfeNe7Xj9uEC7Ecdd5sethDbTuQ2dKAd fz5jz5U4YwmoxmVJj72N6ehLsOk+z9QH//l+ZLJvyOFi2Yo2gcijTsoHro8VN24a8cMDLxIcFYute QdbX41BXzzt98IcpxkilNeJdtaghpS2l8E30HOlBuuGVX660lzevdetrkbRyjUjivc9ux/iTXjuj5 bTuWLOvw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98.1 #2 (Red Hat Linux)) id 1u0Gbo-00000008MPn-2EHr; Thu, 03 Apr 2025 09:11:36 +0000 Received: from mail-ed1-x52a.google.com ([2a00:1450:4864:20::52a]) by bombadil.infradead.org with esmtps (Exim 4.98.1 #2 (Red Hat Linux)) id 1u0GPg-00000008Jh9-2CwF for linux-arm-kernel@lists.infradead.org; Thu, 03 Apr 2025 08:59:06 +0000 Received: by mail-ed1-x52a.google.com with SMTP id 4fb4d7f45d1cf-5e6c18e2c7dso1252454a12.3 for ; Thu, 03 Apr 2025 01:59:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1743670743; x=1744275543; darn=lists.infradead.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=+XJ0BnP9OZ8bJehCr0mEgQXneIq2z0WdureacdI7Rno=; b=hJXbgDwpq9VK0z3q2ttJj0iRWwER/1a/gNJw8h83HWrWLO3SdFJnHvXUdHZiLmrsgh 5RaM5mwrhPSH3DoDO+C3iAbzhGIzskkIi4pOOnEymEOEo3OdkZyS6wZeDtgdoBkSQK/0 4GsaidWEV6gq+hgcPeAGscMMVzDYlcBEQ2hE5t490AbecmY7TdPEAroE9HvOyFgi1iO+ 2eNFLYeIJAskD0JbkQRjJOK3FWhYwufBxdcaTiCMhWcQugw+qdoPuScdRejoL2+o5Nd3 4AwLQ0bH3bsnPep74d2lJwKnF8uj0mrBeWgdI6KNs0C8yFOQYM0htb10fTXDPzomvZ43 /EEw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743670743; x=1744275543; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=+XJ0BnP9OZ8bJehCr0mEgQXneIq2z0WdureacdI7Rno=; b=TXbMP3lz63NaJtrU9QvGEe78Jzy2jGqLMqxTukF3ft3y6muNBwHHjgQPGqJV8RT7JG 7OKZHCyTr22lyoeRcZI+t6SM+sN6xbSMV8y0JNMVTLhUE79h3Oeb10mgdodeKniwVMgp 13gX2HM8fj2ISWUr1094HbrehbNwQtWOtWb25oSV6REg6yMSbPccvJQO1xBORXDPMdFN /b8KpyuchbZAsrnLfefdC3dqs07RM65STUpUTpNEuUpTB1/TENDUuiDvDmvtfh67bfr4 fwwifVHn9Khaa1pwmPdIac218WcadbKCgpo5cdV/OHzPbq0bamGsEzrgiFs22TarA0z3 1lcA== X-Forwarded-Encrypted: i=1; AJvYcCVPmbnjMCnIj4F+MTZANARI2NVkLWQ/v8kgoIVR8+oJ7RdxzAzp6jPBo1Z82pB3EXED7jnDUJYgIiISN35RPgFH@lists.infradead.org X-Gm-Message-State: AOJu0YzSsv4rLlu8kZANLNhMsJNllyilVkuCmDdBxgPO0DaLIw6cPbYL jwuqD/BoeqgaD+tq8s9nWeaDweF134Uy0AxAt8b21Mv1st1FJ+2DJ94zT2CoH04= X-Gm-Gg: ASbGnctYVJP5D+JRbGhaiCsy45OysjrzlFwPPOzNehLR9acEvZa+JC1N1VhhETOkMtS OfIJYcfCHEXqmXjzTIFxQiENKMf45GZOXDY3MMgS5/rFpMPPnwFEj4aQznMcb2Q2poQAy87fkQv xoK4EE9xE792E8bEQHaac8jXaW4FjhpFX65Trth/ABhwbOTJzq9Gc7B1bhlBPZRpS6/V828dgBW kI6Sdr7YTfe/D120J7QAj68rD30FJlR7Y4Bq7RusTs0RyhjA++SVGsKc/XDCySCksv3obxMD5/a u8FUQKA8zFVn2V3EKd5XwPbtSJEuUki/34aEqja8ucGje5k1hhf1UZ6IGN/yYjRdOxBzhQGzI+Y Q+FE2jct/VBveXG4HRkxaqJthl9Df X-Google-Smtp-Source: AGHT+IGkZPSWp4lu5rUJK3n+QeS/CEFX/u4+R1iSLBAES5mqBRreTDwkWOuPbVChNdfUaTLO5xi3fg== X-Received: by 2002:a05:6402:278b:b0:5eb:4e69:2578 with SMTP id 4fb4d7f45d1cf-5f04eaceb11mr4573614a12.13.1743670743004; Thu, 03 Apr 2025 01:59:03 -0700 (PDT) Received: from puffmais.c.googlers.com (8.239.204.35.bc.googleusercontent.com. [35.204.239.8]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-5f0880a535fsm637614a12.80.2025.04.03.01.59.02 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 03 Apr 2025 01:59:02 -0700 (PDT) From: =?utf-8?q?Andr=C3=A9_Draszik?= Date: Thu, 03 Apr 2025 09:58:58 +0100 Subject: [PATCH v3 06/32] mfd: sec: update includes to add missing and remove superfluous ones MIME-Version: 1.0 Message-Id: <20250403-s2mpg10-v3-6-b542b3505e68@linaro.org> References: <20250403-s2mpg10-v3-0-b542b3505e68@linaro.org> In-Reply-To: <20250403-s2mpg10-v3-0-b542b3505e68@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-20250403_015904_564245_181AB16A X-CRM114-Status: GOOD ( 13.18 ) 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 Reviewed-by: Krzysztof Kozlowski --- 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 Thu Apr 3 08:58:59 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Andr=C3=A9_Draszik?= X-Patchwork-Id: 14037185 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 7307BC3600C for ; Thu, 3 Apr 2025 09:13: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=6nQmrd18TxOApmP9ZbnJeIx1ckVKc9UGQ9P+sqT3y24=; b=YM6F3vi4sarFJXgMh2MVHLmgyd uaVkh3SZKPnnXonUQivD84bL4iNLam2qAM3uhsQjpseKh7lOkVQLAfJVRjwJimKluWfMQY3mrosYM 4VcfDItgr13DXa0G/NCiuXViHj4oKxjxgSeCiVu7Nx3Jb/rOn0FLcklzxJDzgpEHdqamGuCKdT/O/ yhp2Yk32ceUYUJosAp5d5g3KV73RJhwGPqNCrnP5b+DxMI/BJywHEqGI1CeUSjFoOXM6S03ascG/5 gDkIxdHhy1JRHIMyJuADXXZP0OLt8eZ/uAhnO/hK2WO5CsoeH55g5q2BnP+eIOhyfMz/K1dCGvjVQ keV/tv+g==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98.1 #2 (Red Hat Linux)) id 1u0GdX-00000008Mjl-1rpv; Thu, 03 Apr 2025 09:13:23 +0000 Received: from mail-ej1-x62c.google.com ([2a00:1450:4864:20::62c]) by bombadil.infradead.org with esmtps (Exim 4.98.1 #2 (Red Hat Linux)) id 1u0GPh-00000008Jha-26si for linux-arm-kernel@lists.infradead.org; Thu, 03 Apr 2025 08:59:06 +0000 Received: by mail-ej1-x62c.google.com with SMTP id a640c23a62f3a-ac41514a734so109025366b.2 for ; Thu, 03 Apr 2025 01:59:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1743670744; x=1744275544; darn=lists.infradead.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=6nQmrd18TxOApmP9ZbnJeIx1ckVKc9UGQ9P+sqT3y24=; b=HQptpIWkRCJJQLS+SJuqAB9+6PswcNgUn3o9RSuu7qzN/e5EqqW+tKN8QLGBsOwFlC acsVPUkcmnzSXy2hQnwegfawYzFjYsV54ADeFsOn3PYLBQkzbEoOHeTxX947cdNUA1Dj 4EOfqIpzbPOZn8Q23+S+vMBww5MW7nrks52sWrBXiGZ91fu6O5COn1Wqs90ED+95nJ0O mzzrphJjBioWgGdhGyvGzDBQs4/bnWq406qLkPl2kPsDhT5zlSv0smqmAtYWRy3ecT6L a791iUX7cE18/sIiYM9jeDMZDIrfAujswAM66TzaVTCycNikMK7hr8+bAnxROvqWUINt plHw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743670744; x=1744275544; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=6nQmrd18TxOApmP9ZbnJeIx1ckVKc9UGQ9P+sqT3y24=; b=ZtDZm3hqUeiytUizf7Q2kM+/FNDxlRtmz1SpawD8VhNVbELlDfc01HUuScDFr2fMod GHDtn1FGDisb9kpu5lneI9veGSW7aztOpIvVQu2lswltebulLgrmQSr3GsMk1ffpGOXY YqkW6qAFU/NmCVjrkSBDFBkHIACpRuTd2QwPVHvJEGSIKzVNu4UT98cDY8J6jO/zWsma 3QlVSbC1wD79OmgJKsSfzZBRvxrJ+Qky2IxNK6Wi/uDF96Pc/EAKh7XRwWojKdOx9IQW YDcgQ16QSSTvyKnX7fhOums8pGhUIKhsUdr4Lo4dL2dZc4xUltDzKYkjH65BqupIi1K/ QD3A== X-Forwarded-Encrypted: i=1; AJvYcCWFOWyxAjGJo+gNmcKYdsWZSMFywkEkFUrgwgIh/XzjGQ1k1fI5S+X/gH/KUhSNb06gf4hxpDComQLpXKUfLg5t@lists.infradead.org X-Gm-Message-State: AOJu0Yxzwprpeb3D0nOoXgcBnnhUUMzd7BSqQiHbLGK1I9xlsfBf3WSk 5aHXMQiQJynC5jhEEyVVfC5oPlL8Khtqm4soEf3lBXmMaZuxF2Dh+ABCD5hUMQY= X-Gm-Gg: ASbGncsZYZzNoDOWnuisBQw4LkKVeUlk5/4SogoVnGEeYzJ9oZuZIIFSRV72JjOD84x HiSLNhmfMtuvKnRZhrAF0jrs+aVk3BA5Ukb9h66T0ef13/cVTzXkIZrV6IP4BN3zHS8qlCbnLkt sRmd2VxYbMDjU5Dp2QDiCaDxJWg69BdZGvEjAQNpQ4z4lG5mxAMU2bdmvHUnoUMhLV1bJksrsz0 KFcni2cTwrY5LDcaUS7XnVgZBtUsIsaxI1ceaf2gT7d1kkEpoT8eOQPQrCop4G7d/zYEECUu51L iqEx8o7mvZ9veYvQgR1INqNJk9QmFPJfvMEy9zCk9bXZwM8KDZfOwvM+wAZ3m2MKPv63aPzEqmA Rjm1wmVNG6fATf1S0SLd7o3Efey8h X-Google-Smtp-Source: AGHT+IGIWTCEvGgQQzD/67aqQ+onG4uBURQ37h1HwUWRbYYu+VD7A44v+HEWQ+TW3vqt1mLDE4QMoQ== X-Received: by 2002:a17:906:c153:b0:ac6:fcdd:5a97 with SMTP id a640c23a62f3a-ac7a1972b9emr446196566b.48.1743670743773; Thu, 03 Apr 2025 01:59:03 -0700 (PDT) Received: from puffmais.c.googlers.com (8.239.204.35.bc.googleusercontent.com. [35.204.239.8]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-5f0880a535fsm637614a12.80.2025.04.03.01.59.03 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 03 Apr 2025 01:59:03 -0700 (PDT) From: =?utf-8?q?Andr=C3=A9_Draszik?= Date: Thu, 03 Apr 2025 09:58:59 +0100 Subject: [PATCH v3 07/32] mfd: sec: move private internal API to internal header MIME-Version: 1.0 Message-Id: <20250403-s2mpg10-v3-7-b542b3505e68@linaro.org> References: <20250403-s2mpg10-v3-0-b542b3505e68@linaro.org> In-Reply-To: <20250403-s2mpg10-v3-0-b542b3505e68@linaro.org> To: Krzysztof Kozlowski , Lee Jones , Rob Herring , Conor Dooley , Sylwester Nawrocki , Chanwoo Choi , Alim Akhtar , Michael Turquette , Stephen Boyd , Russell King , Catalin Marinas , Will Deacon , Alexandre Belloni Cc: Peter Griffin , Tudor Ambarus , Will McVicker , kernel-team@android.com, linux-kernel@vger.kernel.org, linux-samsung-soc@vger.kernel.org, devicetree@vger.kernel.org, linux-clk@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-rtc@vger.kernel.org, =?utf-8?q?Andr=C3=A9_Draszik?= , Krzysztof Kozlowski X-Mailer: b4 0.14.2 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250403_015905_549167_9ACBE9BF X-CRM114-Status: GOOD ( 18.24 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org sec_irq_init() is an internal API for the core driver, and doesn't belong into the public header. Due to an upcoming split of the driver into a core and i2c driver, we'll also be adding more internal APIs, which again shouldn't be in the public header. Move it into a new internal include. Reviewed-by: Krzysztof Kozlowski Signed-off-by: André Draszik --- MAINTAINERS | 2 +- drivers/mfd/sec-core.c | 1 + drivers/mfd/sec-core.h | 15 +++++++++++++++ drivers/mfd/sec-irq.c | 1 + include/linux/mfd/samsung/core.h | 2 -- 5 files changed, 18 insertions(+), 3 deletions(-) diff --git a/MAINTAINERS b/MAINTAINERS index 322ee00547f6e494a96d2495092f72148da22bd0..d4d577b54d798938b7a8ff0c2bdbd0b61f87650f 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -21407,7 +21407,7 @@ F: Documentation/devicetree/bindings/mfd/samsung,s5m*.yaml F: Documentation/devicetree/bindings/regulator/samsung,s2m*.yaml F: Documentation/devicetree/bindings/regulator/samsung,s5m*.yaml F: drivers/clk/clk-s2mps11.c -F: drivers/mfd/sec*.c +F: drivers/mfd/sec*.[ch] F: drivers/regulator/s2m*.c F: drivers/regulator/s5m*.c F: drivers/rtc/rtc-s5m.c diff --git a/drivers/mfd/sec-core.c b/drivers/mfd/sec-core.c index b12020c416aa8bf552f3d3b7829f6a38a773f674..83693686567df61b5e09f7129dc6b01d69156ff3 100644 --- a/drivers/mfd/sec-core.c +++ b/drivers/mfd/sec-core.c @@ -23,6 +23,7 @@ #include #include #include +#include "sec-core.h" static const struct mfd_cell s5m8767_devs[] = { { .name = "s5m8767-pmic", }, diff --git a/drivers/mfd/sec-core.h b/drivers/mfd/sec-core.h new file mode 100644 index 0000000000000000000000000000000000000000..b3fded5f02a0ddc09a9508fd49a5d335f7ad0ee7 --- /dev/null +++ b/drivers/mfd/sec-core.h @@ -0,0 +1,15 @@ +/* SPDX-License-Identifier: GPL-2.0+ */ +/* + * Copyright 2012 Samsung Electronics Co., Ltd + * http://www.samsung.com + * Copyright 2025 Linaro Ltd. + * + * Samsung SxM core driver internal data + */ + +#ifndef __SEC_CORE_INT_H +#define __SEC_CORE_INT_H + +int sec_irq_init(struct sec_pmic_dev *sec_pmic); + +#endif /* __SEC_CORE_INT_H */ diff --git a/drivers/mfd/sec-irq.c b/drivers/mfd/sec-irq.c index 3ed2902c3a2634a6ea656d890ecea934053bd192..4d49bb42bd0d109263f485c8b58e88cdd8d598d9 100644 --- a/drivers/mfd/sec-irq.c +++ b/drivers/mfd/sec-irq.c @@ -18,6 +18,7 @@ #include #include #include +#include "sec-core.h" static const struct regmap_irq s2mps11_irqs[] = { [S2MPS11_IRQ_PWRONF] = { diff --git a/include/linux/mfd/samsung/core.h b/include/linux/mfd/samsung/core.h index b7008b50392ab857751b89e0a05d2c27f6306906..8a4e660854bbc955b812b4d61d4a52a0fc2f2899 100644 --- a/include/linux/mfd/samsung/core.h +++ b/include/linux/mfd/samsung/core.h @@ -71,8 +71,6 @@ struct sec_pmic_dev { struct regmap_irq_chip_data *irq_data; }; -int sec_irq_init(struct sec_pmic_dev *sec_pmic); - struct sec_platform_data { struct sec_regulator_data *regulators; struct sec_opmode_data *opmode; From patchwork Thu Apr 3 08:59:00 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Andr=C3=A9_Draszik?= X-Patchwork-Id: 14037186 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 39988C3600C for ; Thu, 3 Apr 2025 09:15:21 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:Cc:To:In-Reply-To:References :Message-Id:Content-Transfer-Encoding:Content-Type:MIME-Version:Subject:Date: From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=4CKjAMiD1RE7RTGUiJe9q7KbEFxCPs59yWp4xXVklQ0=; b=Fu9lqOPJd8nlIa+5TsC1sRiasQ rgU2QZL/pmpe8bR9TNRYPPnPUxqW4+xjLTPHx8ceZ0swQvaTU9BcnpRGuQAWaGGJamQClH4bPgADk A93sN+oR7DdyiHU0k+FDvQFvk1MP1aQNxylCgZSiNwDn77whHnj4PdSGFnzdKrK4waoCHS9s2npSK uV1jy636mU2xOkkdThjLF+h0qRLUtolqowPySqM7AZmxj1e/ticYSu5v3OqRgeVANlkWcTY/bqh5f M4t5CHB6pwiJwpyy4BU08YFZbC/s3dYwiZVFnUsexpPFl5QrGSijLlRmFOq7MxUNcYMjO/bkBHlVV CSTfWZtQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98.1 #2 (Red Hat Linux)) id 1u0GfG-00000008Mx5-1FKx; Thu, 03 Apr 2025 09:15:10 +0000 Received: from mail-ed1-x52a.google.com ([2a00:1450:4864:20::52a]) by bombadil.infradead.org with esmtps (Exim 4.98.1 #2 (Red Hat Linux)) id 1u0GPi-00000008JiP-0Sea for linux-arm-kernel@lists.infradead.org; Thu, 03 Apr 2025 08:59:07 +0000 Received: by mail-ed1-x52a.google.com with SMTP id 4fb4d7f45d1cf-5e673822f76so1167764a12.2 for ; Thu, 03 Apr 2025 01:59:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1743670745; x=1744275545; darn=lists.infradead.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=4CKjAMiD1RE7RTGUiJe9q7KbEFxCPs59yWp4xXVklQ0=; b=L2IR2J9+5xoOWzPCppd8VDUg7J1qsGga42W2OZaqRVD8yCfFOhd3vsFagsFjtVyzUp ZsHPLQuMqoVF1cyYe8NxgzMPu7V6msr9U4184fSBnxHVxubGab9ub8mWsjpU+5kCsPXr WiXu/gJJY1p72R0+xlEFz1K6L57ivdOUQSLdg2B6u34TDigU9kGq8mUX74phcxO/ubXS N4DXimc+JmgbalsOBNA+hZC3URng2kkLc7WctbRHdKKNv+0rqcjgbPt52rJUGHlSA4WH FvD/cig0iiJax3SNhR5lhYUCEEtHgJkIhRpJQBSoZvIP4opw/HEqEmrSNH1JsvfhK0ej I28Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743670745; x=1744275545; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=4CKjAMiD1RE7RTGUiJe9q7KbEFxCPs59yWp4xXVklQ0=; b=htOuscHeADv/3D07fEsCWdsYqfk4HLTKHTRAmaRuNPr2Sn50YUUhNb6w7tx6ozGq9s ztHFuxU2NLPRzEG1lB936+IF+qAAjKjXXV1UJtqQosqpsWkhUofb7md3Goebx6CkJZpZ 6EvU2CnxOZu/Tb71W5NahIkvVvgbMzw5k+tZUzbQJ0MgXkUqRSJqfhQ6KrB1/m77Vca8 8+sLJKuEfVx3j4AE86wZ5ptrHvdx8P3jyPrMVYGeEEsq1bmBLkpeRWEtsebqzeI/rNid p2/b+tTKEvuz8hlgaZ43G/9MBoQFJgDKuejApfn0CihIFtir4RcHPY68Lxz+7rwGRt3q tW+A== X-Forwarded-Encrypted: i=1; AJvYcCXRoTT2scxoKFyIwwGAmZNsWFDd6IW41Cgt9HqTMiZlqlJENVRdM0VXV2vf95KvrB+sIMJVyiPzLuXKb9dY3LUZ@lists.infradead.org X-Gm-Message-State: AOJu0YzLkmGcJcJmlVYJaC3bbWASDPxnPGmgEmAo78ygHb9IAUFthTuh iUdvxN27LMLP3S4H8JfeyZ0lDOuTy7G/uLHz5Se/yzNFxlLvgQe+q2KZsOlnsUw= X-Gm-Gg: ASbGncu9bE/MoyZknVES/goP8liWPE+OT/leODzrsb0IZRjvzjyq+1D3/qXWyOWQe+c ClRBYhhDWh85dRndbmxBw5TGGNc7aN2vHiSMwVLAnp0tRuYfG1zGrNoqV57XNVLYzHTZIeAJLiA S41XcOq6kH0NBDk0VOm7BMLdsAs0nkfYmP5iHNIvJVWh2Zjm8IDIj4sh6mZ3iWMyMjXakRK7kgo 4WgvgG9OGTi+rhH4KdN8W+TD+YIMXsxxgJrcjGb4/czhzx7eI+k8GsU7nsK3r1xYHyrd2m1LymR 1DfRuQX3/vxdAn7TJKC4uMPR59YdTMGth9P5tgp4pSGrtv4qfvb0EDFUXJjy+1UAWEyC6aw6eIW zfaN0BeMr8KaoYFMfmpxZCH+gny+D X-Google-Smtp-Source: AGHT+IGl6BQvkjkQUqwZ3Fr/WtdqH/2OUS2EIBSd7b2JjB+krYkcqp4Vj+iXyq5LNeNuws6JOh+r/w== X-Received: by 2002:a05:6402:51c6:b0:5ec:c990:b578 with SMTP id 4fb4d7f45d1cf-5edfd15767bmr17482441a12.19.1743670744626; Thu, 03 Apr 2025 01:59:04 -0700 (PDT) Received: from puffmais.c.googlers.com (8.239.204.35.bc.googleusercontent.com. [35.204.239.8]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-5f0880a535fsm637614a12.80.2025.04.03.01.59.03 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 03 Apr 2025 01:59:03 -0700 (PDT) From: =?utf-8?q?Andr=C3=A9_Draszik?= Date: Thu, 03 Apr 2025 09:59:00 +0100 Subject: [PATCH v3 08/32] mfd: sec: split into core and transport (i2c) drivers MIME-Version: 1.0 Message-Id: <20250403-s2mpg10-v3-8-b542b3505e68@linaro.org> References: <20250403-s2mpg10-v3-0-b542b3505e68@linaro.org> In-Reply-To: <20250403-s2mpg10-v3-0-b542b3505e68@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-20250403_015906_328799_1D85A795 X-CRM114-Status: GOOD ( 26.14 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org As a preparation for adding support for Samsung's S2MPG10, which is connected via SPEEDY / ACPM rather than I2C, split out (move) all I2C-specific driver code into its own kernel module, sec-i2c, and make the existing sec-core module be just the transport-agnostic core driver kernel module. At the same time, update all defconfigs that reference the old kconfig symbol name. While at it, also update file header comments and module description(s) to drop references to 'mfd', and update comments to be C-style, not C++. Signed-off-by: André Draszik Reviewed-by: Krzysztof Kozlowski --- Note: checkpatch complains about missing help for MFD_SEC_I2C here, but that's a false-positive due to patch context. It also suggests to update MAINTAINERS, but the new file is covered already due to using a wildcard. v2: * split MODULE_AUTHOR update out of this patch (Krzysztof) * keep DT parsing in core, not in transport driver (sec_pmic_i2c_parse_dt_pdata / sec_pmic_parse_dt_pdata) * merge defconfig updates into this patch (Krzysztof) --- arch/arm/configs/exynos_defconfig | 2 +- arch/arm/configs/multi_v7_defconfig | 2 +- arch/arm/configs/pxa_defconfig | 2 +- arch/arm64/configs/defconfig | 2 +- drivers/mfd/Kconfig | 18 ++- drivers/mfd/Makefile | 1 + drivers/mfd/sec-core.c | 247 +++++------------------------------- drivers/mfd/sec-core.h | 9 ++ drivers/mfd/sec-i2c.c | 231 +++++++++++++++++++++++++++++++++ 9 files changed, 287 insertions(+), 227 deletions(-) diff --git a/arch/arm/configs/exynos_defconfig b/arch/arm/configs/exynos_defconfig index 7ad48fdda1dac69a4a9612eabb573729bed7b3a6..251f45be6c14af59263373f21b27b15f42ec7f61 100644 --- a/arch/arm/configs/exynos_defconfig +++ b/arch/arm/configs/exynos_defconfig @@ -167,7 +167,7 @@ CONFIG_MFD_MAX77686=y CONFIG_MFD_MAX77693=y CONFIG_MFD_MAX8997=y CONFIG_MFD_MAX8998=y -CONFIG_MFD_SEC_CORE=y +CONFIG_MFD_SEC_I2C=y CONFIG_MFD_STMPE=y CONFIG_STMPE_I2C=y CONFIG_MFD_TPS65090=y diff --git a/arch/arm/configs/multi_v7_defconfig b/arch/arm/configs/multi_v7_defconfig index ad037c175fdb0ec8601c9b3607aca0c0e5f3c145..7d06ac5369b1a2f325462f2cf5b54fe22061ca77 100644 --- a/arch/arm/configs/multi_v7_defconfig +++ b/arch/arm/configs/multi_v7_defconfig @@ -612,7 +612,7 @@ CONFIG_MFD_QCOM_RPM=y CONFIG_MFD_SPMI_PMIC=y CONFIG_MFD_RK8XX_I2C=y CONFIG_MFD_RN5T618=y -CONFIG_MFD_SEC_CORE=y +CONFIG_MFD_SEC_I2C=y CONFIG_MFD_STMPE=y CONFIG_MFD_PALMAS=y CONFIG_MFD_TPS65090=y diff --git a/arch/arm/configs/pxa_defconfig b/arch/arm/configs/pxa_defconfig index de0ac8f521d7612704ce327e9ac16ab9e999f3d3..064e79baf20da809c9ab1f1fa18282aaba11a41f 100644 --- a/arch/arm/configs/pxa_defconfig +++ b/arch/arm/configs/pxa_defconfig @@ -335,7 +335,7 @@ CONFIG_MFD_MAX77693=y CONFIG_MFD_MAX8907=m CONFIG_EZX_PCAP=y CONFIG_UCB1400_CORE=m -CONFIG_MFD_SEC_CORE=y +CONFIG_MFD_SEC_I2C=y CONFIG_MFD_PALMAS=y CONFIG_MFD_TPS65090=y CONFIG_MFD_TPS6586X=y diff --git a/arch/arm64/configs/defconfig b/arch/arm64/configs/defconfig index 5bb8f09422a22116781169611482179b10798c14..f021fb29683be1a10720d7e6415daea771647879 100644 --- a/arch/arm64/configs/defconfig +++ b/arch/arm64/configs/defconfig @@ -769,7 +769,7 @@ CONFIG_MFD_MT6397=y CONFIG_MFD_SPMI_PMIC=y CONFIG_MFD_RK8XX_I2C=y CONFIG_MFD_RK8XX_SPI=y -CONFIG_MFD_SEC_CORE=y +CONFIG_MFD_SEC_I2C=y CONFIG_MFD_SL28CPLD=y CONFIG_RZ_MTU3=y CONFIG_MFD_TI_AM335X_TSCADC=m diff --git a/drivers/mfd/Kconfig b/drivers/mfd/Kconfig index 22b93631003943c393d9fe704748bc23f1905397..62565dc89ec6d58611bbc1f31c65f757343b6453 100644 --- a/drivers/mfd/Kconfig +++ b/drivers/mfd/Kconfig @@ -1292,21 +1292,25 @@ config MFD_RN5T618 functionality of the device. config MFD_SEC_CORE - tristate "Samsung Electronics PMIC Series Support" + tristate + select MFD_CORE + select REGMAP_IRQ + +config MFD_SEC_I2C + tristate "Samsung Electronics S2MPA/S2MPS1X/S2MPU/S5M series PMICs" depends on I2C=y depends on OF - select MFD_CORE + select MFD_SEC_CORE select REGMAP_I2C - select REGMAP_IRQ help - Support for the Samsung Electronics PMIC devices coming - usually along with Samsung Exynos SoC chipset. + Support for the Samsung Electronics PMIC devices with I2C interface + coming usually along with Samsung Exynos SoC chipset. This driver provides common support for accessing the device, additional drivers must be enabled in order to use the functionality - of the device + of the device. To compile this driver as a module, choose M here: the - module will be called sec-core. + module will be called sec-i2c. Have in mind that important core drivers (like regulators) depend on this driver so building this as a module might require proper initial ramdisk or might not boot up as well in certain scenarios. diff --git a/drivers/mfd/Makefile b/drivers/mfd/Makefile index 948cbdf42a18b22a826f0b17fb8d5796a7ec8ba6..ab6c4b17a391946d4c88f52ccbfee5424b4fb2d2 100644 --- a/drivers/mfd/Makefile +++ b/drivers/mfd/Makefile @@ -229,6 +229,7 @@ obj-$(CONFIG_MFD_RK8XX_I2C) += rk8xx-i2c.o obj-$(CONFIG_MFD_RK8XX_SPI) += rk8xx-spi.o obj-$(CONFIG_MFD_RN5T618) += rn5t618.o obj-$(CONFIG_MFD_SEC_CORE) += sec-core.o sec-irq.o +obj-$(CONFIG_MFD_SEC_I2C) += sec-i2c.o obj-$(CONFIG_MFD_SYSCON) += syscon.o obj-$(CONFIG_MFD_LM3533) += lm3533-core.o lm3533-ctrlbank.o obj-$(CONFIG_MFD_VEXPRESS_SYSREG) += vexpress-sysreg.o diff --git a/drivers/mfd/sec-core.c b/drivers/mfd/sec-core.c index 83693686567df61b5e09f7129dc6b01d69156ff3..bb664e052bf5198f2fc83a86bd6e1e72364fb8df 100644 --- a/drivers/mfd/sec-core.c +++ b/drivers/mfd/sec-core.c @@ -1,23 +1,21 @@ // SPDX-License-Identifier: GPL-2.0+ -// -// Copyright (c) 2012 Samsung Electronics Co., Ltd -// http://www.samsung.com +/* + * Copyright 2012 Samsung Electronics Co., Ltd + * http://www.samsung.com + * Copyright 2025 Linaro Ltd. + * + * Samsung SxM core driver + */ #include #include -#include +#include #include #include #include #include -#include #include #include -#include -#include -#include -#include -#include #include #include #include @@ -88,144 +86,6 @@ static const struct mfd_cell s2mpu05_devs[] = { { .name = "s2mps15-rtc", }, }; -static const struct of_device_id sec_dt_match[] = { - { - .compatible = "samsung,s5m8767-pmic", - .data = (void *)S5M8767X, - }, { - .compatible = "samsung,s2dos05", - .data = (void *)S2DOS05, - }, { - .compatible = "samsung,s2mps11-pmic", - .data = (void *)S2MPS11X, - }, { - .compatible = "samsung,s2mps13-pmic", - .data = (void *)S2MPS13X, - }, { - .compatible = "samsung,s2mps14-pmic", - .data = (void *)S2MPS14X, - }, { - .compatible = "samsung,s2mps15-pmic", - .data = (void *)S2MPS15X, - }, { - .compatible = "samsung,s2mpa01-pmic", - .data = (void *)S2MPA01, - }, { - .compatible = "samsung,s2mpu02-pmic", - .data = (void *)S2MPU02, - }, { - .compatible = "samsung,s2mpu05-pmic", - .data = (void *)S2MPU05, - }, { - /* Sentinel */ - }, -}; -MODULE_DEVICE_TABLE(of, sec_dt_match); - -static bool s2mpa01_volatile(struct device *dev, unsigned int reg) -{ - switch (reg) { - case S2MPA01_REG_INT1M: - case S2MPA01_REG_INT2M: - case S2MPA01_REG_INT3M: - return false; - default: - return true; - } -} - -static bool s2mps11_volatile(struct device *dev, unsigned int reg) -{ - switch (reg) { - case S2MPS11_REG_INT1M: - case S2MPS11_REG_INT2M: - case S2MPS11_REG_INT3M: - return false; - default: - return true; - } -} - -static bool s2mpu02_volatile(struct device *dev, unsigned int reg) -{ - switch (reg) { - case S2MPU02_REG_INT1M: - case S2MPU02_REG_INT2M: - case S2MPU02_REG_INT3M: - return false; - default: - return true; - } -} - -static const struct regmap_config sec_regmap_config = { - .reg_bits = 8, - .val_bits = 8, -}; - -static const struct regmap_config s2mpa01_regmap_config = { - .reg_bits = 8, - .val_bits = 8, - - .max_register = S2MPA01_REG_LDO_OVCB4, - .volatile_reg = s2mpa01_volatile, - .cache_type = REGCACHE_FLAT, -}; - -static const struct regmap_config s2mps11_regmap_config = { - .reg_bits = 8, - .val_bits = 8, - - .max_register = S2MPS11_REG_L38CTRL, - .volatile_reg = s2mps11_volatile, - .cache_type = REGCACHE_FLAT, -}; - -static const struct regmap_config s2mps13_regmap_config = { - .reg_bits = 8, - .val_bits = 8, - - .max_register = S2MPS13_REG_LDODSCH5, - .volatile_reg = s2mps11_volatile, - .cache_type = REGCACHE_FLAT, -}; - -static const struct regmap_config s2mps14_regmap_config = { - .reg_bits = 8, - .val_bits = 8, - - .max_register = S2MPS14_REG_LDODSCH3, - .volatile_reg = s2mps11_volatile, - .cache_type = REGCACHE_FLAT, -}; - -static const struct regmap_config s2mps15_regmap_config = { - .reg_bits = 8, - .val_bits = 8, - - .max_register = S2MPS15_REG_LDODSCH4, - .volatile_reg = s2mps11_volatile, - .cache_type = REGCACHE_FLAT, -}; - -static const struct regmap_config s2mpu02_regmap_config = { - .reg_bits = 8, - .val_bits = 8, - - .max_register = S2MPU02_REG_DVSDATA, - .volatile_reg = s2mpu02_volatile, - .cache_type = REGCACHE_FLAT, -}; - -static const struct regmap_config s5m8767_regmap_config = { - .reg_bits = 8, - .val_bits = 8, - - .max_register = S5M8767_REG_LDO28CTRL, - .volatile_reg = s2mps11_volatile, - .cache_type = REGCACHE_FLAT, -}; - static void sec_pmic_dump_rev(struct sec_pmic_dev *sec_pmic) { unsigned int val; @@ -268,7 +128,7 @@ static void sec_pmic_configure(struct sec_pmic_dev *sec_pmic) * platform data. */ static struct sec_platform_data * -sec_pmic_i2c_parse_dt_pdata(struct device *dev) +sec_pmic_parse_dt_pdata(struct device *dev) { struct sec_platform_data *pd; @@ -283,68 +143,34 @@ sec_pmic_i2c_parse_dt_pdata(struct device *dev) return pd; } -static int sec_pmic_probe(struct i2c_client *i2c) +int sec_pmic_probe(struct device *dev, unsigned long device_type, + unsigned int irq, struct regmap *regmap, + struct i2c_client *client) { - const struct regmap_config *regmap; struct sec_platform_data *pdata; const struct mfd_cell *sec_devs; struct sec_pmic_dev *sec_pmic; int ret, num_sec_devs; - sec_pmic = devm_kzalloc(&i2c->dev, sizeof(struct sec_pmic_dev), - GFP_KERNEL); + sec_pmic = devm_kzalloc(dev, sizeof(struct sec_pmic_dev), GFP_KERNEL); if (sec_pmic == NULL) return -ENOMEM; - i2c_set_clientdata(i2c, sec_pmic); - sec_pmic->dev = &i2c->dev; - sec_pmic->i2c = i2c; - sec_pmic->irq = i2c->irq; + dev_set_drvdata(dev, sec_pmic); + sec_pmic->dev = dev; + sec_pmic->device_type = device_type; + sec_pmic->i2c = client; + sec_pmic->irq = irq; + sec_pmic->regmap_pmic = regmap; - pdata = sec_pmic_i2c_parse_dt_pdata(sec_pmic->dev); + pdata = sec_pmic_parse_dt_pdata(sec_pmic->dev); if (IS_ERR(pdata)) { ret = PTR_ERR(pdata); return ret; } - sec_pmic->device_type = (unsigned long)of_device_get_match_data(sec_pmic->dev); sec_pmic->pdata = pdata; - switch (sec_pmic->device_type) { - case S2MPA01: - regmap = &s2mpa01_regmap_config; - break; - case S2MPS11X: - regmap = &s2mps11_regmap_config; - break; - case S2MPS13X: - regmap = &s2mps13_regmap_config; - break; - case S2MPS14X: - regmap = &s2mps14_regmap_config; - break; - case S2MPS15X: - regmap = &s2mps15_regmap_config; - break; - case S5M8767X: - regmap = &s5m8767_regmap_config; - break; - case S2MPU02: - regmap = &s2mpu02_regmap_config; - break; - default: - regmap = &sec_regmap_config; - break; - } - - sec_pmic->regmap_pmic = devm_regmap_init_i2c(i2c, regmap); - if (IS_ERR(sec_pmic->regmap_pmic)) { - ret = PTR_ERR(sec_pmic->regmap_pmic); - dev_err(&i2c->dev, "Failed to allocate register map: %d\n", - ret); - return ret; - } - sec_irq_init(sec_pmic); pm_runtime_set_active(sec_pmic->dev); @@ -387,9 +213,9 @@ static int sec_pmic_probe(struct i2c_client *i2c) num_sec_devs = ARRAY_SIZE(s2mpu05_devs); break; default: - dev_err(&i2c->dev, "Unsupported device type (%lu)\n", + dev_err(sec_pmic->dev, "Unsupported device type %lu\n", sec_pmic->device_type); - return -ENODEV; + return -EINVAL; } ret = devm_mfd_add_devices(sec_pmic->dev, -1, sec_devs, num_sec_devs, NULL, 0, NULL); @@ -401,10 +227,11 @@ static int sec_pmic_probe(struct i2c_client *i2c) return ret; } +EXPORT_SYMBOL_GPL(sec_pmic_probe); -static void sec_pmic_shutdown(struct i2c_client *i2c) +void sec_pmic_shutdown(struct device *dev) { - struct sec_pmic_dev *sec_pmic = i2c_get_clientdata(i2c); + struct sec_pmic_dev *sec_pmic = dev_get_drvdata(dev); unsigned int reg, mask; if (!sec_pmic->pdata->manual_poweroff) @@ -428,11 +255,11 @@ static void sec_pmic_shutdown(struct i2c_client *i2c) regmap_update_bits(sec_pmic->regmap_pmic, reg, mask, 0); } +EXPORT_SYMBOL_GPL(sec_pmic_shutdown); static int sec_pmic_suspend(struct device *dev) { - struct i2c_client *i2c = to_i2c_client(dev); - struct sec_pmic_dev *sec_pmic = i2c_get_clientdata(i2c); + struct sec_pmic_dev *sec_pmic = dev_get_drvdata(dev); if (device_may_wakeup(dev)) enable_irq_wake(sec_pmic->irq); @@ -452,8 +279,7 @@ static int sec_pmic_suspend(struct device *dev) static int sec_pmic_resume(struct device *dev) { - struct i2c_client *i2c = to_i2c_client(dev); - struct sec_pmic_dev *sec_pmic = i2c_get_clientdata(i2c); + struct sec_pmic_dev *sec_pmic = dev_get_drvdata(dev); if (device_may_wakeup(dev)) disable_irq_wake(sec_pmic->irq); @@ -462,20 +288,9 @@ static int sec_pmic_resume(struct device *dev) return 0; } -static DEFINE_SIMPLE_DEV_PM_OPS(sec_pmic_pm_ops, - sec_pmic_suspend, sec_pmic_resume); - -static struct i2c_driver sec_pmic_driver = { - .driver = { - .name = "sec_pmic", - .pm = pm_sleep_ptr(&sec_pmic_pm_ops), - .of_match_table = sec_dt_match, - }, - .probe = sec_pmic_probe, - .shutdown = sec_pmic_shutdown, -}; -module_i2c_driver(sec_pmic_driver); +DEFINE_SIMPLE_DEV_PM_OPS(sec_pmic_pm_ops, sec_pmic_suspend, sec_pmic_resume); +EXPORT_SYMBOL_GPL(sec_pmic_pm_ops); MODULE_AUTHOR("Sangbeom Kim "); -MODULE_DESCRIPTION("Core support for the S5M MFD"); +MODULE_DESCRIPTION("Core driver for the Samsung S5M"); MODULE_LICENSE("GPL"); diff --git a/drivers/mfd/sec-core.h b/drivers/mfd/sec-core.h index b3fded5f02a0ddc09a9508fd49a5d335f7ad0ee7..a0a3488924d96f69373e7569079cfefd0544ca26 100644 --- a/drivers/mfd/sec-core.h +++ b/drivers/mfd/sec-core.h @@ -10,6 +10,15 @@ #ifndef __SEC_CORE_INT_H #define __SEC_CORE_INT_H +struct i2c_client; + +extern const struct dev_pm_ops sec_pmic_pm_ops; + +int sec_pmic_probe(struct device *dev, unsigned long device_type, + unsigned int irq, struct regmap *regmap, + struct i2c_client *client); +void sec_pmic_shutdown(struct device *dev); + int sec_irq_init(struct sec_pmic_dev *sec_pmic); #endif /* __SEC_CORE_INT_H */ diff --git a/drivers/mfd/sec-i2c.c b/drivers/mfd/sec-i2c.c new file mode 100644 index 0000000000000000000000000000000000000000..8e3a365ff3e5533e27d94fa8a15dbfa639518a5f --- /dev/null +++ b/drivers/mfd/sec-i2c.c @@ -0,0 +1,231 @@ +// SPDX-License-Identifier: GPL-2.0+ +/* + * Copyright 2012 Samsung Electronics Co., Ltd + * http://www.samsung.com + * Copyright 2025 Linaro Ltd. + * + * Samsung SxM I2C driver + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "sec-core.h" + +static bool s2mpa01_volatile(struct device *dev, unsigned int reg) +{ + switch (reg) { + case S2MPA01_REG_INT1M: + case S2MPA01_REG_INT2M: + case S2MPA01_REG_INT3M: + return false; + default: + return true; + } +} + +static bool s2mps11_volatile(struct device *dev, unsigned int reg) +{ + switch (reg) { + case S2MPS11_REG_INT1M: + case S2MPS11_REG_INT2M: + case S2MPS11_REG_INT3M: + return false; + default: + return true; + } +} + +static bool s2mpu02_volatile(struct device *dev, unsigned int reg) +{ + switch (reg) { + case S2MPU02_REG_INT1M: + case S2MPU02_REG_INT2M: + case S2MPU02_REG_INT3M: + return false; + default: + return true; + } +} + +static const struct regmap_config sec_regmap_config = { + .reg_bits = 8, + .val_bits = 8, +}; + +static const struct regmap_config s2mpa01_regmap_config = { + .reg_bits = 8, + .val_bits = 8, + + .max_register = S2MPA01_REG_LDO_OVCB4, + .volatile_reg = s2mpa01_volatile, + .cache_type = REGCACHE_FLAT, +}; + +static const struct regmap_config s2mps11_regmap_config = { + .reg_bits = 8, + .val_bits = 8, + + .max_register = S2MPS11_REG_L38CTRL, + .volatile_reg = s2mps11_volatile, + .cache_type = REGCACHE_FLAT, +}; + +static const struct regmap_config s2mps13_regmap_config = { + .reg_bits = 8, + .val_bits = 8, + + .max_register = S2MPS13_REG_LDODSCH5, + .volatile_reg = s2mps11_volatile, + .cache_type = REGCACHE_FLAT, +}; + +static const struct regmap_config s2mps14_regmap_config = { + .reg_bits = 8, + .val_bits = 8, + + .max_register = S2MPS14_REG_LDODSCH3, + .volatile_reg = s2mps11_volatile, + .cache_type = REGCACHE_FLAT, +}; + +static const struct regmap_config s2mps15_regmap_config = { + .reg_bits = 8, + .val_bits = 8, + + .max_register = S2MPS15_REG_LDODSCH4, + .volatile_reg = s2mps11_volatile, + .cache_type = REGCACHE_FLAT, +}; + +static const struct regmap_config s2mpu02_regmap_config = { + .reg_bits = 8, + .val_bits = 8, + + .max_register = S2MPU02_REG_DVSDATA, + .volatile_reg = s2mpu02_volatile, + .cache_type = REGCACHE_FLAT, +}; + +static const struct regmap_config s5m8767_regmap_config = { + .reg_bits = 8, + .val_bits = 8, + + .max_register = S5M8767_REG_LDO28CTRL, + .volatile_reg = s2mps11_volatile, + .cache_type = REGCACHE_FLAT, +}; + +static int sec_pmic_i2c_probe(struct i2c_client *client) +{ + const struct regmap_config *regmap; + unsigned long device_type; + struct regmap *regmap_pmic; + int ret; + + device_type = (unsigned long)of_device_get_match_data(&client->dev); + + switch (device_type) { + case S2MPA01: + regmap = &s2mpa01_regmap_config; + break; + case S2MPS11X: + regmap = &s2mps11_regmap_config; + break; + case S2MPS13X: + regmap = &s2mps13_regmap_config; + break; + case S2MPS14X: + regmap = &s2mps14_regmap_config; + break; + case S2MPS15X: + regmap = &s2mps15_regmap_config; + break; + case S5M8767X: + regmap = &s5m8767_regmap_config; + break; + case S2MPU02: + regmap = &s2mpu02_regmap_config; + break; + default: + regmap = &sec_regmap_config; + break; + } + + regmap_pmic = devm_regmap_init_i2c(client, regmap); + if (IS_ERR(regmap_pmic)) { + ret = PTR_ERR(regmap_pmic); + dev_err(&client->dev, "Failed to allocate register map: %d\n", + ret); + return ret; + } + + return sec_pmic_probe(&client->dev, device_type, client->irq, + regmap_pmic, client); +} + +static void sec_pmic_i2c_shutdown(struct i2c_client *i2c) +{ + sec_pmic_shutdown(&i2c->dev); +} + +static const struct of_device_id sec_pmic_i2c_of_match[] = { + { + .compatible = "samsung,s5m8767-pmic", + .data = (void *)S5M8767X, + }, { + .compatible = "samsung,s2dos05", + .data = (void *)S2DOS05, + }, { + .compatible = "samsung,s2mps11-pmic", + .data = (void *)S2MPS11X, + }, { + .compatible = "samsung,s2mps13-pmic", + .data = (void *)S2MPS13X, + }, { + .compatible = "samsung,s2mps14-pmic", + .data = (void *)S2MPS14X, + }, { + .compatible = "samsung,s2mps15-pmic", + .data = (void *)S2MPS15X, + }, { + .compatible = "samsung,s2mpa01-pmic", + .data = (void *)S2MPA01, + }, { + .compatible = "samsung,s2mpu02-pmic", + .data = (void *)S2MPU02, + }, { + .compatible = "samsung,s2mpu05-pmic", + .data = (void *)S2MPU05, + }, + { }, +}; +MODULE_DEVICE_TABLE(of, sec_pmic_i2c_of_match); + +static struct i2c_driver sec_pmic_i2c_driver = { + .driver = { + .name = "sec-pmic-i2c", + .pm = pm_sleep_ptr(&sec_pmic_pm_ops), + .of_match_table = sec_pmic_i2c_of_match, + }, + .probe = sec_pmic_i2c_probe, + .shutdown = sec_pmic_i2c_shutdown, +}; +module_i2c_driver(sec_pmic_i2c_driver); + +MODULE_AUTHOR("Sangbeom Kim "); +MODULE_DESCRIPTION("I2C driver for the Samsung S5M"); +MODULE_LICENSE("GPL"); From patchwork Thu Apr 3 08:59:01 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Andr=C3=A9_Draszik?= X-Patchwork-Id: 14037187 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 0372DC3601B for ; Thu, 3 Apr 2025 09:17:12 +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=elOl/wLMPgL3DZlYsdlY03ep4x0voi0eoNQ32X8daa0=; b=SfbfUqxRTzjTy4YQuFGaqTsakS R2t+3f2XcyXZOPyz6XU8vw4E3+M8W02ZewN97yn0jXGs1+oWOlGZywPhL2c9/bv5sfWgjs/Vz3QGI 9ATr/T+G5QehLdgk9ykpFqBAdU+KUbxPwFVOFOZSIL5f7zM0bzIvg3JmDpTy9PyOx4mjoCj5CpcNW Nm4EPW2XhB3wlhib9+vLL0HEFL5ATH4fnIiGho5ADBpkvcgh6gTrfn48e/3n7LgXWdYZcWShZwAN0 1bBBdvzIGVxiD+dbuOxgA9qRovGVX3gCHLuX9v2KwxWjGEmEzgsa9FXX88NKuMH55LrTEoM7LvfKB vztLQdxw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98.1 #2 (Red Hat Linux)) id 1u0Ggz-00000008NAQ-0TSQ; Thu, 03 Apr 2025 09:16:57 +0000 Received: from mail-ed1-x531.google.com ([2a00:1450:4864:20::531]) by bombadil.infradead.org with esmtps (Exim 4.98.1 #2 (Red Hat Linux)) id 1u0GPj-00000008JjC-0soH for linux-arm-kernel@lists.infradead.org; Thu, 03 Apr 2025 08:59:09 +0000 Received: by mail-ed1-x531.google.com with SMTP id 4fb4d7f45d1cf-5e61da95244so1179582a12.2 for ; Thu, 03 Apr 2025 01:59:07 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1743670746; x=1744275546; 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=elOl/wLMPgL3DZlYsdlY03ep4x0voi0eoNQ32X8daa0=; b=mGTWH7iXDR4TsFBiA/Su0seFIEVx76WRA1RHJSONijIv7QVOIN/jLR7Z/AQhbHFFVN acletzJ/Dria2ImsRmstkTZwrNkdk2VSFdv7xKBUcNrtkTc1r/0hM8ukjktPL65Zy+0y q81XPJK5TxGxh6smyfqGAmy0/g4GtC5MNipAhbWztqHvWalMXXTfcx7C6mKXLstUJCGN tfTtL76rBNNU9LWug3gRIShruFgx7suKjzMf29gWNnaoy7UKVrNYBi3aNvHWBxxC7MEc Qk4lXjuhNCz4pySGnMxRH5QpVtXd3LDTr2DUvu9QvzRTSw73zGVREiztMDNPxPEuZH4z tZ5g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743670746; x=1744275546; 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=elOl/wLMPgL3DZlYsdlY03ep4x0voi0eoNQ32X8daa0=; b=dP/8rvVYZGd+432L1Ot2f966U3RPLgEsVcM8dsc7A6mm46gYuse4jZZKUGeRmumF8X cQQFdfBpYtCfrXFhNmsbyf2gYGbS5W4ZeyPxToiEALHnmU82O6OVWUMkBfx7FcrMSV9b 3oOzsrwhgbjcfi3rRoOfAfgIFlIz1oSLxk3lTth/yTJdmk7/X/FkyKtN2ASxoZNnhlEY eFa3z3x/oUTQJ56gnqbMm2Yi+Gq6yPJt9eeFAKHaeOJls17QD4bYr8vLIt0m7Rq1Lv1H zuvB67i1Jey14XaLzZVeBVfth0M9SoKgaxjLffT6jRQNzlXKutzlkrH8mdpE+rxhGHd5 WQ4g== X-Forwarded-Encrypted: i=1; AJvYcCWQwgstJ7SXhKJGhS8CcKW2cEc9XagGLB7U+uBv11u7u/QSl9NCXPTe36rbzQE/4le9VPIr34RHBJo578ELfYwq@lists.infradead.org X-Gm-Message-State: AOJu0YyPj31OOZMAIEGtJo2I9qSYSxArCUe7VUFKd9C67ba6A0y6G7+N K6y+gxGy4Xeo09QhTkq4Tuhlb5s0fWYigsLggYq5znpSD8Zc5ZQcOH/Zf5sH/34= X-Gm-Gg: ASbGncvHeeWzIgCHZWtGWuxJAmEGNKgYuXTtJupZrgVZFPmfQwP6oFL8wZftpsDA5Ja VBQK6/aC9tY1N1Ggyhsd33ozfDfT8eSMNx1dtfMTmehZuMHrPMlixtF/zOxl7XjtmCzywGYM7pg a26OoMMZBX7c4OST7EeBAJp2H3l31GlcRmS/abpoSd/msA75Dkur9j0Ae1k7fg6L/zwr6EehACe 186hn/iIe8VpVWiiXeofV5brbKa6X0hkafWFzqrLr0/UJNzAYgrUuv9U2Lf4Ij3cX2XCcCbI66v SbB5UrWgTKOfzekpTIkNJqjPcrFPHTSGahqcLlG1f3KT5jpnF8KuPfQ/XSRsWK2RCL9JSYqUSki lJaRXmT1FNizKqGkUI3JxJrVgM5DI X-Google-Smtp-Source: AGHT+IF9LFK4LpyO+Q2gN6q8SgOcJEijpKwKmwc+jxa/vfcOPhuUPVDkP9h3kKlIkIP8I+d/46mIhA== X-Received: by 2002:a05:6402:4013:b0:5ed:1262:c607 with SMTP id 4fb4d7f45d1cf-5f0872464dbmr1554683a12.31.1743670745580; Thu, 03 Apr 2025 01:59:05 -0700 (PDT) Received: from puffmais.c.googlers.com (8.239.204.35.bc.googleusercontent.com. [35.204.239.8]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-5f0880a535fsm637614a12.80.2025.04.03.01.59.04 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 03 Apr 2025 01:59:04 -0700 (PDT) From: =?utf-8?q?Andr=C3=A9_Draszik?= Date: Thu, 03 Apr 2025 09:59:01 +0100 Subject: [PATCH v3 09/32] mfd: sec: add support for S2MPG10 PMIC MIME-Version: 1.0 Message-Id: <20250403-s2mpg10-v3-9-b542b3505e68@linaro.org> References: <20250403-s2mpg10-v3-0-b542b3505e68@linaro.org> In-Reply-To: <20250403-s2mpg10-v3-0-b542b3505e68@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-20250403_015907_534296_8968F0F2 X-CRM114-Status: GOOD ( 23.47 ) 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. v3: * use an enum for struct sec_acpm_bus_context::type * consistent name space for all functions sec_pmic_acpm_... to be similar to i2c and consistent in this file v2: * update to using devm_acpm_get_by_node() instead of devm_acpm_get_by_phandle() as this is now expected to be a child of the ACPM node * use c-type file header * updates to error messages * drop s2mpg10_rtc_wr_table as everything in RTC is writeable * rename s2mpg10_volatile_registers -> s2mpg10_rtc_volatile_registers * fix incorrect regmap range in common block * add comments to regmap ranges * add all registers to header for all IP blocks --- drivers/mfd/Kconfig | 17 ++ drivers/mfd/Makefile | 1 + drivers/mfd/sec-acpm.c | 465 ++++++++++++++++++++++++++++++++++++ drivers/mfd/sec-core.c | 16 ++ drivers/mfd/sec-irq.c | 68 ++++++ include/linux/mfd/samsung/core.h | 1 + include/linux/mfd/samsung/irq.h | 103 ++++++++ include/linux/mfd/samsung/rtc.h | 37 +++ include/linux/mfd/samsung/s2mpg10.h | 454 +++++++++++++++++++++++++++++++++++ 9 files changed, 1162 insertions(+) diff --git a/drivers/mfd/Kconfig b/drivers/mfd/Kconfig index 62565dc89ec6d58611bbc1f31c65f757343b6453..e146b28240e731557f34ebe6dea99016b6d19f6b 100644 --- a/drivers/mfd/Kconfig +++ b/drivers/mfd/Kconfig @@ -1296,6 +1296,23 @@ config MFD_SEC_CORE select MFD_CORE select REGMAP_IRQ +config MFD_SEC_ACPM + tristate "Samsung Electronics S2MPG1x PMICs" + depends on EXYNOS_ACPM_PROTOCOL + depends on OF + select MFD_SEC_CORE + help + Support for the Samsung Electronics PMICs with ACPM interface. + This is a Power Management IC for mobile applications with buck + converters, various LDOs, power meters, RTC, clock outputs, and + additional GPIOs interfaces. + This driver provides common support for accessing the device; + additional drivers must be enabled in order to use the functionality + of the device. + + To compile this driver as a module, choose M here: the module will be + called sec-acpm. + config MFD_SEC_I2C tristate "Samsung Electronics S2MPA/S2MPS1X/S2MPU/S5M series PMICs" depends on I2C=y diff --git a/drivers/mfd/Makefile b/drivers/mfd/Makefile index ab6c4b17a391946d4c88f52ccbfee5424b4fb2d2..b617782eca436e34084a9cd24c309801c5680390 100644 --- a/drivers/mfd/Makefile +++ b/drivers/mfd/Makefile @@ -229,6 +229,7 @@ obj-$(CONFIG_MFD_RK8XX_I2C) += rk8xx-i2c.o obj-$(CONFIG_MFD_RK8XX_SPI) += rk8xx-spi.o obj-$(CONFIG_MFD_RN5T618) += rn5t618.o obj-$(CONFIG_MFD_SEC_CORE) += sec-core.o sec-irq.o +obj-$(CONFIG_MFD_SEC_ACPM) += sec-acpm.o obj-$(CONFIG_MFD_SEC_I2C) += sec-i2c.o obj-$(CONFIG_MFD_SYSCON) += syscon.o obj-$(CONFIG_MFD_LM3533) += lm3533-core.o lm3533-ctrlbank.o diff --git a/drivers/mfd/sec-acpm.c b/drivers/mfd/sec-acpm.c new file mode 100644 index 0000000000000000000000000000000000000000..39dbb968086ac835b96ed3e4efa68868fda63429 --- /dev/null +++ b/drivers/mfd/sec-acpm.c @@ -0,0 +1,465 @@ +// SPDX-License-Identifier: GPL-2.0-only +/* + * Copyright 2020 Google Inc + * Copyright 2025 Linaro Ltd. + * + * Samsung S2MPG1x ACPM driver + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "sec-core.h" + +#define ACPM_MAX_BULK_DATA 8 + +struct sec_pmic_acpm_platform_data { + int device_type; + + unsigned int acpm_chan_id; + u8 speedy_channel; + + const struct regmap_config *regmap_cfg_common; + const struct regmap_config *regmap_cfg_pmic; + const struct regmap_config *regmap_cfg_rtc; + const struct regmap_config *regmap_cfg_meter; +}; + +static const struct regmap_range s2mpg10_common_registers[] = { + regmap_reg_range(0x00, 0x02), /* CHIP_ID_M, INT, INT_MASK */ + regmap_reg_range(0x0a, 0x0c), /* speedy control */ + regmap_reg_range(0x1a, 0x2a), /* debug */ +}; + +static const struct regmap_range s2mpg10_common_ro_registers[] = { + regmap_reg_range(0x00, 0x01), + regmap_reg_range(0x28, 0x2a), +}; + +static const struct regmap_range s2mpg10_common_nonvolatile_registers[] = { + regmap_reg_range(0x00, 0x00), + regmap_reg_range(0x02, 0x02), + regmap_reg_range(0x0a, 0x0c), +}; + +static const struct regmap_range s2mpg10_common_precious_registers[] = { + regmap_reg_range(0x01, 0x01), +}; + +static const struct regmap_access_table s2mpg10_common_wr_table = { + .yes_ranges = s2mpg10_common_registers, + .n_yes_ranges = ARRAY_SIZE(s2mpg10_common_registers), + .no_ranges = s2mpg10_common_ro_registers, + .n_no_ranges = ARRAY_SIZE(s2mpg10_common_ro_registers), +}; + +static const struct regmap_access_table s2mpg10_common_rd_table = { + .yes_ranges = s2mpg10_common_registers, + .n_yes_ranges = ARRAY_SIZE(s2mpg10_common_registers), +}; + +static const struct regmap_access_table s2mpg10_common_volatile_table = { + .no_ranges = s2mpg10_common_nonvolatile_registers, + .n_no_ranges = ARRAY_SIZE(s2mpg10_common_nonvolatile_registers), +}; + +static const struct regmap_access_table s2mpg10_common_precious_table = { + .yes_ranges = s2mpg10_common_precious_registers, + .n_yes_ranges = ARRAY_SIZE(s2mpg10_common_precious_registers), +}; + +static const struct regmap_config s2mpg10_regmap_config_common = { + .name = "common", + .reg_bits = 8, + .val_bits = 8, + .max_register = S2MPG10_COMMON_SPD_DEBUG4, + .wr_table = &s2mpg10_common_wr_table, + .rd_table = &s2mpg10_common_rd_table, + .volatile_table = &s2mpg10_common_volatile_table, + .precious_table = &s2mpg10_common_precious_table, + .num_reg_defaults_raw = S2MPG10_COMMON_SPD_DEBUG4 + 1, + .cache_type = REGCACHE_FLAT, +}; + +static const struct regmap_range s2mpg10_pmic_registers[] = { + regmap_reg_range(0x00, 0xf6), +}; + +static const struct regmap_range s2mpg10_pmic_ro_registers[] = { + regmap_reg_range(0x00, 0x05), /* INTx */ + regmap_reg_range(0x0c, 0x0f), /* STATUSx PWRONSRC OFFSRC */ + regmap_reg_range(0xc7, 0xc7), /* GPIO input */ +}; + +static const struct regmap_range s2mpg10_pmic_nonvolatile_registers[] = { + regmap_reg_range(0x06, 0x0b), /* INTxM */ +}; + +static const struct regmap_range s2mpg10_pmic_precious_registers[] = { + regmap_reg_range(0x00, 0x05), /* INTx */ +}; + +static const struct regmap_access_table s2mpg10_pmic_wr_table = { + .yes_ranges = s2mpg10_pmic_registers, + .n_yes_ranges = ARRAY_SIZE(s2mpg10_pmic_registers), + .no_ranges = s2mpg10_pmic_ro_registers, + .n_no_ranges = ARRAY_SIZE(s2mpg10_pmic_ro_registers), +}; + +static const struct regmap_access_table s2mpg10_pmic_rd_table = { + .yes_ranges = s2mpg10_pmic_registers, + .n_yes_ranges = ARRAY_SIZE(s2mpg10_pmic_registers), +}; + +static const struct regmap_access_table s2mpg10_pmic_volatile_table = { + .no_ranges = s2mpg10_pmic_nonvolatile_registers, + .n_no_ranges = ARRAY_SIZE(s2mpg10_pmic_nonvolatile_registers), +}; + +static const struct regmap_access_table s2mpg10_pmic_precious_table = { + .yes_ranges = s2mpg10_pmic_precious_registers, + .n_yes_ranges = ARRAY_SIZE(s2mpg10_pmic_precious_registers), +}; + +static const struct regmap_config s2mpg10_regmap_config_pmic = { + .name = "pmic", + .reg_bits = 8, + .val_bits = 8, + .max_register = S2MPG10_PMIC_LDO_SENSE4, + .wr_table = &s2mpg10_pmic_wr_table, + .rd_table = &s2mpg10_pmic_rd_table, + .volatile_table = &s2mpg10_pmic_volatile_table, + .precious_table = &s2mpg10_pmic_precious_table, + .num_reg_defaults_raw = S2MPG10_PMIC_LDO_SENSE4 + 1, + .cache_type = REGCACHE_FLAT, +}; + +static const struct regmap_range s2mpg10_rtc_registers[] = { + regmap_reg_range(0x00, 0x2b), /* RTC */ +}; + +static const struct regmap_range s2mpg10_rtc_volatile_registers[] = { + regmap_reg_range(0x01, 0x01), /* RTC_UPDATE */ + regmap_reg_range(0x05, 0x0c), /* time / date */ +}; + +static const struct regmap_access_table s2mpg10_rtc_rd_table = { + .yes_ranges = s2mpg10_rtc_registers, + .n_yes_ranges = ARRAY_SIZE(s2mpg10_rtc_registers), +}; + +static const struct regmap_access_table s2mpg10_rtc_volatile_table = { + .yes_ranges = s2mpg10_rtc_volatile_registers, + .n_yes_ranges = ARRAY_SIZE(s2mpg10_rtc_volatile_registers), +}; + +static const struct regmap_config s2mpg10_regmap_config_rtc = { + .name = "rtc", + .reg_bits = 8, + .val_bits = 8, + .reg_stride = 1, + .max_register = S2MPG10_RTC_OSC_CTRL, + .rd_table = &s2mpg10_rtc_rd_table, + .volatile_table = &s2mpg10_rtc_volatile_table, + .num_reg_defaults_raw = S2MPG10_RTC_OSC_CTRL + 1, + .cache_type = REGCACHE_FLAT, +}; + +static const struct regmap_range s2mpg10_meter_registers[] = { + regmap_reg_range(0x00, 0x21), /* meter config */ + regmap_reg_range(0x40, 0x8a), /* meter data */ + regmap_reg_range(0xee, 0xee), /* offset */ + regmap_reg_range(0xf1, 0xf1), /* trim */ +}; + +static const struct regmap_range s2mpg10_meter_ro_registers[] = { + regmap_reg_range(0x40, 0x8a), +}; + +static const struct regmap_access_table s2mpg10_meter_wr_table = { + .yes_ranges = s2mpg10_meter_registers, + .n_yes_ranges = ARRAY_SIZE(s2mpg10_meter_registers), + .no_ranges = s2mpg10_meter_ro_registers, + .n_no_ranges = ARRAY_SIZE(s2mpg10_meter_ro_registers), +}; + +static const struct regmap_access_table s2mpg10_meter_rd_table = { + .yes_ranges = s2mpg10_meter_registers, + .n_yes_ranges = ARRAY_SIZE(s2mpg10_meter_registers), +}; + +static const struct regmap_access_table s2mpg10_meter_volatile_table = { + .yes_ranges = s2mpg10_meter_ro_registers, + .n_yes_ranges = ARRAY_SIZE(s2mpg10_meter_ro_registers), +}; + +static const struct regmap_config s2mpg10_regmap_config_meter = { + .name = "meter", + .reg_bits = 8, + .val_bits = 8, + .reg_stride = 1, + .max_register = S2MPG10_METER_BUCK_METER_TRIM3, + .wr_table = &s2mpg10_meter_wr_table, + .rd_table = &s2mpg10_meter_rd_table, + .volatile_table = &s2mpg10_meter_volatile_table, + .num_reg_defaults_raw = S2MPG10_METER_BUCK_METER_TRIM3 + 1, + .cache_type = REGCACHE_FLAT, +}; + +struct sec_pmic_acpm_shared_bus_context { + const struct acpm_handle *acpm; + unsigned int acpm_chan_id; + u8 speedy_channel; +}; + +enum sec_pmic_acpm_accesstype { + SEC_PMIC_ACPM_ACCESSTYPE_COMMON = 0x00, + SEC_PMIC_ACPM_ACCESSTYPE_PMIC = 0x01, + SEC_PMIC_ACPM_ACCESSTYPE_RTC = 0x02, + SEC_PMIC_ACPM_ACCESSTYPE_METER = 0x0a, + SEC_PMIC_ACPM_ACCESSTYPE_WLWP = 0x0b, + SEC_PMIC_ACPM_ACCESSTYPE_TRIM = 0x0f, +}; + +struct sec_pmic_acpm_bus_context { + struct sec_pmic_acpm_shared_bus_context *shared; + enum sec_pmic_acpm_accesstype type; +}; + +static int sec_pmic_acpm_bus_write(void *context, const void *data, + size_t count) +{ + struct sec_pmic_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_pmic_acpm_bus_read(void *context, const void *reg_buf, + size_t reg_size, void *val_buf, + size_t val_size) +{ + struct sec_pmic_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_pmic_acpm_bus_reg_update_bits(void *context, unsigned int reg, + unsigned int mask, + unsigned int val) +{ + struct sec_pmic_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_pmic_acpm_bus_write, + .read = sec_pmic_acpm_bus_read, + .reg_update_bits = sec_pmic_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_pmic_acpm_shared_bus_context *shared_ctx, + enum sec_pmic_acpm_accesstype type, + const struct regmap_config *cfg, bool do_attach) +{ + struct sec_pmic_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_pmic_acpm_mask_common_irqs(void *regmap_common) +{ + regmap_write(regmap_common, S2MPG10_COMMON_INT_MASK, + S2MPG10_COMMON_INT_SRC); +} + +static int sec_pmic_acpm_probe(struct platform_device *pdev) +{ + struct regmap *regmap_common, *regmap_pmic, *regmap; + const struct sec_pmic_acpm_platform_data *pdata; + struct sec_pmic_acpm_shared_bus_context *shared_ctx; + const struct acpm_handle *acpm; + struct device *dev; + int ret, irq; + + dev = &pdev->dev; + + pdata = device_get_match_data(dev); + if (!pdata) + return dev_err_probe(dev, -ENODEV, + "unsupported device type\n"); + + acpm = devm_acpm_get_by_node(dev, pdev->dev.parent->of_node); + if (IS_ERR(acpm)) + return dev_err_probe(dev, PTR_ERR(acpm), + "failed to get acpm (2)\n"); + + irq = platform_get_irq(pdev, 0); + if (irq < 0) + return irq; + + shared_ctx = devm_kzalloc(dev, sizeof(*shared_ctx), GFP_KERNEL); + if (!shared_ctx) + return -ENOMEM; + + shared_ctx->acpm = acpm; + shared_ctx->acpm_chan_id = pdata->acpm_chan_id; + shared_ctx->speedy_channel = pdata->speedy_channel; + + regmap_common = sec_pmic_acpm_regmap_init(dev, shared_ctx, + SEC_PMIC_ACPM_ACCESSTYPE_COMMON, + pdata->regmap_cfg_common, false); + if (IS_ERR(regmap_common)) + return PTR_ERR(regmap_common); + + /* Mask all interrupts from 'common' block, until successful init */ + ret = regmap_write(regmap_common, S2MPG10_COMMON_INT_MASK, + S2MPG10_COMMON_INT_SRC); + if (ret) + return dev_err_probe(dev, ret, + "failed to mask common block interrupts\n"); + + regmap_pmic = sec_pmic_acpm_regmap_init(dev, shared_ctx, + SEC_PMIC_ACPM_ACCESSTYPE_PMIC, + pdata->regmap_cfg_pmic, false); + if (IS_ERR(regmap_pmic)) + return PTR_ERR(regmap_pmic); + + regmap = sec_pmic_acpm_regmap_init(dev, shared_ctx, + SEC_PMIC_ACPM_ACCESSTYPE_RTC, + pdata->regmap_cfg_rtc, true); + if (IS_ERR(regmap)) + return PTR_ERR(regmap); + + regmap = sec_pmic_acpm_regmap_init(dev, shared_ctx, + SEC_PMIC_ACPM_ACCESSTYPE_METER, + pdata->regmap_cfg_meter, true); + if (IS_ERR(regmap)) + return PTR_ERR(regmap); + + ret = sec_pmic_probe(dev, pdata->device_type, irq, regmap_pmic, NULL); + if (ret) + return ret; + + if (device_property_read_bool(dev, "wakeup-source")) + devm_device_init_wakeup(dev); + + /* + * Unmask PMIC interrupt from 'common' block, now that everything is in + * place. + */ + ret = regmap_clear_bits(regmap_common, S2MPG10_COMMON_INT_MASK, + S2MPG10_COMMON_INT_SRC_PMIC); + if (ret) + return dev_err_probe(dev, ret, + "failed to unmask PMIC interrupt\n"); + + /* Mask all interrupts from 'common' block on shutdown */ + ret = devm_add_action_or_reset(dev, sec_pmic_acpm_mask_common_irqs, + regmap_common); + if (ret) + return ret; + + return 0; +} + +static void sec_pmic_acpm_shutdown(struct platform_device *pdev) +{ + sec_pmic_shutdown(&pdev->dev); +} + +static const struct sec_pmic_acpm_platform_data s2mpg10_data = { + .device_type = S2MPG10, + .acpm_chan_id = 2, + .speedy_channel = 0, + .regmap_cfg_common = &s2mpg10_regmap_config_common, + .regmap_cfg_pmic = &s2mpg10_regmap_config_pmic, + .regmap_cfg_rtc = &s2mpg10_regmap_config_rtc, + .regmap_cfg_meter = &s2mpg10_regmap_config_meter, +}; + +static const struct of_device_id sec_pmic_acpm_of_match[] = { + { .compatible = "samsung,s2mpg10-pmic", .data = &s2mpg10_data, }, + { }, +}; +MODULE_DEVICE_TABLE(of, sec_pmic_acpm_of_match); + +static struct platform_driver sec_pmic_acpm_driver = { + .driver = { + .name = "sec-pmic-acpm", + .pm = pm_sleep_ptr(&sec_pmic_pm_ops), + .of_match_table = sec_pmic_acpm_of_match, + }, + .probe = sec_pmic_acpm_probe, + .shutdown = sec_pmic_acpm_shutdown, +}; +module_platform_driver(sec_pmic_acpm_driver); + +MODULE_AUTHOR("André Draszik "); +MODULE_DESCRIPTION("ACPM driver for the Samsung S2MPG1x"); +MODULE_LICENSE("GPL"); diff --git a/drivers/mfd/sec-core.c b/drivers/mfd/sec-core.c index bb664e052bf5198f2fc83a86bd6e1e72364fb8df..c4b7abe511090d8f5ff2eb501f325cc8173b9bf5 100644 --- a/drivers/mfd/sec-core.c +++ b/drivers/mfd/sec-core.c @@ -36,6 +36,14 @@ static const struct mfd_cell s2dos05_devs[] = { { .name = "s2dos05-regulator", }, }; +static const struct mfd_cell s2mpg10_devs[] = { + MFD_CELL_NAME("s2mpg10-meter"), + MFD_CELL_NAME("s2mpg10-regulator"), + MFD_CELL_NAME("s2mpg10-rtc"), + MFD_CELL_OF("s2mpg10-clk", NULL, NULL, 0, 0, "samsung,s2mpg10-clk"), + MFD_CELL_OF("s2mpg10-gpio", NULL, NULL, 0, 0, "samsung,s2mpg10-gpio"), +}; + static const struct mfd_cell s2mps11_devs[] = { { .name = "s2mps11-regulator", }, { .name = "s2mps14-rtc", }, @@ -90,6 +98,10 @@ static void sec_pmic_dump_rev(struct sec_pmic_dev *sec_pmic) { unsigned int val; + /* For s2mpg1x, the revision is in a different regmap */ + if (sec_pmic->device_type == S2MPG10) + return; + /* For each device type, the REG_ID is always the first register */ if (!regmap_read(sec_pmic->regmap_pmic, S2MPS11_REG_ID, &val)) dev_dbg(sec_pmic->dev, "Revision: 0x%x\n", val); @@ -188,6 +200,10 @@ int sec_pmic_probe(struct device *dev, unsigned long device_type, sec_devs = s2mpa01_devs; num_sec_devs = ARRAY_SIZE(s2mpa01_devs); break; + case S2MPG10: + sec_devs = s2mpg10_devs; + num_sec_devs = ARRAY_SIZE(s2mpg10_devs); + break; case S2MPS11X: sec_devs = s2mps11_devs; num_sec_devs = ARRAY_SIZE(s2mps11_devs); diff --git a/drivers/mfd/sec-irq.c b/drivers/mfd/sec-irq.c index 4d49bb42bd0d109263f485c8b58e88cdd8d598d9..bf86281401ac6ff05c90c2d71c84744709ed79cb 100644 --- a/drivers/mfd/sec-irq.c +++ b/drivers/mfd/sec-irq.c @@ -11,6 +11,7 @@ #include #include #include +#include #include #include #include @@ -20,6 +21,60 @@ #include #include "sec-core.h" +static const struct regmap_irq s2mpg10_irqs[] = { + REGMAP_IRQ_REG(S2MPG10_IRQ_PWRONF, 0, S2MPG10_IRQ_PWRONF_MASK), + REGMAP_IRQ_REG(S2MPG10_IRQ_PWRONR, 0, S2MPG10_IRQ_PWRONR_MASK), + REGMAP_IRQ_REG(S2MPG10_IRQ_JIGONBF, 0, S2MPG10_IRQ_JIGONBF_MASK), + REGMAP_IRQ_REG(S2MPG10_IRQ_JIGONBR, 0, S2MPG10_IRQ_JIGONBR_MASK), + REGMAP_IRQ_REG(S2MPG10_IRQ_ACOKBF, 0, S2MPG10_IRQ_ACOKBF_MASK), + REGMAP_IRQ_REG(S2MPG10_IRQ_ACOKBR, 0, S2MPG10_IRQ_ACOKBR_MASK), + REGMAP_IRQ_REG(S2MPG10_IRQ_PWRON1S, 0, S2MPG10_IRQ_PWRON1S_MASK), + REGMAP_IRQ_REG(S2MPG10_IRQ_MRB, 0, S2MPG10_IRQ_MRB_MASK), + + REGMAP_IRQ_REG(S2MPG10_IRQ_RTC60S, 1, S2MPG10_IRQ_RTC60S_MASK), + REGMAP_IRQ_REG(S2MPG10_IRQ_RTCA1, 1, S2MPG10_IRQ_RTCA1_MASK), + REGMAP_IRQ_REG(S2MPG10_IRQ_RTCA0, 1, S2MPG10_IRQ_RTCA0_MASK), + REGMAP_IRQ_REG(S2MPG10_IRQ_RTC1S, 1, S2MPG10_IRQ_RTC1S_MASK), + REGMAP_IRQ_REG(S2MPG10_IRQ_WTSR_COLDRST, 1, S2MPG10_IRQ_WTSR_COLDRST_MASK), + REGMAP_IRQ_REG(S2MPG10_IRQ_WTSR, 1, S2MPG10_IRQ_WTSR_MASK), + REGMAP_IRQ_REG(S2MPG10_IRQ_WRST, 1, S2MPG10_IRQ_WRST_MASK), + REGMAP_IRQ_REG(S2MPG10_IRQ_SMPL, 1, S2MPG10_IRQ_SMPL_MASK), + + REGMAP_IRQ_REG(S2MPG10_IRQ_120C, 2, S2MPG10_IRQ_INT120C_MASK), + REGMAP_IRQ_REG(S2MPG10_IRQ_140C, 2, S2MPG10_IRQ_INT140C_MASK), + REGMAP_IRQ_REG(S2MPG10_IRQ_TSD, 2, S2MPG10_IRQ_TSD_MASK), + REGMAP_IRQ_REG(S2MPG10_IRQ_PIF_TIMEOUT1, 2, S2MPG10_IRQ_PIF_TIMEOUT1_MASK), + REGMAP_IRQ_REG(S2MPG10_IRQ_PIF_TIMEOUT2, 2, S2MPG10_IRQ_PIF_TIMEOUT2_MASK), + REGMAP_IRQ_REG(S2MPG10_IRQ_SPD_PARITY_ERR, 2, S2MPG10_IRQ_SPD_PARITY_ERR_MASK), + REGMAP_IRQ_REG(S2MPG10_IRQ_SPD_ABNORMAL_STOP, 2, S2MPG10_IRQ_SPD_ABNORMAL_STOP_MASK), + REGMAP_IRQ_REG(S2MPG10_IRQ_PMETER_OVERF, 2, S2MPG10_IRQ_PMETER_OVERF_MASK), + + REGMAP_IRQ_REG(S2MPG10_IRQ_OCP_B1M, 3, S2MPG10_IRQ_OCP_B1M_MASK), + REGMAP_IRQ_REG(S2MPG10_IRQ_OCP_B2M, 3, S2MPG10_IRQ_OCP_B2M_MASK), + REGMAP_IRQ_REG(S2MPG10_IRQ_OCP_B3M, 3, S2MPG10_IRQ_OCP_B3M_MASK), + REGMAP_IRQ_REG(S2MPG10_IRQ_OCP_B4M, 3, S2MPG10_IRQ_OCP_B4M_MASK), + REGMAP_IRQ_REG(S2MPG10_IRQ_OCP_B5M, 3, S2MPG10_IRQ_OCP_B5M_MASK), + REGMAP_IRQ_REG(S2MPG10_IRQ_OCP_B6M, 3, S2MPG10_IRQ_OCP_B6M_MASK), + REGMAP_IRQ_REG(S2MPG10_IRQ_OCP_B7M, 3, S2MPG10_IRQ_OCP_B7M_MASK), + REGMAP_IRQ_REG(S2MPG10_IRQ_OCP_B8M, 3, S2MPG10_IRQ_OCP_B8M_MASK), + + REGMAP_IRQ_REG(S2MPG10_IRQ_OCP_B9M, 4, S2MPG10_IRQ_OCP_B9M_MASK), + REGMAP_IRQ_REG(S2MPG10_IRQ_OCP_B10M, 4, S2MPG10_IRQ_OCP_B10M_MASK), + REGMAP_IRQ_REG(S2MPG10_IRQ_WLWP_ACC, 4, S2MPG10_IRQ_WLWP_ACC_MASK), + REGMAP_IRQ_REG(S2MPG10_IRQ_SMPL_TIMEOUT, 4, S2MPG10_IRQ_SMPL_TIMEOUT_MASK), + REGMAP_IRQ_REG(S2MPG10_IRQ_WTSR_TIMEOUT, 4, S2MPG10_IRQ_WTSR_TIMEOUT_MASK), + REGMAP_IRQ_REG(S2MPG10_IRQ_SPD_SRP_PKT_RST, 4, S2MPG10_IRQ_SPD_SRP_PKT_RST_MASK), + + REGMAP_IRQ_REG(S2MPG10_IRQ_PWR_WARN_CH0, 5, S2MPG10_IRQ_PWR_WARN_CH0_MASK), + REGMAP_IRQ_REG(S2MPG10_IRQ_PWR_WARN_CH1, 5, S2MPG10_IRQ_PWR_WARN_CH1_MASK), + REGMAP_IRQ_REG(S2MPG10_IRQ_PWR_WARN_CH2, 5, S2MPG10_IRQ_PWR_WARN_CH2_MASK), + REGMAP_IRQ_REG(S2MPG10_IRQ_PWR_WARN_CH3, 5, S2MPG10_IRQ_PWR_WARN_CH3_MASK), + REGMAP_IRQ_REG(S2MPG10_IRQ_PWR_WARN_CH4, 5, S2MPG10_IRQ_PWR_WARN_CH4_MASK), + REGMAP_IRQ_REG(S2MPG10_IRQ_PWR_WARN_CH5, 5, S2MPG10_IRQ_PWR_WARN_CH5_MASK), + REGMAP_IRQ_REG(S2MPG10_IRQ_PWR_WARN_CH6, 5, S2MPG10_IRQ_PWR_WARN_CH6_MASK), + REGMAP_IRQ_REG(S2MPG10_IRQ_PWR_WARN_CH7, 5, S2MPG10_IRQ_PWR_WARN_CH7_MASK), +}; + static const struct regmap_irq s2mps11_irqs[] = { [S2MPS11_IRQ_PWRONF] = { .reg_offset = 0, @@ -320,6 +375,16 @@ static const struct regmap_irq s5m8767_irqs[] = { }, }; +static const struct regmap_irq_chip s2mpg10_irq_chip = { + .name = "s2mpg10", + .irqs = s2mpg10_irqs, + .num_irqs = ARRAY_SIZE(s2mpg10_irqs), + .num_regs = 6, + .status_base = S2MPG10_PMIC_INT1, + .mask_base = S2MPG10_PMIC_INT1M, + /* all interrupt sources are read-to-clear */ +}; + static const struct regmap_irq_chip s2mps11_irq_chip = { .name = "s2mps11", .irqs = s2mps11_irqs, @@ -402,6 +467,9 @@ int sec_irq_init(struct sec_pmic_dev *sec_pmic) case S2MPA01: sec_irq_chip = &s2mps14_irq_chip; break; + case S2MPG10: + sec_irq_chip = &s2mpg10_irq_chip; + break; case S2MPS11X: sec_irq_chip = &s2mps11_irq_chip; break; diff --git a/include/linux/mfd/samsung/core.h b/include/linux/mfd/samsung/core.h index 8a4e660854bbc955b812b4d61d4a52a0fc2f2899..c1102324172a9b6bd6072b5929a4866d6c9653fa 100644 --- a/include/linux/mfd/samsung/core.h +++ b/include/linux/mfd/samsung/core.h @@ -39,6 +39,7 @@ enum sec_device_type { S5M8767X, S2DOS05, S2MPA01, + S2MPG10, S2MPS11X, S2MPS13X, S2MPS14X, diff --git a/include/linux/mfd/samsung/irq.h b/include/linux/mfd/samsung/irq.h index 978f7af66f74842c4f8dd62c0f58a7a45aba7c34..b4805cbd949bd605004bd88cf361109d1cbbc3bf 100644 --- a/include/linux/mfd/samsung/irq.h +++ b/include/linux/mfd/samsung/irq.h @@ -57,6 +57,109 @@ enum s2mpa01_irq { #define S2MPA01_IRQ_B24_TSD_MASK (1 << 4) #define S2MPA01_IRQ_B35_TSD_MASK (1 << 5) +enum s2mpg10_irq { + /* PMIC */ + S2MPG10_IRQ_PWRONF, + S2MPG10_IRQ_PWRONR, + S2MPG10_IRQ_JIGONBF, + S2MPG10_IRQ_JIGONBR, + S2MPG10_IRQ_ACOKBF, + S2MPG10_IRQ_ACOKBR, + S2MPG10_IRQ_PWRON1S, + S2MPG10_IRQ_MRB, +#define S2MPG10_IRQ_PWRONF_MASK BIT(0) +#define S2MPG10_IRQ_PWRONR_MASK BIT(1) +#define S2MPG10_IRQ_JIGONBF_MASK BIT(2) +#define S2MPG10_IRQ_JIGONBR_MASK BIT(3) +#define S2MPG10_IRQ_ACOKBF_MASK BIT(4) +#define S2MPG10_IRQ_ACOKBR_MASK BIT(5) +#define S2MPG10_IRQ_PWRON1S_MASK BIT(6) +#define S2MPG10_IRQ_MRB_MASK BIT(7) + + S2MPG10_IRQ_RTC60S, + S2MPG10_IRQ_RTCA1, + S2MPG10_IRQ_RTCA0, + S2MPG10_IRQ_RTC1S, + S2MPG10_IRQ_WTSR_COLDRST, + S2MPG10_IRQ_WTSR, + S2MPG10_IRQ_WRST, + S2MPG10_IRQ_SMPL, +#define S2MPG10_IRQ_RTC60S_MASK BIT(0) +#define S2MPG10_IRQ_RTCA1_MASK BIT(1) +#define S2MPG10_IRQ_RTCA0_MASK BIT(2) +#define S2MPG10_IRQ_RTC1S_MASK BIT(3) +#define S2MPG10_IRQ_WTSR_COLDRST_MASK BIT(4) +#define S2MPG10_IRQ_WTSR_MASK BIT(5) +#define S2MPG10_IRQ_WRST_MASK BIT(6) +#define S2MPG10_IRQ_SMPL_MASK BIT(7) + + S2MPG10_IRQ_120C, + S2MPG10_IRQ_140C, + S2MPG10_IRQ_TSD, + S2MPG10_IRQ_PIF_TIMEOUT1, + S2MPG10_IRQ_PIF_TIMEOUT2, + S2MPG10_IRQ_SPD_PARITY_ERR, + S2MPG10_IRQ_SPD_ABNORMAL_STOP, + S2MPG10_IRQ_PMETER_OVERF, +#define S2MPG10_IRQ_INT120C_MASK BIT(0) +#define S2MPG10_IRQ_INT140C_MASK BIT(1) +#define S2MPG10_IRQ_TSD_MASK BIT(2) +#define S2MPG10_IRQ_PIF_TIMEOUT1_MASK BIT(3) +#define S2MPG10_IRQ_PIF_TIMEOUT2_MASK BIT(4) +#define S2MPG10_IRQ_SPD_PARITY_ERR_MASK BIT(5) +#define S2MPG10_IRQ_SPD_ABNORMAL_STOP_MASK BIT(6) +#define S2MPG10_IRQ_PMETER_OVERF_MASK BIT(7) + + S2MPG10_IRQ_OCP_B1M, + S2MPG10_IRQ_OCP_B2M, + S2MPG10_IRQ_OCP_B3M, + S2MPG10_IRQ_OCP_B4M, + S2MPG10_IRQ_OCP_B5M, + S2MPG10_IRQ_OCP_B6M, + S2MPG10_IRQ_OCP_B7M, + S2MPG10_IRQ_OCP_B8M, +#define S2MPG10_IRQ_OCP_B1M_MASK BIT(0) +#define S2MPG10_IRQ_OCP_B2M_MASK BIT(1) +#define S2MPG10_IRQ_OCP_B3M_MASK BIT(2) +#define S2MPG10_IRQ_OCP_B4M_MASK BIT(3) +#define S2MPG10_IRQ_OCP_B5M_MASK BIT(4) +#define S2MPG10_IRQ_OCP_B6M_MASK BIT(5) +#define S2MPG10_IRQ_OCP_B7M_MASK BIT(6) +#define S2MPG10_IRQ_OCP_B8M_MASK BIT(7) + + S2MPG10_IRQ_OCP_B9M, + S2MPG10_IRQ_OCP_B10M, + S2MPG10_IRQ_WLWP_ACC, + S2MPG10_IRQ_SMPL_TIMEOUT, + S2MPG10_IRQ_WTSR_TIMEOUT, + S2MPG10_IRQ_SPD_SRP_PKT_RST, +#define S2MPG10_IRQ_OCP_B9M_MASK BIT(0) +#define S2MPG10_IRQ_OCP_B10M_MASK BIT(1) +#define S2MPG10_IRQ_WLWP_ACC_MASK BIT(2) +#define S2MPG10_IRQ_SMPL_TIMEOUT_MASK BIT(5) +#define S2MPG10_IRQ_WTSR_TIMEOUT_MASK BIT(6) +#define S2MPG10_IRQ_SPD_SRP_PKT_RST_MASK BIT(7) + + S2MPG10_IRQ_PWR_WARN_CH0, + S2MPG10_IRQ_PWR_WARN_CH1, + S2MPG10_IRQ_PWR_WARN_CH2, + S2MPG10_IRQ_PWR_WARN_CH3, + S2MPG10_IRQ_PWR_WARN_CH4, + S2MPG10_IRQ_PWR_WARN_CH5, + S2MPG10_IRQ_PWR_WARN_CH6, + S2MPG10_IRQ_PWR_WARN_CH7, +#define S2MPG10_IRQ_PWR_WARN_CH0_MASK BIT(0) +#define S2MPG10_IRQ_PWR_WARN_CH1_MASK BIT(1) +#define S2MPG10_IRQ_PWR_WARN_CH2_MASK BIT(2) +#define S2MPG10_IRQ_PWR_WARN_CH3_MASK BIT(3) +#define S2MPG10_IRQ_PWR_WARN_CH4_MASK BIT(4) +#define S2MPG10_IRQ_PWR_WARN_CH5_MASK BIT(5) +#define S2MPG10_IRQ_PWR_WARN_CH6_MASK BIT(6) +#define S2MPG10_IRQ_PWR_WARN_CH7_MASK BIT(7) + + S2MPG10_IRQ_NR, +}; + enum s2mps11_irq { S2MPS11_IRQ_PWRONF, S2MPS11_IRQ_PWRONR, diff --git a/include/linux/mfd/samsung/rtc.h b/include/linux/mfd/samsung/rtc.h index 0204decfc9aacbf4bc93d98a256f1d956bbcd19c..51c4239a1fa6f28155711a0756b0e071b010d848 100644 --- a/include/linux/mfd/samsung/rtc.h +++ b/include/linux/mfd/samsung/rtc.h @@ -72,6 +72,37 @@ enum s2mps_rtc_reg { S2MPS_RTC_REG_MAX, }; +enum s2mpg10_rtc_reg { + S2MPG10_RTC_CTRL, + S2MPG10_RTC_UPDATE, + S2MPG10_RTC_SMPL, + S2MPG10_RTC_WTSR, + S2MPG10_RTC_CAP_SEL, + S2MPG10_RTC_MSEC, + S2MPG10_RTC_SEC, + S2MPG10_RTC_MIN, + S2MPG10_RTC_HOUR, + S2MPG10_RTC_WEEK, + S2MPG10_RTC_DAY, + S2MPG10_RTC_MON, + S2MPG10_RTC_YEAR, + S2MPG10_RTC_A0SEC, + S2MPG10_RTC_A0MIN, + S2MPG10_RTC_A0HOUR, + S2MPG10_RTC_A0WEEK, + S2MPG10_RTC_A0DAY, + S2MPG10_RTC_A0MON, + S2MPG10_RTC_A0YEAR, + S2MPG10_RTC_A1SEC, + S2MPG10_RTC_A1MIN, + S2MPG10_RTC_A1HOUR, + S2MPG10_RTC_A1WEEK, + S2MPG10_RTC_A1DAY, + S2MPG10_RTC_A1MON, + S2MPG10_RTC_A1YEAR, + S2MPG10_RTC_OSC_CTRL, +}; + #define RTC_I2C_ADDR (0x0C >> 1) #define HOUR_12 (1 << 7) @@ -124,10 +155,16 @@ enum s2mps_rtc_reg { #define ALARM_ENABLE_SHIFT 7 #define ALARM_ENABLE_MASK (1 << ALARM_ENABLE_SHIFT) +/* WTSR & SMPL registers */ #define SMPL_ENABLE_SHIFT 7 #define SMPL_ENABLE_MASK (1 << SMPL_ENABLE_SHIFT) #define WTSR_ENABLE_SHIFT 6 #define WTSR_ENABLE_MASK (1 << WTSR_ENABLE_SHIFT) +#define S2MPG10_WTSR_COLDTIMER GENMASK(6, 5) +#define S2MPG10_WTSR_COLDRST BIT(4) +#define S2MPG10_WTSR_WTSRT GENMASK(3, 1) +#define S2MPG10_WTSR_WTSR_EN BIT(0) + #endif /* __LINUX_MFD_SEC_RTC_H */ diff --git a/include/linux/mfd/samsung/s2mpg10.h b/include/linux/mfd/samsung/s2mpg10.h new file mode 100644 index 0000000000000000000000000000000000000000..778ff16ef6668ded514e8dc7242f369cb9c2d0e6 --- /dev/null +++ b/include/linux/mfd/samsung/s2mpg10.h @@ -0,0 +1,454 @@ +/* SPDX-License-Identifier: GPL-2.0+ */ +/* + * Copyright 2015 Samsung Electronics + * Copyright 2020 Google Inc + * Copyright 2025 Linaro Ltd. + */ + +#ifndef __LINUX_MFD_S2MPG10_H +#define __LINUX_MFD_S2MPG10_H + +/* Common registers (type 0x000) */ +enum s2mpg10_common_reg { + S2MPG10_COMMON_CHIPID, + S2MPG10_COMMON_INT, + S2MPG10_COMMON_INT_MASK, + S2MPG10_COMMON_SPD_CTRL1 = 0x0a, + S2MPG10_COMMON_SPD_CTRL2, + S2MPG10_COMMON_SPD_CTRL3, + S2MPG10_COMMON_MON1SEL = 0x1a, + S2MPG10_COMMON_MON2SEL, + S2MPG10_COMMON_MONR, + S2MPG10_COMMON_DEBUG_CTRL1, + S2MPG10_COMMON_DEBUG_CTRL2, + S2MPG10_COMMON_DEBUG_CTRL3, + S2MPG10_COMMON_DEBUG_CTRL4, + S2MPG10_COMMON_DEBUG_CTRL5, + S2MPG10_COMMON_DEBUG_CTRL6, + S2MPG10_COMMON_DEBUG_CTRL7, + S2MPG10_COMMON_DEBUG_CTRL8, + S2MPG10_COMMON_TEST_MODE1, + S2MPG10_COMMON_TEST_MODE2, + S2MPG10_COMMON_SPD_DEBUG1, + S2MPG10_COMMON_SPD_DEBUG2, + S2MPG10_COMMON_SPD_DEBUG3, + S2MPG10_COMMON_SPD_DEBUG4, +}; + +/* for S2MPG10_COMMON_INT and S2MPG10_COMMON_INT_MASK */ +#define S2MPG10_COMMON_INT_SRC GENMASK(7, 0) +#define S2MPG10_COMMON_INT_SRC_PMIC BIT(0) + +/* PMIC registers (type 0x100) */ +enum s2mpg10_pmic_reg { + S2MPG10_PMIC_INT1, + S2MPG10_PMIC_INT2, + S2MPG10_PMIC_INT3, + S2MPG10_PMIC_INT4, + S2MPG10_PMIC_INT5, + S2MPG10_PMIC_INT6, + S2MPG10_PMIC_INT1M, + S2MPG10_PMIC_INT2M, + S2MPG10_PMIC_INT3M, + S2MPG10_PMIC_INT4M, + S2MPG10_PMIC_INT5M, + S2MPG10_PMIC_INT6M, + S2MPG10_PMIC_STATUS1, + S2MPG10_PMIC_STATUS2, + S2MPG10_PMIC_PWRONSRC, + S2MPG10_PMIC_OFFSRC, + S2MPG10_PMIC_BU_CHG, + S2MPG10_PMIC_RTCBUF, + S2MPG10_PMIC_COMMON_CTRL1, + S2MPG10_PMIC_COMMON_CTRL2, + S2MPG10_PMIC_COMMON_CTRL3, + S2MPG10_PMIC_COMMON_CTRL4, + S2MPG10_PMIC_SMPL_WARN_CTRL, + S2MPG10_PMIC_MIMICKING_CTRL, + S2MPG10_PMIC_B1M_CTRL, + S2MPG10_PMIC_B1M_OUT1, + S2MPG10_PMIC_B1M_OUT2, + S2MPG10_PMIC_B2M_CTRL, + S2MPG10_PMIC_B2M_OUT1, + S2MPG10_PMIC_B2M_OUT2, + S2MPG10_PMIC_B3M_CTRL, + S2MPG10_PMIC_B3M_OUT1, + S2MPG10_PMIC_B3M_OUT2, + S2MPG10_PMIC_B4M_CTRL, + S2MPG10_PMIC_B4M_OUT1, + S2MPG10_PMIC_B4M_OUT2, + S2MPG10_PMIC_B5M_CTRL, + S2MPG10_PMIC_B5M_OUT1, + S2MPG10_PMIC_B5M_OUT2, + S2MPG10_PMIC_B6M_CTRL, + S2MPG10_PMIC_B6M_OUT1, + S2MPG10_PMIC_B6M_OUT2, + S2MPG10_PMIC_B7M_CTRL, + S2MPG10_PMIC_B7M_OUT1, + S2MPG10_PMIC_B7M_OUT2, + S2MPG10_PMIC_B8M_CTRL, + S2MPG10_PMIC_B8M_OUT1, + S2MPG10_PMIC_B8M_OUT2, + S2MPG10_PMIC_B9M_CTRL, + S2MPG10_PMIC_B9M_OUT1, + S2MPG10_PMIC_B9M_OUT2, + S2MPG10_PMIC_B10M_CTRL, + S2MPG10_PMIC_B10M_OUT1, + S2MPG10_PMIC_B10M_OUT2, + S2MPG10_PMIC_BUCK1M_USONIC, + S2MPG10_PMIC_BUCK2M_USONIC, + S2MPG10_PMIC_BUCK3M_USONIC, + S2MPG10_PMIC_BUCK4M_USONIC, + S2MPG10_PMIC_BUCK5M_USONIC, + S2MPG10_PMIC_BUCK6M_USONIC, + S2MPG10_PMIC_BUCK7M_USONIC, + S2MPG10_PMIC_BUCK8M_USONIC, + S2MPG10_PMIC_BUCK9M_USONIC, + S2MPG10_PMIC_BUCK10M_USONIC, + S2MPG10_PMIC_L1M_CTRL, + S2MPG10_PMIC_L2M_CTRL, + S2MPG10_PMIC_L3M_CTRL, + S2MPG10_PMIC_L4M_CTRL, + S2MPG10_PMIC_L5M_CTRL, + S2MPG10_PMIC_L6M_CTRL, + S2MPG10_PMIC_L7M_CTRL, + S2MPG10_PMIC_L8M_CTRL, + S2MPG10_PMIC_L9M_CTRL, + S2MPG10_PMIC_L10M_CTRL, + S2MPG10_PMIC_L11M_CTRL1, + S2MPG10_PMIC_L11M_CTRL2, + S2MPG10_PMIC_L12M_CTRL1, + S2MPG10_PMIC_L12M_CTRL2, + S2MPG10_PMIC_L13M_CTRL1, + S2MPG10_PMIC_L13M_CTRL2, + S2MPG10_PMIC_L14M_CTRL, + S2MPG10_PMIC_L15M_CTRL1, + S2MPG10_PMIC_L15M_CTRL2, + S2MPG10_PMIC_L16M_CTRL, + S2MPG10_PMIC_L17M_CTRL, + S2MPG10_PMIC_L18M_CTRL, + S2MPG10_PMIC_L19M_CTRL, + S2MPG10_PMIC_L20M_CTRL, + S2MPG10_PMIC_L21M_CTRL, + S2MPG10_PMIC_L22M_CTRL, + S2MPG10_PMIC_L23M_CTRL, + S2MPG10_PMIC_L24M_CTRL, + S2MPG10_PMIC_L25M_CTRL, + S2MPG10_PMIC_L26M_CTRL, + S2MPG10_PMIC_L27M_CTRL, + S2MPG10_PMIC_L28M_CTRL, + S2MPG10_PMIC_L29M_CTRL, + S2MPG10_PMIC_L30M_CTRL, + S2MPG10_PMIC_L31M_CTRL, + S2MPG10_PMIC_LDO_CTRL1, + S2MPG10_PMIC_LDO_CTRL2, + S2MPG10_PMIC_LDO_DSCH1, + S2MPG10_PMIC_LDO_DSCH2, + S2MPG10_PMIC_LDO_DSCH3, + S2MPG10_PMIC_LDO_DSCH4, + S2MPG10_PMIC_LDO_BUCK7M_HLIMIT, + S2MPG10_PMIC_LDO_BUCK7M_LLIMIT, + S2MPG10_PMIC_LDO_LDO21M_HLIMIT, + S2MPG10_PMIC_LDO_LDO21M_LLIMIT, + S2MPG10_PMIC_LDO_LDO11M_HLIMIT, + S2MPG10_PMIC_DVS_RAMP1, + S2MPG10_PMIC_DVS_RAMP2, + S2MPG10_PMIC_DVS_RAMP3, + S2MPG10_PMIC_DVS_RAMP4, + S2MPG10_PMIC_DVS_RAMP5, + S2MPG10_PMIC_DVS_RAMP6, + S2MPG10_PMIC_DVS_SYNC_CTRL1, + S2MPG10_PMIC_DVS_SYNC_CTRL2, + S2MPG10_PMIC_DVS_SYNC_CTRL3, + S2MPG10_PMIC_DVS_SYNC_CTRL4, + S2MPG10_PMIC_DVS_SYNC_CTRL5, + S2MPG10_PMIC_DVS_SYNC_CTRL6, + S2MPG10_PMIC_OFF_CTRL1, + S2MPG10_PMIC_OFF_CTRL2, + S2MPG10_PMIC_OFF_CTRL3, + S2MPG10_PMIC_OFF_CTRL4, + S2MPG10_PMIC_SEQ_CTRL1, + S2MPG10_PMIC_SEQ_CTRL2, + S2MPG10_PMIC_SEQ_CTRL3, + S2MPG10_PMIC_SEQ_CTRL4, + S2MPG10_PMIC_SEQ_CTRL5, + S2MPG10_PMIC_SEQ_CTRL6, + S2MPG10_PMIC_SEQ_CTRL7, + S2MPG10_PMIC_SEQ_CTRL8, + S2MPG10_PMIC_SEQ_CTRL9, + S2MPG10_PMIC_SEQ_CTRL10, + S2MPG10_PMIC_SEQ_CTRL11, + S2MPG10_PMIC_SEQ_CTRL12, + S2MPG10_PMIC_SEQ_CTRL13, + S2MPG10_PMIC_SEQ_CTRL14, + S2MPG10_PMIC_SEQ_CTRL15, + S2MPG10_PMIC_SEQ_CTRL16, + S2MPG10_PMIC_SEQ_CTRL17, + S2MPG10_PMIC_SEQ_CTRL18, + S2MPG10_PMIC_SEQ_CTRL19, + S2MPG10_PMIC_SEQ_CTRL20, + S2MPG10_PMIC_SEQ_CTRL21, + S2MPG10_PMIC_SEQ_CTRL22, + S2MPG10_PMIC_SEQ_CTRL23, + S2MPG10_PMIC_SEQ_CTRL24, + S2MPG10_PMIC_SEQ_CTRL25, + S2MPG10_PMIC_SEQ_CTRL26, + S2MPG10_PMIC_SEQ_CTRL27, + S2MPG10_PMIC_SEQ_CTRL28, + S2MPG10_PMIC_SEQ_CTRL29, + S2MPG10_PMIC_SEQ_CTRL30, + S2MPG10_PMIC_SEQ_CTRL31, + S2MPG10_PMIC_SEQ_CTRL32, + S2MPG10_PMIC_SEQ_CTRL33, + S2MPG10_PMIC_SEQ_CTRL34, + S2MPG10_PMIC_SEQ_CTRL35, + S2MPG10_PMIC_OFF_SEQ_CTRL1, + S2MPG10_PMIC_OFF_SEQ_CTRL2, + S2MPG10_PMIC_OFF_SEQ_CTRL3, + S2MPG10_PMIC_OFF_SEQ_CTRL4, + S2MPG10_PMIC_OFF_SEQ_CTRL5, + S2MPG10_PMIC_OFF_SEQ_CTRL6, + S2MPG10_PMIC_OFF_SEQ_CTRL7, + S2MPG10_PMIC_OFF_SEQ_CTRL8, + S2MPG10_PMIC_OFF_SEQ_CTRL9, + S2MPG10_PMIC_OFF_SEQ_CTRL10, + S2MPG10_PMIC_OFF_SEQ_CTRL11, + S2MPG10_PMIC_OFF_SEQ_CTRL12, + S2MPG10_PMIC_OFF_SEQ_CTRL13, + S2MPG10_PMIC_OFF_SEQ_CTRL14, + S2MPG10_PMIC_OFF_SEQ_CTRL15, + S2MPG10_PMIC_OFF_SEQ_CTRL16, + S2MPG10_PMIC_OFF_SEQ_CTRL17, + S2MPG10_PMIC_OFF_SEQ_CTRL18, + S2MPG10_PMIC_PCTRLSEL1, + S2MPG10_PMIC_PCTRLSEL2, + S2MPG10_PMIC_PCTRLSEL3, + S2MPG10_PMIC_PCTRLSEL4, + S2MPG10_PMIC_PCTRLSEL5, + S2MPG10_PMIC_PCTRLSEL6, + S2MPG10_PMIC_PCTRLSEL7, + S2MPG10_PMIC_PCTRLSEL8, + S2MPG10_PMIC_PCTRLSEL9, + S2MPG10_PMIC_PCTRLSEL10, + S2MPG10_PMIC_PCTRLSEL11, + S2MPG10_PMIC_PCTRLSEL12, + S2MPG10_PMIC_PCTRLSEL13, + S2MPG10_PMIC_DCTRLSEL1, + S2MPG10_PMIC_DCTRLSEL2, + S2MPG10_PMIC_DCTRLSEL3, + S2MPG10_PMIC_DCTRLSEL4, + S2MPG10_PMIC_DCTRLSEL5, + S2MPG10_PMIC_DCTRLSEL6, + S2MPG10_PMIC_DCTRLSEL7, + S2MPG10_PMIC_GPIO_CTRL1, + S2MPG10_PMIC_GPIO_CTRL2, + S2MPG10_PMIC_GPIO_CTRL3, + S2MPG10_PMIC_GPIO_CTRL4, + S2MPG10_PMIC_GPIO_CTRL5, + S2MPG10_PMIC_GPIO_CTRL6, + S2MPG10_PMIC_GPIO_CTRL7, + S2MPG10_PMIC_B2M_OCP_WARN, + S2MPG10_PMIC_B2M_OCP_WARN_X, + S2MPG10_PMIC_B2M_OCP_WARN_Y, + S2MPG10_PMIC_B2M_OCP_WARN_Z, + S2MPG10_PMIC_B3M_OCP_WARN, + S2MPG10_PMIC_B3M_OCP_WARN_X, + S2MPG10_PMIC_B3M_OCP_WARN_Y, + S2MPG10_PMIC_B3M_OCP_WARN_Z, + S2MPG10_PMIC_B10M_OCP_WARN, + S2MPG10_PMIC_B10M_OCP_WARN_X, + S2MPG10_PMIC_B10M_OCP_WARN_Y, + S2MPG10_PMIC_B10M_OCP_WARN_Z, + S2MPG10_PMIC_B2M_SOFT_OCP_WARN, + S2MPG10_PMIC_B2M_SOFT_OCP_WARN_X, + S2MPG10_PMIC_B2M_SOFT_OCP_WARN_Y, + S2MPG10_PMIC_B2M_SOFT_OCP_WARN_Z, + S2MPG10_PMIC_B3M_SOFT_OCP_WARN, + S2MPG10_PMIC_B3M_SOFT_OCP_WARN_X, + S2MPG10_PMIC_B3M_SOFT_OCP_WARN_Y, + S2MPG10_PMIC_B3M_SOFT_OCP_WARN_Z, + S2MPG10_PMIC_B10M_SOFT_OCP_WARN, + S2MPG10_PMIC_B10M_SOFT_OCP_WARN_X, + S2MPG10_PMIC_B10M_SOFT_OCP_WARN_Y, + S2MPG10_PMIC_B10M_SOFT_OCP_WARN_Z, + S2MPG10_PMIC_BUCK_OCP_EN1, + S2MPG10_PMIC_BUCK_OCP_EN2, + S2MPG10_PMIC_BUCK_OCP_PD_EN1, + S2MPG10_PMIC_BUCK_OCP_PD_EN2, + S2MPG10_PMIC_BUCK_OCP_CTRL1, + S2MPG10_PMIC_BUCK_OCP_CTRL2, + S2MPG10_PMIC_BUCK_OCP_CTRL3, + S2MPG10_PMIC_BUCK_OCP_CTRL4, + S2MPG10_PMIC_BUCK_OCP_CTRL5, + S2MPG10_PMIC_PIF_CTRL, + S2MPG10_PMIC_BUCK_HR_MODE1, + S2MPG10_PMIC_BUCK_HR_MODE2, + S2MPG10_PMIC_FAULTOUT_CTRL, + S2MPG10_PMIC_LDO_SENSE1, + S2MPG10_PMIC_LDO_SENSE2, + S2MPG10_PMIC_LDO_SENSE3, + S2MPG10_PMIC_LDO_SENSE4, +}; + +/* Meter registers (type 0xa00) */ +enum s2mpg10_meter_reg { + S2MPG10_METER_CTRL1, + S2MPG10_METER_CTRL2, + S2MPG10_METER_CTRL3, + S2MPG10_METER_CTRL4, + S2MPG10_METER_BUCKEN1, + S2MPG10_METER_BUCKEN2, + S2MPG10_METER_MUXSEL0, + S2MPG10_METER_MUXSEL1, + S2MPG10_METER_MUXSEL2, + S2MPG10_METER_MUXSEL3, + S2MPG10_METER_MUXSEL4, + S2MPG10_METER_MUXSEL5, + S2MPG10_METER_MUXSEL6, + S2MPG10_METER_MUXSEL7, + S2MPG10_METER_LPF_C0_0, + S2MPG10_METER_LPF_C0_1, + S2MPG10_METER_LPF_C0_2, + S2MPG10_METER_LPF_C0_3, + S2MPG10_METER_LPF_C0_4, + S2MPG10_METER_LPF_C0_5, + S2MPG10_METER_LPF_C0_6, + S2MPG10_METER_LPF_C0_7, + S2MPG10_METER_PWR_WARN0, + S2MPG10_METER_PWR_WARN1, + S2MPG10_METER_PWR_WARN2, + S2MPG10_METER_PWR_WARN3, + S2MPG10_METER_PWR_WARN4, + S2MPG10_METER_PWR_WARN5, + S2MPG10_METER_PWR_WARN6, + S2MPG10_METER_PWR_WARN7, + S2MPG10_METER_PWR_HYS1, + S2MPG10_METER_PWR_HYS2, + S2MPG10_METER_PWR_HYS3, + S2MPG10_METER_PWR_HYS4, + S2MPG10_METER_ACC_DATA_CH0_1 = 0x40, + S2MPG10_METER_ACC_DATA_CH0_2, + S2MPG10_METER_ACC_DATA_CH0_3, + S2MPG10_METER_ACC_DATA_CH0_4, + S2MPG10_METER_ACC_DATA_CH0_5, + S2MPG10_METER_ACC_DATA_CH0_6, + S2MPG10_METER_ACC_DATA_CH1_1, + S2MPG10_METER_ACC_DATA_CH1_2, + S2MPG10_METER_ACC_DATA_CH1_3, + S2MPG10_METER_ACC_DATA_CH1_4, + S2MPG10_METER_ACC_DATA_CH1_5, + S2MPG10_METER_ACC_DATA_CH1_6, + S2MPG10_METER_ACC_DATA_CH2_1, + S2MPG10_METER_ACC_DATA_CH2_2, + S2MPG10_METER_ACC_DATA_CH2_3, + S2MPG10_METER_ACC_DATA_CH2_4, + S2MPG10_METER_ACC_DATA_CH2_5, + S2MPG10_METER_ACC_DATA_CH2_6, + S2MPG10_METER_ACC_DATA_CH3_1, + S2MPG10_METER_ACC_DATA_CH3_2, + S2MPG10_METER_ACC_DATA_CH3_3, + S2MPG10_METER_ACC_DATA_CH3_4, + S2MPG10_METER_ACC_DATA_CH3_5, + S2MPG10_METER_ACC_DATA_CH3_6, + S2MPG10_METER_ACC_DATA_CH4_1, + S2MPG10_METER_ACC_DATA_CH4_2, + S2MPG10_METER_ACC_DATA_CH4_3, + S2MPG10_METER_ACC_DATA_CH4_4, + S2MPG10_METER_ACC_DATA_CH4_5, + S2MPG10_METER_ACC_DATA_CH4_6, + S2MPG10_METER_ACC_DATA_CH5_1, + S2MPG10_METER_ACC_DATA_CH5_2, + S2MPG10_METER_ACC_DATA_CH5_3, + S2MPG10_METER_ACC_DATA_CH5_4, + S2MPG10_METER_ACC_DATA_CH5_5, + S2MPG10_METER_ACC_DATA_CH5_6, + S2MPG10_METER_ACC_DATA_CH6_1, + S2MPG10_METER_ACC_DATA_CH6_2, + S2MPG10_METER_ACC_DATA_CH6_3, + S2MPG10_METER_ACC_DATA_CH6_4, + S2MPG10_METER_ACC_DATA_CH6_5, + S2MPG10_METER_ACC_DATA_CH6_6, + S2MPG10_METER_ACC_DATA_CH7_1, + S2MPG10_METER_ACC_DATA_CH7_2, + S2MPG10_METER_ACC_DATA_CH7_3, + S2MPG10_METER_ACC_DATA_CH7_4, + S2MPG10_METER_ACC_DATA_CH7_5, + S2MPG10_METER_ACC_DATA_CH7_6, + S2MPG10_METER_ACC_COUNT_1, + S2MPG10_METER_ACC_COUNT_2, + S2MPG10_METER_ACC_COUNT_3, + S2MPG10_METER_LPF_DATA_CH0_1, + S2MPG10_METER_LPF_DATA_CH0_2, + S2MPG10_METER_LPF_DATA_CH0_3, + S2MPG10_METER_LPF_DATA_CH1_1, + S2MPG10_METER_LPF_DATA_CH1_2, + S2MPG10_METER_LPF_DATA_CH1_3, + S2MPG10_METER_LPF_DATA_CH2_1, + S2MPG10_METER_LPF_DATA_CH2_2, + S2MPG10_METER_LPF_DATA_CH2_3, + S2MPG10_METER_LPF_DATA_CH3_1, + S2MPG10_METER_LPF_DATA_CH3_2, + S2MPG10_METER_LPF_DATA_CH3_3, + S2MPG10_METER_LPF_DATA_CH4_1, + S2MPG10_METER_LPF_DATA_CH4_2, + S2MPG10_METER_LPF_DATA_CH4_3, + S2MPG10_METER_LPF_DATA_CH5_1, + S2MPG10_METER_LPF_DATA_CH5_2, + S2MPG10_METER_LPF_DATA_CH5_3, + S2MPG10_METER_LPF_DATA_CH6_1, + S2MPG10_METER_LPF_DATA_CH6_2, + S2MPG10_METER_LPF_DATA_CH6_3, + S2MPG10_METER_LPF_DATA_CH7_1, + S2MPG10_METER_LPF_DATA_CH7_2, + S2MPG10_METER_LPF_DATA_CH7_3, + S2MPG10_METER_DSM_TRIM_OFFSET = 0xee, + S2MPG10_METER_BUCK_METER_TRIM3 = 0xf1, +}; + +/* S2MPG10 regulator IDs */ +enum s2mpg10_regulators { + S2MPG10_LDO1, + S2MPG10_LDO2, + S2MPG10_LDO3, + S2MPG10_LDO4, + S2MPG10_LDO5, + S2MPG10_LDO6, + S2MPG10_LDO7, + S2MPG10_LDO8, + S2MPG10_LDO9, + S2MPG10_LDO10, + S2MPG10_LDO11, + S2MPG10_LDO12, + S2MPG10_LDO13, + S2MPG10_LDO14, + S2MPG10_LDO15, + S2MPG10_LDO16, + S2MPG10_LDO17, + S2MPG10_LDO18, + S2MPG10_LDO19, + S2MPG10_LDO20, + S2MPG10_LDO21, + S2MPG10_LDO22, + S2MPG10_LDO23, + S2MPG10_LDO24, + S2MPG10_LDO25, + S2MPG10_LDO26, + S2MPG10_LDO27, + S2MPG10_LDO28, + S2MPG10_LDO29, + S2MPG10_LDO30, + S2MPG10_LDO31, + S2MPG10_BUCK1, + S2MPG10_BUCK2, + S2MPG10_BUCK3, + S2MPG10_BUCK4, + S2MPG10_BUCK5, + S2MPG10_BUCK6, + S2MPG10_BUCK7, + S2MPG10_BUCK8, + S2MPG10_BUCK9, + S2MPG10_BUCK10, + S2MPG10_REGULATOR_MAX, +}; + +#endif /* __LINUX_MFD_S2MPG10_H */ From patchwork Thu Apr 3 08:59:02 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Andr=C3=A9_Draszik?= X-Patchwork-Id: 14037188 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 5649BC3600C for ; Thu, 3 Apr 2025 09:18:52 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:Cc:To:In-Reply-To:References :Message-Id:Content-Transfer-Encoding:Content-Type:MIME-Version:Subject:Date: From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=p70205lv5Ahwks+JMv232ptcGxJ9M60C9dRMMYjFwHs=; b=VDObBGaRFjacdO/dGcdXqestAI O92nAzy2utZJAj/okZEvGD8shnhWP/wMlcYfxgSPZao+k7gTBLCZPu+yMcmqQxXzn/eJRqDC+0DSv fTiMGXWHTfAUdkJ1HJRXCRMyWWH8aZzrKpERpx6MSOg6oCSdysc6YNGPDDpSWWUTye4sZK+r0ZzU0 E0bMippjMN9FIaEJaYr8CAF2cEBrJF5a11YzMOjoF+09wTUlL1IFUImpzhbsBaknNPU3PbTtO6/u/ ikMVO63ICha5UJKKauTDFLLVZc4DcfWS2r/9lMmIVyU/C7gelAgDu/wdXYFshx2OVBIFYQa4JLNeA 5CMUChqw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98.1 #2 (Red Hat Linux)) id 1u0Gih-00000008NMn-3WD0; Thu, 03 Apr 2025 09:18:43 +0000 Received: from mail-ed1-x531.google.com ([2a00:1450:4864:20::531]) by bombadil.infradead.org with esmtps (Exim 4.98.1 #2 (Red Hat Linux)) id 1u0GPk-00000008Jjb-0khk for linux-arm-kernel@lists.infradead.org; Thu, 03 Apr 2025 08:59:10 +0000 Received: by mail-ed1-x531.google.com with SMTP id 4fb4d7f45d1cf-5e614da8615so1320554a12.1 for ; Thu, 03 Apr 2025 01:59:08 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1743670747; x=1744275547; darn=lists.infradead.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=p70205lv5Ahwks+JMv232ptcGxJ9M60C9dRMMYjFwHs=; b=zRVpn7MxwoWLkZJu2CSWrtk6kTq2j67HuauhZFNekZG1n3p3mg9307Cgp3CQsb42ua Rz4HuoPRd9tIvhYBeYCytHOqTeTBgG6WDBwKXlCzwDqvEzijoZf4iPE3SUIJ7PPBXH46 /q93OwXZCeMzGLRQuAInSf3gOMBFjXMEtGRQvZl70NHy7sSUmvjE2T/O5YWigiCDhiLX TV3tRtTgV4YpuHPlKLg2/B6Hnt5wgZQhd1lvDj9wjozudwcsHAMwAPgmprCRHrwAfyY7 9Q6efawd0hkjY7T++Jpgz7JLDzWpPX1MMledp54ucEw/lDq+SMFqOgRO8Hpgm5Vo/og/ O88Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743670747; x=1744275547; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=p70205lv5Ahwks+JMv232ptcGxJ9M60C9dRMMYjFwHs=; b=MkqliNXL85JwxD1dVuMkJ23LarVxIFItjBoAfoCKm1EhS9mpmcJejWy8nNhwdpyRX+ jOSbEifnQwJlHLnR8BnSNi6zJIx36sIVk06l4z0tvgEYQMZ3Gv2bZ6p5K9u5+ahIxfcx gAcrJOZ+v08Zt8ZL0Rohr9ENX92jt/0b1MqT9nJ05pXArT4MOtQkiso+TeVEabnh2F7b BO7YrF5ArxRyEaYTj+wW4LIVZvcqD0eiXZZlfXhjCUTjN6s/RqZUhsHGwy/Iikpnh1xQ LiftsjPxmAWcuLc7GvTr+mvIVoLNMpvabFBntD2jAJa8pFTx98zuCc82LNLXrUylL/n5 SbyQ== X-Forwarded-Encrypted: i=1; AJvYcCUprIZDjNuXAoiI3d8zWOU199xoK/5zPTu+TNLRlQIlDVSK2/R4tNkx8i4lWyVOzg1+pdflj66iOCRz7dI8Up6u@lists.infradead.org X-Gm-Message-State: AOJu0YwSB3qLzWkUm9sBB2Aj4CHlD+cCZjKgOgg38zZJBV/BuLKAcWMd rl9tp54iGIeseFDxdyG3FLuP3SiZvT+RIKVeylpn0aChfBfUVa56DCC34NJoO7c= X-Gm-Gg: ASbGncsD/MIKJLdlJZFMarG8eAL8kzd4pZtNrS1i7eIJnZZL10NlEhmHBq6sRX4enAB 0T+q6B3MdiI0RdRB+u/jq8S+Nr+OF8ZTU9Qxx4gz6dyemEMC/6sFzqWCwuwP/3RdbVm8lMiwHEJ gQOITobaMTjgBuMI8VgGdSFv94Fi6KM7d2opg4PjMthKY15/7o/HVURTr5A1l2FihY28iwMKd3i 4JeC2QNsG2LkIbsLb2Spt2P0sppYuFe4hanF22CW1Hi20urdvMyYmZcKB3RmI4+mxRS5Yy9UINM NepLrF0kR2fyGz/wJzVOeYmD8UnafNvjwLIpnnqzlZHDi2NpALJqrqKDxT5GrEB+CeVpA7yOyfy l63ywJKVa3k9JrmIWkyHF1Lin07W9 X-Google-Smtp-Source: AGHT+IHQHM6p/MAOKJQd3/sqq0s5Pmh71tqwvfrmV/m7Z/Cso9FWL+o5hSWX6vucaMzTOkvAI4hVoQ== X-Received: by 2002:a05:6402:274c:b0:5ed:16a9:c333 with SMTP id 4fb4d7f45d1cf-5f08412c8dfmr2413316a12.2.1743670746820; Thu, 03 Apr 2025 01:59:06 -0700 (PDT) Received: from puffmais.c.googlers.com (8.239.204.35.bc.googleusercontent.com. [35.204.239.8]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-5f0880a535fsm637614a12.80.2025.04.03.01.59.05 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 03 Apr 2025 01:59:05 -0700 (PDT) From: =?utf-8?q?Andr=C3=A9_Draszik?= Date: Thu, 03 Apr 2025 09:59:02 +0100 Subject: [PATCH v3 10/32] mfd: sec: merge separate core and irq modules MIME-Version: 1.0 Message-Id: <20250403-s2mpg10-v3-10-b542b3505e68@linaro.org> References: <20250403-s2mpg10-v3-0-b542b3505e68@linaro.org> In-Reply-To: <20250403-s2mpg10-v3-0-b542b3505e68@linaro.org> To: Krzysztof Kozlowski , Lee Jones , Rob Herring , Conor Dooley , Sylwester Nawrocki , Chanwoo Choi , Alim Akhtar , Michael Turquette , Stephen Boyd , Russell King , Catalin Marinas , Will Deacon , Alexandre Belloni Cc: Peter Griffin , Tudor Ambarus , Will McVicker , kernel-team@android.com, linux-kernel@vger.kernel.org, linux-samsung-soc@vger.kernel.org, devicetree@vger.kernel.org, linux-clk@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-rtc@vger.kernel.org, =?utf-8?q?Andr=C3=A9_Draszik?= , Krzysztof Kozlowski X-Mailer: b4 0.14.2 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250403_015908_227986_35F919A3 X-CRM114-Status: GOOD ( 13.44 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org There is no reason to have these two kernel modules separate. Having them merged into one kernel module also slightly reduces memory consumption and module load times a little. mapped size (lsmod): before: after: sec_core 20480 sec_core 24576 sec_irq 16384 ---------------- total 36864 Section sizes (size -A): before: after: sec_core 6780 sec_core 13239 sec_irq 8046 ---------------- Total 14826 Reviewed-by: Krzysztof Kozlowski Signed-off-by: André Draszik --- Checkpatch suggests to update MAINTAINERS, but the new file is covered already due to using a wildcard. --- drivers/mfd/Makefile | 3 ++- drivers/mfd/{sec-core.c => sec-common.c} | 2 ++ drivers/mfd/sec-irq.c | 9 --------- 3 files changed, 4 insertions(+), 10 deletions(-) diff --git a/drivers/mfd/Makefile b/drivers/mfd/Makefile index b617782eca436e34084a9cd24c309801c5680390..8f315298b32a2a9ee114ed5e49e760bd8f930aee 100644 --- a/drivers/mfd/Makefile +++ b/drivers/mfd/Makefile @@ -228,7 +228,8 @@ obj-$(CONFIG_MFD_RK8XX) += rk8xx-core.o obj-$(CONFIG_MFD_RK8XX_I2C) += rk8xx-i2c.o obj-$(CONFIG_MFD_RK8XX_SPI) += rk8xx-spi.o obj-$(CONFIG_MFD_RN5T618) += rn5t618.o -obj-$(CONFIG_MFD_SEC_CORE) += sec-core.o sec-irq.o +sec-core-objs := sec-common.o sec-irq.o +obj-$(CONFIG_MFD_SEC_CORE) += sec-core.o obj-$(CONFIG_MFD_SEC_ACPM) += sec-acpm.o obj-$(CONFIG_MFD_SEC_I2C) += sec-i2c.o obj-$(CONFIG_MFD_SYSCON) += syscon.o diff --git a/drivers/mfd/sec-core.c b/drivers/mfd/sec-common.c similarity index 98% rename from drivers/mfd/sec-core.c rename to drivers/mfd/sec-common.c index c4b7abe511090d8f5ff2eb501f325cc8173b9bf5..782dec1956a5fd7bf0dbb2159f9d222ad3fea942 100644 --- a/drivers/mfd/sec-core.c +++ b/drivers/mfd/sec-common.c @@ -307,6 +307,8 @@ static int sec_pmic_resume(struct device *dev) DEFINE_SIMPLE_DEV_PM_OPS(sec_pmic_pm_ops, sec_pmic_suspend, sec_pmic_resume); EXPORT_SYMBOL_GPL(sec_pmic_pm_ops); +MODULE_AUTHOR("Chanwoo Choi "); +MODULE_AUTHOR("Krzysztof Kozlowski "); MODULE_AUTHOR("Sangbeom Kim "); MODULE_DESCRIPTION("Core driver for the Samsung S5M"); MODULE_LICENSE("GPL"); diff --git a/drivers/mfd/sec-irq.c b/drivers/mfd/sec-irq.c index bf86281401ac6ff05c90c2d71c84744709ed79cb..aa467e488fb5ef79d5bc7110e1ba7c26fcfa9892 100644 --- a/drivers/mfd/sec-irq.c +++ b/drivers/mfd/sec-irq.c @@ -6,7 +6,6 @@ #include #include #include -#include #include #include #include @@ -17,7 +16,6 @@ #include #include #include -#include #include #include "sec-core.h" @@ -510,10 +508,3 @@ int sec_irq_init(struct sec_pmic_dev *sec_pmic) return 0; } -EXPORT_SYMBOL_GPL(sec_irq_init); - -MODULE_AUTHOR("Sangbeom Kim "); -MODULE_AUTHOR("Chanwoo Choi "); -MODULE_AUTHOR("Krzysztof Kozlowski "); -MODULE_DESCRIPTION("Interrupt support for the S5M MFD"); -MODULE_LICENSE("GPL"); From patchwork Thu Apr 3 08:59:03 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Andr=C3=A9_Draszik?= X-Patchwork-Id: 14037189 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 E6A3FC3601B for ; Thu, 3 Apr 2025 09:20: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=2UDpkJYTJ8+02Ga55OV2M/CiQAcpkegARGuSb5F8VZs=; b=bCOkRC5EX1iU6XfwX4lBr/+YC6 yreO7e6We2IIxOKyrxSmQDChPiIIGtILgT1SaFQ+1NqOkQytT3pRAz3+Du+/ZjjtxXEZgqom0hP7f WvP+xevz2uIZF9zSouAZK/mMXddTaa881J/J1swqn2ELpqchbvz7egtD7uBIKN9LGFbC8FsPnzVws ClUCrrc2h5s2dooDxPg7Tu6PRpPQ+aAYnhJvtuVcHoXSGP/Htx0FZMFAqDb31itnw94Dw6UaNCibQ 1FbciPOKPAWQEeKNNSh288VfdeaAgy7u6x7eBqyBDhuzsf4hnS33MQzpicvXi+98+tpraRjVucQFr hFwQ2iNQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98.1 #2 (Red Hat Linux)) id 1u0GkR-00000008NyI-2MqX; Thu, 03 Apr 2025 09:20:31 +0000 Received: from mail-ej1-x635.google.com ([2a00:1450:4864:20::635]) by bombadil.infradead.org with esmtps (Exim 4.98.1 #2 (Red Hat Linux)) id 1u0GPl-00000008Jjx-0IMW for linux-arm-kernel@lists.infradead.org; Thu, 03 Apr 2025 08:59:10 +0000 Received: by mail-ej1-x635.google.com with SMTP id a640c23a62f3a-ac298c8fa50so107773266b.1 for ; Thu, 03 Apr 2025 01:59:08 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1743670747; x=1744275547; darn=lists.infradead.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=2UDpkJYTJ8+02Ga55OV2M/CiQAcpkegARGuSb5F8VZs=; b=BgZZ2gaiB9GHo2Gq205xKUCqHtNUJTddpJrNN9QibrVBC4E2sJ9vLIX40tKRMvtV4h FxP3UDkSzLaxIM6u5GRA2d3mQ2jC/t6QE/vWvKw/Mgekyy8vwyG6VHwELKTNdmVH+eSd uaLlAkjqMGmdSRD+qNEWN1T9sWIwkhqHkJBzt9OCCv9h8f6gYqfuLVw5yZVMiasYDXtQ UjcIdVa9DPmQnUQD6GJBQUDaL9L3xBNfACH6TLZfx2tYZg7+UjOFy9EX+Yol/q/cIZXN 6IdCGl/Z7EVJGeDGZxW0KXrAasdPvqZHQqKjtxloNilZwhjBQXWjNmT3vu50k2+jGEEY lrqA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743670747; x=1744275547; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=2UDpkJYTJ8+02Ga55OV2M/CiQAcpkegARGuSb5F8VZs=; b=X0FzzVAHPH+zgT09MiMW/u9CbUSAQNMt500EkpzUKBpIX4tfHINgsiVnwMKvR3RAB9 JxoR9SM/yU1i6hY++BbJu89Zz5MXEqKGParyN0PAPQ6H7kx18reFQNP/VX1HuVWML5ao ctXUdI85HEtvBtiyBb1FOlqBcV8PU0KSS9PoPpmp8gMUM/31edbb9OJTl1mL7lEzkk5d khBMBh96TU4B9CKKEFgBxj31tU0ZXNTYj0IWx3xHxFX43/1IjwBPIoMgpBpad5OOhG71 /9E9U+DfLXfZDpIEeWFOPMxrBxW03PmepVu/otWE+TF3vX5Vih9/94LyLyVuYQUjecM+ j2kA== X-Forwarded-Encrypted: i=1; AJvYcCU0sRXv5ubWvYWBiyAYuRAcCZOgdZllnkCnnTTurVCrcOGfxgq8NEXWujSQfhEvxv1M/uQOrhkPnEvEIose9JgJ@lists.infradead.org X-Gm-Message-State: AOJu0YyCM1kn+A+DRErSmFp0RAHh0QZdgpXiUvJGaKq09i+nvJTt3WyM fhOLs2EzSlgTL5NCoLF1TMM3PS9BwncK6kZyrswO33qa05DC1GsmVqPf6AgkFao= X-Gm-Gg: ASbGncuexZucw2voGA/jjxDNPBZHgSLQJeRa3hTlwqZF2SuACGIc+vpTpLyH3lSmUi3 wCLrTSUU0ViX+lDtrNNz631Aciivyqa334qCyNTGfR/tLA7hZh4noatzKYfn7RAf4JpvfI5eNAk G32GxCGYvNAyDpHA+lgORW23kYHZ2W8gXavfS6O9cP7j4q4rgplspzGRum2JxcPVDoyKgO0CySq vakDTPbHfd5JehsoqljRhBGzki5IVuObpWt6dbr0t90KJ1cU3Wz7tdhrZKWbmlaP9bT4/1TE3/H 0Y9ROBk/h99TQCjc30G8KC1OkKG1aO4WbD88kfVLWsVJv0QERDAXhb7FhTqteJEkn1Z1Cz84TcH IMLe/z/ewvh2NROOZz/DCxP/tWeEe X-Google-Smtp-Source: AGHT+IFNqZWOvo+Tv4vLHdGRFBjU8kF7IIgTkc+Bnj5l7bb5nmPkogO1xX8561qZ+CITxdN2Zb0Cyg== X-Received: by 2002:a17:907:9710:b0:ac2:cf0b:b806 with SMTP id a640c23a62f3a-ac7bc26ec1cmr186829666b.56.1743670747337; Thu, 03 Apr 2025 01:59:07 -0700 (PDT) Received: from puffmais.c.googlers.com (8.239.204.35.bc.googleusercontent.com. [35.204.239.8]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-5f0880a535fsm637614a12.80.2025.04.03.01.59.06 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 03 Apr 2025 01:59:07 -0700 (PDT) From: =?utf-8?q?Andr=C3=A9_Draszik?= Date: Thu, 03 Apr 2025 09:59:03 +0100 Subject: [PATCH v3 11/32] mfd: sec: fix open parenthesis alignment (multiple) MIME-Version: 1.0 Message-Id: <20250403-s2mpg10-v3-11-b542b3505e68@linaro.org> References: <20250403-s2mpg10-v3-0-b542b3505e68@linaro.org> In-Reply-To: <20250403-s2mpg10-v3-0-b542b3505e68@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-20250403_015909_107934_A57B88F7 X-CRM114-Status: GOOD ( 11.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 checkpatch complains about unexpected alignment issues in this file - update the code accordingly. Signed-off-by: André Draszik --- v2: * make new alignment more readable (Krzysztof) --- drivers/mfd/sec-common.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/drivers/mfd/sec-common.c b/drivers/mfd/sec-common.c index 782dec1956a5fd7bf0dbb2159f9d222ad3fea942..1a6f14dda825adeaeee1a677459c7399c144d553 100644 --- a/drivers/mfd/sec-common.c +++ b/drivers/mfd/sec-common.c @@ -149,9 +149,9 @@ sec_pmic_parse_dt_pdata(struct device *dev) return ERR_PTR(-ENOMEM); pd->manual_poweroff = of_property_read_bool(dev->of_node, - "samsung,s2mps11-acokb-ground"); + "samsung,s2mps11-acokb-ground"); pd->disable_wrstbi = of_property_read_bool(dev->of_node, - "samsung,s2mps11-wrstbi-ground"); + "samsung,s2mps11-wrstbi-ground"); return pd; } @@ -264,8 +264,8 @@ void sec_pmic_shutdown(struct device *dev) * ignore the rest. */ dev_warn(sec_pmic->dev, - "Unsupported device %lu for manual power off\n", - sec_pmic->device_type); + "Unsupported device %lu for manual power off\n", + sec_pmic->device_type); return; } From patchwork Thu Apr 3 08:59:04 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Andr=C3=A9_Draszik?= X-Patchwork-Id: 14037190 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 DE936C3600C for ; Thu, 3 Apr 2025 09:22: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=pB7gFyupIzWsX2vSOEGK7q4UbjZdy1MRwKTSd+TQnVk=; b=Dqxa/+8sHmGeD+969dClXgfjyX pueba3Mwxg2d1TyOvPVnzuznfWSc9g4l0hTPTFE8/RJCF24axLjtklljxHjKGMD8PPa0rqQDQCPbD KNj36+dztiHK1//YwVdOO6IxmWWLipKz76e25pxMO5+V4u1XTIRD9Mi3JLooYk7D7EE/xeA6S/2Wu Nq2UBxse7XzO6HAIGq52bivXCNJwX2xy3kOcinoYZhu6hT2k2ZhX/UznnjFoW9kT3FpryD+h7Jtcj vBV+OTVXm4tPIJeiOoS8AQZIQN/f8+tMc606kp0XCcW+Sex1OIiEzSbkAcKO7iMhzwtfudoDc6xhS gNYnKjFQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98.1 #2 (Red Hat Linux)) id 1u0GmB-00000008OLl-1xaA; Thu, 03 Apr 2025 09:22:19 +0000 Received: from mail-ej1-x629.google.com ([2a00:1450:4864:20::629]) by bombadil.infradead.org with esmtps (Exim 4.98.1 #2 (Red Hat Linux)) id 1u0GPl-00000008JkG-1v91 for linux-arm-kernel@lists.infradead.org; Thu, 03 Apr 2025 08:59:10 +0000 Received: by mail-ej1-x629.google.com with SMTP id a640c23a62f3a-aaf0f1adef8so100899166b.3 for ; Thu, 03 Apr 2025 01:59:09 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1743670748; x=1744275548; darn=lists.infradead.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=pB7gFyupIzWsX2vSOEGK7q4UbjZdy1MRwKTSd+TQnVk=; b=s/Nu5Ym6BM5fT7kOaGoxFzrBBLhGJPXeJ5IEZ+fMZhuvPzRYznmipUx8Q9RR67kD44 GdlC705eR02W2OWmgZOj3RaPu2o9ZCU5MgTN4M7Ds93Ga2Wjx0dLetuTrFHSUzrbwe+z UoiXK/uj4n7TKrhoKTy4bM0zCbh0HeXryruq388O1RlXs/snkzF4O6uCogZqyB6xJYEK n9IrO2Oj652UsyytroViMSQk1D4ls2j2nGXCA0goRuSJLd5/HcwwbKQl9AWpY6SlFj8C E0xZP0oEfNYBjDsu38R9hsCgZUM35D6MqUQHxES2Id1aiPlpeDn9kAqFFxySnoHie67M zY/Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743670748; x=1744275548; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=pB7gFyupIzWsX2vSOEGK7q4UbjZdy1MRwKTSd+TQnVk=; b=F6NLMCbkE6NzfCLn+CUNrbsVdEd7RhqpCex95VHya4oeHcyJgYxIZKSxtfAL7p/TZS KwdMhyK2d3sJ9m7WXuhwlcZFtFrpQvboyWN1GURC5/6I1BLlX01QpM5GFdk2MfzDbdmp R4jBZVp+jmI5EZ8rRNe31LEIeh+FOo+kBhsE6ezkVImuu8iu5ckmfuxerLR0pMQGx0pu OzjasNNho+UwTXjOgDCYFLbSO0/NRn1fGP/ZNgIrs6icDx1GzRM/RJaSNlNTLerhZph+ eY6bDDnCyJ5e8nbjTWs8cKMCb+Tj7HHnVOX6bhHDe8AI+TZoF2rKJS5QUqA39XbQ6trn NUZg== X-Forwarded-Encrypted: i=1; AJvYcCX9FIdAtdc1fqvRGYVpng0tlCGxz/d+ajsAeE0mJTOYKMIa6X1TxKEEx0fjUovToNAHMKcu51mU5VjPMsxWZgpn@lists.infradead.org X-Gm-Message-State: AOJu0YxJ1XWck7YXPTk7Ht9mFagDI9if1nTVOjuVMvjgyxyw48YCwRJI PHs9zEqPYsf4cvCPZsXRze1soEutrfGgqF0B2CkZkjPPtZJ7tPVREM81nb/Yens= X-Gm-Gg: ASbGncsExhs06KM2gNt9D0q1kKD689HMT8v4n/dwp5WBd1fWyX+mOHf060ik5Rx6Fc+ m5n7etEnEhgMGNOg5CWDSHrQraVTJ6dEMftagiGcElRSBc99LRXRSp15I/G/DpbO5m9dEhFqFGJ bZrjkM3XfQOAjIqaNFvyORo5X6y2mkGPQZYf2pkhxZ70Yi61TTqCcPCPKDpePmajc8pqdgY0Yh1 A9C5gwJxIDv378NZb+u1n7tuaX87nDi3NXHTFawvg55QcIeEogb6GMbmtlKFCYmsZ0WyiD7nIXy Q/Cn+8/PNxqf88aBlVWV1kKQgGAYCT/22I5jEuiIYywx0cn6TBGQn66lCNR1eSOvaV6WOAhl0RG LwYQGwjunLmUPvp8mphU6IwrKtYf13/g5rbW/EkM= X-Google-Smtp-Source: AGHT+IHJBM6wgjWYZps6ri5VFfxoUgvh5j0PdsJYHzhGp7CXuLgrnxXEuXRPTmCkvL8y435madc/FA== X-Received: by 2002:a17:907:9708:b0:ac1:fab4:a83 with SMTP id a640c23a62f3a-ac738a50828mr1837746066b.25.1743670747866; Thu, 03 Apr 2025 01:59:07 -0700 (PDT) Received: from puffmais.c.googlers.com (8.239.204.35.bc.googleusercontent.com. [35.204.239.8]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-5f0880a535fsm637614a12.80.2025.04.03.01.59.07 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 03 Apr 2025 01:59:07 -0700 (PDT) From: =?utf-8?q?Andr=C3=A9_Draszik?= Date: Thu, 03 Apr 2025 09:59:04 +0100 Subject: [PATCH v3 12/32] mfd: sec: sort struct of_device_id entries and the device type switch MIME-Version: 1.0 Message-Id: <20250403-s2mpg10-v3-12-b542b3505e68@linaro.org> References: <20250403-s2mpg10-v3-0-b542b3505e68@linaro.org> In-Reply-To: <20250403-s2mpg10-v3-0-b542b3505e68@linaro.org> To: Krzysztof Kozlowski , Lee Jones , Rob Herring , Conor Dooley , Sylwester Nawrocki , Chanwoo Choi , Alim Akhtar , Michael Turquette , Stephen Boyd , Russell King , Catalin Marinas , Will Deacon , Alexandre Belloni Cc: Peter Griffin , Tudor Ambarus , Will McVicker , kernel-team@android.com, linux-kernel@vger.kernel.org, linux-samsung-soc@vger.kernel.org, devicetree@vger.kernel.org, linux-clk@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-rtc@vger.kernel.org, =?utf-8?q?Andr=C3=A9_Draszik?= , Krzysztof Kozlowski X-Mailer: b4 0.14.2 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250403_015909_494153_881002FB X-CRM114-Status: GOOD ( 12.88 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org Sort struct of_device_id entries and the device type switch in _probe() alphabetically, which makes it easier to find the right place where to insert new entries in the future. Reviewed-by: Krzysztof Kozlowski Signed-off-by: André Draszik --- drivers/mfd/sec-i2c.c | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/drivers/mfd/sec-i2c.c b/drivers/mfd/sec-i2c.c index 8e3a365ff3e5533e27d94fa8a15dbfa639518a5f..966d116dd781ac6ab63453f641b2a68bba3945a9 100644 --- a/drivers/mfd/sec-i2c.c +++ b/drivers/mfd/sec-i2c.c @@ -154,12 +154,12 @@ static int sec_pmic_i2c_probe(struct i2c_client *client) case S2MPS15X: regmap = &s2mps15_regmap_config; break; - case S5M8767X: - regmap = &s5m8767_regmap_config; - break; case S2MPU02: regmap = &s2mpu02_regmap_config; break; + case S5M8767X: + regmap = &s5m8767_regmap_config; + break; default: regmap = &sec_regmap_config; break; @@ -184,11 +184,11 @@ static void sec_pmic_i2c_shutdown(struct i2c_client *i2c) static const struct of_device_id sec_pmic_i2c_of_match[] = { { - .compatible = "samsung,s5m8767-pmic", - .data = (void *)S5M8767X, - }, { .compatible = "samsung,s2dos05", .data = (void *)S2DOS05, + }, { + .compatible = "samsung,s2mpa01-pmic", + .data = (void *)S2MPA01, }, { .compatible = "samsung,s2mps11-pmic", .data = (void *)S2MPS11X, @@ -201,15 +201,15 @@ static const struct of_device_id sec_pmic_i2c_of_match[] = { }, { .compatible = "samsung,s2mps15-pmic", .data = (void *)S2MPS15X, - }, { - .compatible = "samsung,s2mpa01-pmic", - .data = (void *)S2MPA01, }, { .compatible = "samsung,s2mpu02-pmic", .data = (void *)S2MPU02, }, { .compatible = "samsung,s2mpu05-pmic", .data = (void *)S2MPU05, + }, { + .compatible = "samsung,s5m8767-pmic", + .data = (void *)S5M8767X, }, { }, }; From patchwork Thu Apr 3 08:59:05 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Andr=C3=A9_Draszik?= X-Patchwork-Id: 14037191 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 9CB2FC3601B for ; Thu, 3 Apr 2025 09:24:26 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:Cc:To:In-Reply-To:References :Message-Id:Content-Transfer-Encoding:Content-Type:MIME-Version:Subject:Date: From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=+VoGJVSU0pPXxfOhXBJG1TDUozXlWar2eJ++GWdYkqc=; b=F2nBi/KsOkBHt2lK3Kq2qMMIEI lf6f0GmpNFhsC/39fZcVPyafUa/4iXfawQCzxXQrLi9Cm3FdH7OfhEclgGv8rmOzgB8aq8xWv/veX sp3HHpZ0Zsei1qe5gMeVSHX+GLne/2a9/BDCLVcMYlb9C2/COlr51wHLHGYmlMQ8xeNGlVDtK7iGA tS3AvP+9rlj9miL5XTHc1nbLOAJLl4wgzt9rsPi1R60Os6j48ouzgUVSbgs+d1vnFInmkUGtZ/qzI RiZRz520PNWGhHAFTWmaW1gEPT46rkQQi+ObJJIX3p358HDNjmXrzUv/rZM3IREmqf3mPaXfZNzH/ kc2Ph+Uw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98.1 #2 (Red Hat Linux)) id 1u0Gnw-00000008Occ-1HiX; Thu, 03 Apr 2025 09:24:08 +0000 Received: from mail-ed1-x535.google.com ([2a00:1450:4864:20::535]) by bombadil.infradead.org with esmtps (Exim 4.98.1 #2 (Red Hat Linux)) id 1u0GPm-00000008JkO-0pPk for linux-arm-kernel@lists.infradead.org; Thu, 03 Apr 2025 08:59:11 +0000 Received: by mail-ed1-x535.google.com with SMTP id 4fb4d7f45d1cf-5e8be1bdb7bso1131656a12.0 for ; Thu, 03 Apr 2025 01:59:09 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1743670748; x=1744275548; darn=lists.infradead.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=+VoGJVSU0pPXxfOhXBJG1TDUozXlWar2eJ++GWdYkqc=; b=m1ZAYSEFySTQf2OjgrFzMB0zP2bElPdIh+CfpTpIUhJnh8irebLyDszY2NiDUorf6c qch/bl1wO76R6WU2vcneTCxEUbWJXbkJCzBAUZPXqREPYR54JWx/ePiXxRk6Ob968DIa GUYh7u4Wmr6x/PL6BjBfhoYtItGAgv7OYknolURhJ+RFeFcYHdBR6C3jaBGhy7d2kGjD w3x15m9SPq8M+HECOHAwysmr5a/zoYLuWdCFWw72PsjMzBlxnj8SBntaUYzcjG+xs5Fp +zp/SuJRNJ2QjIZSgyGKeTT9IJ2Sdkezl7Qgdlad/bXGzSS97H8izFzZuNnoSADBEy9u WVRA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743670748; x=1744275548; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=+VoGJVSU0pPXxfOhXBJG1TDUozXlWar2eJ++GWdYkqc=; b=Q2aPrOjsJgEP+X5LQ3se+5GQ5bfrA+VRL187ypPO+BbBVO0PKbq/rK8X7zoUB6A213 NTJe/32kavorYo6Zs/UKyn1L31WKi6Cm+NOEJVcVWqZ5KbhahdevpBXD7LlsfRV2vxnD nDHn9d3jO0DPVMaKvzjiSQ+jC2BO6ffn2Yao9LEcJ1nAtlHZSkOQkFpoMaeEF6I0VGrp TpqGzpNp7P2pLtKWzXGe2mz0sDYhsNbAEmshz4HVm3AYExvr/4JI6dQrxBMdXFSUH809 lv+gUlN7WTRe+r4ItoADlU8FY5GFqIi917ZhKWLtxIMZANPsJ8JDdYyAX174wXB3BAej a+aw== X-Forwarded-Encrypted: i=1; AJvYcCXGgxpd0SPEZFBeX58JcurQjvbvUbT8+2bNKVwkA8Dwjla2AeayAiwZvrdekvbd9o1dtiryIjFzRgbXDSxIapNr@lists.infradead.org X-Gm-Message-State: AOJu0YzMXT7sbP/IEHOpG3mPoMMuDEcWIgEXqERxCnURb1TEmfCIvGAh mfyrCrpYmjC/uvr3b/E6+PhilCYgLX45TQtlRRRub7YNS+gUjwnF+ybUfEZKnE0= X-Gm-Gg: ASbGncvqIejkv/pYWwNiKvhf2qHOqlocEr9QBlSj6ROnIUm/pn48/HVoqM2H0+Ulphr PXR2MxASlVyqNh3xZC7Z0LWg3lhJ3NQMaqmUvrc4HLdUiK0yJ24enDJbkn9vsd87FGVnEYydOSQ UsK5vDCd50qm53jm8Pk11Z3Cl/9t75neyVxmHI8pJY18I30rmMTS1GCg3FlyxcW+xXqTocfnM1E NMgz/m+TZiWPyXyS5r2WEPDLOuLntvTkxivkdos02EpDrAC7YVWNp6QQ7u+gbp12vsKfQ3P3ELy TK72NX6Pw3Xp0d54wB57qyomeeszL/uRDh1+j2u2crcPBc+HE9mxtbijZzdlIqo/avjFpFWFUnN G/1UMb6IXoRMTlro2qP51y+XdxUPF X-Google-Smtp-Source: AGHT+IHqXiYq96qJtZ3yqV0dm+q8a7Y9OXDNzTpX/U8kjT+jFNIA0/WaLQE/aqJwj+78Op+QK5nrPQ== X-Received: by 2002:a05:6402:3495:b0:5e4:9348:72c3 with SMTP id 4fb4d7f45d1cf-5f04eacb1a8mr4769024a12.10.1743670748486; Thu, 03 Apr 2025 01:59:08 -0700 (PDT) Received: from puffmais.c.googlers.com (8.239.204.35.bc.googleusercontent.com. [35.204.239.8]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-5f0880a535fsm637614a12.80.2025.04.03.01.59.08 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 03 Apr 2025 01:59:08 -0700 (PDT) From: =?utf-8?q?Andr=C3=A9_Draszik?= Date: Thu, 03 Apr 2025 09:59:05 +0100 Subject: [PATCH v3 13/32] mfd: sec: use dev_err_probe() where appropriate MIME-Version: 1.0 Message-Id: <20250403-s2mpg10-v3-13-b542b3505e68@linaro.org> References: <20250403-s2mpg10-v3-0-b542b3505e68@linaro.org> In-Reply-To: <20250403-s2mpg10-v3-0-b542b3505e68@linaro.org> To: Krzysztof Kozlowski , Lee Jones , Rob Herring , Conor Dooley , Sylwester Nawrocki , Chanwoo Choi , Alim Akhtar , Michael Turquette , Stephen Boyd , Russell King , Catalin Marinas , Will Deacon , Alexandre Belloni Cc: Peter Griffin , Tudor Ambarus , Will McVicker , kernel-team@android.com, linux-kernel@vger.kernel.org, linux-samsung-soc@vger.kernel.org, devicetree@vger.kernel.org, linux-clk@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-rtc@vger.kernel.org, =?utf-8?q?Andr=C3=A9_Draszik?= , Krzysztof Kozlowski X-Mailer: b4 0.14.2 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250403_015910_231090_B96DE54B X-CRM114-Status: GOOD ( 13.95 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org dev_err_probe() exists to simplify code and harmonise error messages, there's no reason not to use it here. While at it, harmonise some error messages. Reviewed-by: Krzysztof Kozlowski Signed-off-by: André Draszik --- drivers/mfd/sec-common.c | 6 +++--- drivers/mfd/sec-i2c.c | 10 +++------- drivers/mfd/sec-irq.c | 14 +++++++------- 3 files changed, 13 insertions(+), 17 deletions(-) diff --git a/drivers/mfd/sec-common.c b/drivers/mfd/sec-common.c index 1a6f14dda825adeaeee1a677459c7399c144d553..f4c606c5ee5a809a106b13e947464f35a926b199 100644 --- a/drivers/mfd/sec-common.c +++ b/drivers/mfd/sec-common.c @@ -229,9 +229,9 @@ int sec_pmic_probe(struct device *dev, unsigned long device_type, num_sec_devs = ARRAY_SIZE(s2mpu05_devs); break; default: - dev_err(sec_pmic->dev, "Unsupported device type %lu\n", - sec_pmic->device_type); - return -EINVAL; + return dev_err_probe(sec_pmic->dev, -EINVAL, + "Unsupported device type %lu\n", + sec_pmic->device_type); } ret = devm_mfd_add_devices(sec_pmic->dev, -1, sec_devs, num_sec_devs, NULL, 0, NULL); diff --git a/drivers/mfd/sec-i2c.c b/drivers/mfd/sec-i2c.c index 966d116dd781ac6ab63453f641b2a68bba3945a9..a107a9c1e760f90fcb59a9944b74e9a39a0d946c 100644 --- a/drivers/mfd/sec-i2c.c +++ b/drivers/mfd/sec-i2c.c @@ -134,7 +134,6 @@ static int sec_pmic_i2c_probe(struct i2c_client *client) const struct regmap_config *regmap; unsigned long device_type; struct regmap *regmap_pmic; - int ret; device_type = (unsigned long)of_device_get_match_data(&client->dev); @@ -166,12 +165,9 @@ static int sec_pmic_i2c_probe(struct i2c_client *client) } regmap_pmic = devm_regmap_init_i2c(client, regmap); - if (IS_ERR(regmap_pmic)) { - ret = PTR_ERR(regmap_pmic); - dev_err(&client->dev, "Failed to allocate register map: %d\n", - ret); - return ret; - } + if (IS_ERR(regmap_pmic)) + return dev_err_probe(&client->dev, PTR_ERR(regmap_pmic), + "regmap init failed\n"); return sec_pmic_probe(&client->dev, device_type, client->irq, regmap_pmic, client); diff --git a/drivers/mfd/sec-irq.c b/drivers/mfd/sec-irq.c index aa467e488fb5ef79d5bc7110e1ba7c26fcfa9892..9f0173c48b0c8186a2cdc1d2179db081ef2e09c4 100644 --- a/drivers/mfd/sec-irq.c +++ b/drivers/mfd/sec-irq.c @@ -487,18 +487,18 @@ int sec_irq_init(struct sec_pmic_dev *sec_pmic) sec_irq_chip = &s2mpu05_irq_chip; break; default: - dev_err(sec_pmic->dev, "Unknown device type %lu\n", - sec_pmic->device_type); - return -EINVAL; + return dev_err_probe(sec_pmic->dev, -EINVAL, + "Unsupported device type %lu\n", + sec_pmic->device_type); } ret = devm_regmap_add_irq_chip(sec_pmic->dev, sec_pmic->regmap_pmic, sec_pmic->irq, IRQF_ONESHOT, 0, sec_irq_chip, &sec_pmic->irq_data); - if (ret != 0) { - dev_err(sec_pmic->dev, "Failed to register IRQ chip: %d\n", ret); - return ret; - } + if (ret != 0) + return dev_err_probe(sec_pmic->dev, ret, + "Failed to add %s IRQ chip\n", + sec_irq_chip->name); /* * The rtc-s5m driver requests S2MPS14_IRQ_RTCA0 also for S2MPS11 From patchwork Thu Apr 3 08:59:06 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Andr=C3=A9_Draszik?= X-Patchwork-Id: 14037192 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 3F1C5C3600C for ; Thu, 3 Apr 2025 09:26: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=GcW1mWBfWGvNcEl9sJWjMnkVLrjIE7eEENFwEaEA4Go=; b=bw5WmpCR2gF/lUH8J1qhB/rL/w ZPK3NSQ2kXXLZLvEb2nn4kSGeIZe97Hp+hATnLur1bE2M7Z98dGvIHEAfayU/CLCeuEnzHBDvNZrz 2osbb5M+SkzehKm2J2ddXbEYM27MCS31mrG0Hr5kbDc7IXu77RD3PK2wozEMfr+ha0NSUTkGSG1vA mGP0/LQCcS3EYy4Vd0qEnKA/eXqd7N3XhkWn/un3Zz945BRpr5LLMwzBmyJ1RRdZRdk2E5DZxdhrR PgyIzOUNU/2BSWiEjziF8mT+RkMIR5e5gwgS+EliLqcViE7zjVSUHMM/pnrgDe44paLADSRaR+Eb/ q7Z/Eo7A==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98.1 #2 (Red Hat Linux)) id 1u0Gpf-00000008P1o-2Tix; Thu, 03 Apr 2025 09:25:55 +0000 Received: from mail-ej1-x636.google.com ([2a00:1450:4864:20::636]) by bombadil.infradead.org with esmtps (Exim 4.98.1 #2 (Red Hat Linux)) id 1u0GPm-00000008Jkr-3opR for linux-arm-kernel@lists.infradead.org; Thu, 03 Apr 2025 08:59:12 +0000 Received: by mail-ej1-x636.google.com with SMTP id a640c23a62f3a-ac6e8cf9132so123686366b.2 for ; Thu, 03 Apr 2025 01:59:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1743670749; x=1744275549; darn=lists.infradead.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=GcW1mWBfWGvNcEl9sJWjMnkVLrjIE7eEENFwEaEA4Go=; b=l0xRBoGtiOKSksm49mQOsPYO1I1gJ2RCJ1UgcZlf3E/J/PD7ls1dh9q+L2NKzIf827 VRooydmV8CrlWG36DHIOrel8nS/JJmmSODXfzErczx5BY4zpkRyEXduT4V2goUBwJsD9 0Mqf754yufVvJ4xVgD2xYNOM6o9x96gQJ723H9mz6BY4V85NgW1UuvbJnIJ7Eoa00P/7 KMyIbnRH/tfxmJyIRMbk7DrdyVLN/vBmh4yXjlupFLeLp1GV1y1XoiXbx7XSJDvDRBzT OQE1+wf8i3z4FyIdfnIHa3/IIjbRTUpMrA92R5cB0alAb/zRk/OrfhvHACMdm3hDsxd2 x9nQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743670749; x=1744275549; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=GcW1mWBfWGvNcEl9sJWjMnkVLrjIE7eEENFwEaEA4Go=; b=LIyj+ddDQ61+beeOKwNA3jLpYHIeswLbDzJbBU3FOrtRbQwMRoE6f9z/yHn0SgC9IJ wokQ2jMhuqr2ny8KK+3bgzOLBlgUxC8TNxiTIFyBni4vtUPgAZsMTfxb1nSQuQ1FHt1m lXxgTTIMdub6AnuovumLjofWKw5Rg/H+FhwgTVBoo3XiFdUUR6BW67cHqnK8RUDWEA2R 9CG5BpdQBrbTxBps4YddzfdQBK9FIZXymw7HkPXrdYilYA/AjWJ2QBqOdOiiYKiM5geH cE48vBl8LKSeJedgv0GDYSQs7kaU0GPwcFgj312rxP5bnlgXQURo3qA4HaD390VfknX1 gsvQ== X-Forwarded-Encrypted: i=1; AJvYcCV64yXw1IdVVCHQLTNd3hPn5mcI6XuQa/9Y2jvBD0OkZ1L9GWrvx21e+j3TSFHaQflQP+1RSd6JwAy4gHs4nEy1@lists.infradead.org X-Gm-Message-State: AOJu0Yz0PxhCuxgP9cjyY0s048hH/kWv4cqhDfCA303SjTzVxe741CsB MvS/CBf0DIJxCYqs/y1b61atB6KehDKjapeMGmdYip4bkqy2UfmM7DiRb2fnW54= X-Gm-Gg: ASbGncsBAgzAk4+TGoXCutnSqhTdy8zNSM16ETs992TXGEWWiwyKQN40b8cT5SXNP/A WDhrN6fiHqi/RLCDaILq99kDdUeXImBE6HVVyCu+NCqrT9ngC5roufu6GUrNb3u3akT8dvMjuBl jyRB3GmyITRsmwxlMYXflzeK11ezQHIsxAWYhKGq8u4pETNjHn57ROU3jUUDQFh0kAo15HjUCxw snSJgAkUgUrBApUL+mntMtluqDBEg4XAS/ygP7ZgCc6huH6jOfkQvjIOtlKRjQ1u00W8DLl9fHU Ar0GHwyI0OrX88oQbz0SRqJfLKydnoKfTDGxnAddI92HcaBaj04E27NkXlj6JGAPPwfI4TLkXSS X7cVTOd6tMF7hYtn0W4SEkYa/E4kN X-Google-Smtp-Source: AGHT+IGavhoPGzCabBNLBzdbL3jiat+xI87iDC+wiboHJiUvbmM/Wprhewp9oSPfUMvc9gVC8l54GA== X-Received: by 2002:a17:907:6e87:b0:ac7:3911:35e7 with SMTP id a640c23a62f3a-ac7c0a97bb3mr143560466b.59.1743670749216; Thu, 03 Apr 2025 01:59:09 -0700 (PDT) Received: from puffmais.c.googlers.com (8.239.204.35.bc.googleusercontent.com. [35.204.239.8]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-5f0880a535fsm637614a12.80.2025.04.03.01.59.08 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 03 Apr 2025 01:59:08 -0700 (PDT) From: =?utf-8?q?Andr=C3=A9_Draszik?= Date: Thu, 03 Apr 2025 09:59:06 +0100 Subject: [PATCH v3 14/32] mfd: sec: s2dos05/s2mpu05: use explicit regmap config and drop default MIME-Version: 1.0 Message-Id: <20250403-s2mpg10-v3-14-b542b3505e68@linaro.org> References: <20250403-s2mpg10-v3-0-b542b3505e68@linaro.org> In-Reply-To: <20250403-s2mpg10-v3-0-b542b3505e68@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-20250403_015910_948006_C204043D X-CRM114-Status: GOOD ( 19.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 When support for PMICs without compatibles was removed in commit f736d2c0caa8 ("mfd: sec: Remove PMICs without compatibles"), sec_regmap_config effectively became an orphan, because S5M8763X was the only user left of it before removal, using the default: case of the switch statement. When s2dos05 and s2mpu05 support was added in commit bf231e5febcf ("mfd: sec-core: Add support for the Samsung s2dos05") and commit ed33479b7beb ("mfd: sec: Add support for S2MPU05 PMIC"), they ended up using that orphaned regmap_config in a non-obvious way due to the default: case of the device type switch matching statement taking effect again. To make things more obvious, and to help the reader of this code while reasoning about what the intention might be here, and to ensure future additions to support new devices in this driver don't forget to add a regmap config, add an explicit regmap config for these two devices, and completely remove the generic regmap config as it becomes an orphan again that shouldn't be used by any device. Note that this commit doesn't fix the issue that s2dos05_regmap_config ands2mpu05_regmap_config really are incomplete, but I have no documentation on them. Signed-off-by: André Draszik Reviewed-by: Krzysztof Kozlowski --- v2: * squash two previously separate patches into this one (Krzysztof) --- drivers/mfd/sec-i2c.c | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/drivers/mfd/sec-i2c.c b/drivers/mfd/sec-i2c.c index a107a9c1e760f90fcb59a9944b74e9a39a0d946c..81f90003eea2a40f2caaebb49fc9494b89370e7f 100644 --- a/drivers/mfd/sec-i2c.c +++ b/drivers/mfd/sec-i2c.c @@ -61,7 +61,7 @@ static bool s2mpu02_volatile(struct device *dev, unsigned int reg) } } -static const struct regmap_config sec_regmap_config = { +static const struct regmap_config s2dos05_regmap_config = { .reg_bits = 8, .val_bits = 8, }; @@ -120,6 +120,11 @@ static const struct regmap_config s2mpu02_regmap_config = { .cache_type = REGCACHE_FLAT, }; +static const struct regmap_config s2mpu05_regmap_config = { + .reg_bits = 8, + .val_bits = 8, +}; + static const struct regmap_config s5m8767_regmap_config = { .reg_bits = 8, .val_bits = 8, @@ -138,6 +143,9 @@ static int sec_pmic_i2c_probe(struct i2c_client *client) device_type = (unsigned long)of_device_get_match_data(&client->dev); switch (device_type) { + case S2DOS05: + regmap = &s2dos05_regmap_config; + break; case S2MPA01: regmap = &s2mpa01_regmap_config; break; @@ -156,12 +164,16 @@ static int sec_pmic_i2c_probe(struct i2c_client *client) case S2MPU02: regmap = &s2mpu02_regmap_config; break; + case S2MPU05: + regmap = &s2mpu05_regmap_config; + break; case S5M8767X: regmap = &s5m8767_regmap_config; break; default: - regmap = &sec_regmap_config; - break; + return dev_err_probe(&client->dev, -ENODEV, + "Unsupported device type %lu\n", + device_type); } regmap_pmic = devm_regmap_init_i2c(client, regmap); From patchwork Thu Apr 3 08:59:07 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Andr=C3=A9_Draszik?= X-Patchwork-Id: 14037193 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 DAA94C3600C for ; Thu, 3 Apr 2025 09:27:52 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:Cc:To:In-Reply-To:References :Message-Id:Content-Transfer-Encoding:Content-Type:MIME-Version:Subject:Date: From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=EqGhx5PJ7AN26XxBcQwRDT/hvBtSHvxnm6hLozkr74A=; b=vjd1UHtD1LMadLi0gCsueKp3df x4/bsQKi9gv1MsvZAvl6qhaKjgIwgeCsEy6PHI2LfJuTlaI8N92wx6CafbbXVVkTc1EcyAnzycpBW 4jLnP37MlEzBJ0wexkAZrTBbdBeT+7v97/pQXyZYC6HWi5imMBTyaYWWuRUh6e7DWOEgD8085pJ3k r6HNnCXrBW07bRN1hlm2/Or3TJC0SOLRNpxjnZwLpjgiKdrc70UoAfnrPiuiU7w4S+IgSxcnSCl/g 7nLFCxuLn06doVybvOQTc/rSHv60IkVfYfiYxMNJTy/YpsaW8jBBk1a54Cppvjux8n4/9L6pd/5L7 G9/Wez5Q==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98.1 #2 (Red Hat Linux)) id 1u0GrO-00000008PIc-3TlQ; Thu, 03 Apr 2025 09:27:42 +0000 Received: from mail-ed1-x52b.google.com ([2a00:1450:4864:20::52b]) by bombadil.infradead.org with esmtps (Exim 4.98.1 #2 (Red Hat Linux)) id 1u0GPn-00000008JlG-0Yzg for linux-arm-kernel@lists.infradead.org; Thu, 03 Apr 2025 08:59:12 +0000 Received: by mail-ed1-x52b.google.com with SMTP id 4fb4d7f45d1cf-5e677f59438so1078251a12.2 for ; Thu, 03 Apr 2025 01:59:11 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1743670750; x=1744275550; darn=lists.infradead.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=EqGhx5PJ7AN26XxBcQwRDT/hvBtSHvxnm6hLozkr74A=; b=lXfu8klQkN26iV7clgteIOEZXTdKZAHALJ48Z4Gp0scNk5I59t0VMI1hSq9O4OtNE5 gvcq/MPMLSS6quRdPBSKT74CUPdp1aREImfY4G09fw5v5V21Q0UPskzPdSh8oqtVLQk6 OAx7HGAZ1dkgSw5mu7tK8ytYfXzjpXe+TrdkGWJlqWkNovYG+Y5nguJKZqeL8a8pYNkD HYSsEVdiDkNsSS0nsWj2BaHLCtfAKz4SigwAq47kmGE+8EJ47jXwUy0fROfk5ZSCjppZ gEes3gwX0WL2WH1AHZuHN0TltmprawccxboMd7fMipxfYhAECx7+n8YGljE5xqVWgr+2 iRIA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743670750; x=1744275550; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=EqGhx5PJ7AN26XxBcQwRDT/hvBtSHvxnm6hLozkr74A=; b=JzS848qu2aPabwwiCELHCanS8dS93aoJ3ZPCFWrnTkc/9MjBn0SXlTw3PBqAQs6UfG TuRGf8xMYQ63DN2gWFrgxX3wJN3jAIFM1Njm26Mxy2lZSNuX9R9f6cw0daIjTUPjNhON EHcoh+Dw+lEDsOW5f4wuyrySDWgsKD7sSk/pcKEEdNm1y9EYfHy3tT+2mbJnG0v9iZwE uQr+9IaYdm+YiwvixAHrHASdtf/iOK0W4zb1fEx0E6cP5sZlHJm4XEmDnIyfe3FfuUJH U6OqWhi1fEo20YvIfi4Bq03geLLN7zjK8OOHgXBVkpBkOtwBZUio3fLbzmCRB6No5IYX v1sA== X-Forwarded-Encrypted: i=1; AJvYcCVyGk7WNtIXSU6brwQDO8o684VdJmGyCnAWZE4ZKThPKQliRdWT0qt09HjJlKUQJbJAM1j+/NB313OnZ7Dh5FTF@lists.infradead.org X-Gm-Message-State: AOJu0YzDDBY4NIY5D1zRy+yRqJ7DkdD8hUAiZHVZa6GKzKxZSJ0qytLX JtA1yWrq6XwGxH0PctrXPIGwXYbVZRdLeoBj01Az/Z4qKM71dzbgEOIDEcN9EUw= X-Gm-Gg: ASbGncv2KJiFWjRisiPv//hi2munjFR3Uxj/BMVfO9gD8oDWOcU29fXHfDbTlOBt/WB WLV/EvuOyNqDdq0CFiVGkP4xMLU1f35bQoiXhiMq3LGIzSOsCbFxJ/T17gc9ZDdGG7fygDEcN4u yp5z8aVOxvzo3Clst/2j8CCAXuOMDRfysaOX1a3Nn5KMRuZY0CJ76KetQoDDoHjZA4o/gssXHFN 8ZvrSL2cDSaCFI0c+U8Uz6ZdZH192Z1TgX7+wWQmWeU7WJL2XJkBoKUvdAo6L8b60iXUmhbGry3 lDQZR0balk77/v9sHZE9YCWKU3DaOYeSxvWGERBErwro3I9Y4Oc3LN9x8oEUQ5RdkSbjoejBBCF oo6njU+cqTNg4qgZPswR7usI3PC1l X-Google-Smtp-Source: AGHT+IHqq5xE17qMmS1fs14R51Ih6MAYPGlP5NH+CbKlyAqH2jZK+FRszx7kpSpBogd0Ourruy0TcQ== X-Received: by 2002:a05:6402:40cc:b0:5ed:1444:7914 with SMTP id 4fb4d7f45d1cf-5edfdd23b76mr19122813a12.28.1743670749730; Thu, 03 Apr 2025 01:59:09 -0700 (PDT) Received: from puffmais.c.googlers.com (8.239.204.35.bc.googleusercontent.com. [35.204.239.8]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-5f0880a535fsm637614a12.80.2025.04.03.01.59.09 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 03 Apr 2025 01:59:09 -0700 (PDT) From: =?utf-8?q?Andr=C3=A9_Draszik?= Date: Thu, 03 Apr 2025 09:59:07 +0100 Subject: [PATCH v3 15/32] mfd: sec: s2dos05: doesn't support interrupts (it seems) MIME-Version: 1.0 Message-Id: <20250403-s2mpg10-v3-15-b542b3505e68@linaro.org> References: <20250403-s2mpg10-v3-0-b542b3505e68@linaro.org> In-Reply-To: <20250403-s2mpg10-v3-0-b542b3505e68@linaro.org> To: Krzysztof Kozlowski , Lee Jones , Rob Herring , Conor Dooley , Sylwester Nawrocki , Chanwoo Choi , Alim Akhtar , Michael Turquette , Stephen Boyd , Russell King , Catalin Marinas , Will Deacon , Alexandre Belloni Cc: Peter Griffin , Tudor Ambarus , Will McVicker , kernel-team@android.com, linux-kernel@vger.kernel.org, linux-samsung-soc@vger.kernel.org, devicetree@vger.kernel.org, linux-clk@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-rtc@vger.kernel.org, =?utf-8?q?Andr=C3=A9_Draszik?= , Krzysztof Kozlowski X-Mailer: b4 0.14.2 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250403_015911_170302_46A3270C X-CRM114-Status: GOOD ( 16.36 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org The commit bf231e5febcf ("mfd: sec-core: Add support for the Samsung s2dos05") adding s2dos05 support didn't add anything related to IRQ support, so I assume this works without IRQs. Rather than printing a warning message in sec_irq_init() due to the missing IRQ number, or returning an error due to a missing irq chip regmap, just return early explicitly. This will become particularly important once errors from sec_irq_init() aren't ignored anymore in an upcoming patch and helps the reader of this code while reasoning about what the intention might be here. Reviewed-by: Krzysztof Kozlowski Signed-off-by: André Draszik --- drivers/mfd/sec-irq.c | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/drivers/mfd/sec-irq.c b/drivers/mfd/sec-irq.c index 9f0173c48b0c8186a2cdc1d2179db081ef2e09c4..79a3b33441fa5ab48b4b233eb8d89b4c20c142ed 100644 --- a/drivers/mfd/sec-irq.c +++ b/drivers/mfd/sec-irq.c @@ -452,16 +452,12 @@ int sec_irq_init(struct sec_pmic_dev *sec_pmic) int type = sec_pmic->device_type; const struct regmap_irq_chip *sec_irq_chip; - if (!sec_pmic->irq) { - dev_warn(sec_pmic->dev, - "No interrupt specified, no interrupts\n"); - return 0; - } - switch (type) { case S5M8767X: sec_irq_chip = &s5m8767_irq_chip; break; + case S2DOS05: + return 0; case S2MPA01: sec_irq_chip = &s2mps14_irq_chip; break; @@ -492,6 +488,12 @@ int sec_irq_init(struct sec_pmic_dev *sec_pmic) sec_pmic->device_type); } + if (!sec_pmic->irq) { + dev_warn(sec_pmic->dev, + "No interrupt specified, no interrupts\n"); + return 0; + } + ret = devm_regmap_add_irq_chip(sec_pmic->dev, sec_pmic->regmap_pmic, sec_pmic->irq, IRQF_ONESHOT, 0, sec_irq_chip, &sec_pmic->irq_data); From patchwork Thu Apr 3 08:59:08 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Andr=C3=A9_Draszik?= X-Patchwork-Id: 14037194 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 55738C3600C for ; Thu, 3 Apr 2025 09:29:39 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:Cc:To:In-Reply-To:References :Message-Id:Content-Transfer-Encoding:Content-Type:MIME-Version:Subject:Date: From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=EOEB7IVKZaW1PZ6sIgI8umGsLZ0fzThiODmAgEs2dvM=; b=AMfRwOYzUmMI1P598Y/Waqn/FP WogU9vhvUMSD8Vdz1KeQFSJdiGEEmzDoR9UQDF5TT4n8qjHQc19KMexqUTE1AJc1LrtjTFKTj0pfK v59fzsKff3zn5gbhTF4ekFS8sOnZKxpzxFnymIZ5+ztu1F3lGfnueo6W5VZIaooKJKEKKUG/8jcKT jnlDgDvWdx8h/hAgcGpYv2BOeopbChMAh6n51NSTXN6ll4FRqqzr3CNFZ0BQErmT6UD2JIRI1z6rX uxnODo0ndf69rL8Samn8vOFR0kuzC+JI+eCi4NpIFBOghG0VAITMbEHhHu2VtWYzyPHII49iWgGqu QRXZSpEg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98.1 #2 (Red Hat Linux)) id 1u0Gt7-00000008PPJ-2Y9j; Thu, 03 Apr 2025 09:29:29 +0000 Received: from mail-ed1-x532.google.com ([2a00:1450:4864:20::532]) by bombadil.infradead.org with esmtps (Exim 4.98.1 #2 (Red Hat Linux)) id 1u0GPo-00000008JlV-0GML for linux-arm-kernel@lists.infradead.org; Thu, 03 Apr 2025 08:59:13 +0000 Received: by mail-ed1-x532.google.com with SMTP id 4fb4d7f45d1cf-5efe8d9ebdfso1352052a12.3 for ; Thu, 03 Apr 2025 01:59:11 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1743670750; x=1744275550; darn=lists.infradead.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=EOEB7IVKZaW1PZ6sIgI8umGsLZ0fzThiODmAgEs2dvM=; b=g8xn4Yl6vMwZUAA8VYkXpiBKD96N3kbqzWjyt2wdWE0CvYjDMXvlcn2uAFGV0CTNoW cd5sBZro8RaHkcnv6bkKadbG17X6DXnv0QqcpembpgWLyGeaV4h1VHb6pJLuik41RBoT uWQG5ewqlywjNTiuXVesjftcLkkxFhHtQlBtQeJQVOjDrL5vSgobrJm/t8NeBAyivuQN hU73FZEOI3enToBg/7B3Oe4hhncoABRN3PhZv/ES9ggJ3BiZS8WmxAzRsPXyahbV4NLr bc5lku7hG0pB4A0ocEtL44A+yI68gA7eYIuTZP5SZAe5skljxx5ZcKbCHIhbFcJdHSZy Tx1A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743670750; x=1744275550; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=EOEB7IVKZaW1PZ6sIgI8umGsLZ0fzThiODmAgEs2dvM=; b=qC2XgHE7a5UDIt0aflhMddd0KIuTVyp6qUuwN6HoDTQZDCOsThkc01lZz+xaqWpg7O k/fILVls/geCY7hl2QVENCrKIlyt/vBzwIb++OXJqCGV/yxpoKf8kPNkv3ASL5n/3RPx 9lbfaZ16VAra7rFVmC8bDcwIBXSwrAeCZU0xuBHeTMxHuUJkxipkeVbxfkF3Y2e+wq2d wTXZ8xPjYYp1I0lsVoMtxXfl3BC11P+zcAII2LR7KlJfCOoqcF/sh8wPZtx7NdL2P8t4 0uYlDGEBbVzwOSrhEVLG7t/7cJ1BizWdilvMilaZaVLjmXrrl/9w19H1J+frQcnpatoe eVGA== X-Forwarded-Encrypted: i=1; AJvYcCXrU74O4u0IKMYykRhLCxiOjYbG0hRb8J7V+5bJ7/LJms13ygPrgeudhSpWGZMtfQJNjqbW59P6H5RAuU0wkryJ@lists.infradead.org X-Gm-Message-State: AOJu0YzxWwlnwnqMl3h5fMltzKvZIHLhG91v7+Oe8gZHE5z7X0/F9CMN Iq8fXSBJgUS21fod+qUzo/+JOsnE/j2G+KlslJgRb4mhFAPLo7wqQPCP950tlKI= X-Gm-Gg: ASbGncseZ6rPf9ocUzzy9wUPXe/FodhL4u7sINCezwAyOT6W00jmGEHqTzsPBj+eRGS kguU3uFHR8bp4mATYqMQdKB2iYUYcZjed/1wMGHQL5zArdN+j4uMzo8ShKwnPSAojmQ18rFoMdW T+WgKdk+pRfMDnzbBTOB8hYPdMhnsOA9r+grMWzToeMhv9NtaxZuZoLQCXEHwGqpPqTMmKAY9xc kYxzt6D3itVredO5y7/f74VEsqiT2FGuxA8RwquNj6OH1NOLLcoXvrPZyuSuQyjtTDgKbIOwEFb qO0TTOrpK45GXUwxh5bMqiv8bcLm9TDDbfCorIznzPNx9hYsC7AorMELG8eYFC+5su4GQgWj2t/ Uki/5f6LIKTHNVzi1lts6f5vgcioV X-Google-Smtp-Source: AGHT+IF/mj/FrJ8Kxms7tCENqFVdFFdcidKVA2nEXR0Y75YsHneWseB8Fi5sl71j96aNLNBmEO4yJQ== X-Received: by 2002:a05:6402:2682:b0:5e7:7262:2b75 with SMTP id 4fb4d7f45d1cf-5f087184cddmr1440611a12.11.1743670750284; Thu, 03 Apr 2025 01:59:10 -0700 (PDT) Received: from puffmais.c.googlers.com (8.239.204.35.bc.googleusercontent.com. [35.204.239.8]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-5f0880a535fsm637614a12.80.2025.04.03.01.59.09 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 03 Apr 2025 01:59:09 -0700 (PDT) From: =?utf-8?q?Andr=C3=A9_Draszik?= Date: Thu, 03 Apr 2025 09:59:08 +0100 Subject: [PATCH v3 16/32] mfd: sec: don't ignore errors from sec_irq_init() MIME-Version: 1.0 Message-Id: <20250403-s2mpg10-v3-16-b542b3505e68@linaro.org> References: <20250403-s2mpg10-v3-0-b542b3505e68@linaro.org> In-Reply-To: <20250403-s2mpg10-v3-0-b542b3505e68@linaro.org> To: Krzysztof Kozlowski , Lee Jones , Rob Herring , Conor Dooley , Sylwester Nawrocki , Chanwoo Choi , Alim Akhtar , Michael Turquette , Stephen Boyd , Russell King , Catalin Marinas , Will Deacon , Alexandre Belloni Cc: Peter Griffin , Tudor Ambarus , Will McVicker , kernel-team@android.com, linux-kernel@vger.kernel.org, linux-samsung-soc@vger.kernel.org, devicetree@vger.kernel.org, linux-clk@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-rtc@vger.kernel.org, =?utf-8?q?Andr=C3=A9_Draszik?= , Krzysztof Kozlowski X-Mailer: b4 0.14.2 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250403_015912_100501_A2F6136B X-CRM114-Status: GOOD ( 12.03 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org sec_irq_init() can fail, we shouldn't continue and ignore the error in that case, but actually error out. Reviewed-by: Krzysztof Kozlowski Signed-off-by: André Draszik --- drivers/mfd/sec-common.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/drivers/mfd/sec-common.c b/drivers/mfd/sec-common.c index f4c606c5ee5a809a106b13e947464f35a926b199..bb0eb3c2d9a260ddf2fb110cc255f08a0d25230d 100644 --- a/drivers/mfd/sec-common.c +++ b/drivers/mfd/sec-common.c @@ -183,7 +183,9 @@ int sec_pmic_probe(struct device *dev, unsigned long device_type, sec_pmic->pdata = pdata; - sec_irq_init(sec_pmic); + ret = sec_irq_init(sec_pmic); + if (ret) + return ret; pm_runtime_set_active(sec_pmic->dev); From patchwork Thu Apr 3 08:59:09 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Andr=C3=A9_Draszik?= X-Patchwork-Id: 14037195 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 60D53C3600C for ; Thu, 3 Apr 2025 09:31: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=RlfAg/7rLSoS1Ke1F+8yA+aiyZO+gcbIufljerVjsNI=; b=IFx4nW57fhoiseo/KDNOk5bvt+ IIZbsbRHmE9abQSdob22UAJLt7QUVXFPFPdIp+Pgp4V5SVaFPD509EfPptoYiSkG/7jzVXf62o8ZL ByJtad4s9gEmkuu6/CZ87n7IrgfZnNbLCjy9aLhI8nuKePTfcRK385E9vJpTgRcIF5kxTqF+twmj4 4eTUx6sWzkky+LUk3RT1PEPKCI9cNj67EUGemfGPlR4ZLteXgQ5warMuBV0USsk+5dT++gu3ltQnO 87EhW8qHXBRKLas36QVM61GFsTb7tJRWLbdQnO373rpWFt+15pJM5/hCJm9smceAWMjy+cH50LqWV 8EREMDlQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98.1 #2 (Red Hat Linux)) id 1u0Guq-00000008PYL-18Hf; Thu, 03 Apr 2025 09:31:16 +0000 Received: from mail-ed1-x534.google.com ([2a00:1450:4864:20::534]) by bombadil.infradead.org with esmtps (Exim 4.98.1 #2 (Red Hat Linux)) id 1u0GPo-00000008Jlq-1eXM for linux-arm-kernel@lists.infradead.org; Thu, 03 Apr 2025 08:59:13 +0000 Received: by mail-ed1-x534.google.com with SMTP id 4fb4d7f45d1cf-5e5bc066283so1078587a12.0 for ; Thu, 03 Apr 2025 01:59:12 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1743670751; x=1744275551; darn=lists.infradead.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=RlfAg/7rLSoS1Ke1F+8yA+aiyZO+gcbIufljerVjsNI=; b=heKZWSO7TNRMcEGXSdUm59Lnye+TVXVPbcCajssSTpVMMvBSjCKrBXHGs7+115fW0g dGrkWMZPjzLMRKvzSgQ5XLRm/+FpEMKfEERhVWYA3hL/HU8dq3fxHFbZUEU9Qrv1rQrh uxfKJQMU3qTiVMjeyf9s2LZk5X5zLWI6YsTgmyIPs35rWZMpuFM0P8Hzc08IZwW3U/69 wjaKREaTDCvOe0oYBzLodTBenGPTC0pqlr3qjsDhz8ft/5njZTrAAeU4vBit0P0NSnDj uenAEcavHMh7a+Ly0wBeFSOaqNsVigtZxwm/6w2GSVGRenFag7UmDHwXJTHDLig8Bkbr PoHQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743670751; x=1744275551; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=RlfAg/7rLSoS1Ke1F+8yA+aiyZO+gcbIufljerVjsNI=; b=N53vBcxAdE9eOgye655qKzBM6hWv317oG7Ft87JyfUmACkT6HJISW877i0HnTtXqSN 4tS2Pe9hb2m9BUe9rYGRPBjqkRjPNLmlr8JPJgivLpX0nB1/3ANN67yasAiyBTH984CC M/czdrIYBUCNiwTDs9IPY/7kev0lIKRRcqYe5lKUJgdebKWTv2Nobi7FGX83451z+JRf 68KfmV7zQMN5KLcmqFW9MsngFWFoBWvUktWDJIbXAeLbm5cQ4MOOAA62ctkvkg8wyCVu 7w4/q/jMrK8EF5KLzOjqmSGK/GktXIy8Ta/PjOyinwCVIwjaFQDMgtksRodpRBMtNQYO 4qPg== X-Forwarded-Encrypted: i=1; AJvYcCXRg4UooWH3BNfXQ6Od8g5CN3OODkL+Tyd4X90dynvH1Am2OADMYT7C8cwARsEd2zNRfqN3cjvlMaN2YVRbL5Yf@lists.infradead.org X-Gm-Message-State: AOJu0YwIDiNfOpMB1Abrt7bvbw36N3sbW6Hv9kcd9YFQXhjtYeXn6P4y YZcoJMHnXK+eGG13xUnMd/phk4IPNFIxXdEWtgYf36ievAp/aiXlfUGhX4XMGMI= X-Gm-Gg: ASbGncvS4mnpS6tptQZiHVq9cahQgCSWg/cMlbltHiiGriXCIJ/b6GKnmoJDeW1ce/0 F4ZCcc1upGnz+sj8VZJdHYI5FfUaRKzJFkHNWZVmbzIen1YodPsAUx/DZ21zCehpPChh4rxfahC SkC60Eu5JnpZslpeiCK273cpGt6yiL4jnDtZ+OAdNYf8opgmgsGodosXecIVMU7Q04n1FfZbfnZ lKmfF5SisCf4raHAUxSUt2bhBJ/a2U0HKhH1a8hEdUi+EqQn8cyh7oCO/dfFVGW+rjEYylzs/bS SgBR2aRQ7EwGgzkV6mQ8inQPcdw4/BoTlnioUEzkDNMDDrzIBz50OY1nXJloG+StiguXUMz3rPD KRZWcyFcWb7OKZRDBAZiTECrmPY2auFOVyGDM2ns= X-Google-Smtp-Source: AGHT+IFZLX87fvmQWgnxfZnoDAktzthuhMaNhoMnhSakNJiyYGcGUTZY/GTW98KUU5BWYKgMrjz3Pg== X-Received: by 2002:a05:6402:51c6:b0:5ec:c990:b578 with SMTP id 4fb4d7f45d1cf-5edfd15767bmr17482749a12.19.1743670750843; Thu, 03 Apr 2025 01:59:10 -0700 (PDT) Received: from puffmais.c.googlers.com (8.239.204.35.bc.googleusercontent.com. [35.204.239.8]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-5f0880a535fsm637614a12.80.2025.04.03.01.59.10 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 03 Apr 2025 01:59:10 -0700 (PDT) From: =?utf-8?q?Andr=C3=A9_Draszik?= Date: Thu, 03 Apr 2025 09:59:09 +0100 Subject: [PATCH v3 17/32] mfd: sec: rework platform data and regmap instantiating MIME-Version: 1.0 Message-Id: <20250403-s2mpg10-v3-17-b542b3505e68@linaro.org> References: <20250403-s2mpg10-v3-0-b542b3505e68@linaro.org> In-Reply-To: <20250403-s2mpg10-v3-0-b542b3505e68@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-20250403_015912_434220_A526ECB1 X-CRM114-Status: GOOD ( 14.08 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org 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 Reviewed-by: Krzysztof Kozlowski --- v2: fix typo in platform data for "samsung,s2mps14-pmic" --- drivers/mfd/sec-i2c.c | 133 +++++++++++++++++++++++++------------------------- 1 file changed, 66 insertions(+), 67 deletions(-) diff --git a/drivers/mfd/sec-i2c.c b/drivers/mfd/sec-i2c.c index 81f90003eea2a40f2caaebb49fc9494b89370e7f..41b09f5e3c49f410604a5d47e625cbb37d7f5fa2 100644 --- a/drivers/mfd/sec-i2c.c +++ b/drivers/mfd/sec-i2c.c @@ -20,11 +20,16 @@ #include #include #include -#include #include +#include #include #include "sec-core.h" +struct sec_pmic_i2c_platform_data { + const struct regmap_config *regmap_cfg; + unsigned long device_type; +}; + static bool s2mpa01_volatile(struct device *dev, unsigned int reg) { switch (reg) { @@ -136,52 +141,20 @@ static const struct regmap_config s5m8767_regmap_config = { static int sec_pmic_i2c_probe(struct i2c_client *client) { - const struct regmap_config *regmap; - unsigned long device_type; + const struct sec_pmic_i2c_platform_data *pdata; struct regmap *regmap_pmic; - device_type = (unsigned long)of_device_get_match_data(&client->dev); - - switch (device_type) { - case S2DOS05: - regmap = &s2dos05_regmap_config; - break; - case S2MPA01: - regmap = &s2mpa01_regmap_config; - break; - case S2MPS11X: - regmap = &s2mps11_regmap_config; - break; - case S2MPS13X: - regmap = &s2mps13_regmap_config; - break; - case S2MPS14X: - regmap = &s2mps14_regmap_config; - break; - case S2MPS15X: - regmap = &s2mps15_regmap_config; - break; - case S2MPU02: - regmap = &s2mpu02_regmap_config; - break; - case S2MPU05: - regmap = &s2mpu05_regmap_config; - break; - case S5M8767X: - regmap = &s5m8767_regmap_config; - break; - default: + pdata = device_get_match_data(&client->dev); + if (!pdata) return dev_err_probe(&client->dev, -ENODEV, - "Unsupported device type %lu\n", - device_type); - } + "Unsupported device type\n"); - regmap_pmic = devm_regmap_init_i2c(client, regmap); + regmap_pmic = devm_regmap_init_i2c(client, pdata->regmap_cfg); if (IS_ERR(regmap_pmic)) return dev_err_probe(&client->dev, PTR_ERR(regmap_pmic), "regmap init failed\n"); - return sec_pmic_probe(&client->dev, device_type, client->irq, + return sec_pmic_probe(&client->dev, pdata->device_type, client->irq, regmap_pmic, client); } @@ -190,35 +163,61 @@ static void sec_pmic_i2c_shutdown(struct i2c_client *i2c) sec_pmic_shutdown(&i2c->dev); } +static const struct sec_pmic_i2c_platform_data s2dos05_data = { + .regmap_cfg = &s2dos05_regmap_config, + .device_type = S2DOS05 +}; + +static const struct sec_pmic_i2c_platform_data s2mpa01_data = { + .regmap_cfg = &s2mpa01_regmap_config, + .device_type = S2MPA01, +}; + +static const struct sec_pmic_i2c_platform_data s2mps11_data = { + .regmap_cfg = &s2mps11_regmap_config, + .device_type = S2MPS11X, +}; + +static const struct sec_pmic_i2c_platform_data s2mps13_data = { + .regmap_cfg = &s2mps13_regmap_config, + .device_type = S2MPS13X, +}; + +static const struct sec_pmic_i2c_platform_data s2mps14_data = { + .regmap_cfg = &s2mps14_regmap_config, + .device_type = S2MPS14X, +}; + +static const struct sec_pmic_i2c_platform_data s2mps15_data = { + .regmap_cfg = &s2mps15_regmap_config, + .device_type = S2MPS15X, +}; + +static const struct sec_pmic_i2c_platform_data s2mpu02_data = { + .regmap_cfg = &s2mpu02_regmap_config, + .device_type = S2MPU02, +}; + +static const struct sec_pmic_i2c_platform_data s2mpu05_data = { + .regmap_cfg = &s2mpu05_regmap_config, + .device_type = S2MPU05, +}; + +static const struct sec_pmic_i2c_platform_data s5m8767_data = { + .regmap_cfg = &s5m8767_regmap_config, + .device_type = S5M8767X, +}; + static const struct of_device_id sec_pmic_i2c_of_match[] = { - { - .compatible = "samsung,s2dos05", - .data = (void *)S2DOS05, - }, { - .compatible = "samsung,s2mpa01-pmic", - .data = (void *)S2MPA01, - }, { - .compatible = "samsung,s2mps11-pmic", - .data = (void *)S2MPS11X, - }, { - .compatible = "samsung,s2mps13-pmic", - .data = (void *)S2MPS13X, - }, { - .compatible = "samsung,s2mps14-pmic", - .data = (void *)S2MPS14X, - }, { - .compatible = "samsung,s2mps15-pmic", - .data = (void *)S2MPS15X, - }, { - .compatible = "samsung,s2mpu02-pmic", - .data = (void *)S2MPU02, - }, { - .compatible = "samsung,s2mpu05-pmic", - .data = (void *)S2MPU05, - }, { - .compatible = "samsung,s5m8767-pmic", - .data = (void *)S5M8767X, - }, + { .compatible = "samsung,s2dos05", .data = &s2dos05_data, }, + { .compatible = "samsung,s2mpa01-pmic", .data = &s2mpa01_data, }, + { .compatible = "samsung,s2mps11-pmic", .data = &s2mps11_data, }, + { .compatible = "samsung,s2mps13-pmic", .data = &s2mps13_data, }, + { .compatible = "samsung,s2mps14-pmic", .data = &s2mps14_data, }, + { .compatible = "samsung,s2mps15-pmic", .data = &s2mps15_data, }, + { .compatible = "samsung,s2mpu02-pmic", .data = &s2mpu02_data, }, + { .compatible = "samsung,s2mpu05-pmic", .data = &s2mpu05_data, }, + { .compatible = "samsung,s5m8767-pmic", .data = &s5m8767_data, }, { }, }; MODULE_DEVICE_TABLE(of, sec_pmic_i2c_of_match); From patchwork Thu Apr 3 08:59:10 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Andr=C3=A9_Draszik?= X-Patchwork-Id: 14037196 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 82134C3600C for ; Thu, 3 Apr 2025 09:33: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=KZ+pWW3wwfoO36sbVjoQMpP7epgDk59E8mIno/3xwfk=; b=olR1cv3S0lvDbUD7AqSqzCh4ZP w0SjVlSFVBW51dS4OWOZNtIemUghDVVWlyk9Jr6P1vNrvgpQNkumV2PlbpWBQ5JDeZd3mKK/KmfDB GcKn89MFaUkRkY4rWsrVcMrTVUiaFEGTBTaHK+VNB62NkclDHtixugT6kkq5le9TvTzLdQYfzcTee UyeRL6gVSphN4wppO5Jpym2TZXS/HTMeW3lwf25CJZkqcganw6IbQ3lHl/B6BK38R7KMX0bB1fD9d MFrBEn9MxJBUpmI0q4P1sszNg8UgrOmD6V6O7sbrGzY4rr2075dlpE5a7OTO9gE3iFbsFJ0ajicly fCBDBzOA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98.1 #2 (Red Hat Linux)) id 1u0Gwa-00000008Pn9-0V9l; Thu, 03 Apr 2025 09:33:04 +0000 Received: from mail-ed1-x535.google.com ([2a00:1450:4864:20::535]) by bombadil.infradead.org with esmtps (Exim 4.98.1 #2 (Red Hat Linux)) id 1u0GPo-00000008Jlx-39UG for linux-arm-kernel@lists.infradead.org; Thu, 03 Apr 2025 08:59:13 +0000 Received: by mail-ed1-x535.google.com with SMTP id 4fb4d7f45d1cf-5e60cfef9cfso1043411a12.2 for ; Thu, 03 Apr 2025 01:59:12 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1743670751; x=1744275551; darn=lists.infradead.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=KZ+pWW3wwfoO36sbVjoQMpP7epgDk59E8mIno/3xwfk=; b=YJZsMVYg6YgapZQAdaCjD+3WOG5rTQjnYE/xIf9vRxNa3boucVX6NP+JmKlaS6ipjB MmR3exR4x3b43zGKARMerZkV1sQRAXdpHLKyUsE/nAkMAQ/FG8Z5CzaBF1TYzcoZ0v6w hBSJspx9EluyS/+2tdA9Iv6s90V1PfWNrp059K1uAJr9LoN3q7ItTAJqvqHP3hO7ChDL Ab2t3dYcxNh1J/i1ktpQlXPf5tBXR1snuw9bcdOdvvFbRQrPWkfpSfm2kRmXAJSSOIkD J1BXvs/Bk1tgSOzE5RSZAWFxXX9htR3P2fQwmnFbKs9HxX8BNLnaVQn0YxYTJo7cX0gM /vfQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743670751; x=1744275551; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=KZ+pWW3wwfoO36sbVjoQMpP7epgDk59E8mIno/3xwfk=; b=JYr5njIcLTy7pCiKLiQHdEcc+Sac61WDI2ftGdWp6h+T/LZhmAPAW9BNKbMpraUXSk sFKkAO9mumkdYBuAeJivV1ApJVlKsJAXDJzlo7DJayRblxUGhnHf1AyYus+sqLtZ8u1Z YIcr89jNNsCszr9H8D63myYpHRvt5W28H71DsjAYvYn5RPP5AJwhNDlhfhfcsQPbfPqe FXI+EJc6RDZEfxlp9ew9N8LkBDpnmOcnG6ZWk9y5hq1Pnur57RL5yjL5P4CvXiBn9hkN ewWpTk1PEL7ERCc2VGwspHXB/ghHwfk4thqTAoPFR/EJ2mmF9FJVaWQ/xVmKfjOUjvJ9 RHsA== X-Forwarded-Encrypted: i=1; AJvYcCX6LJlKE0UvvgFWu2lqXmY3GWY7Z5kO1RxRHr7L8Jylf1CB1obPP8EohKFofWZanp35QbqAE7v6dX+C522Z0PgG@lists.infradead.org X-Gm-Message-State: AOJu0YygA/VIoxXboYGAH0k9NotnulARBaxnqFRcar7hhZAKDG7WB8J8 RnYX98QYj19c52NgGCKkXJSXFWEIxs237DYF5I8tGrNm97VHqc1QbnXPBujIngw= X-Gm-Gg: ASbGncuUI8PN6aUZj5Mkt1mLLfm9IKYqKwd3eTBXQBSM4/LeVkw/2TYPTdX4lBA2zbZ mwuHp/4PLoLcnH2LqkbU4BWzEXnLNXT+P3oFoSMELFxKw4b+SiG55MEieUyYZxZBdNHB93jVJNE uzHJ8woAnLtvN6y/iri3Hlyfn1AYCNnOQg9WqRQyA1JxkK8bDASqZvO0RKsKzniBWCsWOz785aD BSHi5ZT5DdiAna2k6LuWY7nvXNqTinbn8rEBB9ld329rMxkojOd8lgHBlYv1yViuZfOpc88KXNl KtG3sJFbdtJY9cIUxQY1QIYc+NN0xyG45GVhCdJiEsAxiFtJOsMJl4iY/1tY50GOpbp6YbdiOXk Kh9z8ZO5hBZI8iXuZmJviuO77/qVv X-Google-Smtp-Source: AGHT+IEDq89x3CpslTyM0zp7dklQdXkDh51EcU1TCoWVePJqp1R3stB2nQM7HgpHJAOZguo5Gm2LWg== X-Received: by 2002:a05:6402:3204:b0:5f0:82cd:500b with SMTP id 4fb4d7f45d1cf-5f082cd5216mr2774791a12.19.1743670751382; Thu, 03 Apr 2025 01:59:11 -0700 (PDT) Received: from puffmais.c.googlers.com (8.239.204.35.bc.googleusercontent.com. [35.204.239.8]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-5f0880a535fsm637614a12.80.2025.04.03.01.59.10 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 03 Apr 2025 01:59:11 -0700 (PDT) From: =?utf-8?q?Andr=C3=A9_Draszik?= Date: Thu, 03 Apr 2025 09:59:10 +0100 Subject: [PATCH v3 18/32] mfd: sec: change device_type to int MIME-Version: 1.0 Message-Id: <20250403-s2mpg10-v3-18-b542b3505e68@linaro.org> References: <20250403-s2mpg10-v3-0-b542b3505e68@linaro.org> In-Reply-To: <20250403-s2mpg10-v3-0-b542b3505e68@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-20250403_015912_795906_5818EFD2 X-CRM114-Status: GOOD ( 15.03 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org Now that sec-i2c doesn't match device type by pointer casting anymore, we can switch the device type from unsigned long to int easily. This saves a few bytes in struct sec_pmic_dev due to member alignment. Signed-off-by: André Draszik --- drivers/mfd/sec-common.c | 9 ++++----- drivers/mfd/sec-core.h | 5 ++--- drivers/mfd/sec-i2c.c | 2 +- drivers/mfd/sec-irq.c | 5 ++--- include/linux/mfd/samsung/core.h | 2 +- 5 files changed, 10 insertions(+), 13 deletions(-) diff --git a/drivers/mfd/sec-common.c b/drivers/mfd/sec-common.c index bb0eb3c2d9a260ddf2fb110cc255f08a0d25230d..4871492548f5efde4248b5b3db74045ec8c9d676 100644 --- a/drivers/mfd/sec-common.c +++ b/drivers/mfd/sec-common.c @@ -155,9 +155,8 @@ sec_pmic_parse_dt_pdata(struct device *dev) return pd; } -int sec_pmic_probe(struct device *dev, unsigned long device_type, - unsigned int irq, struct regmap *regmap, - struct i2c_client *client) +int sec_pmic_probe(struct device *dev, int device_type, unsigned int irq, + struct regmap *regmap, struct i2c_client *client) { struct sec_platform_data *pdata; const struct mfd_cell *sec_devs; @@ -232,7 +231,7 @@ int sec_pmic_probe(struct device *dev, unsigned long device_type, break; default: return dev_err_probe(sec_pmic->dev, -EINVAL, - "Unsupported device type %lu\n", + "Unsupported device type %d\n", sec_pmic->device_type); } ret = devm_mfd_add_devices(sec_pmic->dev, -1, sec_devs, num_sec_devs, @@ -266,7 +265,7 @@ void sec_pmic_shutdown(struct device *dev) * ignore the rest. */ dev_warn(sec_pmic->dev, - "Unsupported device %lu for manual power off\n", + "Unsupported device %d for manual power off\n", sec_pmic->device_type); return; } diff --git a/drivers/mfd/sec-core.h b/drivers/mfd/sec-core.h index a0a3488924d96f69373e7569079cfefd0544ca26..92c7558ab8b0de44a52e028eeb7998e38358cb4c 100644 --- a/drivers/mfd/sec-core.h +++ b/drivers/mfd/sec-core.h @@ -14,9 +14,8 @@ struct i2c_client; extern const struct dev_pm_ops sec_pmic_pm_ops; -int sec_pmic_probe(struct device *dev, unsigned long device_type, - unsigned int irq, struct regmap *regmap, - struct i2c_client *client); +int sec_pmic_probe(struct device *dev, int device_type, unsigned int irq, + struct regmap *regmap, struct i2c_client *client); void sec_pmic_shutdown(struct device *dev); int sec_irq_init(struct sec_pmic_dev *sec_pmic); diff --git a/drivers/mfd/sec-i2c.c b/drivers/mfd/sec-i2c.c index 41b09f5e3c49f410604a5d47e625cbb37d7f5fa2..2ccb494c8c024361c78e92be71ce9c215757dd89 100644 --- a/drivers/mfd/sec-i2c.c +++ b/drivers/mfd/sec-i2c.c @@ -27,7 +27,7 @@ struct sec_pmic_i2c_platform_data { const struct regmap_config *regmap_cfg; - unsigned long device_type; + int device_type; }; static bool s2mpa01_volatile(struct device *dev, unsigned int reg) diff --git a/drivers/mfd/sec-irq.c b/drivers/mfd/sec-irq.c index 79a3b33441fa5ab48b4b233eb8d89b4c20c142ed..c4db58813059f07372679223ec570ed07f52cd73 100644 --- a/drivers/mfd/sec-irq.c +++ b/drivers/mfd/sec-irq.c @@ -449,10 +449,9 @@ static const struct regmap_irq_chip s5m8767_irq_chip = { int sec_irq_init(struct sec_pmic_dev *sec_pmic) { int ret = 0; - int type = sec_pmic->device_type; const struct regmap_irq_chip *sec_irq_chip; - switch (type) { + switch (sec_pmic->device_type) { case S5M8767X: sec_irq_chip = &s5m8767_irq_chip; break; @@ -484,7 +483,7 @@ int sec_irq_init(struct sec_pmic_dev *sec_pmic) break; default: return dev_err_probe(sec_pmic->dev, -EINVAL, - "Unsupported device type %lu\n", + "Unsupported device type %d\n", sec_pmic->device_type); } diff --git a/include/linux/mfd/samsung/core.h b/include/linux/mfd/samsung/core.h index c1102324172a9b6bd6072b5929a4866d6c9653fa..d785e101fe795a5d8f9cccf4ccc4232437e89416 100644 --- a/include/linux/mfd/samsung/core.h +++ b/include/linux/mfd/samsung/core.h @@ -67,7 +67,7 @@ struct sec_pmic_dev { struct regmap *regmap_pmic; struct i2c_client *i2c; - unsigned long device_type; + int device_type; int irq; struct regmap_irq_chip_data *irq_data; }; From patchwork Thu Apr 3 08:59:11 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Andr=C3=A9_Draszik?= X-Patchwork-Id: 14037197 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 D329DC3600C for ; Thu, 3 Apr 2025 09:35:03 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:Cc:To:In-Reply-To:References :Message-Id:Content-Transfer-Encoding:Content-Type:MIME-Version:Subject:Date: From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=c021jwV5dbsG8JoPrCRgjZmmvCnTfk3Xe/yBggRzooI=; b=FiorZLQ146g/ggGBVTTcmAPwU7 r9lARb8t13MAZAmxWyUEHOhgTYN6VWTv6I5fbxG9Pr/F9zhcguKLSFlqF141o5E7FJO4Wdu2OCfhc V2YVVpcFvP/oQj4Iv9BfEsC1HhQIVRyunYxO2Udw1UzA/6kYeYDbaD3/9L2ev8M69+m7Fd/IQTrFs swa/Akize5+V9Gco8NjiinzPmpS1CW10lA9mjKpLvC+5nTNyNO6JQGCQtbyLNvn40wuy1OyaXWbKA OEYWO5K3zIx8hb73SaWP0yomFzGqyUpnXzXnu2S+fpQ3g17XrTCEC8IhDgoPGNMu2yPRG8w8XeZNJ 3VF1vSNA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98.1 #2 (Red Hat Linux)) id 1u0GyI-00000008Q1r-3Yvl; Thu, 03 Apr 2025 09:34:50 +0000 Received: from mail-ed1-x52b.google.com ([2a00:1450:4864:20::52b]) by bombadil.infradead.org with esmtps (Exim 4.98.1 #2 (Red Hat Linux)) id 1u0GPp-00000008Jmb-17Zs for linux-arm-kernel@lists.infradead.org; Thu, 03 Apr 2025 08:59:14 +0000 Received: by mail-ed1-x52b.google.com with SMTP id 4fb4d7f45d1cf-5e61d91a087so1167897a12.0 for ; Thu, 03 Apr 2025 01:59:13 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1743670752; x=1744275552; darn=lists.infradead.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=c021jwV5dbsG8JoPrCRgjZmmvCnTfk3Xe/yBggRzooI=; b=qT8nv58JVDpgeKHrhtYb3FZN4bohmhNvjKrPnC5rtoput1hi1AM333ZFtE9wFmuAsw W5pfX1w48Is69hXwuSka+G530ABMr+UDw5OAK0VWNaTqiy05AckE7woaOfYkKVJUmkMO kfzwXg5mN1ahCw5cejduvnOTPL4xvJLlgHI9xa6Zc+QRPB5xtNvUkuAX2ETn+9ttpmFg E2gAaKBRHsjo9GEwcxtfjIBETDHe0F6anP2ezaI2iEap6Ec7N5P8F3UjMgRXyqSybzZN TcpkuISNex7dZSjG/VxPf/lH3GuK67Om3SBtO3IYow3ZKw63IF953zZbx1C6uEBtaj+x +UGg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743670752; x=1744275552; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=c021jwV5dbsG8JoPrCRgjZmmvCnTfk3Xe/yBggRzooI=; b=T3CjjeLyNU8Ukuz6U2LPyoz8lUuPBurDTjlaioG3wl0qvhVW4Xu7i7TKG0EMCaS84D 5ABSEKdhPEdelcoBy1OXCO/itnWM553wz1CKc8c1XSjA2GhZljPPUYnWpj9KtLFYVO5T gA6tpjWAiMTLpK68YljJFwDRH2pJ5NKfFUvSY8KZ3TUTfMpwrposiLDm6DxxSAirRgiV mPtoHI9n+7Shd82+r75uHFx20SJ9w90MJl7fBfvhv+7g6ZgimdkJ/oabwd7sCHhrKhqF WNdEQk6mcxRazxogUkj+QbnXfj//rIl7qtiEXtA3nSIRrVgf15RPMP1ti3i33aHnqL0e 6RfQ== X-Forwarded-Encrypted: i=1; AJvYcCXeKZJfMxcWDmqR4TduwByMYl58Mb9sQZQQfjmaZ3bi02Tr1ZVYVHZGkyYlKtTYB0TFgCl0aTaCrwwEQ78gGRqx@lists.infradead.org X-Gm-Message-State: AOJu0Yy96ZnI0X/HLCBoke2GvFLGGmvSYhfspxVTnft/IhE/+F+QEuaZ UjczrZHrPtsr295HIRDd4Zf2nKPusOD6sLM75Jwzuy5W7Ymrionq2Y95AMKwUiw= X-Gm-Gg: ASbGnctJZBVkkSxlGrpSnkY+fU09+qlVsxWJdDRJNoBvWBz+EOX6k4D153odK0QNXhx qrPKaYZuCJIcgC4pQb1N9Wmh/ZoDHagrN3QWqY1DICnFYQ0Z8GoTHzlIvPTYcw4S8ZaXAdsDmYS MaTljN53yxSrIfbcXBvunqo8LjVNDw1vcZF0gU+Iq0l5siVx4IA9bz0tozoB3vM5oWWL1AzMNXI 5M/Gt6EdXsSoq+m8no8lWQ8IBcOISfDhPEPj0wuy5n4AVH0QxsNHTKBLjyOxWmCPCZtarpyUQp8 19TPriBEaUSGsEyFwq6n6JjURV7W5jFvEjislQ/PCn0q5gvT59xJY7IvVjo8pkPhNeZn22YYgti Ly1g6AyfVzssuqP6Q4e5Fa6j1SQahXTOeh5kwNc0= X-Google-Smtp-Source: AGHT+IHCv1y/iOD6tATf8l6JbAVP7nosxikaub6pMGAtowLVbGuj8LVxbHPFWCZvGPjo74E5dX1Kfg== X-Received: by 2002:a05:6402:90e:b0:5e8:c0a7:4244 with SMTP id 4fb4d7f45d1cf-5f08716b5edmr1415400a12.9.1743670751910; Thu, 03 Apr 2025 01:59:11 -0700 (PDT) Received: from puffmais.c.googlers.com (8.239.204.35.bc.googleusercontent.com. [35.204.239.8]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-5f0880a535fsm637614a12.80.2025.04.03.01.59.11 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 03 Apr 2025 01:59:11 -0700 (PDT) From: =?utf-8?q?Andr=C3=A9_Draszik?= Date: Thu, 03 Apr 2025 09:59:11 +0100 Subject: [PATCH v3 19/32] mfd: sec: don't compare against NULL / 0 for errors, use ! MIME-Version: 1.0 Message-Id: <20250403-s2mpg10-v3-19-b542b3505e68@linaro.org> References: <20250403-s2mpg10-v3-0-b542b3505e68@linaro.org> In-Reply-To: <20250403-s2mpg10-v3-0-b542b3505e68@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-20250403_015913_303992_34D98D0C X-CRM114-Status: GOOD ( 13.93 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org Follow general style and use if (!arg) instead of comparing against NULL. While at it, drop a useless init in sec-irq.c. Signed-off-by: André Draszik --- drivers/mfd/sec-common.c | 2 +- drivers/mfd/sec-irq.c | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/mfd/sec-common.c b/drivers/mfd/sec-common.c index 4871492548f5efde4248b5b3db74045ec8c9d676..55edeb0f73ff4643f23b9759b115658d3bf03e9a 100644 --- a/drivers/mfd/sec-common.c +++ b/drivers/mfd/sec-common.c @@ -164,7 +164,7 @@ int sec_pmic_probe(struct device *dev, int device_type, unsigned int irq, int ret, num_sec_devs; sec_pmic = devm_kzalloc(dev, sizeof(struct sec_pmic_dev), GFP_KERNEL); - if (sec_pmic == NULL) + if (!sec_pmic) return -ENOMEM; dev_set_drvdata(dev, sec_pmic); diff --git a/drivers/mfd/sec-irq.c b/drivers/mfd/sec-irq.c index c4db58813059f07372679223ec570ed07f52cd73..5cd9667a21e9e8b052b2ef0b5d2991369bffe8bb 100644 --- a/drivers/mfd/sec-irq.c +++ b/drivers/mfd/sec-irq.c @@ -448,8 +448,8 @@ static const struct regmap_irq_chip s5m8767_irq_chip = { int sec_irq_init(struct sec_pmic_dev *sec_pmic) { - int ret = 0; const struct regmap_irq_chip *sec_irq_chip; + int ret; switch (sec_pmic->device_type) { case S5M8767X: @@ -496,7 +496,7 @@ int sec_irq_init(struct sec_pmic_dev *sec_pmic) ret = devm_regmap_add_irq_chip(sec_pmic->dev, sec_pmic->regmap_pmic, sec_pmic->irq, IRQF_ONESHOT, 0, sec_irq_chip, &sec_pmic->irq_data); - if (ret != 0) + if (ret) return dev_err_probe(sec_pmic->dev, ret, "Failed to add %s IRQ chip\n", sec_irq_chip->name); From patchwork Thu Apr 3 08:59:12 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Andr=C3=A9_Draszik?= X-Patchwork-Id: 14037198 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 9D1A8C3600C for ; Thu, 3 Apr 2025 09:36: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=kV75c5wurwfdiB4LfjbAT+jBLqgbz3xs0SfJTGIePwA=; b=a4FCes6Z2YhCNn2GLrOXLcSZoq JfBdfXtz7NQOf8kXNeoyouFUKt0b8KjhtgQa1Yfh6Rhjpro6jAsKixNUAJQ7r6j7mUKz2sLMRgXnV aqSOU7y9Q3WKxuwSzXxXQbhhnUiJSJctCkNn6+qvI6TFl+zCMXbY0NeSO5GlBEaJtOTDdDiLYkvBS /PzbVIQoPChnPqN/jrloLONQK046S137yL0yFEkRIFS2BKY/kR7Y/ttpicw4DrUhtaPh7wuV4zPIN klp0b39nEOHt+Ej3iuOBSbdDOJc7m7TppZR53woLLhAfkYCO2JwJsqjdJ1dHrZqPb1JdP0ayhmvtP a0zM6IfQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98.1 #2 (Red Hat Linux)) id 1u0H01-00000008QOw-2dxL; Thu, 03 Apr 2025 09:36:37 +0000 Received: from mail-ed1-x534.google.com ([2a00:1450:4864:20::534]) by bombadil.infradead.org with esmtps (Exim 4.98.1 #2 (Red Hat Linux)) id 1u0GPp-00000008Jmr-48XI for linux-arm-kernel@lists.infradead.org; Thu, 03 Apr 2025 08:59:15 +0000 Received: by mail-ed1-x534.google.com with SMTP id 4fb4d7f45d1cf-5e6194e9d2cso1179940a12.2 for ; Thu, 03 Apr 2025 01:59:13 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1743670753; x=1744275553; darn=lists.infradead.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=kV75c5wurwfdiB4LfjbAT+jBLqgbz3xs0SfJTGIePwA=; b=IGjXX2IrLDDLMkIDOWaPFFvRXCKOWY/pPogaWmUCaGSqg8UkYdMTh66Dyf0AL7LMSI 15WVpHmW9e5Fo88s+mzSO1yXgTds76NizWB2yCfxAfu2Ui9LbuCzcJEej0MRtklrlSte oo8VCbPSjhtD2Xiuxw0wIWTomiqQeid+cBCF/ew+a9HXMRFhWl/os9sH+KWCs9gcFUOK JWkEUH8HpVhL4hQSgfuHqvqiKONd+z6pr2ruSA4Imrg1F/ZhzMM8M3chLk17GWjFBPd+ EFJ7aShdcMMG0CfxH6ABeO7kkJP1b65n3sDc89/4Q9HAIR0wbXYcLxw0SVHkuI6MOMgA SB9w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743670753; x=1744275553; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=kV75c5wurwfdiB4LfjbAT+jBLqgbz3xs0SfJTGIePwA=; b=pyTqV6U3aCV9jyJ9oLGzQPxeyd5oEl4FlivJYjRmjokpYu4k1sm+FSeEXbXZLS0YNL lxxY+OR5SEQMlQr3klQ2x2qjJ+Le8QRvvRoJgq8Jy+UIgucZarH2Xa5b9oYbS9dTXjF3 DyAQg6VozV4m4scmr1oMaft5nAJz7uH32g7HnPvObWAPhZ/qrO2h+4es9ivugqQ3gbrP tUU5AsJWvaPTrI9tHPc+8VXInI/216/efPVTRdYZO7HB/nsUzdYtpH4ec6bTkFXXkzDX 4OR07EWX/g3dVg/JiqWSczCuzUc4VNGPN8UNXXYOrIm2dHhPHqa6jGmrs+fQga0Qm8F+ QKdA== X-Forwarded-Encrypted: i=1; AJvYcCVCE3Djun6dzwi92kdrOwzbQS3m5YluGl1MvQ32hE9LE027ML1VtWsNWnoqkMyZr0i1UjM9Mvh2UeMUiWmBquw2@lists.infradead.org X-Gm-Message-State: AOJu0YyHXEl6jzZRspKNcWYOsH/yB5+z4beCbQHOTvDPuURab5a6A9iA GaYmz9N+5PG04ho032hnVhFJuPCI0/wP1sAg0aVN2tXrujG7qMtNOY4XfdjejTw= X-Gm-Gg: ASbGncuTdejly7yi3z3DLhyx5fCxguYmetTIF7+Dv7vGJpfAbds1ONagwgS1WYusGDN be1min8EBzn1wr3YKkmBWEnAJ172f7PkOx1GwUPKZ5IBkN0spglAakWtfBdYQq+TWlYnkpdlyIi Y4v7W0prE1E+b1Amm485+ZhZe4Yy82gFhS4KmxSYNna5DzdOk9bLx0vG003KASbTfOAiFVjTprR oOJ6wVYh83watFbH2YCAlKCKnG+F0mpW65eykYrzmuncRNGPDMkxhEyuAez7zYCCK+48OKSmp6+ bEtuD/0p3Ip+jBF+LhHUqUrK8AsZdI4qjWa56rjIe8ZTSKl+0VL082VWrx0oV1ph4K2sySjvUqR 9vYySAQgyPvC4AD+LuYg/6JZHkDYK X-Google-Smtp-Source: AGHT+IGcX+tYkvLIpCQDt/tVecCK/2rtCpUV2gBjKE/E/xLa7G15uMrlM8X/q+3JmlSAkeK9HlD3fA== X-Received: by 2002:a17:907:9692:b0:ac3:49f0:4d10 with SMTP id a640c23a62f3a-ac7bc259458mr148490166b.38.1743670752608; Thu, 03 Apr 2025 01:59:12 -0700 (PDT) Received: from puffmais.c.googlers.com (8.239.204.35.bc.googleusercontent.com. [35.204.239.8]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-5f0880a535fsm637614a12.80.2025.04.03.01.59.12 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 03 Apr 2025 01:59:12 -0700 (PDT) From: =?utf-8?q?Andr=C3=A9_Draszik?= Date: Thu, 03 Apr 2025 09:59:12 +0100 Subject: [PATCH v3 20/32] mfd: sec: use sizeof(*var), not sizeof(struct type_of_var) MIME-Version: 1.0 Message-Id: <20250403-s2mpg10-v3-20-b542b3505e68@linaro.org> References: <20250403-s2mpg10-v3-0-b542b3505e68@linaro.org> In-Reply-To: <20250403-s2mpg10-v3-0-b542b3505e68@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-20250403_015914_090774_564E8441 X-CRM114-Status: GOOD ( 13.18 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org Using sizeof(*var) is generally preferred over using the size of its open-coded type when allocating memory. This helps avoiding bugs when the variable type changes but the memory allocation isn't updated, and it simplifies renaming of the struct if ever necessary. No functional change. Signed-off-by: André Draszik --- drivers/mfd/sec-common.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/mfd/sec-common.c b/drivers/mfd/sec-common.c index 55edeb0f73ff4643f23b9759b115658d3bf03e9a..e8e35f7d5f06b522a953e8f21603e6904401c983 100644 --- a/drivers/mfd/sec-common.c +++ b/drivers/mfd/sec-common.c @@ -163,7 +163,7 @@ int sec_pmic_probe(struct device *dev, int device_type, unsigned int irq, struct sec_pmic_dev *sec_pmic; int ret, num_sec_devs; - sec_pmic = devm_kzalloc(dev, sizeof(struct sec_pmic_dev), GFP_KERNEL); + sec_pmic = devm_kzalloc(dev, sizeof(*sec_pmic), GFP_KERNEL); if (!sec_pmic) return -ENOMEM; From patchwork Thu Apr 3 08:59:13 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Andr=C3=A9_Draszik?= X-Patchwork-Id: 14037199 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 67A9DC3600C for ; Thu, 3 Apr 2025 09:38: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=AGZF3iY+lrce/peuoGWoI8dxWV9rSVtCllywJ68wEfI=; b=GFHAddcjQZvL8ppvs8zvKDqAih Mi28kvieTxhZjLCd52OJBypotyXOvvvs8P7VoyOvdaECgTSUBfWjyi57hR0MU2FLXhW18DuJi5t1H nfVvIKD6MSbKFxosJ6EZBFo7JTmKWViauIsYtdlpN17uUzsSZfst0ZVkPxWlg/PDM191cVdOQHd3r H9I2pDB6HD/PSTzHJtwUNEA4dWTAGBAP9OQLkGg82Ll2Vlx/xYz3l+/Sth+2BicaadXi+5oRdXMk1 LI8gKTJs63LeH1w5yaN+DQhs90HEFON7Z5CRZzHSMiAsJGEJxoHRc+ffGJWtLW+I3ZwitOMoN/gza QEisGi+w==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98.1 #2 (Red Hat Linux)) id 1u0H1l-00000008Qbh-1l0l; Thu, 03 Apr 2025 09:38:25 +0000 Received: from mail-ej1-x630.google.com ([2a00:1450:4864:20::630]) by bombadil.infradead.org with esmtps (Exim 4.98.1 #2 (Red Hat Linux)) id 1u0GPq-00000008JnF-3pCT for linux-arm-kernel@lists.infradead.org; Thu, 03 Apr 2025 08:59:16 +0000 Received: by mail-ej1-x630.google.com with SMTP id a640c23a62f3a-ac345bd8e13so108742166b.0 for ; Thu, 03 Apr 2025 01:59:14 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1743670753; x=1744275553; darn=lists.infradead.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=AGZF3iY+lrce/peuoGWoI8dxWV9rSVtCllywJ68wEfI=; b=Wt2LGHK44qgnVrC+ColX3KF344gKuw+UVc0kjVP0D6nnThT7gS+9AqOIsLZ03lqSRe i4ucEf+CxFcPhWJ71z/xjw02keYaELFNRRRGWAWrMUH9WHOSH0De0n3PnMQZUIO9sVAW 1QV+ejNDLai2ylwKjGFjrRw28nY20mEOizJnaeDeHbvSknGkSg0EsWIg+g7lLm+vy2wQ ykHCu5QT/4U7mvqrg0nVV8j6rWHv7ENGIJy1oy1f1xwLtf2FKAEWVR+k2foKZtyPo+GS DMXB1tmzLaSbimuZyUtDRqF4B+c55ZfFYXgPy+pL1hlAaW2DuqRnMx69k498J0wWtBTf kmig== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743670753; x=1744275553; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=AGZF3iY+lrce/peuoGWoI8dxWV9rSVtCllywJ68wEfI=; b=Ia4YykOAeiHBmIPkxcnjAQFMWBA+jqy891ufhMzv9EIv4tKkiH0KKkRUbAp0mSQoi9 agBIXgFZ3uaIeJ50X+KHtPmjDAwIInIfRoU7201wDNc4Jy8c0ARCNuuDby/TNdS4pFZz a2GUfqxquzi4MznErP4C49DmoeqNzP5MTQnSKJNuDTyclADyp3etgAriUa0qzI/vDTza aIEhflFq/DMkDNFDhC4uxJpfXEeS2YNFsgIeKsqUfZV6xum4TBvc6UyXih3f6NoQ2gd0 dcsgH5LvdGMp2IbILm0pF1reP8aoHC8hYx0pjp2UbhcXduCY5sSiHa0fqVloMUd/g34P eveA== X-Forwarded-Encrypted: i=1; AJvYcCXjakXpmsjRyudVU+KLHWANzZg8MF4lOgCYRbc5dQjY9+T5nqqxBSx3UXAUiMclWHdnl7EK3ky1KB7vHR1GVPLK@lists.infradead.org X-Gm-Message-State: AOJu0YwY72PPSMzQKAsczeNia3OU67MTtuhDJyddk/yYI0XvmEJKpJSN ZbsoWMlI6YqBxzbox0vaCmitxVG3TVgrRSFgFUCQrfJqyHUDa7ox+Nm7rqUajRQ= X-Gm-Gg: ASbGnctjG3D8bF97l7ToE0fM+5tdJj4zskFsZc54/3PQVpUS2NI9jcoMmTKeTclXpyX R6PWnQDMbvgIFRpj7hhOgoLoOapFw3+2GVGhzbl2KG+oYe+4dj/JNpmyKAhkNUg4LkEZ1c9YDnC NAZiiDVOtQ1oLE0Tw5zxiI7ELfq4wZHRx3YT1+nEWvE4meJISYTMGsDMmtNe/wh5dp93hKMAET6 n0R+YriTsiCUuwR5FaObx1yaUAOl1U5vnPWrIVrDMvto1hr9ryNVeOSv04i/fhomSSFr8Y/ikMX cHcZ3H/4+TwPYNIYIh4OCJpqlw8rOpmZ53WIa/M0z7R4WbA62x2qAppX8IxsgfTrYW52xCLE6MP LTTjDIx/dYmeG9Dtb3FvR6Ksp2rKw X-Google-Smtp-Source: AGHT+IFRyOdwPcEz80NSYeNSO9OIEAqrNZz0SsyzqP2x0gvOEZiZralRMKMAb8SO2ti+oPAesT2BCw== X-Received: by 2002:a17:907:cc1a:b0:ac7:c59e:fc3e with SMTP id a640c23a62f3a-ac7c59efdf6mr46064366b.25.1743670753150; Thu, 03 Apr 2025 01:59:13 -0700 (PDT) Received: from puffmais.c.googlers.com (8.239.204.35.bc.googleusercontent.com. [35.204.239.8]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-5f0880a535fsm637614a12.80.2025.04.03.01.59.12 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 03 Apr 2025 01:59:12 -0700 (PDT) From: =?utf-8?q?Andr=C3=A9_Draszik?= Date: Thu, 03 Apr 2025 09:59:13 +0100 Subject: [PATCH v3 21/32] mfd: sec: convert to using MFD_CELL macros MIME-Version: 1.0 Message-Id: <20250403-s2mpg10-v3-21-b542b3505e68@linaro.org> References: <20250403-s2mpg10-v3-0-b542b3505e68@linaro.org> In-Reply-To: <20250403-s2mpg10-v3-0-b542b3505e68@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-20250403_015914_949855_BC0D0D47 X-CRM114-Status: GOOD ( 12.71 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org Use MFD_CELL macro helpers instead of open coding. This makes the code a bit shorter and more obvious. Signed-off-by: André Draszik --- drivers/mfd/sec-common.c | 57 ++++++++++++++++++------------------------------ 1 file changed, 21 insertions(+), 36 deletions(-) diff --git a/drivers/mfd/sec-common.c b/drivers/mfd/sec-common.c index e8e35f7d5f06b522a953e8f21603e6904401c983..448300ab547c10d81f9f2b2798d54c8a03c714d8 100644 --- a/drivers/mfd/sec-common.c +++ b/drivers/mfd/sec-common.c @@ -24,16 +24,13 @@ #include "sec-core.h" static const struct mfd_cell s5m8767_devs[] = { - { .name = "s5m8767-pmic", }, - { .name = "s5m-rtc", }, - { - .name = "s5m8767-clk", - .of_compatible = "samsung,s5m8767-clk", - }, + MFD_CELL_NAME("s5m8767-pmic"), + MFD_CELL_NAME("s5m-rtc"), + MFD_CELL_OF("s5m8767-clk", NULL, NULL, 0, 0, "samsung,s5m8767-clk"), }; static const struct mfd_cell s2dos05_devs[] = { - { .name = "s2dos05-regulator", }, + MFD_CELL_NAME("s2dos05-regulator"), }; static const struct mfd_cell s2mpg10_devs[] = { @@ -45,53 +42,41 @@ static const struct mfd_cell s2mpg10_devs[] = { }; static const struct mfd_cell s2mps11_devs[] = { - { .name = "s2mps11-regulator", }, - { .name = "s2mps14-rtc", }, - { - .name = "s2mps11-clk", - .of_compatible = "samsung,s2mps11-clk", - }, + MFD_CELL_NAME("s2mps11-regulator"), + MFD_CELL_NAME("s2mps14-rtc"), + MFD_CELL_OF("s2mps11-clk", NULL, NULL, 0, 0, "samsung,s2mps11-clk"), }; static const struct mfd_cell s2mps13_devs[] = { - { .name = "s2mps13-regulator", }, - { .name = "s2mps13-rtc", }, - { - .name = "s2mps13-clk", - .of_compatible = "samsung,s2mps13-clk", - }, + MFD_CELL_NAME("s2mps13-regulator"), + MFD_CELL_NAME("s2mps13-rtc"), + MFD_CELL_OF("s2mps13-clk", NULL, NULL, 0, 0, "samsung,s2mps13-clk"), }; static const struct mfd_cell s2mps14_devs[] = { - { .name = "s2mps14-regulator", }, - { .name = "s2mps14-rtc", }, - { - .name = "s2mps14-clk", - .of_compatible = "samsung,s2mps14-clk", - }, + MFD_CELL_NAME("s2mps14-regulator"), + MFD_CELL_NAME("s2mps14-rtc"), + MFD_CELL_OF("s2mps14-clk", NULL, NULL, 0, 0, "samsung,s2mps14-clk"), }; static const struct mfd_cell s2mps15_devs[] = { - { .name = "s2mps15-regulator", }, - { .name = "s2mps15-rtc", }, - { - .name = "s2mps13-clk", - .of_compatible = "samsung,s2mps13-clk", - }, + MFD_CELL_NAME("s2mps15-regulator"), + MFD_CELL_NAME("s2mps15-rtc"), + MFD_CELL_OF("s2mps13-clk", NULL, NULL, 0, 0, "samsung,s2mps13-clk"), }; static const struct mfd_cell s2mpa01_devs[] = { - { .name = "s2mpa01-pmic", }, - { .name = "s2mps14-rtc", }, + MFD_CELL_NAME("s2mpa01-pmic"), + MFD_CELL_NAME("s2mps14-rtc"), }; static const struct mfd_cell s2mpu02_devs[] = { - { .name = "s2mpu02-regulator", }, + MFD_CELL_NAME("s2mpu02-regulator"), }; static const struct mfd_cell s2mpu05_devs[] = { - { .name = "s2mpu05-regulator", }, - { .name = "s2mps15-rtc", }, + MFD_CELL_NAME("s2mpu05-regulator"), + MFD_CELL_NAME("s2mps15-rtc"), }; static void sec_pmic_dump_rev(struct sec_pmic_dev *sec_pmic) From patchwork Thu Apr 3 08:59:14 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Andr=C3=A9_Draszik?= X-Patchwork-Id: 14037200 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 B481DC3600C for ; Thu, 3 Apr 2025 09:40:24 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:Cc:To:In-Reply-To:References :Message-Id:Content-Transfer-Encoding:Content-Type:MIME-Version:Subject:Date: From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=Op+5mEOgNYYFAMowJxBfybjaNESu4Eako9395vK9N0c=; b=2WgXJ4amoKFoexjAY0n0ReV0o8 sJQjGDmwl8Vx5kgqvf31RjucZ5ZEvIamkxjuGnjZX16y+RMtEdtNrncr8+e3OaituzVVpH0GCRyAG BfouqHoPglmblrWaRwqYDT4lmQBzRdDakD/HZ/YCuSiPUT8GaEI/HyTmT518HC1FiAvczyqnAMtKX KtHgB0TtZLrBKYZHJr8fg7baDax3VK/wX/VKFf6wlqMXiKxTokKda4VIJ030EFXn/ScmcKD+iuopN vNAVGtVWFQa53PPpgSJOPSRK4t8RK7DZkRqmXjwrt0SSjN0/Y6SwFqOZa59cWtl0OQDaEnez1K1AI 2KEGoanw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98.1 #2 (Red Hat Linux)) id 1u0H3U-00000008QrR-0UwY; Thu, 03 Apr 2025 09:40:12 +0000 Received: from mail-ed1-x52b.google.com ([2a00:1450:4864:20::52b]) by bombadil.infradead.org with esmtps (Exim 4.98.1 #2 (Red Hat Linux)) id 1u0GPr-00000008Jnb-0J5w for linux-arm-kernel@lists.infradead.org; Thu, 03 Apr 2025 08:59:16 +0000 Received: by mail-ed1-x52b.google.com with SMTP id 4fb4d7f45d1cf-5e535e6739bso1045254a12.1 for ; Thu, 03 Apr 2025 01:59:14 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1743670754; x=1744275554; darn=lists.infradead.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=Op+5mEOgNYYFAMowJxBfybjaNESu4Eako9395vK9N0c=; b=y3nhRxmnMvR4q2G2sKRpn6MAcfOadjsaKcakGgjMcumm6Z6djIRwhY1vCFed0a5S+Q HwBz0DdZ3N1rT6j13G1Oihz1STR5WkO5pTpyfRsiOz3SiZBFEL21rNlFomljUp/pQiAO AK4SpboUCfzRWLMncteZDu7yXhC2xPyhQJVPT4TMiEVnFm0fGeNjxOT6W8Lyw5dq998h FfEqO3dkjMonvvkp/zKvkjkj+I/AdpDnMFuqY/CHADQ3B/byVf8JBCAzxuuTrKbDNWL0 j7rc7to512rFbM6VOHCm2ZZn3qo0EkYOOEUVqC9lF+fI2Anr1cuUp/gCphqIG0ZK9i+F YcwA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743670754; x=1744275554; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=Op+5mEOgNYYFAMowJxBfybjaNESu4Eako9395vK9N0c=; b=FUNGkjmdv9v41VpwmRciyhlkR5WgVaQsfb7aFVbRZU461iz4cYQqzl/SdZDa/V9ME3 P7OSw75Ltuxc1ljuOAjV45jCinkYGvhyXhnecDVqOVPZ8x7v+ZuPDGsCmFrk3NVxGMFG Vpal7Rs/max3cGJ6NIpTrytFaM4i0jR64En92FrF+V8ld+DMHCSyWg8UHbQntKRqMDnC F4he6NhVqQxMVl+Q5Ls21YXPUanAukpe+GCMHZZDxs3VzCp7oggPqOt0uzqqOPatZwHK EcyRrel6S6VAhIyf6XzGq/M36fPoDawG7BR7rLmXRU4U0YHDVzEexa9e+v58C4CRA9Hk Dlbg== X-Forwarded-Encrypted: i=1; AJvYcCVD1/3T0x/Nf7L/1vCdFu/pEko4VZ48tLoiThKpMqC5LZdksqjYIirl+TS7a6QPvvo9pKOFhe0cYIjpOVVAI145@lists.infradead.org X-Gm-Message-State: AOJu0Yz3TKNhxylLySct74iEGefnI1PccALiyGYhPeNSEaXsBi7qs9CM 5JCl5zJBzR2TgW+orpBVF7B1pMVWl+V1i8AZdrTbS4MavNNv6UATn7xuNAz5uHA= X-Gm-Gg: ASbGncvgSTteetlUv8OJfqfoNBX3sOUV/iADsKt18h9VAFP5JublkDXrMbmwUmtlbeb HR/2J/NzCZRjR5xQ8LkAPE4L39PyGnefIm2SHrxfTS7Y6ipmBRZEga5jRu40srboh6n+T1K12bV 5bnXj9epVAU2y1esdsCbYqYoJmsiDdCsgVWXIdIu56CFIxOisDDOC6YXylYUB31qat0BAkmaoBS TbJ9ng+DQWOSVVJ3FMarp66n6C/YeEnHZvwGXygvA5G1DPBEZqdyIeknMaQlHw7wo8KnsZZri83 4kgFkzaZ9B/6uklAvOlO0t2zwDumGUht6Dt2uuRIUKcT6eLl+HvwsnY9ofyEYyajjuMqlXojxE0 x4M9xOrx0Ziz3tXGbH5R5svswMrwS X-Google-Smtp-Source: AGHT+IHje6/Aj3m3WFy82BhNMOZ83g9HkkSQjWHGqlCFxMgpj6dst82siBK7kkVhW9a2sxdihxbs6A== X-Received: by 2002:a05:6402:4307:b0:5e7:b02b:6430 with SMTP id 4fb4d7f45d1cf-5f087224bedmr1275094a12.23.1743670753725; Thu, 03 Apr 2025 01:59:13 -0700 (PDT) Received: from puffmais.c.googlers.com (8.239.204.35.bc.googleusercontent.com. [35.204.239.8]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-5f0880a535fsm637614a12.80.2025.04.03.01.59.13 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 03 Apr 2025 01:59:13 -0700 (PDT) From: =?utf-8?q?Andr=C3=A9_Draszik?= Date: Thu, 03 Apr 2025 09:59:14 +0100 Subject: [PATCH v3 22/32] mfd: sec: convert to using REGMAP_IRQ_REG() macros MIME-Version: 1.0 Message-Id: <20250403-s2mpg10-v3-22-b542b3505e68@linaro.org> References: <20250403-s2mpg10-v3-0-b542b3505e68@linaro.org> In-Reply-To: <20250403-s2mpg10-v3-0-b542b3505e68@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-20250403_015915_255259_0D6F8CE1 X-CRM114-Status: GOOD ( 12.58 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org Use REGMAP_IRQ_REG macro helpers instead of open coding. This makes the code a bit shorter and more obvious. Signed-off-by: André Draszik --- drivers/mfd/sec-irq.c | 343 +++++++++++--------------------------------------- 1 file changed, 75 insertions(+), 268 deletions(-) diff --git a/drivers/mfd/sec-irq.c b/drivers/mfd/sec-irq.c index 5cd9667a21e9e8b052b2ef0b5d2991369bffe8bb..a2c821704b771a9f8a10c7efc900812684771862 100644 --- a/drivers/mfd/sec-irq.c +++ b/drivers/mfd/sec-irq.c @@ -74,212 +74,68 @@ static const struct regmap_irq s2mpg10_irqs[] = { }; static const struct regmap_irq s2mps11_irqs[] = { - [S2MPS11_IRQ_PWRONF] = { - .reg_offset = 0, - .mask = S2MPS11_IRQ_PWRONF_MASK, - }, - [S2MPS11_IRQ_PWRONR] = { - .reg_offset = 0, - .mask = S2MPS11_IRQ_PWRONR_MASK, - }, - [S2MPS11_IRQ_JIGONBF] = { - .reg_offset = 0, - .mask = S2MPS11_IRQ_JIGONBF_MASK, - }, - [S2MPS11_IRQ_JIGONBR] = { - .reg_offset = 0, - .mask = S2MPS11_IRQ_JIGONBR_MASK, - }, - [S2MPS11_IRQ_ACOKBF] = { - .reg_offset = 0, - .mask = S2MPS11_IRQ_ACOKBF_MASK, - }, - [S2MPS11_IRQ_ACOKBR] = { - .reg_offset = 0, - .mask = S2MPS11_IRQ_ACOKBR_MASK, - }, - [S2MPS11_IRQ_PWRON1S] = { - .reg_offset = 0, - .mask = S2MPS11_IRQ_PWRON1S_MASK, - }, - [S2MPS11_IRQ_MRB] = { - .reg_offset = 0, - .mask = S2MPS11_IRQ_MRB_MASK, - }, - [S2MPS11_IRQ_RTC60S] = { - .reg_offset = 1, - .mask = S2MPS11_IRQ_RTC60S_MASK, - }, - [S2MPS11_IRQ_RTCA1] = { - .reg_offset = 1, - .mask = S2MPS11_IRQ_RTCA1_MASK, - }, - [S2MPS11_IRQ_RTCA0] = { - .reg_offset = 1, - .mask = S2MPS11_IRQ_RTCA0_MASK, - }, - [S2MPS11_IRQ_SMPL] = { - .reg_offset = 1, - .mask = S2MPS11_IRQ_SMPL_MASK, - }, - [S2MPS11_IRQ_RTC1S] = { - .reg_offset = 1, - .mask = S2MPS11_IRQ_RTC1S_MASK, - }, - [S2MPS11_IRQ_WTSR] = { - .reg_offset = 1, - .mask = S2MPS11_IRQ_WTSR_MASK, - }, - [S2MPS11_IRQ_INT120C] = { - .reg_offset = 2, - .mask = S2MPS11_IRQ_INT120C_MASK, - }, - [S2MPS11_IRQ_INT140C] = { - .reg_offset = 2, - .mask = S2MPS11_IRQ_INT140C_MASK, - }, + REGMAP_IRQ_REG(S2MPS11_IRQ_PWRONF, 0, S2MPS11_IRQ_PWRONF_MASK), + REGMAP_IRQ_REG(S2MPS11_IRQ_PWRONR, 0, S2MPS11_IRQ_PWRONR_MASK), + REGMAP_IRQ_REG(S2MPS11_IRQ_JIGONBF, 0, S2MPS11_IRQ_JIGONBF_MASK), + REGMAP_IRQ_REG(S2MPS11_IRQ_JIGONBR, 0, S2MPS11_IRQ_JIGONBR_MASK), + REGMAP_IRQ_REG(S2MPS11_IRQ_ACOKBF, 0, S2MPS11_IRQ_ACOKBF_MASK), + REGMAP_IRQ_REG(S2MPS11_IRQ_ACOKBR, 0, S2MPS11_IRQ_ACOKBR_MASK), + REGMAP_IRQ_REG(S2MPS11_IRQ_PWRON1S, 0, S2MPS11_IRQ_PWRON1S_MASK), + REGMAP_IRQ_REG(S2MPS11_IRQ_MRB, 0, S2MPS11_IRQ_MRB_MASK), + + REGMAP_IRQ_REG(S2MPS11_IRQ_RTC60S, 1, S2MPS11_IRQ_RTC60S_MASK), + REGMAP_IRQ_REG(S2MPS11_IRQ_RTCA1, 1, S2MPS11_IRQ_RTCA1_MASK), + REGMAP_IRQ_REG(S2MPS11_IRQ_RTCA0, 1, S2MPS11_IRQ_RTCA0_MASK), + REGMAP_IRQ_REG(S2MPS11_IRQ_SMPL, 1, S2MPS11_IRQ_SMPL_MASK), + REGMAP_IRQ_REG(S2MPS11_IRQ_RTC1S, 1, S2MPS11_IRQ_RTC1S_MASK), + REGMAP_IRQ_REG(S2MPS11_IRQ_WTSR, 1, S2MPS11_IRQ_WTSR_MASK), + + REGMAP_IRQ_REG(S2MPS11_IRQ_INT120C, 2, S2MPS11_IRQ_INT120C_MASK), + REGMAP_IRQ_REG(S2MPS11_IRQ_INT140C, 2, S2MPS11_IRQ_INT140C_MASK), }; static const struct regmap_irq s2mps14_irqs[] = { - [S2MPS14_IRQ_PWRONF] = { - .reg_offset = 0, - .mask = S2MPS11_IRQ_PWRONF_MASK, - }, - [S2MPS14_IRQ_PWRONR] = { - .reg_offset = 0, - .mask = S2MPS11_IRQ_PWRONR_MASK, - }, - [S2MPS14_IRQ_JIGONBF] = { - .reg_offset = 0, - .mask = S2MPS11_IRQ_JIGONBF_MASK, - }, - [S2MPS14_IRQ_JIGONBR] = { - .reg_offset = 0, - .mask = S2MPS11_IRQ_JIGONBR_MASK, - }, - [S2MPS14_IRQ_ACOKBF] = { - .reg_offset = 0, - .mask = S2MPS11_IRQ_ACOKBF_MASK, - }, - [S2MPS14_IRQ_ACOKBR] = { - .reg_offset = 0, - .mask = S2MPS11_IRQ_ACOKBR_MASK, - }, - [S2MPS14_IRQ_PWRON1S] = { - .reg_offset = 0, - .mask = S2MPS11_IRQ_PWRON1S_MASK, - }, - [S2MPS14_IRQ_MRB] = { - .reg_offset = 0, - .mask = S2MPS11_IRQ_MRB_MASK, - }, - [S2MPS14_IRQ_RTC60S] = { - .reg_offset = 1, - .mask = S2MPS11_IRQ_RTC60S_MASK, - }, - [S2MPS14_IRQ_RTCA1] = { - .reg_offset = 1, - .mask = S2MPS11_IRQ_RTCA1_MASK, - }, - [S2MPS14_IRQ_RTCA0] = { - .reg_offset = 1, - .mask = S2MPS11_IRQ_RTCA0_MASK, - }, - [S2MPS14_IRQ_SMPL] = { - .reg_offset = 1, - .mask = S2MPS11_IRQ_SMPL_MASK, - }, - [S2MPS14_IRQ_RTC1S] = { - .reg_offset = 1, - .mask = S2MPS11_IRQ_RTC1S_MASK, - }, - [S2MPS14_IRQ_WTSR] = { - .reg_offset = 1, - .mask = S2MPS11_IRQ_WTSR_MASK, - }, - [S2MPS14_IRQ_INT120C] = { - .reg_offset = 2, - .mask = S2MPS11_IRQ_INT120C_MASK, - }, - [S2MPS14_IRQ_INT140C] = { - .reg_offset = 2, - .mask = S2MPS11_IRQ_INT140C_MASK, - }, - [S2MPS14_IRQ_TSD] = { - .reg_offset = 2, - .mask = S2MPS14_IRQ_TSD_MASK, - }, + REGMAP_IRQ_REG(S2MPS14_IRQ_PWRONF, 0, S2MPS11_IRQ_PWRONF_MASK), + REGMAP_IRQ_REG(S2MPS14_IRQ_PWRONR, 0, S2MPS11_IRQ_PWRONR_MASK), + REGMAP_IRQ_REG(S2MPS14_IRQ_JIGONBF, 0, S2MPS11_IRQ_JIGONBF_MASK), + REGMAP_IRQ_REG(S2MPS14_IRQ_JIGONBR, 0, S2MPS11_IRQ_JIGONBR_MASK), + REGMAP_IRQ_REG(S2MPS14_IRQ_ACOKBF, 0, S2MPS11_IRQ_ACOKBF_MASK), + REGMAP_IRQ_REG(S2MPS14_IRQ_ACOKBR, 0, S2MPS11_IRQ_ACOKBR_MASK), + REGMAP_IRQ_REG(S2MPS14_IRQ_PWRON1S, 0, S2MPS11_IRQ_PWRON1S_MASK), + REGMAP_IRQ_REG(S2MPS14_IRQ_MRB, 0, S2MPS11_IRQ_MRB_MASK), + + REGMAP_IRQ_REG(S2MPS14_IRQ_RTC60S, 1, S2MPS11_IRQ_RTC60S_MASK), + REGMAP_IRQ_REG(S2MPS14_IRQ_RTCA1, 1, S2MPS11_IRQ_RTCA1_MASK), + REGMAP_IRQ_REG(S2MPS14_IRQ_RTCA0, 1, S2MPS11_IRQ_RTCA0_MASK), + REGMAP_IRQ_REG(S2MPS14_IRQ_SMPL, 1, S2MPS11_IRQ_SMPL_MASK), + REGMAP_IRQ_REG(S2MPS14_IRQ_RTC1S, 1, S2MPS11_IRQ_RTC1S_MASK), + REGMAP_IRQ_REG(S2MPS14_IRQ_WTSR, 1, S2MPS11_IRQ_WTSR_MASK), + + REGMAP_IRQ_REG(S2MPS14_IRQ_INT120C, 2, S2MPS11_IRQ_INT120C_MASK), + REGMAP_IRQ_REG(S2MPS14_IRQ_INT140C, 2, S2MPS11_IRQ_INT140C_MASK), + REGMAP_IRQ_REG(S2MPS14_IRQ_TSD, 2, S2MPS14_IRQ_TSD_MASK), }; static const struct regmap_irq s2mpu02_irqs[] = { - [S2MPU02_IRQ_PWRONF] = { - .reg_offset = 0, - .mask = S2MPS11_IRQ_PWRONF_MASK, - }, - [S2MPU02_IRQ_PWRONR] = { - .reg_offset = 0, - .mask = S2MPS11_IRQ_PWRONR_MASK, - }, - [S2MPU02_IRQ_JIGONBF] = { - .reg_offset = 0, - .mask = S2MPS11_IRQ_JIGONBF_MASK, - }, - [S2MPU02_IRQ_JIGONBR] = { - .reg_offset = 0, - .mask = S2MPS11_IRQ_JIGONBR_MASK, - }, - [S2MPU02_IRQ_ACOKBF] = { - .reg_offset = 0, - .mask = S2MPS11_IRQ_ACOKBF_MASK, - }, - [S2MPU02_IRQ_ACOKBR] = { - .reg_offset = 0, - .mask = S2MPS11_IRQ_ACOKBR_MASK, - }, - [S2MPU02_IRQ_PWRON1S] = { - .reg_offset = 0, - .mask = S2MPS11_IRQ_PWRON1S_MASK, - }, - [S2MPU02_IRQ_MRB] = { - .reg_offset = 0, - .mask = S2MPS11_IRQ_MRB_MASK, - }, - [S2MPU02_IRQ_RTC60S] = { - .reg_offset = 1, - .mask = S2MPS11_IRQ_RTC60S_MASK, - }, - [S2MPU02_IRQ_RTCA1] = { - .reg_offset = 1, - .mask = S2MPS11_IRQ_RTCA1_MASK, - }, - [S2MPU02_IRQ_RTCA0] = { - .reg_offset = 1, - .mask = S2MPS11_IRQ_RTCA0_MASK, - }, - [S2MPU02_IRQ_SMPL] = { - .reg_offset = 1, - .mask = S2MPS11_IRQ_SMPL_MASK, - }, - [S2MPU02_IRQ_RTC1S] = { - .reg_offset = 1, - .mask = S2MPS11_IRQ_RTC1S_MASK, - }, - [S2MPU02_IRQ_WTSR] = { - .reg_offset = 1, - .mask = S2MPS11_IRQ_WTSR_MASK, - }, - [S2MPU02_IRQ_INT120C] = { - .reg_offset = 2, - .mask = S2MPS11_IRQ_INT120C_MASK, - }, - [S2MPU02_IRQ_INT140C] = { - .reg_offset = 2, - .mask = S2MPS11_IRQ_INT140C_MASK, - }, - [S2MPU02_IRQ_TSD] = { - .reg_offset = 2, - .mask = S2MPS14_IRQ_TSD_MASK, - }, + REGMAP_IRQ_REG(S2MPU02_IRQ_PWRONF, 0, S2MPS11_IRQ_PWRONF_MASK), + REGMAP_IRQ_REG(S2MPU02_IRQ_PWRONR, 0, S2MPS11_IRQ_PWRONR_MASK), + REGMAP_IRQ_REG(S2MPU02_IRQ_JIGONBF, 0, S2MPS11_IRQ_JIGONBF_MASK), + REGMAP_IRQ_REG(S2MPU02_IRQ_JIGONBR, 0, S2MPS11_IRQ_JIGONBR_MASK), + REGMAP_IRQ_REG(S2MPU02_IRQ_ACOKBF, 0, S2MPS11_IRQ_ACOKBF_MASK), + REGMAP_IRQ_REG(S2MPU02_IRQ_ACOKBR, 0, S2MPS11_IRQ_ACOKBR_MASK), + REGMAP_IRQ_REG(S2MPU02_IRQ_PWRON1S, 0, S2MPS11_IRQ_PWRON1S_MASK), + REGMAP_IRQ_REG(S2MPU02_IRQ_MRB, 0, S2MPS11_IRQ_MRB_MASK), + + REGMAP_IRQ_REG(S2MPU02_IRQ_RTC60S, 1, S2MPS11_IRQ_RTC60S_MASK), + REGMAP_IRQ_REG(S2MPU02_IRQ_RTCA1, 1, S2MPS11_IRQ_RTCA1_MASK), + REGMAP_IRQ_REG(S2MPU02_IRQ_RTCA0, 1, S2MPS11_IRQ_RTCA0_MASK), + REGMAP_IRQ_REG(S2MPU02_IRQ_SMPL, 1, S2MPS11_IRQ_SMPL_MASK), + REGMAP_IRQ_REG(S2MPU02_IRQ_RTC1S, 1, S2MPS11_IRQ_RTC1S_MASK), + REGMAP_IRQ_REG(S2MPU02_IRQ_WTSR, 1, S2MPS11_IRQ_WTSR_MASK), + + REGMAP_IRQ_REG(S2MPU02_IRQ_INT120C, 2, S2MPS11_IRQ_INT120C_MASK), + REGMAP_IRQ_REG(S2MPU02_IRQ_INT140C, 2, S2MPS11_IRQ_INT140C_MASK), + REGMAP_IRQ_REG(S2MPU02_IRQ_TSD, 2, S2MPS14_IRQ_TSD_MASK), }; static const struct regmap_irq s2mpu05_irqs[] = { @@ -303,74 +159,25 @@ static const struct regmap_irq s2mpu05_irqs[] = { }; static const struct regmap_irq s5m8767_irqs[] = { - [S5M8767_IRQ_PWRR] = { - .reg_offset = 0, - .mask = S5M8767_IRQ_PWRR_MASK, - }, - [S5M8767_IRQ_PWRF] = { - .reg_offset = 0, - .mask = S5M8767_IRQ_PWRF_MASK, - }, - [S5M8767_IRQ_PWR1S] = { - .reg_offset = 0, - .mask = S5M8767_IRQ_PWR1S_MASK, - }, - [S5M8767_IRQ_JIGR] = { - .reg_offset = 0, - .mask = S5M8767_IRQ_JIGR_MASK, - }, - [S5M8767_IRQ_JIGF] = { - .reg_offset = 0, - .mask = S5M8767_IRQ_JIGF_MASK, - }, - [S5M8767_IRQ_LOWBAT2] = { - .reg_offset = 0, - .mask = S5M8767_IRQ_LOWBAT2_MASK, - }, - [S5M8767_IRQ_LOWBAT1] = { - .reg_offset = 0, - .mask = S5M8767_IRQ_LOWBAT1_MASK, - }, - [S5M8767_IRQ_MRB] = { - .reg_offset = 1, - .mask = S5M8767_IRQ_MRB_MASK, - }, - [S5M8767_IRQ_DVSOK2] = { - .reg_offset = 1, - .mask = S5M8767_IRQ_DVSOK2_MASK, - }, - [S5M8767_IRQ_DVSOK3] = { - .reg_offset = 1, - .mask = S5M8767_IRQ_DVSOK3_MASK, - }, - [S5M8767_IRQ_DVSOK4] = { - .reg_offset = 1, - .mask = S5M8767_IRQ_DVSOK4_MASK, - }, - [S5M8767_IRQ_RTC60S] = { - .reg_offset = 2, - .mask = S5M8767_IRQ_RTC60S_MASK, - }, - [S5M8767_IRQ_RTCA1] = { - .reg_offset = 2, - .mask = S5M8767_IRQ_RTCA1_MASK, - }, - [S5M8767_IRQ_RTCA2] = { - .reg_offset = 2, - .mask = S5M8767_IRQ_RTCA2_MASK, - }, - [S5M8767_IRQ_SMPL] = { - .reg_offset = 2, - .mask = S5M8767_IRQ_SMPL_MASK, - }, - [S5M8767_IRQ_RTC1S] = { - .reg_offset = 2, - .mask = S5M8767_IRQ_RTC1S_MASK, - }, - [S5M8767_IRQ_WTSR] = { - .reg_offset = 2, - .mask = S5M8767_IRQ_WTSR_MASK, - }, + REGMAP_IRQ_REG(S5M8767_IRQ_PWRR, 0, S5M8767_IRQ_PWRR_MASK), + REGMAP_IRQ_REG(S5M8767_IRQ_PWRF, 0, S5M8767_IRQ_PWRF_MASK), + REGMAP_IRQ_REG(S5M8767_IRQ_PWR1S, 0, S5M8767_IRQ_PWR1S_MASK), + REGMAP_IRQ_REG(S5M8767_IRQ_JIGR, 0, S5M8767_IRQ_JIGR_MASK), + REGMAP_IRQ_REG(S5M8767_IRQ_JIGF, 0, S5M8767_IRQ_JIGF_MASK), + REGMAP_IRQ_REG(S5M8767_IRQ_LOWBAT2, 0, S5M8767_IRQ_LOWBAT2_MASK), + REGMAP_IRQ_REG(S5M8767_IRQ_LOWBAT1, 0, S5M8767_IRQ_LOWBAT1_MASK), + + REGMAP_IRQ_REG(S5M8767_IRQ_MRB, 1, S5M8767_IRQ_MRB_MASK), + REGMAP_IRQ_REG(S5M8767_IRQ_DVSOK2, 1, S5M8767_IRQ_DVSOK2_MASK), + REGMAP_IRQ_REG(S5M8767_IRQ_DVSOK3, 1, S5M8767_IRQ_DVSOK3_MASK), + REGMAP_IRQ_REG(S5M8767_IRQ_DVSOK4, 1, S5M8767_IRQ_DVSOK4_MASK), + + REGMAP_IRQ_REG(S5M8767_IRQ_RTC60S, 2, S5M8767_IRQ_RTC60S_MASK), + REGMAP_IRQ_REG(S5M8767_IRQ_RTCA1, 2, S5M8767_IRQ_RTCA1_MASK), + REGMAP_IRQ_REG(S5M8767_IRQ_RTCA2, 2, S5M8767_IRQ_RTCA2_MASK), + REGMAP_IRQ_REG(S5M8767_IRQ_SMPL, 2, S5M8767_IRQ_SMPL_MASK), + REGMAP_IRQ_REG(S5M8767_IRQ_RTC1S, 2, S5M8767_IRQ_RTC1S_MASK), + REGMAP_IRQ_REG(S5M8767_IRQ_WTSR, 2, S5M8767_IRQ_WTSR_MASK), }; static const struct regmap_irq_chip s2mpg10_irq_chip = { From patchwork Thu Apr 3 08:59:15 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Andr=C3=A9_Draszik?= X-Patchwork-Id: 14037201 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 E5755C3600C for ; Thu, 3 Apr 2025 09:42:12 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:Cc:To:In-Reply-To:References :Message-Id:Content-Transfer-Encoding:Content-Type:MIME-Version:Subject:Date: From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=zep9f0d4foFUFHvL7+wCfhcQlnrOmBCem8a0X84Q4jI=; b=wNP//zdmQEEbjApWfUTlaIaWZU 1aDSrdfLtR8ihve2laM4DhNHDPoY/YIY+kHQ6EZQodD0GujSYYnll9rnfqAeNNyaccW2QnV/1XUiV fTGRPjwikhhOgJI1ploHarv3zVQROZWc5WnLzPi8V6/woMmyqcDtIvmfdmR2cUYarQctlFfgLKK2d 3LHM6c4q8QY62njwtitfFeDo0OgO7JLvBKkil3wf/cABsgRIMg68W19EHVh9WGq2/7lV/E0AhSoDz B0snhU+a68PsxA7jE2wVTlyQRa43HtPkaPGTdTcvlaqlb7aW1MNzjhy3e7X0UTr3Of1h7wEkcHskP 5On0gJZg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98.1 #2 (Red Hat Linux)) id 1u0H5C-00000008R4O-3iAU; Thu, 03 Apr 2025 09:41:58 +0000 Received: from mail-ed1-x532.google.com ([2a00:1450:4864:20::532]) by bombadil.infradead.org with esmtps (Exim 4.98.1 #2 (Red Hat Linux)) id 1u0GPr-00000008Jnh-2H8s for linux-arm-kernel@lists.infradead.org; Thu, 03 Apr 2025 08:59:16 +0000 Received: by mail-ed1-x532.google.com with SMTP id 4fb4d7f45d1cf-5e5e0caa151so1272160a12.0 for ; Thu, 03 Apr 2025 01:59:15 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1743670754; x=1744275554; darn=lists.infradead.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=zep9f0d4foFUFHvL7+wCfhcQlnrOmBCem8a0X84Q4jI=; b=RRy5/RFynYiAX55IF/fuaZQVApzvmVY1iPIMsTjYXj22ZVbuz06yt4MRMtwofMuWXK pkxS/j+vxO9iKLugK/N0ENlDk8XFCj+hAa4dXg46frFB9wtdxEyRoGbhuCq9jZtMZq73 A2Ti3Xbi8S/7HGcBWan5+1IqxlzAPAAVNrRWp3xav7J+WOI5LAN1ZHt7DoJP0ukjhcag wHhsAAaY8Nbkjb2yYjGEXHApBgqVHdkYjbQL5J5mo4C/wQQvkqd1EMcdHrXN710LY2YE KIlPOA7JcxXcX8uCEEacvSB5W5t/DAuRbOPfmBizDR24g4No1DsOq3waFd8LUauSVzYk nH8A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743670754; x=1744275554; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=zep9f0d4foFUFHvL7+wCfhcQlnrOmBCem8a0X84Q4jI=; b=njCC3IWC1SrBCiHUvN5BwCECLwKLcARadUbh1P8YkOpmOerhrRkQ6wMYfNavtFQWsh lowIYZPYN3BGARxxW/baDrHlL1g/ia2/qmwyyXsnzAfLNJrgpgKmHgl1U0GWizFTMDus KLJ8/P2NZMMzx88AegkC7nQLqm3zlTK/MaGw55vo7TrXWhdheoCkjgzmqsPXlKlNYzWK gOd9+fZrjPu4AEv+tPEjjEEILD1QkEe7OA/+70uRCEaVDn489XGfP/l39mHWKZV5UQrF jVeI8Hej8s2o/XzL8ZIcJk5u5yzc61ugOBXkO5LQHujqtP1oPGuZvIWjUB96ha80IpSb zpNg== X-Forwarded-Encrypted: i=1; AJvYcCVw9e8UBWcA+I302lSfJL2CoDtFmOU6drljWpi+WIjvek7ZhQmoYuFwDAqeuG3jju2F34oMK8KkxxlE4w19okPl@lists.infradead.org X-Gm-Message-State: AOJu0Yy4OZwUmRXxZRq3oSqWrdXjmy6my3GhFI8coILv6cYe+S0j24Xg UVoJySXX9FbRxsLUAzdIhM6UHuU/lUr3vWyeBFWSkNL9fbogJ25cTJTXO8w9hJ4= X-Gm-Gg: ASbGncsRXSr5/bb0LPAGmWF2WbOr2vsMjjjCXJ7rR5MKS5dDfKuP62bcrDsZQydOyNc wiCnmXE7EEtNzXjKPQq1mo/UxyT0KIevU5CghHmhtKB70U05QwzvjJR9O9g7a7V1yxCsIqIeDsW K6yfq968cbIOQ45k5dCIf2+l826WucWrKq+YBQNAtwkvSohOQQExdC8ZgSHfgA5zzMDMsfd0I54 ZNq332Zf0VZTisGLre2jpf4DDahO0mZ9GcYsywno1BxLZhatpuztJRTHAyorqmg40AZA/hIrI/o Ax7cqdDm/mpVJVJ5StwBYMVAP7TCKZu09b6l01912HmWIQzU/wFGqFSXBk/8LwBJJI4FjtT7I2I zzOohAHWGIwNblbvjyPupeL7flqGs X-Google-Smtp-Source: AGHT+IHPaEYedqVEDLo93ujbRrtVNCm/mxpEYABRhJlFkwLFXs8WrbrWDofWHLr/5jqHegGOehX8ag== X-Received: by 2002:a05:6402:5112:b0:5e6:17e6:9510 with SMTP id 4fb4d7f45d1cf-5edfcbe92b8mr15687119a12.6.1743670754243; Thu, 03 Apr 2025 01:59:14 -0700 (PDT) Received: from puffmais.c.googlers.com (8.239.204.35.bc.googleusercontent.com. [35.204.239.8]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-5f0880a535fsm637614a12.80.2025.04.03.01.59.13 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 03 Apr 2025 01:59:13 -0700 (PDT) From: =?utf-8?q?Andr=C3=A9_Draszik?= Date: Thu, 03 Apr 2025 09:59:15 +0100 Subject: [PATCH v3 23/32] mfd: sec: add myself as module author MIME-Version: 1.0 Message-Id: <20250403-s2mpg10-v3-23-b542b3505e68@linaro.org> References: <20250403-s2mpg10-v3-0-b542b3505e68@linaro.org> In-Reply-To: <20250403-s2mpg10-v3-0-b542b3505e68@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-20250403_015915_592920_BA88654F X-CRM114-Status: GOOD ( 11.49 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org Add myself as module author, so people know whom to complain to about after the recent updates :-) Signed-off-by: André Draszik --- drivers/mfd/sec-common.c | 1 + drivers/mfd/sec-i2c.c | 1 + 2 files changed, 2 insertions(+) diff --git a/drivers/mfd/sec-common.c b/drivers/mfd/sec-common.c index 448300ab547c10d81f9f2b2798d54c8a03c714d8..05658f05cb857a784c7d01b1cf25de4870e1a95e 100644 --- a/drivers/mfd/sec-common.c +++ b/drivers/mfd/sec-common.c @@ -293,6 +293,7 @@ static int sec_pmic_resume(struct device *dev) DEFINE_SIMPLE_DEV_PM_OPS(sec_pmic_pm_ops, sec_pmic_suspend, sec_pmic_resume); EXPORT_SYMBOL_GPL(sec_pmic_pm_ops); +MODULE_AUTHOR("André Draszik "); MODULE_AUTHOR("Chanwoo Choi "); MODULE_AUTHOR("Krzysztof Kozlowski "); MODULE_AUTHOR("Sangbeom Kim "); diff --git a/drivers/mfd/sec-i2c.c b/drivers/mfd/sec-i2c.c index 2ccb494c8c024361c78e92be71ce9c215757dd89..74fd28a6bc9a42879fc1eb05546777f60e0062e9 100644 --- a/drivers/mfd/sec-i2c.c +++ b/drivers/mfd/sec-i2c.c @@ -233,6 +233,7 @@ static struct i2c_driver sec_pmic_i2c_driver = { }; module_i2c_driver(sec_pmic_i2c_driver); +MODULE_AUTHOR("André Draszik "); MODULE_AUTHOR("Sangbeom Kim "); MODULE_DESCRIPTION("I2C driver for the Samsung S5M"); MODULE_LICENSE("GPL"); From patchwork Thu Apr 3 08:59:16 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Andr=C3=A9_Draszik?= X-Patchwork-Id: 14037202 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 CD5A6C3600C for ; Thu, 3 Apr 2025 09:43:53 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:Cc:To:In-Reply-To:References :Message-Id:Content-Transfer-Encoding:Content-Type:MIME-Version:Subject:Date: From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=6KRr6Qm0gpuwraE+pyT1hJyit2ZkidoO0SCeL3UgR+0=; b=qmrXqi3OqV3Gyy1q9ArjYN4QQg G+2seGbecnaHQkVn/8ig/0cp4aCzDw3dbFlnHPRg66ejHb4fzoMZIxaHjczxHD1i8F4DeRL7rGni9 usi5REbfzcYiqes3XEV+bwFlYVtwx8+qH7E7nijvtObwejWZrXcRDZzidtGTGHsYDtO7NmLJ38qgJ mZ3fFp5K3qOlzI1fvXr/TqhJmEhV3CBzVMCR7/WFBPx165InssYPZw+PetItl8pwXh4nicEBBhg7L lyosA6SrEgAk8bv6kx5scJPNP2DTstAbIeLcCUwksjhXr4GVLQ+qOCmz7iZ1Nsod6H5ZEg5NSqmou DKNVvCFg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98.1 #2 (Red Hat Linux)) id 1u0H6v-00000008RBW-3xr4; Thu, 03 Apr 2025 09:43:45 +0000 Received: from mail-ed1-x52f.google.com ([2a00:1450:4864:20::52f]) by bombadil.infradead.org with esmtps (Exim 4.98.1 #2 (Red Hat Linux)) id 1u0GPs-00000008JoE-0SYQ for linux-arm-kernel@lists.infradead.org; Thu, 03 Apr 2025 08:59:17 +0000 Received: by mail-ed1-x52f.google.com with SMTP id 4fb4d7f45d1cf-5e61375c108so924403a12.1 for ; Thu, 03 Apr 2025 01:59:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1743670755; x=1744275555; darn=lists.infradead.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=6KRr6Qm0gpuwraE+pyT1hJyit2ZkidoO0SCeL3UgR+0=; b=Xqa4N/uoBtu55wJuTcWc9AiwvFPFtiRnuMZCGGaifyCRALLHOMZsPecQcdZEjG+yiA toQP5XXzcg69KIO0uP5/seXH4hCQDxnh6+SLQ9pPJ3A7kxRXZi8LjLNGI2WD8vAf9B7+ AzBLPd2Ze6Ko2lPLf6kK2HAJ3SJwuh0luMM0yIxwfYucXaRiQRvv7uQRl2afVOBNPCjV IJmolkhnuCg52kQm6unya9zaomLtV5b5jf1qqP9wNovAdeP90mwRCYelNHBLS4GiYf7Y ci3mT2ERyX0yo7V62m8Kd5+K6o8gZ6onf6VnQPAOm/YPpj8bHxN09zwWs43YDOUdrZ7y hEOg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743670755; x=1744275555; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=6KRr6Qm0gpuwraE+pyT1hJyit2ZkidoO0SCeL3UgR+0=; b=IdF5CUl7qu8etVkyF2gS9PGz0hcLGKL5gvNAiRD+3+jjp6gZuYkgJyaqesy5NUpbKe 31BDGPf/YX7A87IEse6a25FEK5pMj04yuqJ2h/zkImSViHB+FWcX8Pfy5GIiGD/4A/9g DUA9GtC2cXhzG+AdBCiOqaZRmMJJa7tTaDrdt/XBaWJ/WKO8AVSeGnpFYHVOegOgwb/o h60peeSTtRa3xyl5rbcQWZbm1ZUaG/cEQrqt2z8JAysD9cTuFs1ZWVCm3Ufja3GAfL0S rQlNuund1kpCd2gwIzlk4397RLBUlPtqyiebuacQaQQqq+BczMQYogDoPA20bW/LSJID xFsQ== X-Forwarded-Encrypted: i=1; AJvYcCV5N3JLo6keStSn3BZw+GMJfX5hnCIoQMERyw1dqIwX4nuESpAldRTAjVeYRz3VwUb/ylhK7i7A78tfyjrpjNO6@lists.infradead.org X-Gm-Message-State: AOJu0YzRnyGLqy/3apQEOMlcU9ES5A7g/NhRg5JOlH88yrd7QM3IFttp uv3uXLSufrtgMYOEj0VTM+Yj2FneWbYQMf5C6vuLMEQj10Vv+R+gdCXmWyzt9AM= X-Gm-Gg: ASbGncvOTptN2CeGDoRbYG5cWo6QEVmR6c82TM1Ur5TqFwnWMesRtRJcWUxorUGWI7M 6eva7qdp+c7iUf/b6O8YeW0ix9lOu+yy2LJAGHNi7EAFjKe5gAaKTCVXUZ+6WlNOtbvDZkxfFy1 RI35NX7MY2toMJFazNaB4qjRXEehJrdks8KcMVZhYHcjUPD9RP6cJW7JAlQqTqjIm38SUmf1Bm2 cDYydeUPbKodn7eKlgYy5o5ek1OLMnjgfRMN8BHyt3FW0yppp9a04jzzsOvViW7lSgEkAQIXb+w WnFCdfyr6C5Xdmfuv0QvhP9073xHajaeHizyw+aqPGhsJ7ed38ZkS0+pigA7wCNw7fmXUOOu5wF eOYdh+krVna5DY3jUo+HmaKHmf1Mj X-Google-Smtp-Source: AGHT+IHEdGFmSr6KJkifyjVrc0xIRhrTNMltNPXKgSl8ywP+14sm3GrLINtRDwSb2RF2kU14UFLFrw== X-Received: by 2002:a05:6402:40d3:b0:5e5:437c:1daf with SMTP id 4fb4d7f45d1cf-5edfd156c0amr18247266a12.16.1743670754722; Thu, 03 Apr 2025 01:59:14 -0700 (PDT) Received: from puffmais.c.googlers.com (8.239.204.35.bc.googleusercontent.com. [35.204.239.8]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-5f0880a535fsm637614a12.80.2025.04.03.01.59.14 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 03 Apr 2025 01:59:14 -0700 (PDT) From: =?utf-8?q?Andr=C3=A9_Draszik?= Date: Thu, 03 Apr 2025 09:59:16 +0100 Subject: [PATCH v3 24/32] clk: s2mps11: add support for S2MPG10 PMIC clock MIME-Version: 1.0 Message-Id: <20250403-s2mpg10-v3-24-b542b3505e68@linaro.org> References: <20250403-s2mpg10-v3-0-b542b3505e68@linaro.org> In-Reply-To: <20250403-s2mpg10-v3-0-b542b3505e68@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-20250403_015916_145595_7E402EDA X-CRM114-Status: GOOD ( 14.88 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org Add support for Samsung's S2MPG10 PMIC clock, which is similar to the existing PMIC clocks supported by this driver. S2MPG10 has three clock outputs @ 32kHz: AP, peri1 and peri2. Acked-by: Stephen Boyd Signed-off-by: André Draszik Reviewed-by: Krzysztof Kozlowski --- drivers/clk/clk-s2mps11.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/drivers/clk/clk-s2mps11.c b/drivers/clk/clk-s2mps11.c index 8ddf3a9a53dfd5bb52a05a3e02788a357ea77ad3..92c8d36dafcf8a448873567fb3541a1b90cd9837 100644 --- a/drivers/clk/clk-s2mps11.c +++ b/drivers/clk/clk-s2mps11.c @@ -11,6 +11,7 @@ #include #include #include +#include #include #include #include @@ -140,6 +141,9 @@ static int s2mps11_clk_probe(struct platform_device *pdev) clk_data->num = S2MPS11_CLKS_NUM; switch (hwid) { + case S2MPG10: + s2mps11_reg = S2MPG10_PMIC_RTCBUF; + break; case S2MPS11X: s2mps11_reg = S2MPS11_REG_RTC_CTRL; break; @@ -221,6 +225,7 @@ static void s2mps11_clk_remove(struct platform_device *pdev) } static const struct platform_device_id s2mps11_clk_id[] = { + { "s2mpg10-clk", S2MPG10}, { "s2mps11-clk", S2MPS11X}, { "s2mps13-clk", S2MPS13X}, { "s2mps14-clk", S2MPS14X}, @@ -241,6 +246,9 @@ MODULE_DEVICE_TABLE(platform, s2mps11_clk_id); */ static const struct of_device_id s2mps11_dt_match[] __used = { { + .compatible = "samsung,s2mpg10-clk", + .data = (void *)S2MPG10, + }, { .compatible = "samsung,s2mps11-clk", .data = (void *)S2MPS11X, }, { From patchwork Thu Apr 3 08:59: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: 14037210 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 5C390C3600C for ; Thu, 3 Apr 2025 09:58:13 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:Cc:To:In-Reply-To:References :Message-Id:Content-Transfer-Encoding:Content-Type:MIME-Version:Subject:Date: From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=/FZ2sB+aGjDu2Ign5/fbJkQ1EFpiN/+kFXshKweSgHY=; b=hJgR8Qq9pWitDvLnLPKgwnM8dY N4dCkVuAQsldcx8BKLlqU2Jh2OK2rmMh02I0WzQuyPMkDPSkSt9oquNytErD4TH4yA6eFSh+NbZ25 Tg+Th5e9G6ZMkBiHH9I5DSFfyiz5zLDhG6uJrJ7gXs7W1vk1w3IscHhoEPe+BhT6LD0/wVBpOMaX1 P3hbXl60Uosq7kDyR2yaT97AVGl9Z0/7Z9FRGqTEUhSuf86V7gXKLuvMflKrqtsSNOVgABETVmCUd 3r5+GiH5y3utqp99voAhOGSLXkuMJHoNkHtb2ebzhanXywM0s4juxT6pl6URI2A/PkSzG29fJURvJ Fp39BKZw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98.1 #2 (Red Hat Linux)) id 1u0HKj-00000008TA5-3aCd; Thu, 03 Apr 2025 09:58:01 +0000 Received: from mail-ed1-x52a.google.com ([2a00:1450:4864:20::52a]) by bombadil.infradead.org with esmtps (Exim 4.98.1 #2 (Red Hat Linux)) id 1u0GQ3-00000008JtW-1lxb for linux-arm-kernel@lists.infradead.org; Thu, 03 Apr 2025 08:59:28 +0000 Received: by mail-ed1-x52a.google.com with SMTP id 4fb4d7f45d1cf-5e5e34f4e89so1306210a12.1 for ; Thu, 03 Apr 2025 01:59:27 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1743670766; x=1744275566; darn=lists.infradead.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=/FZ2sB+aGjDu2Ign5/fbJkQ1EFpiN/+kFXshKweSgHY=; b=NzNc/KZ30p/d/0KGMk5RuhjMP1u6xgtXVlE+rIvFtn/ojg5JDlt36OzYeH4gxgPANV wZcCdx8fDLrB2K4soxrgvAcVwq44/DKtLHYv3f0IVSQ+JkxF5a13WeVTxyFwVKFkjHb0 Kdo2HhG6BANYV4m+ajmrfAqX5d88EWS4f56cuMghqp1z9T8OEoC0T18jQnrrL+9drcEZ xGi/ClNtpI2i9ba0KixK4qeqcsmDzTDawqug+sdFIjYM0yAXxDj7D4MmRHBGc3uLIm32 4DU8M4wpc4isjjAa5at2xie/I16Ay4S/UnBt9/glEPtX5Ab7aW1xzLx/AsJ22MzfTR+o Oxvg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743670766; x=1744275566; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=/FZ2sB+aGjDu2Ign5/fbJkQ1EFpiN/+kFXshKweSgHY=; b=poOEsbQyBUO6vU26HzBQXK+ZuDbF2oNiAi38+a3KJR+JZ9Tb+Bbrn/IX/QV4P/Mns2 sGm3QZDopLxYSUmGmIpMj7m3OKeVjc597zg1oEmlB5rqWTYORgzXfSSwP1i2taBHwS1j dejQtQ59C1BNlHdRHQ61bNLdd8b4TYpgcX9U5i9f3U4IRYk+ToqHxtYlpIFnxiawjzoZ uS58xS8dZoVMOdl5JRJosP7oHKCsdmQ06SJy/U7xTuUDUky7YclPmDrBukSGPP3gtocJ 2Rx3KwvdnN3H4NywVeQXlmR0+AAnYAGaFe8WHo76dBAaYqPVASf+d/EAn1zke7nStGEW 17sw== X-Forwarded-Encrypted: i=1; AJvYcCWTBkqxWuIG+B/wHci2slV1tvo7TP844+UoVP7Jr87x+pov6oM0JE7Z/70Y64+YHsYSy1IE20v4n0AwpXH2dnfk@lists.infradead.org X-Gm-Message-State: AOJu0Yw6wYN7J0cBJ/m19ENmpzyNurIq7JflF+XjjBxf/NOucceWK89h T+zQYt630SbWtgdBDQ5Pg+Gfh0k/suiZ35fv9dM34RpfSklo2Ac7GwrJF+wUjTMIjaxhQjJI0jw Fey0= X-Gm-Gg: ASbGnctDV1KWn0nnMQ/vyNDe3o4f0DY3YX0wpLxMJ9i+DT3azaK6CpeOM+8VYNt1Dow pn/N8PjXgm3c6oWnDMKM1G0PcrZzJw5wOE7M8BuF/oHacQEoTcfxGlhCcpF2OU/fOZmlQrDKWp5 p7B1dNWah52pR+Vr7bnt6qK27ryK/pHi+wFVvjfrHkTg1p0f2tSeNRxyIZfMjf42HZ67OnY3kcQ kT4+p3cL8ewBREWjRwymBKyZ8s7cvhrJkcfdrhwpO0XOhzkEpYZsIkRP1toqpUrghjSUB3bsE+a 7hVNOgR4sT05TAUF52zpb3/EGUFAjqi+sDKRShDxa42PzmtGmMbWw2De22nUtaD/9vTu/Fa/CDn MXj6b8vxdz3ZgtrlswgxzX41Nqv8W X-Google-Smtp-Source: AGHT+IGQNpVavXNQ9/frqDzO9rSosrg/aPUOlz+BV6bBkX6B3R/1cOiAuqPEN4gk8MQb14kPnJPxIg== X-Received: by 2002:a05:6402:40c2:b0:5ee:497:d714 with SMTP id 4fb4d7f45d1cf-5f04ec3a302mr4194362a12.34.1743670755488; Thu, 03 Apr 2025 01:59:15 -0700 (PDT) Received: from puffmais.c.googlers.com (8.239.204.35.bc.googleusercontent.com. [35.204.239.8]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-5f0880a535fsm637614a12.80.2025.04.03.01.59.14 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 03 Apr 2025 01:59:15 -0700 (PDT) From: =?utf-8?q?Andr=C3=A9_Draszik?= Date: Thu, 03 Apr 2025 09:59:17 +0100 Subject: [PATCH v3 25/32] rtc: s5m: cache value of platform_get_device_id() during probe MIME-Version: 1.0 Message-Id: <20250403-s2mpg10-v3-25-b542b3505e68@linaro.org> References: <20250403-s2mpg10-v3-0-b542b3505e68@linaro.org> In-Reply-To: <20250403-s2mpg10-v3-0-b542b3505e68@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-20250403_015927_474127_418DE047 X-CRM114-Status: GOOD ( 14.40 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org platform_get_device_id() is called mulitple times during probe. This makes the code harder to read than necessary. Just get the ID once, which also trims the lengths of the lines involved. Signed-off-by: André Draszik --- drivers/rtc/rtc-s5m.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/drivers/rtc/rtc-s5m.c b/drivers/rtc/rtc-s5m.c index db5c9b641277213aa1371776c63e2eda3f223465..53c76b0e4253a9ba225c3c723d35d9182d071607 100644 --- a/drivers/rtc/rtc-s5m.c +++ b/drivers/rtc/rtc-s5m.c @@ -637,6 +637,8 @@ static int s5m8767_rtc_init_reg(struct s5m_rtc_info *info) static int s5m_rtc_probe(struct platform_device *pdev) { struct sec_pmic_dev *s5m87xx = dev_get_drvdata(pdev->dev.parent); + const struct platform_device_id * const id = + platform_get_device_id(pdev); struct s5m_rtc_info *info; struct i2c_client *i2c; const struct regmap_config *regmap_cfg; @@ -646,7 +648,7 @@ static int s5m_rtc_probe(struct platform_device *pdev) if (!info) return -ENOMEM; - switch (platform_get_device_id(pdev)->driver_data) { + switch (id->driver_data) { case S2MPS15X: regmap_cfg = &s2mps14_rtc_regmap_config; info->regs = &s2mps15_rtc_regs; @@ -670,7 +672,7 @@ static int s5m_rtc_probe(struct platform_device *pdev) default: return dev_err_probe(&pdev->dev, -ENODEV, "Device type %lu is not supported by RTC driver\n", - platform_get_device_id(pdev)->driver_data); + id->driver_data); } i2c = devm_i2c_new_dummy_device(&pdev->dev, s5m87xx->i2c->adapter, @@ -686,7 +688,7 @@ static int s5m_rtc_probe(struct platform_device *pdev) info->dev = &pdev->dev; info->s5m87xx = s5m87xx; - info->device_type = platform_get_device_id(pdev)->driver_data; + info->device_type = id->driver_data; if (s5m87xx->irq_data) { info->irq = regmap_irq_get_virq(s5m87xx->irq_data, alarm_irq); From patchwork Thu Apr 3 08:59: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: 14037203 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 D7F1AC3600C for ; Thu, 3 Apr 2025 09:45:44 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:Cc:To:In-Reply-To:References :Message-Id:Content-Transfer-Encoding:Content-Type:MIME-Version:Subject:Date: From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=ZwiQ684ZfeWSIriRYeiGWHceehqqEuabrmdfgVRjbUU=; b=4AybdYBMO5LoLGtv8NZizn9QlS fYR7oMb7KXgPwFrp8anEqSfl6LBY3KWlHFO2B63MhS5rS0px88/oweMUyXj3EjACpQ4F10WV/qyZ8 G+52fIRY18T+sSCEIIIorGAKqsRuNsA5pwS9ytH17Cc3+ZHBEV7uVrsofobAF5yjbGBkfdKYQkVBm Vdh2/7hn4cmJ/fGpTK+I/kJp5XUTXmd6SurtEfOoHfnqbmXtuvVyrfofvMoRVo2NONuslphd0dbPI IwoEXDoLsYIfakIlZgQf3ZOiP+tGPL+sqKsLpGVo8FM1NKAb9FMjrQOgCa+EZh5SKh3+Kt41k6Wdb C3+FXUaw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98.1 #2 (Red Hat Linux)) id 1u0H8e-00000008RSD-2iOk; Thu, 03 Apr 2025 09:45:32 +0000 Received: from mail-ej1-x62f.google.com ([2a00:1450:4864:20::62f]) by bombadil.infradead.org with esmtps (Exim 4.98.1 #2 (Red Hat Linux)) id 1u0GPt-00000008JpJ-415C for linux-arm-kernel@lists.infradead.org; Thu, 03 Apr 2025 08:59:19 +0000 Received: by mail-ej1-x62f.google.com with SMTP id a640c23a62f3a-abec8b750ebso106540366b.0 for ; Thu, 03 Apr 2025 01:59:17 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1743670756; x=1744275556; darn=lists.infradead.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=ZwiQ684ZfeWSIriRYeiGWHceehqqEuabrmdfgVRjbUU=; b=F2DQjGb8a9jwpbqbSOfNRi1H9u/rhcVpSc0OKQ2Xwvej+EPimKtnbi/NnWmbC+tF54 rxEI6r5E6z7LnDUT6fK++Rs8PIY5xAz9vFYYS50WWkSgHOPJfxg9Fymm/2z0PIDxfcvi 7XkxFe909MxnbnMxtAJ9FgfIzqwOv5gdJssHFcQpimWpSnv1s61UkSjXRrSIXZFRFieC rD5ywLeM1kEN1pzwuQ0BIi4LwJVLauYVBkLC7EbHMLehwlph6ZvUDocFgTsfaVatOzVB FFBvH+OBgnwCVIlfllbTkAQRS742/JotmPJLfMi5idTr0JUPjY6w7EPCXcSW1aJDY/2z /t+Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743670756; x=1744275556; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=ZwiQ684ZfeWSIriRYeiGWHceehqqEuabrmdfgVRjbUU=; b=DBVoocDhslQxDhNZ5Ov9ZW+RpOWeXuJLBjSxvh0KERRm2g4dMgNvIlkR+S7FW1ncxY +6rwVdsyaQwkhnHHqr7o/MBp/o/T+gD2U2fusYmlx6SmJxS7GCXLUqhvpYKMCm1/3iD4 8WkOlz/K13bZSd5s7yqRJc4PbdiInF5iV9bK5jfahO7Ctj0kJV8JKUXhTsyfqZn9+jbS aQT8BEvyFCyfvuXGxXFIosBcsDhjMVSHdxnV83DYSRbHaxKrcsng8igg8Hq2rp0ERNAR PGWbV0fNHkfB1tt4iqalgxxku9mRWbIZJKK19HKWWm8gh1MXlPIY6ZE4W4gYyXSOWdGE EqfA== X-Forwarded-Encrypted: i=1; AJvYcCVtrp5GQO3qMuliIh4jRjGf8GvGAXo9FI9pP6IpTsj7enpKyyx7sTxlMyAGscNn62x1rGYUX+9VO0jbASSs/cDJ@lists.infradead.org X-Gm-Message-State: AOJu0YxtCP6w/bsI0NUj+aeJ41IBs+ZxhBIFvwCzw6p87R+LdDL6/3Aj FaL7lQQCOJyiTi5WTU8iHGg1hmA6pqHFUd/wQsyfreqTEJ7+PSLJFf0sJnlCNv0= X-Gm-Gg: ASbGncucujGA2CexYWVWAJoa7tRFevjeD0AcCXNmgTsF3dMjatLyMuh/kDq0b/LQ1k0 lROONLZ7Vg3DgKakVPq2eyhSZF03RnmHQXaa9hIn1BV+creaKehfGFDGs4ECIjBwV8bdb2tjWaB x6mWe4NURG6uhahwBJpyBmDCD54FH7WBnVKgMiDHpk1Z6O2WvasK7fKuNPEwSDweLSNJ6AvwfLq 4XEFG0SOqBLueNnwbrPDMzobsjHI8pABkRvfUI3FPp2blbiekMMhRRDKwmYWCJfwfnGYHPcsUvc 3JhABg6sCZQeX9oE/CppuuGfrwVhfyxKrY1kOA8qlbKMywAWfWbRHyfRHofn6H2xLL6QSi0XrEq EwMouNjsllXPzQrPuuhVX50KnXEC5 X-Google-Smtp-Source: AGHT+IGxqvs9WDVLgnZbd0Q1P61p74Sjm20wNP22/EBrrIOH4ecB3274nitjn+0Tvp+BuQBO2JC0vA== X-Received: by 2002:a17:907:c23:b0:ac3:8895:8e99 with SMTP id a640c23a62f3a-ac7a165e83fmr473122266b.3.1743670756231; Thu, 03 Apr 2025 01:59:16 -0700 (PDT) Received: from puffmais.c.googlers.com (8.239.204.35.bc.googleusercontent.com. [35.204.239.8]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-5f0880a535fsm637614a12.80.2025.04.03.01.59.15 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 03 Apr 2025 01:59:15 -0700 (PDT) From: =?utf-8?q?Andr=C3=A9_Draszik?= Date: Thu, 03 Apr 2025 09:59:18 +0100 Subject: [PATCH v3 26/32] rtc: s5m: prepare for external regmap MIME-Version: 1.0 Message-Id: <20250403-s2mpg10-v3-26-b542b3505e68@linaro.org> References: <20250403-s2mpg10-v3-0-b542b3505e68@linaro.org> In-Reply-To: <20250403-s2mpg10-v3-0-b542b3505e68@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-20250403_015917_999419_3CEA2F8D X-CRM114-Status: GOOD ( 17.14 ) 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 Reviewed-by: Krzysztof Kozlowski --- drivers/rtc/rtc-s5m.c | 81 ++++++++++++++++++++++++++++----------------------- 1 file changed, 45 insertions(+), 36 deletions(-) diff --git a/drivers/rtc/rtc-s5m.c b/drivers/rtc/rtc-s5m.c index 53c76b0e4253a9ba225c3c723d35d9182d071607..86ccf666c68059408907c97f2647716ffaad10c6 100644 --- a/drivers/rtc/rtc-s5m.c +++ b/drivers/rtc/rtc-s5m.c @@ -640,52 +640,61 @@ static int s5m_rtc_probe(struct platform_device *pdev) const struct platform_device_id * const id = platform_get_device_id(pdev); struct s5m_rtc_info *info; - struct i2c_client *i2c; - const struct regmap_config *regmap_cfg; int ret, alarm_irq; info = devm_kzalloc(&pdev->dev, sizeof(*info), GFP_KERNEL); if (!info) return -ENOMEM; - switch (id->driver_data) { - case S2MPS15X: - regmap_cfg = &s2mps14_rtc_regmap_config; - info->regs = &s2mps15_rtc_regs; - alarm_irq = S2MPS14_IRQ_RTCA0; - break; - case S2MPS14X: - regmap_cfg = &s2mps14_rtc_regmap_config; - info->regs = &s2mps14_rtc_regs; - alarm_irq = S2MPS14_IRQ_RTCA0; - break; - case S2MPS13X: - regmap_cfg = &s2mps14_rtc_regmap_config; - info->regs = &s2mps13_rtc_regs; - alarm_irq = S2MPS14_IRQ_RTCA0; - break; - case S5M8767X: - regmap_cfg = &s5m_rtc_regmap_config; - info->regs = &s5m_rtc_regs; - alarm_irq = S5M8767_IRQ_RTCA1; - break; - default: + info->regmap = dev_get_regmap(pdev->dev.parent, "rtc"); + if (!info->regmap) { + const struct regmap_config *regmap_cfg; + struct i2c_client *i2c; + + switch (id->driver_data) { + case S2MPS15X: + regmap_cfg = &s2mps14_rtc_regmap_config; + info->regs = &s2mps15_rtc_regs; + alarm_irq = S2MPS14_IRQ_RTCA0; + break; + case S2MPS14X: + regmap_cfg = &s2mps14_rtc_regmap_config; + info->regs = &s2mps14_rtc_regs; + alarm_irq = S2MPS14_IRQ_RTCA0; + break; + case S2MPS13X: + regmap_cfg = &s2mps14_rtc_regmap_config; + info->regs = &s2mps13_rtc_regs; + alarm_irq = S2MPS14_IRQ_RTCA0; + break; + case S5M8767X: + regmap_cfg = &s5m_rtc_regmap_config; + info->regs = &s5m_rtc_regs; + alarm_irq = S5M8767_IRQ_RTCA1; + break; + default: + return dev_err_probe(&pdev->dev, -ENODEV, + "Unsupported device type %lu\n", + id->driver_data); + } + + i2c = devm_i2c_new_dummy_device(&pdev->dev, + s5m87xx->i2c->adapter, + RTC_I2C_ADDR); + if (IS_ERR(i2c)) + return dev_err_probe(&pdev->dev, PTR_ERR(i2c), + "Failed to allocate I2C\n"); + + info->regmap = devm_regmap_init_i2c(i2c, regmap_cfg); + if (IS_ERR(info->regmap)) + return dev_err_probe(&pdev->dev, PTR_ERR(info->regmap), + "Failed to allocate regmap\n"); + } else { return dev_err_probe(&pdev->dev, -ENODEV, - "Device type %lu is not supported by RTC driver\n", + "Unsupported device type %lu\n", id->driver_data); } - i2c = devm_i2c_new_dummy_device(&pdev->dev, s5m87xx->i2c->adapter, - RTC_I2C_ADDR); - if (IS_ERR(i2c)) - return dev_err_probe(&pdev->dev, PTR_ERR(i2c), - "Failed to allocate I2C for RTC\n"); - - info->regmap = devm_regmap_init_i2c(i2c, regmap_cfg); - if (IS_ERR(info->regmap)) - return dev_err_probe(&pdev->dev, PTR_ERR(info->regmap), - "Failed to allocate RTC register map\n"); - info->dev = &pdev->dev; info->s5m87xx = s5m87xx; info->device_type = id->driver_data; From patchwork Thu Apr 3 08:59: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: 14037204 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 002B8C3600C for ; Thu, 3 Apr 2025 09:47: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=RKjSO+JBCZWmTR2KI3Lfut4sG9sU0pAz1iqONtK29C8=; b=MS2hfTgmgtPixSAWwmFf1w1NQ9 t1wZSQKhupOVTvHblktE4soeh+1eABCKkBkGpYZb1FgD3LpVr47++Tw/nF2SlIrebIHoouXyBkTNY cscagBA0P/BHXPzWPy1FoypTiRetcrBuBsVhTRLaM7zbB8Dyw9jQsSr/avFPgPfMzIUP6VKRWCIPo VLemaIGMO7ICcugu9eAZNWAc6YUkyY8Rm0+JExvp6yN5Uw9MA0Z36BLwTWPyZNojnhRfViJHxs1os AvMnq2yHtHhpJT7zqRMO4zqk0TjByOZTth+aK6Cgx6eZtAtguc4G/4FTneZt4+6uH6nytLGInhT82 Dsbf4eNw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98.1 #2 (Red Hat Linux)) id 1u0HAO-00000008Rrs-1hhk; Thu, 03 Apr 2025 09:47:20 +0000 Received: from mail-ed1-x52a.google.com ([2a00:1450:4864:20::52a]) by bombadil.infradead.org with esmtps (Exim 4.98.1 #2 (Red Hat Linux)) id 1u0GPu-00000008JpO-0bmo for linux-arm-kernel@lists.infradead.org; Thu, 03 Apr 2025 08:59:19 +0000 Received: by mail-ed1-x52a.google.com with SMTP id 4fb4d7f45d1cf-5e5b6f3025dso1030231a12.1 for ; Thu, 03 Apr 2025 01:59:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1743670757; x=1744275557; darn=lists.infradead.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=RKjSO+JBCZWmTR2KI3Lfut4sG9sU0pAz1iqONtK29C8=; b=mh699JPTIn1gMeyOXqsZ+B6tleJUcvHNMl8wmRVlHzeILsrrsqCpwDZPyXDrB92zL/ rYfgjQyLHyayDuvsF+Qh+82rS56LDUOMGEPhvJdraebhyeySZPOwRoNW8afWMJ1ZC7kM iM+QqW/7fJrKxPlHyHvaWJTX2HYgP8Ev0AMYl5SvZE0f/rb+Fz/einq9QDXp85v7ifcX b5YahqDwU8/e9yB2bVq5q9QpUbMOpI+Twrl/l3WjuSkOrzlzru4x0ZtvieUoLw5Gj0qT 0zCMla5R4neFuHxo7q9N6YPPQgXy4CWjBEJnRag0gwy0htoDGU2jD0jc+nZ2+621V3aR 2XRw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743670757; x=1744275557; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=RKjSO+JBCZWmTR2KI3Lfut4sG9sU0pAz1iqONtK29C8=; b=NAhodNzfV2N5hS8ztDntcCQHM4WcQWeErgxc35TY1mFnyFZ027EP2tFIAT2ZgNpKvh 00eRIkKq+BaSyWcZJnXHedqlsBvhZeS8gIDJbPcjXUnQSEHdA9dDLtfUBW6y7W6Rrze5 OXMqEVeiYqm2+XfsmYVC5iihs63f+X+BOtvcBSakpsrIdOTUxuSrTsmT8vRHHPcBCL5b QF6vloCMYjE6rfzw/jOyckzhupvtyFhZj8s/ZA6DMn5iSTrf/UlDLSjCQt3nb/YmqzG8 VrP+TuuRCHhOS8+o8564IQxWI0YDQxnPAo/Hh5wUP0FD2c2ds7Ij8F9FOj6P4tKokM7+ nBnw== X-Forwarded-Encrypted: i=1; AJvYcCWCJTtFMEZ2ihTxFv+UXY1u07Au2gfRAmmdl7x8yipgFVt/fX3dLotHsfs3MabEuxJl8BrDiixa9x8lXy3GD351@lists.infradead.org X-Gm-Message-State: AOJu0YzbryVnU4lH5ghMDmp5YmpkjuIzHH+BTHur3cXiKVq57JZ0Huoi ypEx5Afrn7fkqpK7mxrhdeD0cmlhSz4cXM86YmxWx6Jkc3eJCmbbLJ5G5CK1hgs= X-Gm-Gg: ASbGncslraZODd8sje90gD/FGsgg9g2OVfwI+iBpajmQkyOlt2kzEfjbHyjlaek+DmT 5ShluQ1EU+fz/DNF9S3NCImKUcBBhfPCFKYapwT7Uuxazl6cBnLHbP/Kp+o0EL/AI5t5+3USM1h oJiieasHBUx5fN4uqO0AiZOgcqjeNZc5vDzrxH7soaceEjmRuBz6xlSKq29wDn9nDtZ9qYV/y97 +JVwQHB/Bnh9w7mvPg8ZvXAgs4VEbFkQlU7Z24YmManmlQ7WtLhoYVonLO0UeQmnTV68YNHXz7E A0H5LXQHXF6FktASCi1GuaFsJgXFvibomtbJ8oZGfsg3mE9ECxNQXM9KwPTPDqVRZ3J5z/t4lA9 DxL75iYfrOuzMNC7qZMOcT/9oFiRo X-Google-Smtp-Source: AGHT+IF6fx+pJv4iCabB+Gq0Y1FWCxO1y1Kv+NIBC2jENVtzdFZG3oNJuULm8j69u/Q8i/sO7cV86g== X-Received: by 2002:a05:6402:3204:b0:5f0:82cd:500b with SMTP id 4fb4d7f45d1cf-5f082cd5216mr2775019a12.19.1743670756751; Thu, 03 Apr 2025 01:59:16 -0700 (PDT) Received: from puffmais.c.googlers.com (8.239.204.35.bc.googleusercontent.com. [35.204.239.8]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-5f0880a535fsm637614a12.80.2025.04.03.01.59.16 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 03 Apr 2025 01:59:16 -0700 (PDT) From: =?utf-8?q?Andr=C3=A9_Draszik?= Date: Thu, 03 Apr 2025 09:59:19 +0100 Subject: [PATCH v3 27/32] rtc: s5m: add support for S2MPG10 RTC MIME-Version: 1.0 Message-Id: <20250403-s2mpg10-v3-27-b542b3505e68@linaro.org> References: <20250403-s2mpg10-v3-0-b542b3505e68@linaro.org> In-Reply-To: <20250403-s2mpg10-v3-0-b542b3505e68@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-20250403_015918_189056_89B2E021 X-CRM114-Status: GOOD ( 20.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 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 Reviewed-by: Krzysztof Kozlowski --- drivers/rtc/rtc-s5m.c | 60 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) diff --git a/drivers/rtc/rtc-s5m.c b/drivers/rtc/rtc-s5m.c index 86ccf666c68059408907c97f2647716ffaad10c6..0d8783577bab4f4ebe61050dbd68387d970773bd 100644 --- a/drivers/rtc/rtc-s5m.c +++ b/drivers/rtc/rtc-s5m.c @@ -11,6 +11,7 @@ #include #include #include +#include #include #include #include @@ -53,6 +54,7 @@ enum { * Device | Write time | Read time | Write alarm * ================================================= * S5M8767 | UDR + TIME | | UDR + * S2MPG10 | WUDR | RUDR | AUDR * S2MPS11/14 | WUDR | RUDR | WUDR + RUDR * S2MPS13 | WUDR | RUDR | WUDR + AUDR * S2MPS15 | WUDR | RUDR | AUDR @@ -99,6 +101,20 @@ static const struct s5m_rtc_reg_config s5m_rtc_regs = { .write_alarm_udr_mask = S5M_RTC_UDR_MASK, }; +/* Register map for S2MPG10 */ +static const struct s5m_rtc_reg_config s2mpg10_rtc_regs = { + .regs_count = 7, + .time = S2MPG10_RTC_SEC, + .ctrl = S2MPG10_RTC_CTRL, + .alarm0 = S2MPG10_RTC_A0SEC, + .alarm1 = S2MPG10_RTC_A1SEC, + .udr_update = S2MPG10_RTC_UPDATE, + .autoclear_udr_mask = S2MPS15_RTC_WUDR_MASK | S2MPS15_RTC_AUDR_MASK, + .read_time_udr_mask = S2MPS_RTC_RUDR_MASK, + .write_time_udr_mask = S2MPS15_RTC_WUDR_MASK, + .write_alarm_udr_mask = S2MPS15_RTC_AUDR_MASK, +}; + /* Register map for S2MPS13 */ static const struct s5m_rtc_reg_config s2mps13_rtc_regs = { .regs_count = 7, @@ -238,6 +254,7 @@ static int s5m_check_peding_alarm_interrupt(struct s5m_rtc_info *info, ret = regmap_read(info->regmap, S5M_RTC_STATUS, &val); val &= S5M_ALARM0_STATUS; break; + case S2MPG10: case S2MPS15X: case S2MPS14X: case S2MPS13X: @@ -300,6 +317,7 @@ static int s5m8767_rtc_set_alarm_reg(struct s5m_rtc_info *info) case S5M8767X: data &= ~S5M_RTC_TIME_EN_MASK; break; + case S2MPG10: case S2MPS15X: case S2MPS14X: case S2MPS13X: @@ -351,6 +369,7 @@ static int s5m_rtc_read_time(struct device *dev, struct rtc_time *tm) switch (info->device_type) { case S5M8767X: + case S2MPG10: case S2MPS15X: case S2MPS14X: case S2MPS13X: @@ -374,6 +393,7 @@ static int s5m_rtc_set_time(struct device *dev, struct rtc_time *tm) switch (info->device_type) { case S5M8767X: + case S2MPG10: case S2MPS15X: case S2MPS14X: case S2MPS13X: @@ -411,6 +431,7 @@ static int s5m_rtc_read_alarm(struct device *dev, struct rtc_wkalrm *alrm) switch (info->device_type) { case S5M8767X: + case S2MPG10: case S2MPS15X: case S2MPS14X: case S2MPS13X: @@ -449,6 +470,7 @@ static int s5m_rtc_stop_alarm(struct s5m_rtc_info *info) switch (info->device_type) { case S5M8767X: + case S2MPG10: case S2MPS15X: case S2MPS14X: case S2MPS13X: @@ -487,6 +509,7 @@ static int s5m_rtc_start_alarm(struct s5m_rtc_info *info) switch (info->device_type) { case S5M8767X: + case S2MPG10: case S2MPS15X: case S2MPS14X: case S2MPS13X: @@ -524,6 +547,7 @@ static int s5m_rtc_set_alarm(struct device *dev, struct rtc_wkalrm *alrm) switch (info->device_type) { case S5M8767X: + case S2MPG10: case S2MPS15X: case S2MPS14X: case S2MPS13X: @@ -604,6 +628,7 @@ static int s5m8767_rtc_init_reg(struct s5m_rtc_info *info) ret = regmap_raw_write(info->regmap, S5M_ALARM0_CONF, data, 2); break; + case S2MPG10: case S2MPS15X: case S2MPS14X: case S2MPS13X: @@ -634,6 +659,25 @@ static int s5m8767_rtc_init_reg(struct s5m_rtc_info *info) return ret; } +static int s5m_rtc_restart_s2mpg10(struct sys_off_data *data) +{ + struct s5m_rtc_info *info = data->cb_data; + int ret; + + if (data->mode != REBOOT_COLD && data->mode != REBOOT_HARD) + return NOTIFY_DONE; + + /* + * Arm watchdog with maximum timeout (2 seconds), and perform full reset + * on expiry. + */ + ret = regmap_set_bits(info->regmap, S2MPG10_RTC_WTSR, + (S2MPG10_WTSR_COLDTIMER | S2MPG10_WTSR_COLDRST + | S2MPG10_WTSR_WTSRT | S2MPG10_WTSR_WTSR_EN)); + + return ret ? NOTIFY_BAD : NOTIFY_DONE; +} + static int s5m_rtc_probe(struct platform_device *pdev) { struct sec_pmic_dev *s5m87xx = dev_get_drvdata(pdev->dev.parent); @@ -689,6 +733,9 @@ static int s5m_rtc_probe(struct platform_device *pdev) if (IS_ERR(info->regmap)) return dev_err_probe(&pdev->dev, PTR_ERR(info->regmap), "Failed to allocate regmap\n"); + } else if (id->driver_data == S2MPG10) { + info->regs = &s2mpg10_rtc_regs; + alarm_irq = S2MPG10_IRQ_RTCA0; } else { return dev_err_probe(&pdev->dev, -ENODEV, "Unsupported device type %lu\n", @@ -735,6 +782,18 @@ static int s5m_rtc_probe(struct platform_device *pdev) device_init_wakeup(&pdev->dev, true); } + if (of_device_is_system_power_controller(pdev->dev.parent->of_node) && + info->device_type == S2MPG10) { + ret = devm_register_sys_off_handler(&pdev->dev, + SYS_OFF_MODE_RESTART, + SYS_OFF_PRIO_HIGH + 1, + s5m_rtc_restart_s2mpg10, + info); + if (ret) + return dev_err_probe(&pdev->dev, ret, + "Failed to register restart handler\n"); + } + return devm_rtc_register_device(info->rtc_dev); } @@ -766,6 +825,7 @@ static SIMPLE_DEV_PM_OPS(s5m_rtc_pm_ops, s5m_rtc_suspend, s5m_rtc_resume); static const struct platform_device_id s5m_rtc_id[] = { { "s5m-rtc", S5M8767X }, + { "s2mpg10-rtc", S2MPG10 }, { "s2mps13-rtc", S2MPS13X }, { "s2mps14-rtc", S2MPS14X }, { "s2mps15-rtc", S2MPS15X }, From patchwork Thu Apr 3 08:59: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: 14037205 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 E967AC3600C for ; Thu, 3 Apr 2025 09:49:18 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:Cc:To:In-Reply-To:References :Message-Id:Content-Transfer-Encoding:Content-Type:MIME-Version:Subject:Date: From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=5zOrAobgqux207RdFFKdVSyI3bSrdsl4WaNtosICsko=; b=BIYEWP4gC67na0IfRcDIFf0ui4 7lKXzb15l47ZA4IJ/rPSg91QlzyRog7A6pRfyarXhJx0qoLur5EgCfDupu4IPtI+bBz23dcmRfF2v xhdsxXLvuJVL+yTjVw6tfCLoGBy1pmeFkGodmZxIRUByyrwEOKkbsks8fE7PAxcFt2AhzuHgl0Ua7 oiN9AEPmPmP9SUumMpXUYeU5EkNVu3erTernJITqwEI56QBK+ymOOZcGeIFyHOx2zz08gG+WA1sO8 px/+68aIRxdwokGJCPxblmqlgxkF7Lo1LDRz2eIYKjeePvGIFal3/WAZW6YTCKDtqNT00rhjqVP4w 3AkyYNSQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98.1 #2 (Red Hat Linux)) id 1u0HC7-00000008S60-0p0e; Thu, 03 Apr 2025 09:49:07 +0000 Received: from mail-ed1-x52e.google.com ([2a00:1450:4864:20::52e]) by bombadil.infradead.org with esmtps (Exim 4.98.1 #2 (Red Hat Linux)) id 1u0GPu-00000008Jpk-44aU for linux-arm-kernel@lists.infradead.org; Thu, 03 Apr 2025 08:59:20 +0000 Received: by mail-ed1-x52e.google.com with SMTP id 4fb4d7f45d1cf-5e686d39ba2so1271128a12.2 for ; Thu, 03 Apr 2025 01:59:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1743670757; x=1744275557; darn=lists.infradead.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=5zOrAobgqux207RdFFKdVSyI3bSrdsl4WaNtosICsko=; b=GNnhq0rNtIpT3ZkyzUJ6l6rUSSJ1I9Wr6HdfRC3cMEYlRdxVjRBuUfFBVqXpU/17hT DbuJ3C58W5IOqr7rYd1OkvN80kjT1Py3CV4qNoXkD/5dlVE1c1lubEaFHnGMbgYVchYL 3jjrufRdz0ikuzE0VidIkFrW7QbFR+KHCqBF0tcrNgUfBlLOQrgjHGfbFydNg7q1Ay7n bOl3fd1Z1LHa4lM13kgG5xraLOSUsiTqqnJ4WvqAAAALbLB/aKoGYaFY5EcrAEOwJpiT 8AI/gnNsin12ZVHXKsQz2n8am/SWnvqF9UxoLZ95QkdPNjwrK7PfzdFuXHIZdH0ItNXk e/Ew== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743670757; x=1744275557; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=5zOrAobgqux207RdFFKdVSyI3bSrdsl4WaNtosICsko=; b=eTRF4DXn4TTfRPevuAyXqTjzWK89NUX4IdyIznJatxDhXaUWVXw732Q+z8+aaQg9TL X44J+fpzPdVggRXGYQH6v2tqSIHh6El2k+JJohjDj7muHcZMXJKUdl+JxlMusk2GG0e+ 18pZVgvLLIKAnIjix5nR57grl6spBuV5kiB20mRkHQZ3jkDN2zIIJ9a58Obnu3U18Oc1 erza4bRf1y6UixDTjl4G2GYejvem0QfnI36j2jGeUWqOTZHv/3A6GQtXobIQY9hVH4gY Gv7D98xmhxctpJgiuKURr0S3IV4Ew6jCEcpam9g0c4IkM+3GxlN6m8QaphQSh2meM5k3 kcZQ== X-Forwarded-Encrypted: i=1; AJvYcCXV8ifb/eOMWE0qdE4xaJ0x1/dh9WfVw6a7EoooeSBxxUjnXl4/nU6RWLgFLkMKXtfOp2p47CPyto87pOU8rrj0@lists.infradead.org X-Gm-Message-State: AOJu0Yzwf2VppCn9RROebJ6HmHWySWr28ZW125MSTsby3EU6XJmXQ1d0 6Y7aQE/Sn/NOVWLjh0qcOwA2py+Rmzzr62Iw/NGEkUzlC09nQmRQ2YCy9QF93rM= X-Gm-Gg: ASbGnctVL8KQSDWWUullZW5s4XRQzLderluI0zI8odhuPSpaMcwdHAEiaiOEw5XqjxB zEvfc/V7G6qmUb4Lx3SgeJeQMwS8XbqBRXGgLrnmBokNHkFrmyl5HskxOVgEpbpK2Fm6TOMSYnM H2qcH5eg0CL1/u+wySwiWDtVTJfhXxyrTIKAVYW4j6+99S1Ux0sM4NWa7fLy6q4+e9t30Jj6ZEk J/AT5C7DAwicNpnh/XUjFsJqIIW/bc+Q7GeOkcXpOz/2zq8/wqT8yKyvetQMixJqR90MV/QfS/F m+9pNrcDm3Fz91OXJtJ7X532XogAbIG/oIt+0VPduJOjX9vZrmw5MhXh4q1bF/9XayWopxhNrfu ZvHywWtEJIz1DDFOpCdhqyjqGbwF3 X-Google-Smtp-Source: AGHT+IHsXg/hWI5W6L2JAbs5tQ+hU9M5VZLzhEtJEwJ8sjShCEtp9J7Km89nFH/JtsSi3gQsvsWdtA== X-Received: by 2002:a05:6402:5114:b0:5e5:bb58:d6bd with SMTP id 4fb4d7f45d1cf-5f09300645cmr1255191a12.10.1743670757293; Thu, 03 Apr 2025 01:59:17 -0700 (PDT) Received: from puffmais.c.googlers.com (8.239.204.35.bc.googleusercontent.com. [35.204.239.8]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-5f0880a535fsm637614a12.80.2025.04.03.01.59.16 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 03 Apr 2025 01:59:16 -0700 (PDT) From: =?utf-8?q?Andr=C3=A9_Draszik?= Date: Thu, 03 Apr 2025 09:59:20 +0100 Subject: [PATCH v3 28/32] rtc: s5m: fix a typo: peding -> pending MIME-Version: 1.0 Message-Id: <20250403-s2mpg10-v3-28-b542b3505e68@linaro.org> References: <20250403-s2mpg10-v3-0-b542b3505e68@linaro.org> In-Reply-To: <20250403-s2mpg10-v3-0-b542b3505e68@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-20250403_015919_025756_E4193EC7 X-CRM114-Status: GOOD ( 11.44 ) 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 Reviewed-by: Krzysztof Kozlowski --- 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 Thu Apr 3 08:59: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: 14037206 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 B79F2C3600C for ; Thu, 3 Apr 2025 09:51: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=5TCn0wifCdb3UC3ucEx7Zkhg1UJ6ww+TPiSGCbm38yQ=; b=L6zp3kQAbG2N8TbfZbzwQj8150 phJkO+oPpcmWmizz5rezE8JZtD4HrZSl8LlBIIynV1d8SJe+aG9/w3w+JetFgZIgDvZTHPd1jIDFl bF4KSpmkoTK2WfBbEGDjPBjuP8amEPAXAYHzacAEhZW9V38rrPyGFl6hlJjZUPN+sIMTy8sAkKwUB VllqyGKF0av8npxiuFBamyGuXdvCoZo3pANomtFJnx+JpIfkLmsUtwhKheu+vXD0/27E1B/SRsqdt OTktcJiNLdjKVfCMDM/qwk7VfSltR/vqKiTU/vjd0HqZuvsYkeUYbA2Fm2+0ZHNoWZS5pwd7q5ZoW 3y11GRNQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98.1 #2 (Red Hat Linux)) id 1u0HDp-00000008SNr-3pX9; Thu, 03 Apr 2025 09:50:53 +0000 Received: from mail-ed1-x52c.google.com ([2a00:1450:4864:20::52c]) by bombadil.infradead.org with esmtps (Exim 4.98.1 #2 (Red Hat Linux)) id 1u0GPv-00000008JqD-1s6o for linux-arm-kernel@lists.infradead.org; Thu, 03 Apr 2025 08:59:20 +0000 Received: by mail-ed1-x52c.google.com with SMTP id 4fb4d7f45d1cf-5e5dce099f4so946821a12.1 for ; Thu, 03 Apr 2025 01:59:19 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1743670758; x=1744275558; darn=lists.infradead.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=5TCn0wifCdb3UC3ucEx7Zkhg1UJ6ww+TPiSGCbm38yQ=; b=JPL7mYxQ2e9XgLk58HKZIzz1Bz+NmQ+kn1jQRQocEni0ugdrV495MaLbzJmfqsHs8B LNsirQRiif1GodbaLM3gzrKuak1VnuyBQ22C8oypXioMDudBjr3w/X18I9kB8zmatn0v OpddEVIVgBXecir1/c/nxUmxmpp/J23iPQIe+qKTFCyJhQ9y8mdHG2HYhibC/cQbAx+d Syh8qvqmzPZffaqUutfY3Dj8qS8S342uuAmcHb3BjbydxP0RV5s7LED3tYnxcVF2n+Xb ZoWOXiOXmebQanNcg4E7UzMUseI11TkCW06VhwLoNaOlJVPzxYOnWMZS2xgTjLietAQz hoJQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743670758; x=1744275558; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=5TCn0wifCdb3UC3ucEx7Zkhg1UJ6ww+TPiSGCbm38yQ=; b=hAuupzUcAFouwH2xbtU5Uy/3StVA2NBEv/afnm1PwSLM8eSss3zvemIzRK3MBTMY49 BPDKVqBi4OGc7dT3sNjeV1s9DFJsXnMZaBEGWlKUBQ0P8gW2bGSoT2D7PnV3zz6JXEsX Bf7urpOORainAZOX2QY72A1sDfodC/46UBOu+ozPjU9+w8vGbY1kKCkzRj6KTpZqLEbr /I+gFYNNp6bqfj9RRe7wtWLNJZ2LMss+G853ta8LhxeuRR4eYMD7s1epm+wTyCFZqT57 AbU2QiFCBXsua3SVoXBG55CkfqBKLvxsY8yeh+A5s4ZfQiM4ZcHUXUFkxeBkEG9P9e4S UJLw== X-Forwarded-Encrypted: i=1; AJvYcCXBEFoiQ6jldT3mvkFMJTuPRdswcQCSq9hrT9JJy6sct5f1Js7NJ+IJ291RRZH1UTcVtgQSsCMC1GG5b9fqIE4w@lists.infradead.org X-Gm-Message-State: AOJu0Yye+RJ/A/2/FdjpukI0JgTo8+DZha9+v/VrunZ6gZ7AcfWtA9Zp zgOZ5nDEjV6niq4awr96ZTOpQu6haQLB3YhYoWp4r2NcZsJ/TJSfVkYbIBwawho= X-Gm-Gg: ASbGnctBITLm/8kZmz85cfQAPLgeEYVkStdrcLztU2sl6HRqOW3IBmIiZ2mxqPy8EAc Sz+pq2ZwH/5jo5hhbyM9uFR57BcK4xG8wLd1jtPFPw09tR0i2jp5xf9oTotFcL0X07IV/sat9iV EEKJuliwt8SLHc+8eoLjsdltPMQj+mWh1Wjwk4MvjqzAvg+GS26NqGxzFtFzMMaTC0rUDD7GT7T gcqKqlFH/3KquoHfjaCzEofFXZIewWrOXNRadCchJt3ewV1In67Hq48WAHCFvD0lbOwZwvo3d+G QNgWN0XvkHlNzGbmLN/lfVgBWt7knUkw6cH2Cs/lyc96dTNuf6ba1g7IPvrNfJgc6WNXMD7EL+u DrayZi+JBfeUL19VIG4e0vrqFeQRLgJ7WDkdAIJE= X-Google-Smtp-Source: AGHT+IGkYnX6rQ6GWjWnABJsBjhI2LJzWv6z53In1ISOpBusxw5cuCX0wciz6W5/efFFB3SIsEOq4g== X-Received: by 2002:a17:907:d25:b0:abf:4708:8644 with SMTP id a640c23a62f3a-ac738bbebedmr1751267266b.43.1743670757782; Thu, 03 Apr 2025 01:59:17 -0700 (PDT) Received: from puffmais.c.googlers.com (8.239.204.35.bc.googleusercontent.com. [35.204.239.8]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-5f0880a535fsm637614a12.80.2025.04.03.01.59.17 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 03 Apr 2025 01:59:17 -0700 (PDT) From: =?utf-8?q?Andr=C3=A9_Draszik?= Date: Thu, 03 Apr 2025 09:59:21 +0100 Subject: [PATCH v3 29/32] rtc: s5m: switch to devm_device_init_wakeup MIME-Version: 1.0 Message-Id: <20250403-s2mpg10-v3-29-b542b3505e68@linaro.org> References: <20250403-s2mpg10-v3-0-b542b3505e68@linaro.org> In-Reply-To: <20250403-s2mpg10-v3-0-b542b3505e68@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-20250403_015919_504670_EEC97121 X-CRM114-Status: GOOD ( 12.43 ) 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 Reviewed-by: Krzysztof Kozlowski --- 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 Thu Apr 3 08:59: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: 14037207 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 2A4CEC3600C for ; Thu, 3 Apr 2025 09:52: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=31t2yEGURbHN+dYzF9A6q02DZ3VBH6YOfFo8ts0pTFs=; b=KsgFA91od9VZoaUxQSb2c/0WfD +6U/gZXQUxBu4SHF/cT/+NL0Pk92Cof4nipsKbBylsIO/IE7GOVqpLtoy3tp0LkgYQgKKyQ2zX7Hl MsTCacbevMrxhOuLyfqVYaN5K2hRvSLbDJ+PBERB6IUGXw1jLhbBYTESNhDgs/qYT9MQvmQ9PeUPB zpaTe3oNQfZF3IP+QMpJDW2hsHrbhtxo0xSQVYwKrhbEXCaG50UcP1ktmCqJ6NEx+ByWsLuSQvFSR utuy9aDzMh3NabmwKqRyXMEAwkM9rTqF/9h3iS/wtiRZQi7BAuE2PLpioBtmvjHpbnVmtkU0uZAiF s5AFM+rg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98.1 #2 (Red Hat Linux)) id 1u0HFY-00000008Sel-2VP2; Thu, 03 Apr 2025 09:52:40 +0000 Received: from mail-ed1-x52f.google.com ([2a00:1450:4864:20::52f]) by bombadil.infradead.org with esmtps (Exim 4.98.1 #2 (Red Hat Linux)) id 1u0GPv-00000008JqK-2qyA for linux-arm-kernel@lists.infradead.org; Thu, 03 Apr 2025 08:59:20 +0000 Received: by mail-ed1-x52f.google.com with SMTP id 4fb4d7f45d1cf-5e673822f76so1168075a12.2 for ; Thu, 03 Apr 2025 01:59:19 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1743670758; x=1744275558; darn=lists.infradead.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=31t2yEGURbHN+dYzF9A6q02DZ3VBH6YOfFo8ts0pTFs=; b=udWu9GC0Dn/ldfQ7pQzVeg5y6NzhpSlvhzvsbtTsZg9x9qn3LuAPPzzruRwbiYruK4 t+ZH3YyokVDUVvHUhGNSUcNeShKhdQQHF3tVQ1O/pQGvpp/Qc2BPAzGxebM9W9WgakbU CpDLakVF2Put16J4xmNg1e8eVuiX2jKO0gmYB82z1YGogC5JUgqeL24sf/ET1fcAmzNF ZCO94YSRIp5W3e/yZ+McSwhN1Yz7qPORbuDNMvWsr0CD3lRwPLSG8VQX5iHhjIu/2fML y6uBwqoFlAPYNSVyUndNLLIf0wRiVoFXZxZGqaQjESBQmOslKgzdpK6Tck+KfybL6C7o 0VQQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743670758; x=1744275558; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=31t2yEGURbHN+dYzF9A6q02DZ3VBH6YOfFo8ts0pTFs=; b=d4uYC24swnuSBHcphpZQAYNFnur4Gzgx2p6mdCgdmNGPkbUvRIn+PItPanUtl+xAY/ Sd/AvFTNIJraOpg3ktKHMWYALYQU86B1oqZTHR0gPcLpWssF8jrc06dUS0drdnTkhf/H J2fJ9Gl8c9YtW/O/axkV1ZJ/263qbIG/TDRUc2dWgjBwsmLTph5AvT6yuQlWvfW94DIn Bf1ltyV4kYmMdmVUa4U2ci32iNt3Zqdj0TKeDWIvHCha6nwRlKMFgFjNEUPDGbxjJ7XJ H/Mg5yBqbmq9+9tvSpWDu+xVjPp2hwtipocDV14tqsLwnB5z4kuiecYUz2XSiYhudbJE 5XRA== X-Forwarded-Encrypted: i=1; AJvYcCXZyjnx/5uWyD4y/HtdPi+FfA+jt4dmPiS0geQ4wIGjjV7nECEVEN4kHpK6Q4W1qMpuYtLZKEi9GIFC5mq0L2JP@lists.infradead.org X-Gm-Message-State: AOJu0YyaZhjFYfLhinbbo5bcJvsbQXj5usXVMjSMSe5L34fi3HbpG2jX BqL8y3Ky/Ychq/V8tXxG/3nD6q24rAT+CL8EGEdq1Z5pz1fQygcl/NHcjqRjD2g= X-Gm-Gg: ASbGncsiVGG9HJDsoiduIsYf5NDud46Zjw2aVO0RAPBiJAvwdoPV+Ew0icfu4rM55td 9fJL1T/F4WZ5qDVwcwybkBaN8wwDzDYeGGPUMpXP5GJywy86UBvY3yDiFVT3WQNebmBym8C3V+a bBb0yJvl6/orx7i6KBZv9+qyPhmawLs98UID0zh2ii3I3KQwU4CHiB5UF/WIwWEikgNNCOLnTlF K7+xmt9XO40DBEHu8lpdUDcAvP3H1h21gxuINyBgw3SUtusf4Mm4tNueb/XNpQNQ52SSh53dPN1 u7jt8/zbANRp1AKpNG4gSfrj71gx816zt1RgH9thohTDiNE7l6N7hRDqsC4REsKgoUUAD7CT72o kWzzLi5WdpxkpAlfs1sKwsJEN78nn X-Google-Smtp-Source: AGHT+IFEc5fuLq8ADhguEhOTmTcH3HLdnlMJdU+ak+pq0TlS6iw1Do8PDAk7ua5/zSdVwdumNPkJLg== X-Received: by 2002:a05:6402:40c6:b0:5ec:f769:db07 with SMTP id 4fb4d7f45d1cf-5edfde2199fmr15498579a12.29.1743670758300; Thu, 03 Apr 2025 01:59:18 -0700 (PDT) Received: from puffmais.c.googlers.com (8.239.204.35.bc.googleusercontent.com. [35.204.239.8]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-5f0880a535fsm637614a12.80.2025.04.03.01.59.17 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 03 Apr 2025 01:59:17 -0700 (PDT) From: =?utf-8?q?Andr=C3=A9_Draszik?= Date: Thu, 03 Apr 2025 09:59:22 +0100 Subject: [PATCH v3 30/32] rtc: s5m: replace regmap_update_bits with regmap_clear/set_bits MIME-Version: 1.0 Message-Id: <20250403-s2mpg10-v3-30-b542b3505e68@linaro.org> References: <20250403-s2mpg10-v3-0-b542b3505e68@linaro.org> In-Reply-To: <20250403-s2mpg10-v3-0-b542b3505e68@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-20250403_015919_730819_ABE098D0 X-CRM114-Status: GOOD ( 12.81 ) 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 Reviewed-by: Krzysztof Kozlowski --- 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 Thu Apr 3 08:59: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: 14037208 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 8791EC3600C for ; Thu, 3 Apr 2025 09:54:35 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:Cc:To:In-Reply-To:References :Message-Id:Content-Transfer-Encoding:Content-Type:MIME-Version:Subject:Date: From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=PSEpA1j4+zmEauzOiOoF/mVKhD6CkjV25eyM5OWecNk=; b=uWnALj8/VBW0VOMr6N1rZyb9FR hP+65Et623CR3nGY5b4uOCksllAGmG5bgtrZTmEvA83YHO70ker2qi+GuDNV5UZ+vkm7kmuGd4kWO BV5D5LTKZQBo4LatuiRiVKIOUlEKPmz2keyBAGAyivlFXwnSNkrmxeOueCaFVRVo4mACDYj9iNESu 4DApFzwqmx1noSLpdTQXKbgQP9x0bQowY9hwdaIpFWo7+DNmXcClK6N/dG06248yhE3VM6tenOpGf luEaPdPDHra6BY1Xf/DJZTd1AlM7K/sbWYQrZX8/OQCN3fQl19vEV5Srr1yyCSQw3DHlqHQoQorZ5 0cmOrVZQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98.1 #2 (Red Hat Linux)) id 1u0HHH-00000008SrV-1lgB; Thu, 03 Apr 2025 09:54:27 +0000 Received: from mail-ej1-x62c.google.com ([2a00:1450:4864:20::62c]) by bombadil.infradead.org with esmtps (Exim 4.98.1 #2 (Red Hat Linux)) id 1u0GPw-00000008Jqy-0xrD for linux-arm-kernel@lists.infradead.org; Thu, 03 Apr 2025 08:59:21 +0000 Received: by mail-ej1-x62c.google.com with SMTP id a640c23a62f3a-ac2a9a74d9cso115721966b.1 for ; Thu, 03 Apr 2025 01:59:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1743670759; x=1744275559; darn=lists.infradead.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=PSEpA1j4+zmEauzOiOoF/mVKhD6CkjV25eyM5OWecNk=; b=esC955ZUY2dhzcNIiGE55gPxM8kTTsJCb0W2QE9IeH3hZDkd3XD7bZt4Q4Ctzw9wuT XX1JeIYv82Q8Mm2HbUNV2eZDzf0DLcGTkTuYXdKeM9EuFyKOhIv3fIUiBowpDe6VkP47 aw67v6IvyovCmAlC6adbaOd58WXt/j7EOzpDAmiNrsnTxzCRpsUrVTdjqkLI68PTJJ0c aadRTRs26u8E+IQarYwNszRVDNKVD0pVhWDzumqlZCbQ4MW6PekULEn66Tkq5CKHVusq fTf8xCvwLN0bcPpIqo/5iOZKMBdkaAHOK9+PkWZnibHDJhm31en1iGz4DMgFFQLNiuUR FUkA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743670759; x=1744275559; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=PSEpA1j4+zmEauzOiOoF/mVKhD6CkjV25eyM5OWecNk=; b=sLWjxUsifvZ2wTWKcEmkrTrQGWFAb14qYAZ7j3wUR4V6cl+5jWZ4IDm+Xx13qQWe/p C1FEjHPPmC+ysuGwCb/qjKHDB6tL71ifeR/TXMtN7T/i9AeTIxDo4WN1siY5ucAQ5Lvn MNFTCouu49KFSZEFlvPuef94FQFTpSgL4eyz7nKMnqe13rMdbE/VhvKYvdr68+2MqvW3 UvBxNXsWpr+osP3CsWRtohvWicIuTLVg83zGUI3EIAfyQK9AExJTJrhR9KFlKE5pt2Yi Mm5GIahIaIXnnFu7vsU9aZs6YR/UvLmtkaLA2e144nMPeEaW11JLoseC0GU7V78Nt7e+ j+9g== X-Forwarded-Encrypted: i=1; AJvYcCX81tX+XOW7l1AQLiQZ92qBOz4x2QC2ZcdQpw+a7k9CUVlY9Pna9p76fnWY9mJVcgwjlzwVzBMCC8HnWXVyemlB@lists.infradead.org X-Gm-Message-State: AOJu0YxY41dsvV6fzVLvBpAv0YroKsJoFmZzqPiggfIkMHYkRcYlJ3Um GrmfdXNEfmogiLuM9XJCxT6NE+QaNu0jqdAUyIvua62wdU1VX96vzG4L6e8Sn3Q= X-Gm-Gg: ASbGncuEKGNdpIdanVa/CjLmAPHtUBa7w37SvdyCCweWpWWUjRsID70I7fEkr1Q/YuY 69PhzKUrH5qaJXC9gDQh4T0uFB0ygtBmPIRCgtWOhfXEy9qW/Kxs8lcjUnPxGy0HcYqm4oOvfAq 07R5APDjJjCBZsmFpR6OD306kcCi3ZBJ9tXbIbU+g/jtYXzfix3kcsv5JC1zS84iStplneGvqej zE18+pkpa//bW6lrgX5FKe4ofk/g2QVRnrvh5QrqXO4/Y4JEkOKNB2ZkJFIUmE0SFqNP3efZzv7 OmBSsV/xSxFWRTgEK261WnEL1yXjX0e/qbV2Ab+NAgDIUxm+17wA5q2v3jkyfM6B/4pVQUxO+FE jt2Rpam/UMYhiM+RspuRSsNDm8ujX X-Google-Smtp-Source: AGHT+IH778midZRWwNsQwTegqpsc1cU2/xzEiQMSkFa1kd7UfUZDcEcX+jZvLbDF0curTDRXNPPiPQ== X-Received: by 2002:a17:907:3d8f:b0:ac7:81bd:60e3 with SMTP id a640c23a62f3a-ac7c0935350mr136224366b.27.1743670758907; Thu, 03 Apr 2025 01:59:18 -0700 (PDT) Received: from puffmais.c.googlers.com (8.239.204.35.bc.googleusercontent.com. [35.204.239.8]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-5f0880a535fsm637614a12.80.2025.04.03.01.59.18 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 03 Apr 2025 01:59:18 -0700 (PDT) From: =?utf-8?q?Andr=C3=A9_Draszik?= Date: Thu, 03 Apr 2025 09:59:23 +0100 Subject: [PATCH v3 31/32] rtc: s5m: replace open-coded read/modify/write registers with regmap helpers MIME-Version: 1.0 Message-Id: <20250403-s2mpg10-v3-31-b542b3505e68@linaro.org> References: <20250403-s2mpg10-v3-0-b542b3505e68@linaro.org> In-Reply-To: <20250403-s2mpg10-v3-0-b542b3505e68@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-20250403_015920_274681_2076D64C X-CRM114-Status: GOOD ( 13.29 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org Instead of the open-coded read/modify/write sequence, we can simply use the regmap helpers regmap_set_bits() and regmap_update_bits() respectively. This makes the code easier to read, and avoids extra work in case the underlying bus supports updating bits via struct regmap_bus::reg_update_bits() directly (which is the case for S2MPG10 on gs101 where this driver communicates via ACPM). Signed-off-by: André Draszik --- drivers/rtc/rtc-s5m.c | 28 +++++++--------------------- 1 file changed, 7 insertions(+), 21 deletions(-) diff --git a/drivers/rtc/rtc-s5m.c b/drivers/rtc/rtc-s5m.c index fb65a8e439d72d9070751c00f5826a403ac0b416..2ad01fb3bc72fe9259a8307584c9cf3a839bd492 100644 --- a/drivers/rtc/rtc-s5m.c +++ b/drivers/rtc/rtc-s5m.c @@ -279,17 +279,9 @@ static int s5m_check_pending_alarm_interrupt(struct s5m_rtc_info *info, static int s5m8767_rtc_set_time_reg(struct s5m_rtc_info *info) { int ret; - unsigned int data; - - ret = regmap_read(info->regmap, info->regs->udr_update, &data); - if (ret < 0) { - dev_err(info->dev, "failed to read update reg(%d)\n", ret); - return ret; - } - - data |= info->regs->write_time_udr_mask; - ret = regmap_write(info->regmap, info->regs->udr_update, data); + ret = regmap_set_bits(info->regmap, info->regs->udr_update, + info->regs->write_time_udr_mask); if (ret < 0) { dev_err(info->dev, "failed to write update reg(%d)\n", ret); return ret; @@ -303,19 +295,12 @@ static int s5m8767_rtc_set_time_reg(struct s5m_rtc_info *info) static int s5m8767_rtc_set_alarm_reg(struct s5m_rtc_info *info) { int ret; - unsigned int data; - - ret = regmap_read(info->regmap, info->regs->udr_update, &data); - if (ret < 0) { - dev_err(info->dev, "%s: fail to read update reg(%d)\n", - __func__, ret); - return ret; - } + unsigned int udr_mask; - data |= info->regs->write_alarm_udr_mask; + udr_mask = info->regs->write_alarm_udr_mask; switch (info->device_type) { case S5M8767X: - data &= ~S5M_RTC_TIME_EN_MASK; + udr_mask |= S5M_RTC_TIME_EN_MASK; break; case S2MPG10: case S2MPS15X: @@ -327,7 +312,8 @@ static int s5m8767_rtc_set_alarm_reg(struct s5m_rtc_info *info) return -EINVAL; } - ret = regmap_write(info->regmap, info->regs->udr_update, data); + ret = regmap_update_bits(info->regmap, info->regs->udr_update, + udr_mask, info->regs->write_alarm_udr_mask); if (ret < 0) { dev_err(info->dev, "%s: fail to write update reg(%d)\n", __func__, ret); From patchwork Thu Apr 3 08:59: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: 14037209 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 31762C3600C for ; Thu, 3 Apr 2025 09:56:30 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:Cc:To:In-Reply-To:References :Message-Id:Content-Transfer-Encoding:Content-Type:MIME-Version:Subject:Date: From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=IvD3NPE37fI+ZqUrH7EmoQBagetQaG70If7tawsO/t4=; b=aEIjEBZMrsxwHpX0CwTZD/SpVJ gCPZHpTejwbqip9mErlgYBvJHhurpr+T8oPQwiagB8j3Ede7H8J8/DGKgKDdvHfwKqdYS4E5Nj/n1 Mw0okfQCCCKE2MOW9q3sNQnwWAog1AKAa94bppD9HrUjCl7Nn0+JRKRNFsZ3W+oK80I9LjpnkQAzo 7rW+hmzOEX4spelPMkll0I23k7TjCuB/WyxxJ3cdM3bkh27T/SWbuyuRW3julqVdAZdROpgtoLQd0 9RzEFMlgGJlEhlcIuWxCtJJ2tCrfGfsJ/ZEQLJy0N5fkLibtC6xi4NyWhptl5lduXbNm4UaDCy7BI jPq8SlRA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98.1 #2 (Red Hat Linux)) id 1u0HJ1-00000008T30-0bWI; Thu, 03 Apr 2025 09:56:15 +0000 Received: from mail-ed1-x535.google.com ([2a00:1450:4864:20::535]) by bombadil.infradead.org with esmtps (Exim 4.98.1 #2 (Red Hat Linux)) id 1u0GPw-00000008JrU-37up for linux-arm-kernel@lists.infradead.org; Thu, 03 Apr 2025 08:59:21 +0000 Received: by mail-ed1-x535.google.com with SMTP id 4fb4d7f45d1cf-5efe8d9eb1eso1220918a12.0 for ; Thu, 03 Apr 2025 01:59:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1743670759; x=1744275559; darn=lists.infradead.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=IvD3NPE37fI+ZqUrH7EmoQBagetQaG70If7tawsO/t4=; b=M9KYG2nWVyqGaPbzezBg24thpY7c3hABEzC3FFYW+ka9t4x62VDv0u8avrPP++k+Ui nex3uD2ZuALDNVV8NtazNifQpBSX9QHE/rVo3IOe23ib35hGCZP+Idl+SvoY1lVhM1ye AdARABfmLnBfqAJ6xNuJWzbC3534+78Yfobv1frOg9Ou2Z5778UwYwE73LhcpOnviydy bjlwy4D3eCS5ijv4/wmbdI9IcJ4q/rHCe+i8CRG+Ql3ugHsvoGCBWwCh3za9lOTtOBSB aDkOWd6/LpXOZ185mO8k2vz4C1brB3xKtqblE/PvP0skCjM4DAFe5B390xyFKjZYd4oy g7GA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743670759; x=1744275559; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=IvD3NPE37fI+ZqUrH7EmoQBagetQaG70If7tawsO/t4=; b=TTOwyOTYqJoWEmU+WQUo9CUwuovasoTa27MclDJ7nmgBaXY9GfjL5gT7Mqss7enB2x ysIV/LfpITDL1QCR1S2NU61npfl362fnGlquhKHpdcYntxuiyJBCtLCeOm+2kw98qNwT lp4XdZLUC39rW211ejP7aSB+wBOmgnHGFk2zJA7SzcZE87JAiW7tIhko0U8GzTfs6w3H FZMxKYug4HXsz0VvFGmfL1i5qhglnJTlRKtBXkjr1fi10pZ0Qcxq4Jk79733jXTrIie6 3H6jG7V5xhpea8UTe55kCQLnggUeIAXAD+2NQymKrmUlddHoCa9YgbJY0q+bKm/3zsyM 9gjQ== X-Forwarded-Encrypted: i=1; AJvYcCWKnPA85kBw1MhSw6MUg/4+3XqAX1KS8LVnqcuF6Wz8Y+RC024YXXDLAj2LxMx7MXj6HURuUq3FK6tIWIpQnRQX@lists.infradead.org X-Gm-Message-State: AOJu0YzBBDizTMRAkMF8Zerl79HokKkNJdj8ihT4FP5dUvVMs+ipLmlT oc66DYpf+Use/AavXFWPWtWXG2FJsdmdepjMsmF3UhK0edXpypcDP7Nv+WGhJMY= X-Gm-Gg: ASbGncv1GnB+B4x5OSBJgLHphzJqf8RUQq3JvPrLLTl5JDlGWXVEnK0JVGJu6p5TFJt Wq1U5m0hxe9MnfyoOHdpZbqzeOYtsTSgGMQUb6f1XRGothb31TTpvLHAfkgYnuPym1wOvDTwzza vyeqLl+fo0yvNzgWVSX/g11ol6K9XV8yGmk6//f9+Howdonxqrd3+GV9CXD3BV3GFYaE6PTxI0k vIhDGpIhBVgWMUTIednkkqdpPx1W4STaGWtglojg+sjnFBz3FBxP5m81pdG3z7+NPBJPNDkZs8F D0ZXJtJpRDskUDwaGqprCtG/Egm0AQoOf3QCbAXm8GWHHk+z8tg05dP5XHOxk3iaOS7EQhtglaI PVF1zoBOXRnReRTrjQj8D56sWC3X4DrpC1ROZWO4= X-Google-Smtp-Source: AGHT+IFW856PFsje+adb2s76FgPUdBl97yj4uiiEZ9rOztAG85/+V2CgHnNshHz2zvEqYifTEoo+Rw== X-Received: by 2002:a05:6402:1d55:b0:5ed:5cf6:e168 with SMTP id 4fb4d7f45d1cf-5f084177cb9mr2170046a12.9.1743670759408; Thu, 03 Apr 2025 01:59:19 -0700 (PDT) Received: from puffmais.c.googlers.com (8.239.204.35.bc.googleusercontent.com. [35.204.239.8]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-5f0880a535fsm637614a12.80.2025.04.03.01.59.18 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 03 Apr 2025 01:59:19 -0700 (PDT) From: =?utf-8?q?Andr=C3=A9_Draszik?= Date: Thu, 03 Apr 2025 09:59:24 +0100 Subject: [PATCH v3 32/32] MAINTAINERS: add myself as reviewer for Samsung S2M MFD MIME-Version: 1.0 Message-Id: <20250403-s2mpg10-v3-32-b542b3505e68@linaro.org> References: <20250403-s2mpg10-v3-0-b542b3505e68@linaro.org> In-Reply-To: <20250403-s2mpg10-v3-0-b542b3505e68@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-20250403_015920_796831_12F64FB4 X-CRM114-Status: GOOD ( 10.63 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org I'm working on a Samsung device which includes this MFD and would like to be Cc'ed to further contributions and help on reviewing them. Add me as reviewer. Signed-off-by: André Draszik --- MAINTAINERS | 1 + 1 file changed, 1 insertion(+) diff --git a/MAINTAINERS b/MAINTAINERS index d4d577b54d798938b7a8ff0c2bdbd0b61f87650f..9f05af52b062d8cab0f8b48b2625432108604c3e 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -21397,6 +21397,7 @@ F: drivers/platform/x86/samsung-laptop.c SAMSUNG MULTIFUNCTION PMIC DEVICE DRIVERS M: Krzysztof Kozlowski +R: André Draszik L: linux-kernel@vger.kernel.org L: linux-samsung-soc@vger.kernel.org S: Maintained