From nobody Wed Dec 17 10:10:14 2025 Received: from mail-ed1-f45.google.com (mail-ed1-f45.google.com [209.85.208.45]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id A248B19993D for ; Fri, 28 Mar 2025 13:30:55 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.208.45 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743168659; cv=none; b=YeBP48NdqkaZHUeY7s6e3PeCDLNhkkMGEWNyq9kLcfvDfaOdUp+hAFj30sa505EaGVCZrgvoJyR+InsaAcmJZQdpveRDnY4fLZhMazb/XsyQxPmYbe6kU04dRQZ76VtWSjzzwZmZ7QeQ5bVJessHcUq1SZoFayGx0DZZtJKB354= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743168659; c=relaxed/simple; bh=/kKGbU72t6bcG/MbYzH1J9IMMY6h3yl6j4n9mpTc+Io=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=CkHUlbMGODma0M73A8mgEnV/yD9IJwSxp5mGp2zhJJ07edSADqjKlg8th0CG1HhqTfxcfihsCoN4nceIK5584vPtYsrVg7ILzUGBGBL20Rd/7uoTpAL1+6n0BaJB6S8D3ueApVOMz2Eegq/EwEbCDOdpM7i7RBlUS0bbwmA8Udg= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org; spf=pass smtp.mailfrom=linaro.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b=hyKyol9i; arc=none smtp.client-ip=209.85.208.45 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linaro.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="hyKyol9i" Received: by mail-ed1-f45.google.com with SMTP id 4fb4d7f45d1cf-5eb5ecf3217so3960220a12.3 for ; Fri, 28 Mar 2025 06:30:55 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1743168654; x=1743773454; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=bj8t/d7ZCz8V074ZRQQT4KdwjDhZIZlUROdEW2RBy3s=; b=hyKyol9ijjj+RrmL1I93avp8cuFSZS67KKQ2D/viflQtzvyrSlTZci4wsLN+NmuEZf W03aMMNHATJZUjNKccmwPuTGZsdpbSZfw73FqhJQmPwJ5r5dS1c8Idq5+xZhQKg2wDxm ioWlg5+qIV/OJy2C0BTr/gMmt9Sbdje0s/ajYKEuBJGXAV6GyG6nuWsY1Y2GvJfgxfxZ LaSFtH29lG2NFTI4NLsJX9FBqEDPKPxZ8M/KuLK5kMJzwcFp/ORjZzqtv7Vlg26bthxa DudUFOthi72zo8MOw98E6dn+b5t0qSGbjo4crnhpKIyxVYNDMsRf79Yay+qw4vj03HRz yffg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743168654; x=1743773454; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=bj8t/d7ZCz8V074ZRQQT4KdwjDhZIZlUROdEW2RBy3s=; b=LSRZbYLXljKGnOnMFiSnYCpOgIACqEdTr48s3HePa1BN+iia4Vwawf2crS9ZP6ZYVL rqSETOGhxNHuhrWHancXucN/GtV+vgsiHZZ7U3jE34WdoFZGuhVhsq2N5nblgYREbiuB 5Uw/wJpM8ixwjnZDdpGBoEIAJ+xMFn1gA0bXn+9hg6eO6EV6Y30dzsG6ES3GRsj7k7rh YZe4S0428yl2Nx2n+/Id7qNqJvyL6BFRNwPin7MBH8cnJGaT9a1Liz/fBkVzOx89GFSx 59f2BM5wHTCx9wqzZDek/gvKG/OwfKrFilXuhmaWS+BjTm5/+SE1kNDRDegQr9TT1G+f /qVA== X-Forwarded-Encrypted: i=1; AJvYcCX63AtWtDyb0xQ+d2jmTOF9ST8iKDzyLlu46ReCAubUfIbeEqPRd2b5qcd2+9qU1AAFk+NOphZixaJLCY4=@vger.kernel.org X-Gm-Message-State: AOJu0Yxmdw1TCRBDs1KbB/kaN/CsVbllh8xGWu/Bis4UoJGasYKztlPV awvyK4Q3HPCWzcS6NzhzB/p10e3TD5kHyGdPkCUfBHUP6kBEHYrevy89c2StVUE= X-Gm-Gg: ASbGncu6lwImGzgc2GHIG9nf2gc+eJN3N1Fc9ceNcP3TBWVBibZrxlsEgDQJBnM9E+0 Kgou/buSEAtfFkkkBFT7WGBXw50ao0Mqa55uCBDji+fi764jfhHUhnmKY+wcDD4+GK/LRvqoSom O2oA0FCMW1X9cLIZ9YifZxDAbaZJl5LUtPiuql92OQb1X/cI5hNKohBjtLS/EkCiisVppFDEVyh p2SXeZypJtoP1Ck3XtP8Qe0BWa+lKrRRTIF5sr9lnjaXF7c3nnT9w++7Jc2Z8sxxbtfZaj9Qu9w 4Lz7PgtESt8woPlM5fN0WQAgM10x0dpR9l1MAQdE0u0p5nlKeNT885TugFS72I2Zui/b5iS69RR brcyi+fU5xDAEWipJU08Gw1lp9nhE X-Google-Smtp-Source: AGHT+IG5iLE7r81td49W0bBe07yr5W+PK4WyVyGMbJeUq+YUB/jGY98HLwkEVGj4tkqcJ2fbAud1Ig== X-Received: by 2002:a05:6402:27ca:b0:5dc:63d:b0c1 with SMTP id 4fb4d7f45d1cf-5ed8f5f7241mr7187353a12.29.1743168653567; Fri, 28 Mar 2025 06:30:53 -0700 (PDT) Received: from puffmais.c.googlers.com (8.239.204.35.bc.googleusercontent.com. [35.204.239.8]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-5edc17e01f7sm1355284a12.79.2025.03.28.06.30.52 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 28 Mar 2025 06:30:53 -0700 (PDT) From: =?utf-8?q?Andr=C3=A9_Draszik?= Date: Fri, 28 Mar 2025 13:28:47 +0000 Subject: [PATCH v2 01/32] dt-bindings: mfd: samsung,s2mps11: add s2mpg10 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250328-s2mpg10-v2-1-b54dee33fb6b@linaro.org> References: <20250328-s2mpg10-v2-0-b54dee33fb6b@linaro.org> In-Reply-To: <20250328-s2mpg10-v2-0-b54dee33fb6b@linaro.org> To: Krzysztof Kozlowski , Lee Jones , Rob Herring , Conor Dooley , Sylwester Nawrocki , Chanwoo Choi , Alim Akhtar , Michael Turquette , Stephen Boyd , Russell King , Catalin Marinas , Will Deacon , Alexandre Belloni Cc: Peter Griffin , Tudor Ambarus , Will McVicker , kernel-team@android.com, linux-kernel@vger.kernel.org, linux-samsung-soc@vger.kernel.org, devicetree@vger.kernel.org, linux-clk@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-rtc@vger.kernel.org, =?utf-8?q?Andr=C3=A9_Draszik?= X-Mailer: b4 0.14.2 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=C3=A9 Draszik --- v2: * drop ACPM phandle 'exynos,acpm-ipc', and expect this to be a child node of ACPM directly instead * allow, but still don't enforce, regulators subnode, to ease adding it in the future * deny 'reg' property, it's incorrect to optionally have it for S2MPG10 * enforce 'interrupts' or 'interrupts-extended' property. S2MPG10 can not work without. Note this is done as-is using the oneOf, because dtschema's fixups.py doesn't handle this nesting itself --- .../devicetree/bindings/mfd/samsung,s2mps11.yaml | 28 ++++++++++++++++++= ++-- 1 file changed, 26 insertions(+), 2 deletions(-) diff --git a/Documentation/devicetree/bindings/mfd/samsung,s2mps11.yaml b/D= ocumentation/devicetree/bindings/mfd/samsung,s2mps11.yaml index ac5d0c149796b6a4034b5d4245bfa8be0433cfab..62d0e9f8a4d39add50a986af183= 6cfdcf065ad48 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 =20 + system-power-controller: true + wakeup-source: true =20 required: - compatible - - reg - - regulators =20 additionalProperties: false =20 allOf: + - if: + properties: + compatible: + contains: + const: samsung,s2mpg10-pmic + then: + properties: + reg: false + samsung,s2mps11-acokb-ground: false + samsung,s2mps11-wrstbi-ground: false + + oneOf: + - required: [interrupts] + - required: [interrupts-extended] + + else: + properties: + system-power-controller: false + + required: + - reg + - regulators + - if: properties: compatible: --=20 2.49.0.472.ge94155a9ec-goog From nobody Wed Dec 17 10:10:14 2025 Received: from mail-ed1-f54.google.com (mail-ed1-f54.google.com [209.85.208.54]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id C7622198A08 for ; Fri, 28 Mar 2025 13:30:55 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.208.54 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743168659; cv=none; b=j8Dx28pCa33IrqmFgdnpUsVEZx0/gexxOUwRv6Fi3+2jlErOk+0yQDs/ONMx36aHVeJyHsKDHjiPyqcQp6QcFFcRIo94TcSUe97S8A7GUcEXzFr4+7C8DP7OvzTVvMxGpofxDnQQJt2H20hvtw6Cepaui8du6jBeL79+H5klqr8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743168659; c=relaxed/simple; bh=GY5aflUP8HyQZVCvYH781i7uGwHWsWCKLpX/UgZ7jiM=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=Db4VQBSxIVXsEp1PYwYX/ZsTjcd55kdeJUfPVtmUL+wTs4GiP7DaQ2Xx0TYUEnOoAzXwxkT3SpFDsL9rovmIq0W/KN3dU4Pi5SiIqHH8+A0YFfF0ZoISv4JyLRoQmU7kZolblNAdsq94zU5cuqh7f612+T0GgKfvKxaDraRaOzI= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org; spf=pass smtp.mailfrom=linaro.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b=IwZQMzbQ; arc=none smtp.client-ip=209.85.208.54 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linaro.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="IwZQMzbQ" Received: by mail-ed1-f54.google.com with SMTP id 4fb4d7f45d1cf-5e5e22e6ed2so3159970a12.3 for ; Fri, 28 Mar 2025 06:30:55 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1743168654; x=1743773454; darn=vger.kernel.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=IwZQMzbQ4UoYCS7reOD2Sr1a1Dpzik0SCnLknyGcbCU4VFuq4DTmeCYQ1RB+eRSwtn o9pvnWYHuQDyupsms3umIbLY5ybOpPTMbFDf/85CV1GClcCL68Q5PG+Tx+ih5rWyC4hf imb36fhw6AL62JSZQ/X2VTo4t/bx0w5PMMYPiMXUAsBpHxjpsafCHvsjbgxYFWjT7IP3 +R1G+qqdouHP815bRbiZCdWJdM6vyHl9xHCb47SG30f+RJWY5cJVoGZOyhXLAwik0++3 BDRHAjNzoR0Q4Kfr7kzRIgvVD98AVtvSo/uBzB/5jOyrbykuHdCpH90JdfLupufu91oU 6bHQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743168654; x=1743773454; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=r/wEh4QmLnuluQvbcZ6Yqq9yXOMvoeHgrUwhyH2g5L8=; b=Rt792O9UAePLuBpIe4BnWJl1KqYhIPJ+2Kdo/HiP27VJz+J5TCAgkXyjUwpraqloNL NkVj6/LoXn0+u4QNJxNV36gaWZHk+br+DyrofJvwaqtFSdsKADqgmBArukD2iZNMZfCf 7Bs0AA1C2jQG91ipL9V0+uP1Fa2cav+DNB6j6v82VAt9DmmnP5xKunKiRycopv3S1YOW cGbV59sbpx9S4oe770k5mF6x8UB1CzMluhTg0EPPWDgPEhT5DZ+E5beBtaax1tEykUrH LQc6kj4WQ/sbCGwz+YdID5oQEv1hfNvIWL3iqyTvTdQebQIWpLMCw306377TOwLdr/iP j4jA== X-Forwarded-Encrypted: i=1; AJvYcCVLkuBv9LWQlIhryZSz13PN5G4YGl227KQmadOeu6rLi39D4+nI6Z5AP5JGqqngSFYIpCSShDM13Y56j9E=@vger.kernel.org X-Gm-Message-State: AOJu0YznMDuQgp4IBQLv30Ib2pWiqIfhn27VUGUDACjGIS3gRWTv3eVs X+Syn/QGKZ6xs8ErTGMib5EGtF32Ipu8xwVN7bIFC9ag5JJOu0E/RyXBT44Q7QQ= X-Gm-Gg: ASbGncsoojVDJ6dQgTb8DBaFGi2QjMyrad8Ye58T3oICfJePELL3oq1/6/8VnA9S95t Uu2+PtU0HADnWDpv6NOwWfaLd8CzKUr+PcUdWHEn51lbV1Jp2qEv3M0lw6cb5EbduVaYExbKA5j azNEqVDYpCFeS+0G73bWeFOqweTrhaXPEEIrWX3rhlijXgngO6SVHbMvLDXa2Z+nx4M05USuIEb VihJUYW5SoDCHZ7u1gFurGC5W6ENoqj6sUhnVSKuz4MtZ5bRYyyLJ5H37lMOoDCwrU9mJ6Yl/0s LvgojihyR+r83ZVnQwMkzotegc9EHXt4yY9GLtyIxHK+ZXKV900WOIaEjo3tN4/ekvOj7oSHZ80 imVELkGRkM+STORjjcN8nybI1BZdj X-Google-Smtp-Source: AGHT+IFNlBH/xFV1TxcoV9Ofat0bwBhbNapLP3kxW0K3XFCOMqRnzn5sDn6+P7lNxf9DYLlCo5zX1A== X-Received: by 2002:a05:6402:3492:b0:5e7:73ad:60a2 with SMTP id 4fb4d7f45d1cf-5ed8f901fb3mr7761660a12.30.1743168654052; Fri, 28 Mar 2025 06:30:54 -0700 (PDT) Received: from puffmais.c.googlers.com (8.239.204.35.bc.googleusercontent.com. [35.204.239.8]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-5edc17e01f7sm1355284a12.79.2025.03.28.06.30.53 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 28 Mar 2025 06:30:53 -0700 (PDT) From: =?utf-8?q?Andr=C3=A9_Draszik?= Date: Fri, 28 Mar 2025 13:28:48 +0000 Subject: [PATCH v2 02/32] dt-bindings: clock: samsung,s2mps11: add s2mpg10 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250328-s2mpg10-v2-2-b54dee33fb6b@linaro.org> References: <20250328-s2mpg10-v2-0-b54dee33fb6b@linaro.org> In-Reply-To: <20250328-s2mpg10-v2-0-b54dee33fb6b@linaro.org> To: Krzysztof Kozlowski , Lee Jones , Rob Herring , Conor Dooley , Sylwester Nawrocki , Chanwoo Choi , Alim Akhtar , Michael Turquette , Stephen Boyd , Russell King , Catalin Marinas , Will Deacon , Alexandre Belloni Cc: Peter Griffin , Tudor Ambarus , Will McVicker , kernel-team@android.com, linux-kernel@vger.kernel.org, linux-samsung-soc@vger.kernel.org, devicetree@vger.kernel.org, linux-clk@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-rtc@vger.kernel.org, =?utf-8?q?Andr=C3=A9_Draszik?= X-Mailer: b4 0.14.2 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=C3=A9 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..91d455155a606a60ed2006e5770= 9466ae8d72664 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 --=20 2.49.0.472.ge94155a9ec-goog From nobody Wed Dec 17 10:10:14 2025 Received: from mail-ej1-f53.google.com (mail-ej1-f53.google.com [209.85.218.53]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 0F81419AD89 for ; Fri, 28 Mar 2025 13:30:56 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.218.53 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743168660; cv=none; b=RN00x/DmXUNr8GYekFKTRYDONqaZNdDhH7zvqK+8Fl9MjEfPAjCHgoo8KH9xiacvqL+dume0gv97UWd0x75b3BVPB+k6rx0WXdpm+966LuyZqTY0j2LZfwzhQEf1/mVo2T6P3gmEGGc6Ty/IkgBgrWqM6Q+NT3qjVoP8/GrPdwU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743168660; c=relaxed/simple; bh=qCh6oRLfLTgTThIJ6lv+09+QKw9X55onfRfdQJjsxHI=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=rPTByhpfO1l/Q6yagu4KYjkfqmlEALEjOAerj00pVvQAfr//lOp9xhj3w8AZC6QEdSNsxjyvPmSqe2kkNq4wrcJduVUsBewRovMfyRknnHvQJF/hS7C5vm88kfsKuXqbug1q/80CwUlvmnifGiDzx0Py6WzhAxnh2dvxKuAoLwM= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org; spf=pass smtp.mailfrom=linaro.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b=IUsUDsty; arc=none smtp.client-ip=209.85.218.53 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linaro.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="IUsUDsty" Received: by mail-ej1-f53.google.com with SMTP id a640c23a62f3a-ac29fd22163so372143666b.3 for ; Fri, 28 Mar 2025 06:30:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1743168655; x=1743773455; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=E1w11rlVw/TNBQvhMqe/HobIw1/0AFB8/Oe+GpWOJoY=; b=IUsUDsty209X8KDYmlOHZZUCwwfH3dNQZN6IEd8gF0m+DviV3e0ysaK43kubxQ+4iu yP2d3C5+5d/f1X1oIWNwHxlEew9DaKhyJFQi6y5Y/M6YIVEyvYoLtZezW6H7DmlhZk72 Ih5D3imEE1lSKmtAG9UBX3DbnApu1w/3nLb51YLY3iQnja4Nh+6g4bkzia1nET8C2E3O t9/IC5yPqM3vDw3BiPO8qkuOuxWn6C9oV2OpZ6woFpcAzUnLgHMKCSpZpU/9FsvvouZt 33ACMOHxhBGHr/MQZqLPEJtOImI2V53474tN0AhzQ+7CtbIcZFHFZGO6BwDEUl8fxV1w T00g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743168655; x=1743773455; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=E1w11rlVw/TNBQvhMqe/HobIw1/0AFB8/Oe+GpWOJoY=; b=cSvGzKPRA+rLzauIFzjAPHgT9COLO3tzTlFEbjLmbePyabJILV4i9Pypdi243OQU1W wnEUKNiyHMiN52+/PVdvYH1xNgA/nSwhOIXsiD2JMkLMbc8sah6DHTtb7EF8Sw+9b8R+ 4Idm5p23u6IyxIgbkmJ/qJVXrY7qN/zfQRx21cP8uz6EgommhEHvGfObFJUI+gJZEtLn n3eGDCWXuABeq2rD6cm3dhhyP6BvCE0SxFGnO5bgKVfdO/WIuIIqyK+8f4ptBjnjecZ4 HVzKiKRuHB7ZxmieG10wX9ceTVQr0LYIv719anYKKwxKrfGs9WyP4xc8m3UaqqDVUJRA S1Cw== X-Forwarded-Encrypted: i=1; AJvYcCXSzKCjs0upTnuhE//5iUs79TspdwPDVAn0+SaaSoSFlQdKGeJDI7mMgp7nxcS+P2ZWdxG7GT6OnDxG2pU=@vger.kernel.org X-Gm-Message-State: AOJu0YycJ0JqDO8p0BhAmmTlTe59/BFTxJtvnltN6NXHkf3EurN3Z8by DVuhpjMlCt53BUYj7Nr126hpNvkQmg4ZLA1qR0UW8LZ3WRL+YTeUpA0K4Q0AWOQ= X-Gm-Gg: ASbGncu3RTTGcQb+N+YQtOoRbVP0Q2UmozjdIE3Qn8VVaFfL95dQMbUrZ3EzSg9U/EZ jr7tbs3EbjrMYhNF76Wy7pBNNhPYucB58l4deVUXdZEANilzovURyRrV0j5gIooveuKMLQsabgJ JVsJaymeXZ7TTJKMCeQXR+8Wtq993l6hROTeZErnxqYssCYwf6oOz2uphOOvlYjotZIlkI8hDAg zQBxI4r/oFeeWq7rPZ/7naox4TUqXf2WkTfHcSThs6l7BoPULqgPYUSOT5pcid3gPAB1U65VOMf 8wu9d+wLyU5rMz2bOKNmgsy9QmGfKWUj8PRtcPs6eYnRkzoMPJCnYSt2FI1ZcU9oilJjxJzqqJ5 JdI9ld5DVBIqqC0BcSP9UiefZLRoL X-Google-Smtp-Source: AGHT+IEq06ryYPSRFnijp9zBT7TVwvuxmad5wvipQF5Or+uJmUZMEkHYbtpAEod3NTnJDeU/8eOeEA== X-Received: by 2002:a17:907:7b99:b0:ac2:7ec8:c31d with SMTP id a640c23a62f3a-ac6faea0f0amr608739366b.17.1743168654961; Fri, 28 Mar 2025 06:30:54 -0700 (PDT) Received: from puffmais.c.googlers.com (8.239.204.35.bc.googleusercontent.com. [35.204.239.8]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-5edc17e01f7sm1355284a12.79.2025.03.28.06.30.54 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 28 Mar 2025 06:30:54 -0700 (PDT) From: =?utf-8?q?Andr=C3=A9_Draszik?= Date: Fri, 28 Mar 2025 13:28:49 +0000 Subject: [PATCH v2 03/32] dt-bindings: firmware: google,gs101-acpm-ipc: add PMIC child node Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250328-s2mpg10-v2-3-b54dee33fb6b@linaro.org> References: <20250328-s2mpg10-v2-0-b54dee33fb6b@linaro.org> In-Reply-To: <20250328-s2mpg10-v2-0-b54dee33fb6b@linaro.org> To: Krzysztof Kozlowski , Lee Jones , Rob Herring , Conor Dooley , Sylwester Nawrocki , Chanwoo Choi , Alim Akhtar , Michael Turquette , Stephen Boyd , Russell King , Catalin Marinas , Will Deacon , Alexandre Belloni Cc: Peter Griffin , Tudor Ambarus , Will McVicker , kernel-team@android.com, linux-kernel@vger.kernel.org, linux-samsung-soc@vger.kernel.org, devicetree@vger.kernel.org, linux-clk@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-rtc@vger.kernel.org, =?utf-8?q?Andr=C3=A9_Draszik?= X-Mailer: b4 0.14.2 The PMIC is supposed to be a child of ACPM, add it here to describe the connection. Signed-off-by: Andr=C3=A9 Draszik --- .../bindings/firmware/google,gs101-acpm-ipc.yaml | 17 +++++++++++++= ++++ 1 file changed, 17 insertions(+) diff --git a/Documentation/devicetree/bindings/firmware/google,gs101-acpm-i= pc.yaml b/Documentation/devicetree/bindings/firmware/google,gs101-acpm-ipc.= yaml index 2cdad1bbae73bb1795eccf47e1a58e270acd022c..5524f2af5bda2d29b5113f8fe14= ece7f02366a60 100644 --- a/Documentation/devicetree/bindings/firmware/google,gs101-acpm-ipc.yaml +++ b/Documentation/devicetree/bindings/firmware/google,gs101-acpm-ipc.yaml @@ -27,6 +27,16 @@ properties: mboxes: maxItems: 1 =20 + pmic: + description: Child node describing the main PMIC. + type: object + $ref: /schemas/mfd/samsung,s2mps11.yaml + unevaluatedProperties: false + + properties: + compatible: + const: samsung,s2mpg10-pmic + shmem: description: List of phandle pointing to the shared memory (SHM) area. The memory @@ -43,8 +53,15 @@ additionalProperties: false =20 examples: - | + #include + power-management { compatible =3D "google,gs101-acpm-ipc"; mboxes =3D <&ap2apm_mailbox>; shmem =3D <&apm_sram>; + + pmic { + compatible =3D "samsung,s2mpg10-pmic"; + interrupts-extended =3D <&gpa0 6 IRQ_TYPE_LEVEL_LOW>; + }; }; --=20 2.49.0.472.ge94155a9ec-goog From nobody Wed Dec 17 10:10:14 2025 Received: from mail-ed1-f49.google.com (mail-ed1-f49.google.com [209.85.208.49]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 092731A2C0E for ; Fri, 28 Mar 2025 13:30:57 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.208.49 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743168660; cv=none; b=Bu/8zxHtc+l/piJJ+HCnLbibEItyS3lHtiyQRb9zt93hVlu3ErQ1gmbS0hyRPuLPgsc72g30hSvAcd7YqRainq19fP9GvJlNYQfqTY2Gdz5BW8Oz6VRnEllJtCZ+IDwqYPPzLhKCcOeNW/QdfLuBc37pgpYx6+0/BNMRXx/l11E= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743168660; c=relaxed/simple; bh=rtY22MgptB+tLy3QVxclIgluL35Op8OhX0cRjsl/mJo=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=QNS/RvdM6WIX98xcDv5AABTl8RCeyNjMVZzqgYr9ZsoKtRnDUP33mr1UinxKGIf5OT0ryqOKpp3aZ2Ind5+9UIDGRZuC4aKDNEq1be7G59W3KlJH2yWNXwtitJ020rumixdEpXNWTTeqZNbELNcdlvvcIXRo01cGmqUD9eR7EwA= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org; spf=pass smtp.mailfrom=linaro.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b=udZ7EYqk; arc=none smtp.client-ip=209.85.208.49 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linaro.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="udZ7EYqk" Received: by mail-ed1-f49.google.com with SMTP id 4fb4d7f45d1cf-5e5e0caa151so4138637a12.0 for ; Fri, 28 Mar 2025 06:30:57 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1743168656; x=1743773456; darn=vger.kernel.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=udZ7EYqkiqCuXbSiRXCMBZmiDe3QWEWva5a3Tl21XVIONFFX3Ga/CUAOfR4oJNO7Fa 7wvSQQEP23kKdZ+CiLQncc0Gfz7pFq5bpayn9fMgltnzJutksKItUmRbte5hGgJcLA42 JP/Jp4ERedHbLVmXjXBUgKWzIDu3LWlVxfJnaKxhNrwn/2Lyiu3my9hjnXrkNawzJVrs AbT2qJ59MzOKV/fKVGYE6k9fnCN1Om0tsjVSXQcGff3YJS/oU/8brGL1vuPFAx/hQm0i b6BKdcme94J24CtPFbz2DioFe4X0kmvZyfxH7HbhsRvhNXAE7RK/Tnar73n0lyB1L2+h q1sA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743168656; x=1743773456; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=eMxQ7UQKMt0+Oaxy9pEE80XpNTXV7CL+WPCOZ4uzjjQ=; b=U8JZ6kgxUD95cic0cqQRmy4sTgJTKbSvUf9MB6tX1i8+aM8cvehO217m/LY0/f0gmE iFhv85khlU0oV3Uq8+nqzlSplwoFG60Gi65e57yr+/agnJKvUrR/qlUH8vR4zZGYQjkQ dXS6D6BDHSEUTZ/iogExvScBBOTwtFMobLN1lSMHX8mbIDPRaDQwfeZ3TnZpYDj6ti0h Tv0Zr4aLZGqElgE/xJYZllPqJzHpyty5WbocX4CJfVmab+6HinVN9mbsS4KnYWWdTrfA p9GPtCWjkzZmetzHAQ5moGC5RmPSXp90TzFoAENYjzN4GZBTGrgRcN0yDGbINSNrNrlL 2JMQ== X-Forwarded-Encrypted: i=1; AJvYcCVzR4ozDU+IWpgpQSbRXnsKf/6v9lDwqhxBMP60DTlLaexH5ILc9DnzyZPD0ZkMCKphVmd97R0i+SXmZp0=@vger.kernel.org X-Gm-Message-State: AOJu0Ywkg50ETZG5BCNaoFss983uCffV5HYsMA0g8uqt6e1bAwKZlV7A 1K6r04dNJHNmcUPKFJEt6ZC+T4NYfksuZWgoMbOKv96k3IlGGBDHkpZ00vYL15r5xKCzlA5+S4c uQWs= X-Gm-Gg: ASbGncslmbiwgvLVt75SDgo3YQ89b0yWZOCvT2O+gc3Rlo+F1yloLCSBEmuby5hRxae 2WTHbXbT4QEtuG97F7MHSgUmIBS49eKz0ja73W3PBJMK8BykxigW6Qf8zFyZPAurh3TQ+dkCCRs P4g6pZBABBKwcn5svDIXl+F0fBkbSpN9kekMLhKYqr3OpnP4NVhxNgQWvbSHaIUolORug7/A0x4 P4vUpDR1kwbvfpV8BCRN2xQ3tcTkkXSfL9iBTz+2G2HN7yEIdolOCxXylH1m99qk+sefD4Uginq y8OEGNLRQly4jFFhqhDCJSuEjUjyl2YSRNf7TjqH5X/qz6ynjRPIPIknZjPcaj1DyEfbuyXQmWD orGiKSKgi1/GXY7h5myhF5dgJJ1C7hcasJg7hImY= X-Google-Smtp-Source: AGHT+IH35FaKYo+gSI6anwiHIjdD3ef6MXj/ihpM/TgWINmZ8ShobAVb92+tkqSJyQ+wsMpl6rBS1A== X-Received: by 2002:a05:6402:51ca:b0:5e0:82a0:50ab with SMTP id 4fb4d7f45d1cf-5ed8f9027ffmr7884197a12.27.1743168655554; Fri, 28 Mar 2025 06:30:55 -0700 (PDT) Received: from puffmais.c.googlers.com (8.239.204.35.bc.googleusercontent.com. [35.204.239.8]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-5edc17e01f7sm1355284a12.79.2025.03.28.06.30.55 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 28 Mar 2025 06:30:55 -0700 (PDT) From: =?utf-8?q?Andr=C3=A9_Draszik?= Date: Fri, 28 Mar 2025 13:28:50 +0000 Subject: [PATCH v2 04/32] mfd: sec: drop non-existing forward declarations Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250328-s2mpg10-v2-4-b54dee33fb6b@linaro.org> References: <20250328-s2mpg10-v2-0-b54dee33fb6b@linaro.org> In-Reply-To: <20250328-s2mpg10-v2-0-b54dee33fb6b@linaro.org> To: Krzysztof Kozlowski , Lee Jones , Rob Herring , Conor Dooley , Sylwester Nawrocki , Chanwoo Choi , Alim Akhtar , Michael Turquette , Stephen Boyd , Russell King , Catalin Marinas , Will Deacon , Alexandre Belloni Cc: Peter Griffin , Tudor Ambarus , Will McVicker , kernel-team@android.com, linux-kernel@vger.kernel.org, linux-samsung-soc@vger.kernel.org, devicetree@vger.kernel.org, linux-clk@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-rtc@vger.kernel.org, =?utf-8?q?Andr=C3=A9_Draszik?= , Krzysztof Kozlowski X-Mailer: b4 0.14.2 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=C3=A9 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/c= ore.h index f35314458fd22e43fa13034439406bea17a155c9..b7008b50392ab857751b89e0a05= d2c27f6306906 100644 --- a/include/linux/mfd/samsung/core.h +++ b/include/linux/mfd/samsung/core.h @@ -72,8 +72,6 @@ struct sec_pmic_dev { }; =20 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); =20 struct sec_platform_data { struct sec_regulator_data *regulators; --=20 2.49.0.472.ge94155a9ec-goog From nobody Wed Dec 17 10:10:14 2025 Received: from mail-ed1-f45.google.com (mail-ed1-f45.google.com [209.85.208.45]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 6168619995B for ; Fri, 28 Mar 2025 13:30:59 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.208.45 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743168666; cv=none; b=QG24z/AuqVsFN7Yh4vRgw52YWAB9ZLMsUKtHoKpxUb96mSVMMwct6i3IG88N2o5Mj5JDAkw7TXqc/WUEx3Y8avSuC2Ec/dHQV3JS2GsVHUJBvmlbvv/XkwSv/V3EVZ9XVMDu+AxZ49E4xCbZ9/DvTHdMXkm9brKe/Bb+P0PfIcg= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743168666; c=relaxed/simple; bh=UlkZld/wRLMptXmKQwcze511hrG+hJRq5bCGkApcG9o=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=jyo1nMfRn4pBXKevnzS490uIY5FnLzRnQorUBGwY1jhYRcTb22xfJ60MPDdZxYVAGEXta+ZnPCNCLv+KVUT04m4nQwkEhXnTp5ixI+K5U2jFiGD6Mx3wrMff3cxl13Eac4fzqSdZomPFbCFmOWatqh0kQXnJMBQjBaaPywpQjWc= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org; spf=pass smtp.mailfrom=linaro.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b=up6ypTB6; arc=none smtp.client-ip=209.85.208.45 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linaro.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="up6ypTB6" Received: by mail-ed1-f45.google.com with SMTP id 4fb4d7f45d1cf-5e677f59438so3356449a12.2 for ; Fri, 28 Mar 2025 06:30:58 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1743168656; x=1743773456; darn=vger.kernel.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=up6ypTB6ptQ52jARMKn6f5Hj1V6OdKjHv9DOhfECZ/FK5TiT+ScL1BXQ/fdJNETAA3 xavnUuzVqDavZF4dw20deY/UR+PUIHmYEXJomeE6ux4HUpCNVhfr3QMDejA79CSCJl2C cb7faVl3ixYs5hBA/d9MhtEZLJLTHExhx31zHQ3KN0aPruxxP8SHOO6nnX+6eu484+oZ LmKLXn/i7Q0EdPOJSK/ZSzhmcmehEkfDbG26rurID5ffa3pTPr0EZiOwawKIKetaa3i+ Bsjdo7bLrDlkCBy/My4LuAphaip8hRtrO1jSIyR+X1oxIfNTZkzwybutZJvBFSwQMVm8 rVWA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743168656; x=1743773456; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=zvnZunCYyaEwV4fUoehy+lbIydvSzIujDoR6jNNiKRw=; b=FS+9E7CYbSdblTCWj6/hWcbi1DJ3mhhlCP/CBPqmls5k/uwr8+7BiKUoDJzI61rd2M lDAYZPoD6B+1bv2MlvP8MNzYH7IviQZ0aI+tBJEw81gTQhyRgfxiTJ4Z0voRrvWoRRQ0 vefw0yVMrFNTnmfbJVYZqhJeKy9Ox+e0/pTpfUUf8NBaWM0aiuNwHsUYfid0hK7y9hrZ WQ22y+A+cmrbnVs2/K/NeWD3NGotWKGnEtxQhYe4juI24S+Ao3sHIJMD6gbv5pNIYAEy szPKWmc1SC/E5VyxWNNKT5Lmb2Dxq3fJBuRJ0D+5mSdwK38XHcrr2mBreOgFujfeEDkU PqqA== X-Forwarded-Encrypted: i=1; AJvYcCXLB3982rQOwx3mULWXy+ZKBjFnJXjFx93ORFbbzh2+4CNOHvFzZDSsTSdRd09zNY04/bwZCZw5sW8AyZc=@vger.kernel.org X-Gm-Message-State: AOJu0Ywi7ZmdimuDFZhbQBrHISNExIand9ZWFHMabR0oE8Oq0bydjsH5 io5FrqMLvTQDR2+xnqEJb18HVRa2PxRNpGLxd5sFkky2cuQCWRhn9BV8pVSmZPE= X-Gm-Gg: ASbGncu5fPgl2p9HQEhh/gIoqSxvFBkVaLSS2l8+ePAiFd48EoqxHr2ZSE1WJH/P+z6 7nqsEfwUrXiN+pnFU8RAI3/g2stvO/BUHdanXA/0pbZ77z+PgHq7AxnYuwJj3Kvqeo9nSfYPTpN GdbHI0GmKObZ5Yaz/W4icaA9dVMV66czyuujO6frUP53BnidiPf4aMSJsX/eInX/M72GoaNufZ/ 4PDiltw7GTv5+aBNYT/5wxHN94PuC7oacC95Fw3Q+AXjTYWkhyJm5COYNwK0JdOxUfOyaVWKsIJ imS8cp5hsXo6LKrzUz6yhhqTi41+kwTtA0u6iVVNIcZ5sL0T92OSanxPdLkCpEpeKuj6ABboRYP /ngp/ec5Fnm8apduX5FVwuk6XawJT X-Google-Smtp-Source: AGHT+IFSv1dN8S6YvQdBhrut9H7MyYLkPc2NAR/e3xh+ZGzELkDUwfqEGTXxlFtku9FFJFYLhMO6Ow== X-Received: by 2002:a05:6402:278d:b0:5ec:9e9e:3c3 with SMTP id 4fb4d7f45d1cf-5ed8e256dd6mr7177184a12.6.1743168656056; Fri, 28 Mar 2025 06:30:56 -0700 (PDT) Received: from puffmais.c.googlers.com (8.239.204.35.bc.googleusercontent.com. [35.204.239.8]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-5edc17e01f7sm1355284a12.79.2025.03.28.06.30.55 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 28 Mar 2025 06:30:55 -0700 (PDT) From: =?utf-8?q?Andr=C3=A9_Draszik?= Date: Fri, 28 Mar 2025 13:28:51 +0000 Subject: [PATCH v2 05/32] mfd: sec: sort includes alphabetically Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250328-s2mpg10-v2-5-b54dee33fb6b@linaro.org> References: <20250328-s2mpg10-v2-0-b54dee33fb6b@linaro.org> In-Reply-To: <20250328-s2mpg10-v2-0-b54dee33fb6b@linaro.org> To: Krzysztof Kozlowski , Lee Jones , Rob Herring , Conor Dooley , Sylwester Nawrocki , Chanwoo Choi , Alim Akhtar , Michael Turquette , Stephen Boyd , Russell King , Catalin Marinas , Will Deacon , Alexandre Belloni Cc: Peter Griffin , Tudor Ambarus , Will McVicker , kernel-team@android.com, linux-kernel@vger.kernel.org, linux-samsung-soc@vger.kernel.org, devicetree@vger.kernel.org, linux-clk@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-rtc@vger.kernel.org, =?utf-8?q?Andr=C3=A9_Draszik?= X-Mailer: b4 0.14.2 Sorting headers alphabetically helps locating duplicates, and makes it easier to figure out where to insert new headers. Signed-off-by: Andr=C3=A9 Draszik --- drivers/mfd/sec-core.c | 14 +++++++------- drivers/mfd/sec-irq.c | 5 ++--- 2 files changed, 9 insertions(+), 10 deletions(-) diff --git a/drivers/mfd/sec-core.c b/drivers/mfd/sec-core.c index 3e9b65c988a7f08bf16d3703004a3d60cfcb1c75..e31b3a6fbc8922e04a8bfcb78c8= 5b6dbaf395e37 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 =20 -#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 =20 static const struct mfd_cell s5m8767_devs[] =3D { { .name =3D "s5m8767-pmic", }, diff --git a/drivers/mfd/sec-irq.c b/drivers/mfd/sec-irq.c index 047fc065fcf17f5bde84143d77a46749111ea5b8..5c0d949aa1a20f5538d8baf7a8a= efc1160ffa14c 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 =20 static const struct regmap_irq s2mps11_irqs[] =3D { [S2MPS11_IRQ_PWRONF] =3D { --=20 2.49.0.472.ge94155a9ec-goog From nobody Wed Dec 17 10:10:14 2025 Received: from mail-ed1-f41.google.com (mail-ed1-f41.google.com [209.85.208.41]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id A6DEC1C5D5C for ; Fri, 28 Mar 2025 13:30:59 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.208.41 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743168662; cv=none; b=XsKAJrsb63FNAC5ZYccSmmIGRu/DbW6kq4BAr6bgcV/9iyrvHIiqiXH11zuH4++HlktWlggt+uyrhkt4cbNMg4u1ZbvBaBrHKIod+YQzhZzUpo6LEgaWuqTfevA7iuAn1dJLHooVuu9jzrmdLyqM8tcmyCd4nTNeAPP02d9L0RE= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743168662; c=relaxed/simple; bh=3ZuAbxXX06ozk3Tfj9ghYJsYuA9BYsa2OTFam90KOhs=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=jE5LameQCmlbd1XTwiosgea+10XHf/6zsYno52Rp5ORW6mB/8NOivZ0WSxNRIo/znTn6amQMw08o3L4NiHcjd5MZAxi/ZpjzR8sj7vEir83EcklmVwm8HbchcQHY4z/LhNNfsMl4W9IZbdAhBx6bzQgD3ZGqIpuBqOEBmJetM9A= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org; spf=pass smtp.mailfrom=linaro.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b=gy5zWocH; arc=none smtp.client-ip=209.85.208.41 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linaro.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="gy5zWocH" Received: by mail-ed1-f41.google.com with SMTP id 4fb4d7f45d1cf-5e6c18e2c7dso3969632a12.3 for ; Fri, 28 Mar 2025 06:30:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1743168657; x=1743773457; darn=vger.kernel.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=gy5zWocH220gM4vlXnyEutGxwYpgc/qID+F7iJiZXWeSa911CfqC7WUGVZyHRTehOj 44Yscmmvha849Lhy/yUnwQZaPdlgO0tBBFnNJgble93aTmVEO3+psdBFuvKLsyMEpOoH jbXg1Q9ghA/tVb1JlMr32vhiH4yLctdy7GB14eQuQdbN2cDXmMJuwaBFCzCd05mQRE+v VDJ8ABAGogSrMOAFVh8pvgPkVFudAtNxMKJ4WILmHfCn6SGPK9z/3ie1jOFQ7ocCi6wz aYKydGvJUh8Ot/jB5PuICpgHWtHRlbnGG9Xc2bfSBEs3StSQ4m7xEDo+nmpUMx2B1jIn Bleg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743168657; x=1743773457; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=+XJ0BnP9OZ8bJehCr0mEgQXneIq2z0WdureacdI7Rno=; b=gkA925qpDZbUTgAa1j2lTpj2E3gaaXj62qBeQa3B1/5vUflIi81Fl2hE+Wz0JQJSNP SQatlTWxFHqySJCIzCxmKKwMx8vSwt3JbEvZh0THPiWmtapvI7FGOMGOh9eeCkaseowv FYjzZZ+rz/DdUhRBjGOf5y2Dcb4h1g9WLXgfvRExe6iABOBcGBeJNozW0tNaDXtVjMal q0V8hlYgdEhQmusJ98UTJQAIlPzO44cZ8S/TvuS6Jt/GjifgQi9CDM+3qKpZFO2iI2pj CHQ4sjUjj1tmm6/gSWZaWJfbd9mqXGnh2/8U399x57kNb9XM69QPDbEL4eQZfZqSU0ac zW0g== X-Forwarded-Encrypted: i=1; AJvYcCU4BJJNPNM+efAyE2bAnvxIDju27tpOTKd+n7lvYXIVVsS97nDARSP7GyGvy/2mFuhetB4XEyoM/W7Cxao=@vger.kernel.org X-Gm-Message-State: AOJu0YxPsZFCbKr/tEeFBHqavxSPUzOqtCPKLwlobJAYvcH+sG/M9pef u0cMIdnIAeuM/7mmPCzalDdSNC/v0ijMgedLvrSgy+AnQdGy6akCvLbnIuyW+tU= X-Gm-Gg: ASbGnctO6zzda9buEsNOuROCkVApBXUB7B03HKr2T5Va6NvTUqIHGzwLuiVzl46aoHW tVqJlo8td750DpMdFwQZzivP6ePFaseCBFwj4QPk/O0zMKe9xDYeHYtveS4BolFj/snuA+MIQzf bKnfAJFhXKYhVQhMBF70v7e5l//PeXD065bIsMY+UJ+NxoctQfnZF2NVHPRIKRAKyCcqbtrgirg 7bUa0bIN8H38ZUJPWvsvTodrM05M2L61/AZ9xU04B1gdjDhTqo6B2fVKl2qT+6pANjZ/b5PJLHh cX55xTAdiOBt089qCjl298MCWARhLb5PgLpruU/N9E7j9xY2juYQdBeoLDufdOky3FQnQcvFxKl XO09t4FdzlkHqXm+YcROrihWiSne2 X-Google-Smtp-Source: AGHT+IErgpXJQXu0yTyDAgPw0TRfi7/5SsCs6OHgbYuTJRvfG8I41tDr8heCTVeJZ5ksC6WY2RfqLQ== X-Received: by 2002:a05:6402:278d:b0:5ed:18dc:c0fb with SMTP id 4fb4d7f45d1cf-5ed8be0dec5mr7564036a12.0.1743168656590; Fri, 28 Mar 2025 06:30:56 -0700 (PDT) Received: from puffmais.c.googlers.com (8.239.204.35.bc.googleusercontent.com. [35.204.239.8]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-5edc17e01f7sm1355284a12.79.2025.03.28.06.30.56 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 28 Mar 2025 06:30:56 -0700 (PDT) From: =?utf-8?q?Andr=C3=A9_Draszik?= Date: Fri, 28 Mar 2025 13:28:52 +0000 Subject: [PATCH v2 06/32] mfd: sec: update includes to add missing and remove superfluous ones Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250328-s2mpg10-v2-6-b54dee33fb6b@linaro.org> References: <20250328-s2mpg10-v2-0-b54dee33fb6b@linaro.org> In-Reply-To: <20250328-s2mpg10-v2-0-b54dee33fb6b@linaro.org> To: Krzysztof Kozlowski , Lee Jones , Rob Herring , Conor Dooley , Sylwester Nawrocki , Chanwoo Choi , Alim Akhtar , Michael Turquette , Stephen Boyd , Russell King , Catalin Marinas , Will Deacon , Alexandre Belloni Cc: Peter Griffin , Tudor Ambarus , Will McVicker , kernel-team@android.com, linux-kernel@vger.kernel.org, linux-samsung-soc@vger.kernel.org, devicetree@vger.kernel.org, linux-clk@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-rtc@vger.kernel.org, =?utf-8?q?Andr=C3=A9_Draszik?= X-Mailer: b4 0.14.2 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=C3=A9 Draszik --- drivers/mfd/sec-core.c | 7 +++---- drivers/mfd/sec-irq.c | 5 ++++- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/drivers/mfd/sec-core.c b/drivers/mfd/sec-core.c index e31b3a6fbc8922e04a8bfcb78c85b6dbaf395e37..b12020c416aa8bf552f3d3b7829= f6a38a773f674 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 =20 +#include #include #include -#include #include #include #include @@ -17,13 +17,12 @@ #include #include #include +#include #include -#include -#include #include +#include #include #include -#include =20 static const struct mfd_cell s5m8767_devs[] =3D { { .name =3D "s5m8767-pmic", }, diff --git a/drivers/mfd/sec-irq.c b/drivers/mfd/sec-irq.c index 5c0d949aa1a20f5538d8baf7a8aefc1160ffa14c..3ed2902c3a2634a6ea656d890ec= ea934053bd192 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 =20 -#include +#include +#include +#include +#include #include #include #include --=20 2.49.0.472.ge94155a9ec-goog From nobody Wed Dec 17 10:10:14 2025 Received: from mail-ed1-f47.google.com (mail-ed1-f47.google.com [209.85.208.47]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id A65011C5D47 for ; Fri, 28 Mar 2025 13:30:59 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.208.47 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743168666; cv=none; b=Y6nKZN+ODm/72ex9DNoIZ/sYSeyb+iao8YuTCw6uApa2UUnOVcP2LdNsS4ybPwPylADhxRsqVdw3AvROV6szV8P4V+Gvkw1L8BTxZsevulKO5WA+3o00LbT9dlEdIu3Mm8lxOzTURT3tzONTD7M/8gjxypkz44kYyxpbK2I7eHY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743168666; c=relaxed/simple; bh=IlL7av/XZ94MO9yKdjGRUMlQhb8Bpg73uC0VJ87ssYs=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=REruKkNj8asm07KgOPjNP4enhxhei5p6hTa7ZPC+LrzNCgZ1vyJpRvNEMmIToXxKv0bbeH9W3GOHDuxcw7sI1PPoFLRgBLhHEyNZkMJ+iGrmpMaaF714Hilk1kddoJTE45cc+ugqbmdy2E54htrTxNA81oKeA2MmAtQyXYRBOtk= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org; spf=pass smtp.mailfrom=linaro.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b=LaphHLOu; arc=none smtp.client-ip=209.85.208.47 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linaro.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="LaphHLOu" Received: by mail-ed1-f47.google.com with SMTP id 4fb4d7f45d1cf-5e614da8615so4053788a12.1 for ; Fri, 28 Mar 2025 06:30:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1743168657; x=1743773457; darn=vger.kernel.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=LaphHLOunJ6nLTDCb1/Fq2N2erxfLlZF7ClL/o0i7MrqyJ+vfSmrQY5kzaD+OTI+Z2 5Vdi+EmToMY+v2ukteM21QA0dEOWxe2Dpf6DtTiU59v/rTPxLnxY6tTwgWPRo+G9VFyj Il9SftqQsZ0dZHPCl4GThYFPu5zxIe2/WWrQ50Mt765HMF7yewC5HKG8RdhWRKOORdkz v8v0pQwLqWSu+A9RyNJjf1mWvt/1ejX/Q9wV5jvOS5Qs1q5cuMMGJTwkGt6pDC5/Qc+X lfkb8EE7AWwQ2k0NdyNEyPx2u7wO+usSIxqKPeqns8CBJtVzVW6tTNXMLpZILzx9pnW6 U7LA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743168657; x=1743773457; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=6nQmrd18TxOApmP9ZbnJeIx1ckVKc9UGQ9P+sqT3y24=; b=KlP9aswcuanq3wiCGPjiVY+0GkWn/vla2lX1y9kMvmQdTLM+3EY8h+p7FT+VgyZrW1 OUBacEXRyoKAyGuBcXRFQ5qKMcrhVTJBWDPpNJv3PRwSRsy4ndTDaTTmX/Sp4bZ/z6mU 6IRoD6yDDhyGOV4WxD7IhU7u6nuQKl7LPiXapap3oo5T8j1QDuIWO0kW0ZLwUNemwBLL KAJFSP47u/9S5wJexLIg8rtc1Bvj+xQ4JXK/C4HwcrDIvftSVbtLcrHsB3LbFFeQ/D7z B4g/g/0AWJboFbMRnZJLYfLFI6eAqCON4UZvtzow+QjLGCSLGNevTReNlOmQ+1IvMIQX Hn9g== X-Forwarded-Encrypted: i=1; AJvYcCVlQHsnQtn0LrHs+f9PFGEYBb0XrhajzwDLF3SiWPTdRStc/r5kx2Jd5rX2Oq3W2nF1/1XjGVpaT1NMoM0=@vger.kernel.org X-Gm-Message-State: AOJu0YxVaw2bU7yG7NcYYnXhxhd6kgxaPX1uuZJwAiGtQC+oGdAjt9zA a/AyGy8mBLEcg2vsL2wvo2j/jCuCmLli697tnX1Bpct7kEIJn+Gihgo/obFLpPU= X-Gm-Gg: ASbGnctK1hUCn+Z9vC1i4lsf7EoaD9Ns6hCR8eKZfvOA6Y652bp6E1l7YSVkl7Yi5sM omPFtzk9tMCXG9ouGM1LUPdQz8TCHAXAaqxiYND/EdF6PypBuHd8aQK/rOln+lkSDIaleUN/eRR w2av/GoAa5XrR1ikYnDn+hADaztxInSsFmYWavGThqPNkpWgL0uxhoqBXJmLiccpuQWp+EX0PRU /xsim2Oync7g80wdrI46jSLFaPh6LwD4Hwa2ZoMNu2fbOpyydZ9jLqpKo5lSxcN22/670yvvVqD zsnQyzvnDgvE3HnUg+RN94Q3Y+A/VlY+WRTLyFMpb8R8wfQ82Fhh5kQ8Mrv5fpG2T4ovnpgk9cY YLGSCIs/ZRJX/P3ajUpKuu1YRSgA16M6BX5H+a70= X-Google-Smtp-Source: AGHT+IEDo86URQ/5J1pNelKGYJ8OGydWpyLMuY32LUGaX685CyFB9P3SWcHpHTAbe46LCEULHTzjdg== X-Received: by 2002:a05:6402:360f:b0:5e8:bcf2:832a with SMTP id 4fb4d7f45d1cf-5edc46379e5mr2912219a12.10.1743168657106; Fri, 28 Mar 2025 06:30:57 -0700 (PDT) Received: from puffmais.c.googlers.com (8.239.204.35.bc.googleusercontent.com. [35.204.239.8]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-5edc17e01f7sm1355284a12.79.2025.03.28.06.30.56 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 28 Mar 2025 06:30:56 -0700 (PDT) From: =?utf-8?q?Andr=C3=A9_Draszik?= Date: Fri, 28 Mar 2025 13:28:53 +0000 Subject: [PATCH v2 07/32] mfd: sec: move private internal API to internal header Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250328-s2mpg10-v2-7-b54dee33fb6b@linaro.org> References: <20250328-s2mpg10-v2-0-b54dee33fb6b@linaro.org> In-Reply-To: <20250328-s2mpg10-v2-0-b54dee33fb6b@linaro.org> To: Krzysztof Kozlowski , Lee Jones , Rob Herring , Conor Dooley , Sylwester Nawrocki , Chanwoo Choi , Alim Akhtar , Michael Turquette , Stephen Boyd , Russell King , Catalin Marinas , Will Deacon , Alexandre Belloni Cc: Peter Griffin , Tudor Ambarus , Will McVicker , kernel-team@android.com, linux-kernel@vger.kernel.org, linux-samsung-soc@vger.kernel.org, devicetree@vger.kernel.org, linux-clk@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-rtc@vger.kernel.org, =?utf-8?q?Andr=C3=A9_Draszik?= , Krzysztof Kozlowski X-Mailer: b4 0.14.2 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=C3=A9 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..d4d577b54d798938b7a8ff0c2bd= bd0b61f87650f 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -21407,7 +21407,7 @@ F: Documentation/devicetree/bindings/mfd/samsung,s5= m*.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..83693686567df61b5e09f7129dc= 6b01d69156ff3 100644 --- a/drivers/mfd/sec-core.c +++ b/drivers/mfd/sec-core.c @@ -23,6 +23,7 @@ #include #include #include +#include "sec-core.h" =20 static const struct mfd_cell s5m8767_devs[] =3D { { .name =3D "s5m8767-pmic", }, diff --git a/drivers/mfd/sec-core.h b/drivers/mfd/sec-core.h new file mode 100644 index 0000000000000000000000000000000000000000..b3fded5f02a0ddc09a9508fd49a= 5d335f7ad0ee7 --- /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..4d49bb42bd0d109263f485c8b58= e88cdd8d598d9 100644 --- a/drivers/mfd/sec-irq.c +++ b/drivers/mfd/sec-irq.c @@ -18,6 +18,7 @@ #include #include #include +#include "sec-core.h" =20 static const struct regmap_irq s2mps11_irqs[] =3D { [S2MPS11_IRQ_PWRONF] =3D { diff --git a/include/linux/mfd/samsung/core.h b/include/linux/mfd/samsung/c= ore.h index b7008b50392ab857751b89e0a05d2c27f6306906..8a4e660854bbc955b812b4d61d4= a52a0fc2f2899 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; }; =20 -int sec_irq_init(struct sec_pmic_dev *sec_pmic); - struct sec_platform_data { struct sec_regulator_data *regulators; struct sec_opmode_data *opmode; --=20 2.49.0.472.ge94155a9ec-goog From nobody Wed Dec 17 10:10:14 2025 Received: from mail-ed1-f53.google.com (mail-ed1-f53.google.com [209.85.208.53]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 44805218E96 for ; Fri, 28 Mar 2025 13:31:01 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.208.53 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743168668; cv=none; b=kZ4awjmfdHPYWl/Kp6EVGpKgTFUewncw7ysDCJVSxuHOzR2WYoxpljE4ivW0TmIZX8z4ucOMN0uEfaPTdYxaSo8LYRC2hcAtU/SCgLp3xBGkQhrae1oSFEXUoa/BaoQDmZQ0eDLmg0h4+Kd37LBKKTHSYuC7fEbK+qQ0GpmR5TI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743168668; c=relaxed/simple; bh=PI3U05hE1oIiZE6XppzEJEQtfSZFiinsebmK6V2enuM=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=fuxtsq/YeKl01JXffxciwUl8U9Jk8lVSBnXkKdHX1m48anTzbmGsQNf4CtaC5eAe5jLHZItQkZ0lWGH02Z+NspJE8GJHkLxDf2PYeXWnhxadzXL3D1/aSrmVnphyC4JRoM0bdxI1VusX454Banc2naNu3v5gBxN9strwhoAtnOc= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org; spf=pass smtp.mailfrom=linaro.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b=DFwmO7tI; arc=none smtp.client-ip=209.85.208.53 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linaro.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="DFwmO7tI" Received: by mail-ed1-f53.google.com with SMTP id 4fb4d7f45d1cf-5e5bc066283so3460648a12.0 for ; Fri, 28 Mar 2025 06:31:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1743168658; x=1743773458; darn=vger.kernel.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=DFwmO7tIlQ5bF4NzeqBfsxmp590hvaSkpzhKPmsXizCoXZvUPoriZ/kzJihmqEFGzt uho78nU1QCA+erxxa6RiFbDSWQXeO4+9PV3agssCidcgWgJL+1W0INfC6RyyPXJ8QdQQ Hpnw1mRYdeKXVT9W6yu+Heo1fQCYJ5JYn7RueJVpml8JTmIIJf2IjmTPqKrxK7batheN /ZvDK8jOZksuqj5qFm+MOHMZ5EhDjUh7RopJUiruI3zH+8Q1bc3KTcBFrr9FNDXNoV+I RLsEOGHhcaLA6IedGbmjuOl1jsm980voUi3fgHADy1Z0QAcN+2xqN+3sYvRoKoek/zrh hZAA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743168658; x=1743773458; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=4CKjAMiD1RE7RTGUiJe9q7KbEFxCPs59yWp4xXVklQ0=; b=TySdfFms2IfPO8hreV8ZsYjKa2lt9l5LcgoxKhtNpdVLJBhF49AddrSHL17ylE1Z/I jJAtQzY4umrfDrz24Pp6pW36W+atw902ru2pZtF3lCe+ssmmQ/ygVlM+TOo+bOQDCsQb C7ptMSxnbxf2N4b5wvb+z+4wAxHayid08IQ3sY3R9oL4aHktMhZsF9b/z23G5sqk9BdU 1RhWlRg4Vd4WkJVVOt7tkojmcuTE16pM6GoGx3CEsuuW6mj9UPgHeYwhK/I7Me2F8hKM y2e6t/wgGO7bacyz/wvovHHBHyLb2cBqj5EyTWQ4ZMxrqOl6B4XYW1CUjyR6FvHzx3Go AAJQ== X-Forwarded-Encrypted: i=1; AJvYcCU/Qrb8O5MoGwG+uB/npb1aSnfpbQtSHfYhKer6gWhnvQB8Sq2HSnmZEO3eoASyyVedV1wi0U2OnzqN3tk=@vger.kernel.org X-Gm-Message-State: AOJu0YxL5pwxscHfi9bP74oSsXWGFVu+aKlWHlWSTTN0MCgqjrJ4MIC3 2ilpezJJFH8ird52miztHEKY/+Qlk9ggotMi9ETUbxfKEUbpIbwST+wedtt6DoA= X-Gm-Gg: ASbGnctC/HzxtIndYQprcqptNLYeLiUWMizhLPkDbKuVb486xCZm+Au83QNdMTvymt3 42y40hhr7HcUX5dJPnDwLdxIui4tK5ZN1X+F3ik1WzV+na95FQrG8RdODCEnrKJs2Xr7O01ng1R qTPopgpNXbklrA0T0PTMzNWkZhBn/ReQbl/x5eKETbi/KziM50aeP6JCCaR8FO6IkrnaCHiAGSJ OPHv/m53zFfXFMRM4zmfiziVINt3WYBAlmsrXz8TDArA17RHa+fmeMJgJzbRCqE35LRgAOEQsg3 XsBP354YbfErwGSJKuaYpgJh+c/NULW21QqC44tba5V0nnJXcTY4rYqwv/P1pkZXB0g8yJ1r9Tf y6x2UIJhrhpvdyQPVkLI+pYmklhzr X-Google-Smtp-Source: AGHT+IGp3Y6e9eHHh2ay+tE0ftUwQqi6ao4u0C8t2gSy69uEJ2f+CaAaV3Jb2eakk/mBHpqu+rQ+sw== X-Received: by 2002:a05:6402:278d:b0:5ec:9685:e686 with SMTP id 4fb4d7f45d1cf-5ed8be10311mr7488600a12.0.1743168657676; Fri, 28 Mar 2025 06:30:57 -0700 (PDT) Received: from puffmais.c.googlers.com (8.239.204.35.bc.googleusercontent.com. [35.204.239.8]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-5edc17e01f7sm1355284a12.79.2025.03.28.06.30.57 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 28 Mar 2025 06:30:57 -0700 (PDT) From: =?utf-8?q?Andr=C3=A9_Draszik?= Date: Fri, 28 Mar 2025 13:28:54 +0000 Subject: [PATCH v2 08/32] mfd: sec: split into core and transport (i2c) drivers Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250328-s2mpg10-v2-8-b54dee33fb6b@linaro.org> References: <20250328-s2mpg10-v2-0-b54dee33fb6b@linaro.org> In-Reply-To: <20250328-s2mpg10-v2-0-b54dee33fb6b@linaro.org> To: Krzysztof Kozlowski , Lee Jones , Rob Herring , Conor Dooley , Sylwester Nawrocki , Chanwoo Choi , Alim Akhtar , Michael Turquette , Stephen Boyd , Russell King , Catalin Marinas , Will Deacon , Alexandre Belloni Cc: Peter Griffin , Tudor Ambarus , Will McVicker , kernel-team@android.com, linux-kernel@vger.kernel.org, linux-samsung-soc@vger.kernel.org, devicetree@vger.kernel.org, linux-clk@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-rtc@vger.kernel.org, =?utf-8?q?Andr=C3=A9_Draszik?= X-Mailer: b4 0.14.2 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=C3=A9 Draszik -- Note: checkpatch complains about missing help for MFD_SEC_I2C here, but that's a false-positive due to patch context. It also suggests to update MAINTAINERS, but the new file is covered already due to using a wildcard. v2: * split MODULE_AUTHOR update out of this patch (Krzysztof) * keep DT parsing in core, not in transport driver (sec_pmic_i2c_parse_dt_pdata / sec_pmic_parse_dt_pdata) * merge defconfig updates into this patch (Krzysztof) --- arch/arm/configs/exynos_defconfig | 2 +- arch/arm/configs/multi_v7_defconfig | 2 +- arch/arm/configs/pxa_defconfig | 2 +- arch/arm64/configs/defconfig | 2 +- drivers/mfd/Kconfig | 18 ++- drivers/mfd/Makefile | 1 + drivers/mfd/sec-core.c | 247 +++++---------------------------= ---- drivers/mfd/sec-core.h | 9 ++ drivers/mfd/sec-i2c.c | 231 +++++++++++++++++++++++++++++++++ 9 files changed, 287 insertions(+), 227 deletions(-) diff --git a/arch/arm/configs/exynos_defconfig b/arch/arm/configs/exynos_de= fconfig index 7ad48fdda1dac69a4a9612eabb573729bed7b3a6..251f45be6c14af59263373f21b2= 7b15f42ec7f61 100644 --- a/arch/arm/configs/exynos_defconfig +++ b/arch/arm/configs/exynos_defconfig @@ -167,7 +167,7 @@ CONFIG_MFD_MAX77686=3Dy CONFIG_MFD_MAX77693=3Dy CONFIG_MFD_MAX8997=3Dy CONFIG_MFD_MAX8998=3Dy -CONFIG_MFD_SEC_CORE=3Dy +CONFIG_MFD_SEC_I2C=3Dy CONFIG_MFD_STMPE=3Dy CONFIG_STMPE_I2C=3Dy CONFIG_MFD_TPS65090=3Dy diff --git a/arch/arm/configs/multi_v7_defconfig b/arch/arm/configs/multi_v= 7_defconfig index ad037c175fdb0ec8601c9b3607aca0c0e5f3c145..7d06ac5369b1a2f325462f2cf5b= 54fe22061ca77 100644 --- a/arch/arm/configs/multi_v7_defconfig +++ b/arch/arm/configs/multi_v7_defconfig @@ -612,7 +612,7 @@ CONFIG_MFD_QCOM_RPM=3Dy CONFIG_MFD_SPMI_PMIC=3Dy CONFIG_MFD_RK8XX_I2C=3Dy CONFIG_MFD_RN5T618=3Dy -CONFIG_MFD_SEC_CORE=3Dy +CONFIG_MFD_SEC_I2C=3Dy CONFIG_MFD_STMPE=3Dy CONFIG_MFD_PALMAS=3Dy CONFIG_MFD_TPS65090=3Dy diff --git a/arch/arm/configs/pxa_defconfig b/arch/arm/configs/pxa_defconfig index de0ac8f521d7612704ce327e9ac16ab9e999f3d3..064e79baf20da809c9ab1f1fa18= 282aaba11a41f 100644 --- a/arch/arm/configs/pxa_defconfig +++ b/arch/arm/configs/pxa_defconfig @@ -335,7 +335,7 @@ CONFIG_MFD_MAX77693=3Dy CONFIG_MFD_MAX8907=3Dm CONFIG_EZX_PCAP=3Dy CONFIG_UCB1400_CORE=3Dm -CONFIG_MFD_SEC_CORE=3Dy +CONFIG_MFD_SEC_I2C=3Dy CONFIG_MFD_PALMAS=3Dy CONFIG_MFD_TPS65090=3Dy CONFIG_MFD_TPS6586X=3Dy diff --git a/arch/arm64/configs/defconfig b/arch/arm64/configs/defconfig index 5bb8f09422a22116781169611482179b10798c14..f021fb29683be1a10720d7e6415= daea771647879 100644 --- a/arch/arm64/configs/defconfig +++ b/arch/arm64/configs/defconfig @@ -769,7 +769,7 @@ CONFIG_MFD_MT6397=3Dy CONFIG_MFD_SPMI_PMIC=3Dy CONFIG_MFD_RK8XX_I2C=3Dy CONFIG_MFD_RK8XX_SPI=3Dy -CONFIG_MFD_SEC_CORE=3Dy +CONFIG_MFD_SEC_I2C=3Dy CONFIG_MFD_SL28CPLD=3Dy CONFIG_RZ_MTU3=3Dy CONFIG_MFD_TI_AM335X_TSCADC=3Dm diff --git a/drivers/mfd/Kconfig b/drivers/mfd/Kconfig index 22b93631003943c393d9fe704748bc23f1905397..62565dc89ec6d58611bbc1f31c6= 5f757343b6453 100644 --- a/drivers/mfd/Kconfig +++ b/drivers/mfd/Kconfig @@ -1292,21 +1292,25 @@ config MFD_RN5T618 functionality of the device. =20 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=3Dy 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. =20 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..ab6c4b17a391946d4c88f52ccbf= ee5424b4fb2d2 100644 --- a/drivers/mfd/Makefile +++ b/drivers/mfd/Makefile @@ -229,6 +229,7 @@ obj-$(CONFIG_MFD_RK8XX_I2C) +=3D rk8xx-i2c.o obj-$(CONFIG_MFD_RK8XX_SPI) +=3D rk8xx-spi.o obj-$(CONFIG_MFD_RN5T618) +=3D rn5t618.o obj-$(CONFIG_MFD_SEC_CORE) +=3D sec-core.o sec-irq.o +obj-$(CONFIG_MFD_SEC_I2C) +=3D sec-i2c.o obj-$(CONFIG_MFD_SYSCON) +=3D syscon.o obj-$(CONFIG_MFD_LM3533) +=3D lm3533-core.o lm3533-ctrlbank.o obj-$(CONFIG_MFD_VEXPRESS_SYSREG) +=3D vexpress-sysreg.o diff --git a/drivers/mfd/sec-core.c b/drivers/mfd/sec-core.c index 83693686567df61b5e09f7129dc6b01d69156ff3..bb664e052bf5198f2fc83a86bd6= e1e72364fb8df 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 + */ =20 #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[] =3D { { .name =3D "s2mps15-rtc", }, }; =20 -static const struct of_device_id sec_dt_match[] =3D { - { - .compatible =3D "samsung,s5m8767-pmic", - .data =3D (void *)S5M8767X, - }, { - .compatible =3D "samsung,s2dos05", - .data =3D (void *)S2DOS05, - }, { - .compatible =3D "samsung,s2mps11-pmic", - .data =3D (void *)S2MPS11X, - }, { - .compatible =3D "samsung,s2mps13-pmic", - .data =3D (void *)S2MPS13X, - }, { - .compatible =3D "samsung,s2mps14-pmic", - .data =3D (void *)S2MPS14X, - }, { - .compatible =3D "samsung,s2mps15-pmic", - .data =3D (void *)S2MPS15X, - }, { - .compatible =3D "samsung,s2mpa01-pmic", - .data =3D (void *)S2MPA01, - }, { - .compatible =3D "samsung,s2mpu02-pmic", - .data =3D (void *)S2MPU02, - }, { - .compatible =3D "samsung,s2mpu05-pmic", - .data =3D (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 =3D { - .reg_bits =3D 8, - .val_bits =3D 8, -}; - -static const struct regmap_config s2mpa01_regmap_config =3D { - .reg_bits =3D 8, - .val_bits =3D 8, - - .max_register =3D S2MPA01_REG_LDO_OVCB4, - .volatile_reg =3D s2mpa01_volatile, - .cache_type =3D REGCACHE_FLAT, -}; - -static const struct regmap_config s2mps11_regmap_config =3D { - .reg_bits =3D 8, - .val_bits =3D 8, - - .max_register =3D S2MPS11_REG_L38CTRL, - .volatile_reg =3D s2mps11_volatile, - .cache_type =3D REGCACHE_FLAT, -}; - -static const struct regmap_config s2mps13_regmap_config =3D { - .reg_bits =3D 8, - .val_bits =3D 8, - - .max_register =3D S2MPS13_REG_LDODSCH5, - .volatile_reg =3D s2mps11_volatile, - .cache_type =3D REGCACHE_FLAT, -}; - -static const struct regmap_config s2mps14_regmap_config =3D { - .reg_bits =3D 8, - .val_bits =3D 8, - - .max_register =3D S2MPS14_REG_LDODSCH3, - .volatile_reg =3D s2mps11_volatile, - .cache_type =3D REGCACHE_FLAT, -}; - -static const struct regmap_config s2mps15_regmap_config =3D { - .reg_bits =3D 8, - .val_bits =3D 8, - - .max_register =3D S2MPS15_REG_LDODSCH4, - .volatile_reg =3D s2mps11_volatile, - .cache_type =3D REGCACHE_FLAT, -}; - -static const struct regmap_config s2mpu02_regmap_config =3D { - .reg_bits =3D 8, - .val_bits =3D 8, - - .max_register =3D S2MPU02_REG_DVSDATA, - .volatile_reg =3D s2mpu02_volatile, - .cache_type =3D REGCACHE_FLAT, -}; - -static const struct regmap_config s5m8767_regmap_config =3D { - .reg_bits =3D 8, - .val_bits =3D 8, - - .max_register =3D S5M8767_REG_LDO28CTRL, - .volatile_reg =3D s2mps11_volatile, - .cache_type =3D 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; =20 @@ -283,68 +143,34 @@ sec_pmic_i2c_parse_dt_pdata(struct device *dev) return pd; } =20 -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; =20 - sec_pmic =3D devm_kzalloc(&i2c->dev, sizeof(struct sec_pmic_dev), - GFP_KERNEL); + sec_pmic =3D devm_kzalloc(dev, sizeof(struct sec_pmic_dev), GFP_KERNEL); if (sec_pmic =3D=3D NULL) return -ENOMEM; =20 - i2c_set_clientdata(i2c, sec_pmic); - sec_pmic->dev =3D &i2c->dev; - sec_pmic->i2c =3D i2c; - sec_pmic->irq =3D i2c->irq; + dev_set_drvdata(dev, sec_pmic); + sec_pmic->dev =3D dev; + sec_pmic->device_type =3D device_type; + sec_pmic->i2c =3D client; + sec_pmic->irq =3D irq; + sec_pmic->regmap_pmic =3D regmap; =20 - pdata =3D sec_pmic_i2c_parse_dt_pdata(sec_pmic->dev); + pdata =3D sec_pmic_parse_dt_pdata(sec_pmic->dev); if (IS_ERR(pdata)) { ret =3D PTR_ERR(pdata); return ret; } =20 - sec_pmic->device_type =3D (unsigned long)of_device_get_match_data(sec_pmi= c->dev); sec_pmic->pdata =3D pdata; =20 - switch (sec_pmic->device_type) { - case S2MPA01: - regmap =3D &s2mpa01_regmap_config; - break; - case S2MPS11X: - regmap =3D &s2mps11_regmap_config; - break; - case S2MPS13X: - regmap =3D &s2mps13_regmap_config; - break; - case S2MPS14X: - regmap =3D &s2mps14_regmap_config; - break; - case S2MPS15X: - regmap =3D &s2mps15_regmap_config; - break; - case S5M8767X: - regmap =3D &s5m8767_regmap_config; - break; - case S2MPU02: - regmap =3D &s2mpu02_regmap_config; - break; - default: - regmap =3D &sec_regmap_config; - break; - } - - sec_pmic->regmap_pmic =3D devm_regmap_init_i2c(i2c, regmap); - if (IS_ERR(sec_pmic->regmap_pmic)) { - ret =3D 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); =20 pm_runtime_set_active(sec_pmic->dev); @@ -387,9 +213,9 @@ static int sec_pmic_probe(struct i2c_client *i2c) num_sec_devs =3D 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 =3D 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) =20 return ret; } +EXPORT_SYMBOL_GPL(sec_pmic_probe); =20 -static void sec_pmic_shutdown(struct i2c_client *i2c) +void sec_pmic_shutdown(struct device *dev) { - struct sec_pmic_dev *sec_pmic =3D i2c_get_clientdata(i2c); + struct sec_pmic_dev *sec_pmic =3D dev_get_drvdata(dev); unsigned int reg, mask; =20 if (!sec_pmic->pdata->manual_poweroff) @@ -428,11 +255,11 @@ static void sec_pmic_shutdown(struct i2c_client *i2c) =20 regmap_update_bits(sec_pmic->regmap_pmic, reg, mask, 0); } +EXPORT_SYMBOL_GPL(sec_pmic_shutdown); =20 static int sec_pmic_suspend(struct device *dev) { - struct i2c_client *i2c =3D to_i2c_client(dev); - struct sec_pmic_dev *sec_pmic =3D i2c_get_clientdata(i2c); + struct sec_pmic_dev *sec_pmic =3D dev_get_drvdata(dev); =20 if (device_may_wakeup(dev)) enable_irq_wake(sec_pmic->irq); @@ -452,8 +279,7 @@ static int sec_pmic_suspend(struct device *dev) =20 static int sec_pmic_resume(struct device *dev) { - struct i2c_client *i2c =3D to_i2c_client(dev); - struct sec_pmic_dev *sec_pmic =3D i2c_get_clientdata(i2c); + struct sec_pmic_dev *sec_pmic =3D dev_get_drvdata(dev); =20 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; } =20 -static DEFINE_SIMPLE_DEV_PM_OPS(sec_pmic_pm_ops, - sec_pmic_suspend, sec_pmic_resume); - -static struct i2c_driver sec_pmic_driver =3D { - .driver =3D { - .name =3D "sec_pmic", - .pm =3D pm_sleep_ptr(&sec_pmic_pm_ops), - .of_match_table =3D sec_dt_match, - }, - .probe =3D sec_pmic_probe, - .shutdown =3D sec_pmic_shutdown, -}; -module_i2c_driver(sec_pmic_driver); +DEFINE_SIMPLE_DEV_PM_OPS(sec_pmic_pm_ops, sec_pmic_suspend, sec_pmic_resum= e); +EXPORT_SYMBOL_GPL(sec_pmic_pm_ops); =20 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..a0a3488924d96f69373e7569079= cfefd0544ca26 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 =20 +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); =20 #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..8e3a365ff3e5533e27d94fa8a15= dbfa639518a5f --- /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 =3D { + .reg_bits =3D 8, + .val_bits =3D 8, +}; + +static const struct regmap_config s2mpa01_regmap_config =3D { + .reg_bits =3D 8, + .val_bits =3D 8, + + .max_register =3D S2MPA01_REG_LDO_OVCB4, + .volatile_reg =3D s2mpa01_volatile, + .cache_type =3D REGCACHE_FLAT, +}; + +static const struct regmap_config s2mps11_regmap_config =3D { + .reg_bits =3D 8, + .val_bits =3D 8, + + .max_register =3D S2MPS11_REG_L38CTRL, + .volatile_reg =3D s2mps11_volatile, + .cache_type =3D REGCACHE_FLAT, +}; + +static const struct regmap_config s2mps13_regmap_config =3D { + .reg_bits =3D 8, + .val_bits =3D 8, + + .max_register =3D S2MPS13_REG_LDODSCH5, + .volatile_reg =3D s2mps11_volatile, + .cache_type =3D REGCACHE_FLAT, +}; + +static const struct regmap_config s2mps14_regmap_config =3D { + .reg_bits =3D 8, + .val_bits =3D 8, + + .max_register =3D S2MPS14_REG_LDODSCH3, + .volatile_reg =3D s2mps11_volatile, + .cache_type =3D REGCACHE_FLAT, +}; + +static const struct regmap_config s2mps15_regmap_config =3D { + .reg_bits =3D 8, + .val_bits =3D 8, + + .max_register =3D S2MPS15_REG_LDODSCH4, + .volatile_reg =3D s2mps11_volatile, + .cache_type =3D REGCACHE_FLAT, +}; + +static const struct regmap_config s2mpu02_regmap_config =3D { + .reg_bits =3D 8, + .val_bits =3D 8, + + .max_register =3D S2MPU02_REG_DVSDATA, + .volatile_reg =3D s2mpu02_volatile, + .cache_type =3D REGCACHE_FLAT, +}; + +static const struct regmap_config s5m8767_regmap_config =3D { + .reg_bits =3D 8, + .val_bits =3D 8, + + .max_register =3D S5M8767_REG_LDO28CTRL, + .volatile_reg =3D s2mps11_volatile, + .cache_type =3D 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 =3D (unsigned long)of_device_get_match_data(&client->dev); + + switch (device_type) { + case S2MPA01: + regmap =3D &s2mpa01_regmap_config; + break; + case S2MPS11X: + regmap =3D &s2mps11_regmap_config; + break; + case S2MPS13X: + regmap =3D &s2mps13_regmap_config; + break; + case S2MPS14X: + regmap =3D &s2mps14_regmap_config; + break; + case S2MPS15X: + regmap =3D &s2mps15_regmap_config; + break; + case S5M8767X: + regmap =3D &s5m8767_regmap_config; + break; + case S2MPU02: + regmap =3D &s2mpu02_regmap_config; + break; + default: + regmap =3D &sec_regmap_config; + break; + } + + regmap_pmic =3D devm_regmap_init_i2c(client, regmap); + if (IS_ERR(regmap_pmic)) { + ret =3D 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[] =3D { + { + .compatible =3D "samsung,s5m8767-pmic", + .data =3D (void *)S5M8767X, + }, { + .compatible =3D "samsung,s2dos05", + .data =3D (void *)S2DOS05, + }, { + .compatible =3D "samsung,s2mps11-pmic", + .data =3D (void *)S2MPS11X, + }, { + .compatible =3D "samsung,s2mps13-pmic", + .data =3D (void *)S2MPS13X, + }, { + .compatible =3D "samsung,s2mps14-pmic", + .data =3D (void *)S2MPS14X, + }, { + .compatible =3D "samsung,s2mps15-pmic", + .data =3D (void *)S2MPS15X, + }, { + .compatible =3D "samsung,s2mpa01-pmic", + .data =3D (void *)S2MPA01, + }, { + .compatible =3D "samsung,s2mpu02-pmic", + .data =3D (void *)S2MPU02, + }, { + .compatible =3D "samsung,s2mpu05-pmic", + .data =3D (void *)S2MPU05, + }, + { }, +}; +MODULE_DEVICE_TABLE(of, sec_pmic_i2c_of_match); + +static struct i2c_driver sec_pmic_i2c_driver =3D { + .driver =3D { + .name =3D "sec-pmic-i2c", + .pm =3D pm_sleep_ptr(&sec_pmic_pm_ops), + .of_match_table =3D sec_pmic_i2c_of_match, + }, + .probe =3D sec_pmic_i2c_probe, + .shutdown =3D 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"); --=20 2.49.0.472.ge94155a9ec-goog From nobody Wed Dec 17 10:10:14 2025 Received: from mail-ed1-f44.google.com (mail-ed1-f44.google.com [209.85.208.44]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 0BEEB199939 for ; Fri, 28 Mar 2025 13:31:00 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.208.44 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743168669; cv=none; b=YQXKm+fMOihFvyDFREWL24Z7lR6SNf2k5PMuL5N/rPqaCU8RRu3IMF9bp0W1XLdinGdzAZUYUVGPBSWQ7iSw5pNRkskHu1BPURpWr/q8+pTW7g6SpTlpgTbib6pJ2bZHMgvJEJbDST+DXmnn99combxoHUoTj15NcCDOUz4Sixg= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743168669; c=relaxed/simple; bh=PegDyQqUN3gNTPzgjFHozw1dYqCqtX504qZZATNBZxI=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=sTCckwpmVld/04BAiyMhIe/w6ebszgP+9Gvuc/SbFmp4NZ9XizQjG0RuVUJysSE8XZZRXpFbW9ErSq+mOLgiIQtF5va7JpPGOMzJItvfx/muGZr43lUaAbPNdpSH7aOWSzG0XiJhVoMPuiFON41TeM1OKonGMxfZ4n+JP3RqP4k= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org; spf=pass smtp.mailfrom=linaro.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b=l4ZAzghv; arc=none smtp.client-ip=209.85.208.44 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linaro.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="l4ZAzghv" Received: by mail-ed1-f44.google.com with SMTP id 4fb4d7f45d1cf-5e5bc066283so3460687a12.0 for ; Fri, 28 Mar 2025 06:31:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1743168659; x=1743773459; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=+AZsaRGC2S+WyfTOou8LjsUdN4PTOZuY9p8ECyMXu6o=; b=l4ZAzghvmJ8uACuAEulgmdpTojAH3ig/ojEdAJN8K68wPvAG5i+TDeTFyLPbAfGLsD JaprWovqf7gPk5h640L1Ltjv9kLk4ockC5CXACIgKxm/YYhevqB+cJCMRaR0/ydfATEJ K01Bsrk+4tMQjYn1ZJjMcVULpwXufnJj6AsHp4EBL7Y/8lI3c/QMw5TsWe55p2Q6Sc0w R7xYr3TVIwbt4PH+bD2Mflj9C0BTPZRXZxLiPbLtJwqjvGhHoWf4U2wZNKwS9G4oYXqZ SaoxqfRohQgmuzxLDX7Xmu3f7HyanS2nCSg6ppzWchMBDx66r3ymPm8cn2GvCsGXGzbn lIcQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743168659; x=1743773459; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=+AZsaRGC2S+WyfTOou8LjsUdN4PTOZuY9p8ECyMXu6o=; b=NpQHtR7xGE9yNwWSYfUd2OZDb9TklcU5M7llpTSGyQkob2F/t3inNlvOFBw3jC5YPZ n5mgoC7HVc0+8HcSL5XWkOnCZa/scXiEUypcUvWC0MbWLec9BxHWyvAbIvYqqRZF6e5d Us31xIAff2aKAExWT5VxSD1BvG2q9r3YUdPiXZMKwe201FGpKnsFDvZGx2szVSctNtY8 chKLqZCCAcpmwRJOStabXERi1tDRFTtxvW58D1Ffjx/Ce+get1g/Yarzm2WCYPBkobWr uWJqEogS/03AZTxRkzWaDPpmmofjFb48AjGo7vXtHeX+mM+hpRWtxPvE6jE0nAVWx4XB mTYg== X-Forwarded-Encrypted: i=1; AJvYcCUqrIMuyqZTB3MVKhIPXIE6rwOTqKCPEdXXSfkWXFjAYnn/mIApZXkl/fIir/AWLgZuVvq9IS9Q5TxcEY8=@vger.kernel.org X-Gm-Message-State: AOJu0YwhytKYrX9djeK0lmgmxoI1D5RBikd7Ai0YwxCYgxdSwqGTmqZ1 tPbl6v5MYhSllfYLJEqg1hYJOBPpSpk66qVOnKybO1vs1R6ESCUwy4UMd7xFKLw= X-Gm-Gg: ASbGncu95JpFGeAHeV+xV6fulop5cKYSaboXBLyklTUnYUId7mnfDgorRfJ4ISvt645 /aAjKChQU/+ZIPnWlbokOsepTzeaZ7d9DeeAA6QbnlY6F0ZUySsOAkH8pPYoZkFa0qaMEG9dcgB tO1YUtHSSGKPNVetxDEoXLGS/2gCvQ8b55eigDWHafZL+ogb3QXtkZEshnGHT1fDEOHWPqCBEnD F/9KQFYQXbXyELyqlV0upmFp2gJrCvXpsxZenYjEmzLeXSC0kwlnx6tuYFH1tzV16bi6wRkp0Y2 rdwGRbSChVkZUZxNs5eLGb7oPu2ct+xgD6TwAugxieU7mAhl6vs/inZ81NG1qwFFAXsM8fqikDt XZ4+f8wlPkZB+QRu6mE4SyyzxGN7SIUqV0tv/DZM= X-Google-Smtp-Source: AGHT+IEoG1FhfOUQlOZkgYoRPq5DNw8y6mlAc9+hUofX+5FckeHtChNPOPtqp6nnBpDzc1X/RAjJ5w== X-Received: by 2002:a05:6402:278e:b0:5e6:1838:e8c6 with SMTP id 4fb4d7f45d1cf-5ed8eb16adfmr7163507a12.22.1743168658320; Fri, 28 Mar 2025 06:30:58 -0700 (PDT) Received: from puffmais.c.googlers.com (8.239.204.35.bc.googleusercontent.com. [35.204.239.8]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-5edc17e01f7sm1355284a12.79.2025.03.28.06.30.57 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 28 Mar 2025 06:30:57 -0700 (PDT) From: =?utf-8?q?Andr=C3=A9_Draszik?= Date: Fri, 28 Mar 2025 13:28:55 +0000 Subject: [PATCH v2 09/32] mfd: sec: add support for S2MPG10 PMIC Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250328-s2mpg10-v2-9-b54dee33fb6b@linaro.org> References: <20250328-s2mpg10-v2-0-b54dee33fb6b@linaro.org> In-Reply-To: <20250328-s2mpg10-v2-0-b54dee33fb6b@linaro.org> To: Krzysztof Kozlowski , Lee Jones , Rob Herring , Conor Dooley , Sylwester Nawrocki , Chanwoo Choi , Alim Akhtar , Michael Turquette , Stephen Boyd , Russell King , Catalin Marinas , Will Deacon , Alexandre Belloni Cc: Peter Griffin , Tudor Ambarus , Will McVicker , kernel-team@android.com, linux-kernel@vger.kernel.org, linux-samsung-soc@vger.kernel.org, devicetree@vger.kernel.org, linux-clk@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-rtc@vger.kernel.org, =?utf-8?q?Andr=C3=A9_Draszik?= X-Mailer: b4 0.14.2 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=C3=A9 Draszik --- Checkpatch suggests to update MAINTAINERS, but the new file is covered already due to using a wildcard. v2: * update to using devm_acpm_get_by_node() instead of devm_acpm_get_by_phandle() as this is now expected to be a child of the ACPM node * use c-type file header * updates to error messages * drop s2mpg10_rtc_wr_table as everything in RTC is writeable * rename s2mpg10_volatile_registers -> s2mpg10_rtc_volatile_registers * fix incorrect regmap range in common block * add comments to regmap ranges * add all registers to header for all IP blocks --- drivers/mfd/Kconfig | 17 ++ drivers/mfd/Makefile | 1 + drivers/mfd/sec-acpm.c | 460 ++++++++++++++++++++++++++++++++= ++++ drivers/mfd/sec-core.c | 16 ++ drivers/mfd/sec-irq.c | 68 ++++++ include/linux/mfd/samsung/core.h | 1 + include/linux/mfd/samsung/irq.h | 103 ++++++++ include/linux/mfd/samsung/rtc.h | 37 +++ include/linux/mfd/samsung/s2mpg10.h | 454 ++++++++++++++++++++++++++++++++= +++ 9 files changed, 1157 insertions(+) diff --git a/drivers/mfd/Kconfig b/drivers/mfd/Kconfig index 62565dc89ec6d58611bbc1f31c65f757343b6453..e146b28240e731557f34ebe6dea= 99016b6d19f6b 100644 --- a/drivers/mfd/Kconfig +++ b/drivers/mfd/Kconfig @@ -1296,6 +1296,23 @@ config MFD_SEC_CORE select MFD_CORE select REGMAP_IRQ =20 +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=3Dy diff --git a/drivers/mfd/Makefile b/drivers/mfd/Makefile index ab6c4b17a391946d4c88f52ccbfee5424b4fb2d2..b617782eca436e34084a9cd24c3= 09801c5680390 100644 --- a/drivers/mfd/Makefile +++ b/drivers/mfd/Makefile @@ -229,6 +229,7 @@ obj-$(CONFIG_MFD_RK8XX_I2C) +=3D rk8xx-i2c.o obj-$(CONFIG_MFD_RK8XX_SPI) +=3D rk8xx-spi.o obj-$(CONFIG_MFD_RN5T618) +=3D rn5t618.o obj-$(CONFIG_MFD_SEC_CORE) +=3D sec-core.o sec-irq.o +obj-$(CONFIG_MFD_SEC_ACPM) +=3D sec-acpm.o obj-$(CONFIG_MFD_SEC_I2C) +=3D sec-i2c.o obj-$(CONFIG_MFD_SYSCON) +=3D syscon.o obj-$(CONFIG_MFD_LM3533) +=3D 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..90d84b74875388746595e14b4aa= ef6d24c2049e9 --- /dev/null +++ b/drivers/mfd/sec-acpm.c @@ -0,0 +1,460 @@ +// SPDX-License-Identifier: GPL-2.0-only +/* + * Copyright 2020 Google Inc + * Copyright 2025 Linaro Ltd. + * + * Samsung S2MPG1x ACPM driver + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "sec-core.h" + +#define ACPM_MAX_BULK_DATA 8 + +struct sec_pmic_acpm_platform_data { + int device_type; + + unsigned int acpm_chan_id; + u8 speedy_channel; + + const struct regmap_config *regmap_cfg_common; + const struct regmap_config *regmap_cfg_pmic; + const struct regmap_config *regmap_cfg_rtc; + const struct regmap_config *regmap_cfg_meter; +}; + +static const struct regmap_range s2mpg10_common_registers[] =3D { + 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[] =3D { + regmap_reg_range(0x00, 0x01), + regmap_reg_range(0x28, 0x2a), +}; + +static const struct regmap_range s2mpg10_common_nonvolatile_registers[] = =3D { + regmap_reg_range(0x00, 0x00), + regmap_reg_range(0x02, 0x02), + regmap_reg_range(0x0a, 0x0c), +}; + +static const struct regmap_range s2mpg10_common_precious_registers[] =3D { + regmap_reg_range(0x01, 0x01), +}; + +static const struct regmap_access_table s2mpg10_common_wr_table =3D { + .yes_ranges =3D s2mpg10_common_registers, + .n_yes_ranges =3D ARRAY_SIZE(s2mpg10_common_registers), + .no_ranges =3D s2mpg10_common_ro_registers, + .n_no_ranges =3D ARRAY_SIZE(s2mpg10_common_ro_registers), +}; + +static const struct regmap_access_table s2mpg10_common_rd_table =3D { + .yes_ranges =3D s2mpg10_common_registers, + .n_yes_ranges =3D ARRAY_SIZE(s2mpg10_common_registers), +}; + +static const struct regmap_access_table s2mpg10_common_volatile_table =3D { + .no_ranges =3D s2mpg10_common_nonvolatile_registers, + .n_no_ranges =3D ARRAY_SIZE(s2mpg10_common_nonvolatile_registers), +}; + +static const struct regmap_access_table s2mpg10_common_precious_table =3D { + .yes_ranges =3D s2mpg10_common_precious_registers, + .n_yes_ranges =3D ARRAY_SIZE(s2mpg10_common_precious_registers), +}; + +static const struct regmap_config s2mpg10_regmap_config_common =3D { + .name =3D "common", + .reg_bits =3D 8, + .val_bits =3D 8, + .max_register =3D S2MPG10_COMMON_SPD_DEBUG4, + .wr_table =3D &s2mpg10_common_wr_table, + .rd_table =3D &s2mpg10_common_rd_table, + .volatile_table =3D &s2mpg10_common_volatile_table, + .precious_table =3D &s2mpg10_common_precious_table, + .num_reg_defaults_raw =3D S2MPG10_COMMON_SPD_DEBUG4 + 1, + .cache_type =3D REGCACHE_FLAT, +}; + +static const struct regmap_range s2mpg10_pmic_registers[] =3D { + regmap_reg_range(0x00, 0xf6), +}; + +static const struct regmap_range s2mpg10_pmic_ro_registers[] =3D { + 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[] =3D { + regmap_reg_range(0x06, 0x0b), /* INTxM */ +}; + +static const struct regmap_range s2mpg10_pmic_precious_registers[] =3D { + regmap_reg_range(0x00, 0x05), /* INTx */ +}; + +static const struct regmap_access_table s2mpg10_pmic_wr_table =3D { + .yes_ranges =3D s2mpg10_pmic_registers, + .n_yes_ranges =3D ARRAY_SIZE(s2mpg10_pmic_registers), + .no_ranges =3D s2mpg10_pmic_ro_registers, + .n_no_ranges =3D ARRAY_SIZE(s2mpg10_pmic_ro_registers), +}; + +static const struct regmap_access_table s2mpg10_pmic_rd_table =3D { + .yes_ranges =3D s2mpg10_pmic_registers, + .n_yes_ranges =3D ARRAY_SIZE(s2mpg10_pmic_registers), +}; + +static const struct regmap_access_table s2mpg10_pmic_volatile_table =3D { + .no_ranges =3D s2mpg10_pmic_nonvolatile_registers, + .n_no_ranges =3D ARRAY_SIZE(s2mpg10_pmic_nonvolatile_registers), +}; + +static const struct regmap_access_table s2mpg10_pmic_precious_table =3D { + .yes_ranges =3D s2mpg10_pmic_precious_registers, + .n_yes_ranges =3D ARRAY_SIZE(s2mpg10_pmic_precious_registers), +}; + +static const struct regmap_config s2mpg10_regmap_config_pmic =3D { + .name =3D "pmic", + .reg_bits =3D 8, + .val_bits =3D 8, + .max_register =3D S2MPG10_PMIC_LDO_SENSE4, + .wr_table =3D &s2mpg10_pmic_wr_table, + .rd_table =3D &s2mpg10_pmic_rd_table, + .volatile_table =3D &s2mpg10_pmic_volatile_table, + .precious_table =3D &s2mpg10_pmic_precious_table, + .num_reg_defaults_raw =3D S2MPG10_PMIC_LDO_SENSE4 + 1, + .cache_type =3D REGCACHE_FLAT, +}; + +static const struct regmap_range s2mpg10_rtc_registers[] =3D { + regmap_reg_range(0x00, 0x2b), /* RTC */ +}; + +static const struct regmap_range s2mpg10_rtc_volatile_registers[] =3D { + regmap_reg_range(0x01, 0x01), /* RTC_UPDATE */ + regmap_reg_range(0x05, 0x0c), /* time / date */ +}; + +static const struct regmap_access_table s2mpg10_rtc_rd_table =3D { + .yes_ranges =3D s2mpg10_rtc_registers, + .n_yes_ranges =3D ARRAY_SIZE(s2mpg10_rtc_registers), +}; + +static const struct regmap_access_table s2mpg10_rtc_volatile_table =3D { + .yes_ranges =3D s2mpg10_rtc_volatile_registers, + .n_yes_ranges =3D ARRAY_SIZE(s2mpg10_rtc_volatile_registers), +}; + +static const struct regmap_config s2mpg10_regmap_config_rtc =3D { + .name =3D "rtc", + .reg_bits =3D 8, + .val_bits =3D 8, + .reg_stride =3D 1, + .max_register =3D S2MPG10_RTC_OSC_CTRL, + .rd_table =3D &s2mpg10_rtc_rd_table, + .volatile_table =3D &s2mpg10_rtc_volatile_table, + .num_reg_defaults_raw =3D S2MPG10_RTC_OSC_CTRL + 1, + .cache_type =3D REGCACHE_FLAT, +}; + +static const struct regmap_range s2mpg10_meter_registers[] =3D { + 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[] =3D { + regmap_reg_range(0x40, 0x8a), +}; + +static const struct regmap_access_table s2mpg10_meter_wr_table =3D { + .yes_ranges =3D s2mpg10_meter_registers, + .n_yes_ranges =3D ARRAY_SIZE(s2mpg10_meter_registers), + .no_ranges =3D s2mpg10_meter_ro_registers, + .n_no_ranges =3D ARRAY_SIZE(s2mpg10_meter_ro_registers), +}; + +static const struct regmap_access_table s2mpg10_meter_rd_table =3D { + .yes_ranges =3D s2mpg10_meter_registers, + .n_yes_ranges =3D ARRAY_SIZE(s2mpg10_meter_registers), +}; + +static const struct regmap_access_table s2mpg10_meter_volatile_table =3D { + .yes_ranges =3D s2mpg10_meter_ro_registers, + .n_yes_ranges =3D ARRAY_SIZE(s2mpg10_meter_ro_registers), +}; + +static const struct regmap_config s2mpg10_regmap_config_meter =3D { + .name =3D "meter", + .reg_bits =3D 8, + .val_bits =3D 8, + .reg_stride =3D 1, + .max_register =3D S2MPG10_METER_BUCK_METER_TRIM3, + .wr_table =3D &s2mpg10_meter_wr_table, + .rd_table =3D &s2mpg10_meter_rd_table, + .volatile_table =3D &s2mpg10_meter_volatile_table, + .num_reg_defaults_raw =3D S2MPG10_METER_BUCK_METER_TRIM3 + 1, + .cache_type =3D REGCACHE_FLAT, +}; + +struct sec_acpm_shared_bus_context { + const struct acpm_handle *acpm; + unsigned int acpm_chan_id; + u8 speedy_channel; +}; + +struct sec_acpm_bus_context { + struct sec_acpm_shared_bus_context *shared; + u8 type; +#define SEC_ACPM_TYPE_COMMON 0x00 +#define SEC_ACPM_TYPE_PMIC 0x01 +#define SEC_ACPM_TYPE_RTC 0x02 +#define SEC_ACPM_TYPE_METER 0x0a +#define SEC_ACPM_TYPE_WLWP 0x0b +#define SEC_ACPM_TYPE_TRIM 0x0f +}; + +static int sec_acpm_bus_write(void *context, const void *data, size_t coun= t) +{ + struct sec_acpm_bus_context *ctx =3D context; + const struct acpm_handle *acpm =3D ctx->shared->acpm; + const struct acpm_pmic_ops *pmic_ops =3D &acpm->ops.pmic_ops; + u8 reg; + + if (count < 2 || count > (ACPM_MAX_BULK_DATA + 1)) + return -EINVAL; + + reg =3D *(u8 *)data; + ++data; + --count; + + return pmic_ops->bulk_write(acpm, ctx->shared->acpm_chan_id, + ctx->type, reg, + ctx->shared->speedy_channel, count, data); +} + +static int sec_acpm_bus_read(void *context, const void *reg_buf, + size_t reg_size, void *val_buf, + size_t val_size) +{ + struct sec_acpm_bus_context *ctx =3D context; + const struct acpm_handle *acpm =3D ctx->shared->acpm; + const struct acpm_pmic_ops *pmic_ops =3D &acpm->ops.pmic_ops; + u8 reg; + + if (reg_size !=3D 1 || !val_size || val_size > ACPM_MAX_BULK_DATA) + return -EINVAL; + + reg =3D *(u8 *)reg_buf; + + return pmic_ops->bulk_read(acpm, ctx->shared->acpm_chan_id, + ctx->type, reg, + ctx->shared->speedy_channel, + val_size, val_buf); +} + +static int sec_acpm_bus_reg_update_bits(void *context, unsigned int reg, + unsigned int mask, unsigned int val) +{ + struct sec_acpm_bus_context *ctx =3D context; + const struct acpm_handle *acpm =3D ctx->shared->acpm; + const struct acpm_pmic_ops *pmic_ops =3D &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 =3D { + .write =3D sec_acpm_bus_write, + .read =3D sec_acpm_bus_read, + .reg_update_bits =3D sec_acpm_bus_reg_update_bits, + .max_raw_read =3D ACPM_MAX_BULK_DATA, + .max_raw_write =3D ACPM_MAX_BULK_DATA, +}; + +static struct regmap * +sec_pmic_acpm_regmap_init(struct device *dev, + struct sec_acpm_shared_bus_context *shared_ctx, + u8 type, const struct regmap_config *cfg, + bool do_attach) +{ + struct sec_acpm_bus_context *ctx; + struct regmap *regmap; + + ctx =3D devm_kzalloc(dev, sizeof(*ctx), GFP_KERNEL); + if (!ctx) + return ERR_PTR(-ENOMEM); + + ctx->shared =3D shared_ctx; + ctx->type =3D type; + + regmap =3D 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 =3D regmap_attach_dev(dev, regmap, cfg); + if (ret) + return ERR_PTR(dev_err_probe(dev, ret, + "regmap attach (%s) failed\n", + cfg->name)); + } + + return regmap; +} + +static void sec_acpm_mask_common_irqs(void *regmap_common) +{ + /* Mask all interrupts from 'common' block on shutdown */ + regmap_write(regmap_common, S2MPG10_COMMON_INT_MASK, + S2MPG10_COMMON_INT_SRC); +} + +static int sec_pmic_acpm_probe(struct platform_device *pdev) +{ + struct regmap *regmap_common, *regmap_pmic, *regmap; + const struct sec_pmic_acpm_platform_data *pdata; + struct sec_acpm_shared_bus_context *shared_ctx; + const struct acpm_handle *acpm; + struct device *dev; + int ret, irq; + + dev =3D &pdev->dev; + + pdata =3D device_get_match_data(dev); + if (!pdata) + return dev_err_probe(dev, -ENODEV, + "unsupported device type\n"); + + acpm =3D 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 =3D platform_get_irq(pdev, 0); + if (irq < 0) + return irq; + + shared_ctx =3D devm_kzalloc(dev, sizeof(*shared_ctx), GFP_KERNEL); + if (!shared_ctx) + return -ENOMEM; + + shared_ctx->acpm =3D acpm; + shared_ctx->acpm_chan_id =3D pdata->acpm_chan_id; + shared_ctx->speedy_channel =3D pdata->speedy_channel; + + regmap_common =3D sec_pmic_acpm_regmap_init(dev, shared_ctx, + SEC_ACPM_TYPE_COMMON, + pdata->regmap_cfg_common, + false); + if (IS_ERR(regmap_common)) + return PTR_ERR(regmap_common); + + /* Mask all interrupts from 'common' block, until successful init */ + ret =3D 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 =3D sec_pmic_acpm_regmap_init(dev, shared_ctx, + SEC_ACPM_TYPE_PMIC, + pdata->regmap_cfg_pmic, + false); + if (IS_ERR(regmap_pmic)) + return PTR_ERR(regmap_pmic); + + regmap =3D sec_pmic_acpm_regmap_init(dev, shared_ctx, SEC_ACPM_TYPE_RTC, + pdata->regmap_cfg_rtc, true); + if (IS_ERR(regmap)) + return PTR_ERR(regmap); + + regmap =3D sec_pmic_acpm_regmap_init(dev, shared_ctx, SEC_ACPM_TYPE_METER, + pdata->regmap_cfg_meter, true); + if (IS_ERR(regmap)) + return PTR_ERR(regmap); + + ret =3D 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 =3D regmap_clear_bits(regmap_common, S2MPG10_COMMON_INT_MASK, + S2MPG10_COMMON_INT_SRC_PMIC); + if (ret) + return dev_err_probe(dev, ret, + "failed to unmask PMIC interrupt\n"); + + ret =3D devm_add_action_or_reset(dev, sec_acpm_mask_common_irqs, + regmap_common); + if (ret) + return ret; + + return 0; +} + +static void sec_pmic_acpm_shutdown(struct platform_device *pdev) +{ + sec_pmic_shutdown(&pdev->dev); +} + +static const struct sec_pmic_acpm_platform_data s2mpg10_data =3D { + .device_type =3D S2MPG10, + .acpm_chan_id =3D 2, + .speedy_channel =3D 0, + .regmap_cfg_common =3D &s2mpg10_regmap_config_common, + .regmap_cfg_pmic =3D &s2mpg10_regmap_config_pmic, + .regmap_cfg_rtc =3D &s2mpg10_regmap_config_rtc, + .regmap_cfg_meter =3D &s2mpg10_regmap_config_meter, +}; + +static const struct of_device_id sec_pmic_acpm_of_match[] =3D { + { .compatible =3D "samsung,s2mpg10-pmic", .data =3D &s2mpg10_data, }, + { }, +}; +MODULE_DEVICE_TABLE(of, sec_pmic_acpm_of_match); + +static struct platform_driver sec_pmic_acpm_driver =3D { + .driver =3D { + .name =3D "sec-pmic-acpm", + .pm =3D pm_sleep_ptr(&sec_pmic_pm_ops), + .of_match_table =3D sec_pmic_acpm_of_match, + }, + .probe =3D sec_pmic_acpm_probe, + .shutdown =3D sec_pmic_acpm_shutdown, +}; +module_platform_driver(sec_pmic_acpm_driver); + +MODULE_AUTHOR("Andr=C3=A9 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..c4b7abe511090d8f5ff2eb501f3= 25cc8173b9bf5 100644 --- a/drivers/mfd/sec-core.c +++ b/drivers/mfd/sec-core.c @@ -36,6 +36,14 @@ static const struct mfd_cell s2dos05_devs[] =3D { { .name =3D "s2dos05-regulator", }, }; =20 +static const struct mfd_cell s2mpg10_devs[] =3D { + 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[] =3D { { .name =3D "s2mps11-regulator", }, { .name =3D "s2mps14-rtc", }, @@ -90,6 +98,10 @@ static void sec_pmic_dump_rev(struct sec_pmic_dev *sec_p= mic) { unsigned int val; =20 + /* For s2mpg1x, the revision is in a different regmap */ + if (sec_pmic->device_type =3D=3D 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 d= evice_type, sec_devs =3D s2mpa01_devs; num_sec_devs =3D ARRAY_SIZE(s2mpa01_devs); break; + case S2MPG10: + sec_devs =3D s2mpg10_devs; + num_sec_devs =3D ARRAY_SIZE(s2mpg10_devs); + break; case S2MPS11X: sec_devs =3D s2mps11_devs; num_sec_devs =3D ARRAY_SIZE(s2mps11_devs); diff --git a/drivers/mfd/sec-irq.c b/drivers/mfd/sec-irq.c index 4d49bb42bd0d109263f485c8b58e88cdd8d598d9..bf86281401ac6ff05c90c2d71c8= 4744709ed79cb 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" =20 +static const struct regmap_irq s2mpg10_irqs[] =3D { + 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_RS= T_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[] =3D { [S2MPS11_IRQ_PWRONF] =3D { .reg_offset =3D 0, @@ -320,6 +375,16 @@ static const struct regmap_irq s5m8767_irqs[] =3D { }, }; =20 +static const struct regmap_irq_chip s2mpg10_irq_chip =3D { + .name =3D "s2mpg10", + .irqs =3D s2mpg10_irqs, + .num_irqs =3D ARRAY_SIZE(s2mpg10_irqs), + .num_regs =3D 6, + .status_base =3D S2MPG10_PMIC_INT1, + .mask_base =3D S2MPG10_PMIC_INT1M, + /* all interrupt sources are read-to-clear */ +}; + static const struct regmap_irq_chip s2mps11_irq_chip =3D { .name =3D "s2mps11", .irqs =3D s2mps11_irqs, @@ -402,6 +467,9 @@ int sec_irq_init(struct sec_pmic_dev *sec_pmic) case S2MPA01: sec_irq_chip =3D &s2mps14_irq_chip; break; + case S2MPG10: + sec_irq_chip =3D &s2mpg10_irq_chip; + break; case S2MPS11X: sec_irq_chip =3D &s2mps11_irq_chip; break; diff --git a/include/linux/mfd/samsung/core.h b/include/linux/mfd/samsung/c= ore.h index 8a4e660854bbc955b812b4d61d4a52a0fc2f2899..c1102324172a9b6bd6072b5929a= 4866d6c9653fa 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/ir= q.h index 978f7af66f74842c4f8dd62c0f58a7a45aba7c34..b4805cbd949bd605004bd88cf36= 1109d1cbbc3bf 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) =20 +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/rt= c.h index 0204decfc9aacbf4bc93d98a256f1d956bbcd19c..51c4239a1fa6f28155711a0756b= 0e071b010d848 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, }; =20 +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) =20 #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) =20 +/* WTSR & SMPL registers */ #define SMPL_ENABLE_SHIFT 7 #define SMPL_ENABLE_MASK (1 << SMPL_ENABLE_SHIFT) =20 #define WTSR_ENABLE_SHIFT 6 #define WTSR_ENABLE_MASK (1 << WTSR_ENABLE_SHIFT) =20 +#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/samsun= g/s2mpg10.h new file mode 100644 index 0000000000000000000000000000000000000000..778ff16ef6668ded514e8dc7242= f369cb9c2d0e6 --- /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 =3D 0x0a, + S2MPG10_COMMON_SPD_CTRL2, + S2MPG10_COMMON_SPD_CTRL3, + S2MPG10_COMMON_MON1SEL =3D 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 =3D 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 =3D 0xee, + S2MPG10_METER_BUCK_METER_TRIM3 =3D 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 */ --=20 2.49.0.472.ge94155a9ec-goog From nobody Wed Dec 17 10:10:14 2025 Received: from mail-ed1-f48.google.com (mail-ed1-f48.google.com [209.85.208.48]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 26DA7217659 for ; Fri, 28 Mar 2025 13:31:00 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.208.48 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743168666; cv=none; b=qCOTUvn52zBKV3jiIVPGF7rchlzjMcL6yVAdBU0Xgb/eoAG0v/HnW539yrziPRZMf06xDWc3yUjSvqpGouJ7TQqpWOOHISwSDTxc8sxPohqDkbnd3Kj5DckbLJqMxxwmDSVOpvgLgI8d0wprZJ8QFfJGVTXIUIm/JfII6HvAwOE= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743168666; c=relaxed/simple; bh=ch+tVjxpZDhWADsqi2xUerCCp822EcsZf6tgYWcJO4o=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=jgTAJgz9RhydwiktlSFP48Zz8CmeYnIOKBy446uNcj9OV6DyM+fIebLOw4ZLlEKbv5GeV/B1tVGUcyksl0rMkdPz1p0AXdyD3f0F5emRGOIgHDZINLO/s/N3YF/SICr257H/NumyYaNFwSmnAJlzDax5L8PKFuScdcFweMOn1U0= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org; spf=pass smtp.mailfrom=linaro.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b=Zf2FqG/y; arc=none smtp.client-ip=209.85.208.48 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linaro.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="Zf2FqG/y" Received: by mail-ed1-f48.google.com with SMTP id 4fb4d7f45d1cf-5e5e1a38c1aso2964068a12.2 for ; Fri, 28 Mar 2025 06:31:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1743168659; x=1743773459; darn=vger.kernel.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=Zf2FqG/y66Mgu8ATKGA31rciFAuExv5XNSLhAv0+YKi4j4U4gYffRGpK7M1S8Kzgtv LlEZ6RwmB2Jpou5Nu0DEC4YBjs7V+EdbhLTUj6Q98nIc4XEC+//hna6B4S+/fr9LEK9W efYuaVdPTPg++Zce4PzuR0trfm3oaEQcjN0fGXPg25Y6ug3jl2ShfRrvdEFOUJLXaPV2 GdyhXFti/bXK8UzOE54t4NkqSnkjSXd7FzCc9kUDEQ8blR2Mgj5r5WjKbz+AvNKCi8tb R9UswMJyeD5S2721BlX8PwsWXX8jfCMLKhRjiF8b0M6foBA2arWpqoi2VwqGlh7j14dp 5epw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743168659; x=1743773459; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=p70205lv5Ahwks+JMv232ptcGxJ9M60C9dRMMYjFwHs=; b=Eadpzy/5dM8mYpzyC5ihtJgcUe8pIB8/mwKwpRcNloVfKUBi0rHTInEFTMR3VIK180 ptQIXY7y2yz4+ie3FneO9wkLAeJ/rxNqyDbSOdXUzbqFKwb9W+YlbAcUyRiEBWgkgDZN J5V3078SFEWuxs2bYwqL0fy9d2JnpwPbjIiiQG6uBzNphuPm5XQ6HLvqE7zpoO+bbURZ L1ympLCGHDtKNKGtiYs60XNBKAQBjpuAd+P2Qjkg7WukRTHWrCFKUJQX8YlRKdiMJ2iB EdV/oDHVjRDHzaNIX7ysNkr6reVyHHsTL/06gAhXA6cLpUMBkMy+NfPeMmZowtpZ3TJN 4Zqg== X-Forwarded-Encrypted: i=1; AJvYcCWjhIW7ziSRLIopGzDtt7wN0IG3aUtV4ScbeoovX+x3A3mInqDWtI0wxVkvfxX6MU1r/ljn8XUT4hG+0is=@vger.kernel.org X-Gm-Message-State: AOJu0YyfaXs5W35+ZYdVepHhg46mlinOplmqU6jm8Wjm1wnKpXMZXRhb Ct/C/9/1PfpKLs6cDC6weGDfgOAWlvBfqTbcPFs/kW5iOgEo+8LLZi23GNek0Rg= X-Gm-Gg: ASbGncs0E7tT1uLp2965VJJPIzA7BIEGs1Vhx2eBZeGsPJxEwUxjKWya9xIRD2KkHLM Drt+qemYAmeN1Qtx4Tldr0j9cSDJ62/C929ByoauDr6a/1VwjdR1v5qr73aMAul8EvVVckrFtcQ 1eFsY59WyvITw4X7BBCcs9hvMoOlcahFNtWFfH9lZebjHNtVRXEW8KFI4hM/DbGHpnA0Dq4SZDP Z/4cfc1EUJuYHslHjhbKzViRS7DhHzlfUpqLM157aLtRkHOryJ0F2PXzMGfhbVS6gnYixCVEIX7 Fv9X3nkqIWPTkHArvFRoFMix6kWkKLksHb7zeUuinetmwXOpSkIGY3W27b1wfddc46EMmp6GS5u 5dn2WZXiOdUxECPEad4xH1t+ofw/8 X-Google-Smtp-Source: AGHT+IHxP2Uv5JCL7mBzhNxmy1vBuez9/wb1XD7Bn0E0BvHAW9NPQJMgxLbLOCUMtAwVk4l4WbA2Aw== X-Received: by 2002:a05:6402:2744:b0:5e5:c847:1a56 with SMTP id 4fb4d7f45d1cf-5ed8e28cdbcmr6969582a12.10.1743168658859; Fri, 28 Mar 2025 06:30:58 -0700 (PDT) Received: from puffmais.c.googlers.com (8.239.204.35.bc.googleusercontent.com. [35.204.239.8]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-5edc17e01f7sm1355284a12.79.2025.03.28.06.30.58 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 28 Mar 2025 06:30:58 -0700 (PDT) From: =?utf-8?q?Andr=C3=A9_Draszik?= Date: Fri, 28 Mar 2025 13:28:56 +0000 Subject: [PATCH v2 10/32] mfd: sec: merge separate core and irq modules Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250328-s2mpg10-v2-10-b54dee33fb6b@linaro.org> References: <20250328-s2mpg10-v2-0-b54dee33fb6b@linaro.org> In-Reply-To: <20250328-s2mpg10-v2-0-b54dee33fb6b@linaro.org> To: Krzysztof Kozlowski , Lee Jones , Rob Herring , Conor Dooley , Sylwester Nawrocki , Chanwoo Choi , Alim Akhtar , Michael Turquette , Stephen Boyd , Russell King , Catalin Marinas , Will Deacon , Alexandre Belloni Cc: Peter Griffin , Tudor Ambarus , Will McVicker , kernel-team@android.com, linux-kernel@vger.kernel.org, linux-samsung-soc@vger.kernel.org, devicetree@vger.kernel.org, linux-clk@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-rtc@vger.kernel.org, =?utf-8?q?Andr=C3=A9_Draszik?= , Krzysztof Kozlowski X-Mailer: b4 0.14.2 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=C3=A9 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 =3D> 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..8f315298b32a2a9ee114ed5e49e= 760bd8f930aee 100644 --- a/drivers/mfd/Makefile +++ b/drivers/mfd/Makefile @@ -228,7 +228,8 @@ obj-$(CONFIG_MFD_RK8XX) +=3D rk8xx-core.o obj-$(CONFIG_MFD_RK8XX_I2C) +=3D rk8xx-i2c.o obj-$(CONFIG_MFD_RK8XX_SPI) +=3D rk8xx-spi.o obj-$(CONFIG_MFD_RN5T618) +=3D rn5t618.o -obj-$(CONFIG_MFD_SEC_CORE) +=3D sec-core.o sec-irq.o +sec-core-objs :=3D sec-common.o sec-irq.o +obj-$(CONFIG_MFD_SEC_CORE) +=3D sec-core.o obj-$(CONFIG_MFD_SEC_ACPM) +=3D sec-acpm.o obj-$(CONFIG_MFD_SEC_I2C) +=3D sec-i2c.o obj-$(CONFIG_MFD_SYSCON) +=3D 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..782dec1956a5fd7bf0dbb2159f9= d222ad3fea942 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_resum= e); EXPORT_SYMBOL_GPL(sec_pmic_pm_ops); =20 +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..aa467e488fb5ef79d5bc7110e1b= a7c26fcfa9892 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" =20 @@ -510,10 +508,3 @@ int sec_irq_init(struct sec_pmic_dev *sec_pmic) =20 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"); --=20 2.49.0.472.ge94155a9ec-goog From nobody Wed Dec 17 10:10:14 2025 Received: from mail-ed1-f54.google.com (mail-ed1-f54.google.com [209.85.208.54]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id D1C7021B8F2 for ; Fri, 28 Mar 2025 13:31:03 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.208.54 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743168669; cv=none; b=EZKv0QFJxH3LbU5eyjGBfpoMDZs5PxuoLR64K0o0epPJNRB6avlEwRUPKw7N/g8xxJWNCjcanN1la8h6Nx47W/HEaKMRygfc0Xu2XrbX3qMVY9dIVkbTQjg8OtS5hsAaoOCQKSe+XnOpUhjLnu1wWnKXggqQrKLMkf1IJS3TayQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743168669; c=relaxed/simple; bh=l1zcOTqbAXM+6Af1i6qiSSUmTQ2DiJduP75aVq1nYPQ=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=qiZLrbzz7gK0IUV7HLUc0p3Pd4PBIwvukjZxwFkR1juUW1yJbDvpPZwrQTG9yew6ovrQmCzEbq8rOfTCjjM7ysbiMjKp3Vn0Kh+DSwZmqtu4WvZj/+nP20/w0o2nVU6aH0feS5JvTOY4ZCtF3OoulJdwDgHLt5TR7YnI6eyCkak= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org; spf=pass smtp.mailfrom=linaro.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b=JhmUU5BP; arc=none smtp.client-ip=209.85.208.54 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linaro.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="JhmUU5BP" Received: by mail-ed1-f54.google.com with SMTP id 4fb4d7f45d1cf-5e5c9662131so3359380a12.3 for ; Fri, 28 Mar 2025 06:31:02 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1743168659; x=1743773459; darn=vger.kernel.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=JhmUU5BPBvJeOyfDkeklAzkrzwVlKhvacXEhqq6HkJN6iZFC/69NkvY2fla2w4bGy0 J5E1ItAYhwzZVEoX1BuKC2llkVduktlsJe2dWg0YGaSCZKjvDyq+DznybGtGcSafcPCm TLvCloNJ632tZq62eKfrOcozRt4tyavWo3rm3aMYupK0X66cRw5kwAzaqff/HUG/vvjn 1vA+D6ywTG407kziUKNVcj4/tYYy6TANU234J2OJ+iFd5OzOPo559fOFi5CZNknLT0xk a8p5WoGdrOI+S9j+txpXDffYQZf2BkyvmA+D5JKoTfi9SB+msAoIRnL9VdkUr6lwy+aI koOA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743168659; x=1743773459; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=2UDpkJYTJ8+02Ga55OV2M/CiQAcpkegARGuSb5F8VZs=; b=iNP+tjIzjInIvdtkiodsq17rQQTevOVITWuqEmI0EN0mEw9/o0/ssMYe99Z4Qk9UMl u2IQn4oJrkbOcs7zFnWNtuiiJ/alztG8udbxZQi9ZPM309m0OfvcEz/Xdl40+U3GKpdD VdLVgeXdJZJO/QilkUUgiA0thi8s42r7bQvgRplPswegOw/nJMQbr4eAAWlqGN34Ryw2 9LKeIvDns+xwn4iCzsXOMZ+WsNbyGGCViXqSYUUo0/llHDfi/BbVPRmWnJbfMlOR4RcO WmWg1KlGH2YB5zRM+JD+03wIcM/FvhL3KYRwJDFZgdm3AAXMcWmCCAM2rDDRvmFdvVb7 uOFg== X-Forwarded-Encrypted: i=1; AJvYcCX5O1rZqMgTg3kRFEJJPRyeAoPBSr/8EiD7GW+q5yilgrJ1D7h4t369kn1j1MYL6vAb1ibCUPvxNcQMgDg=@vger.kernel.org X-Gm-Message-State: AOJu0YyDrwEDcXh93uV1sY6IORsP0m2Er0BrY+X+RKtMnFiUoGHCyKkw bnGoQ0K0bVp6AlMAWbDj1Owy+bCkQ6j0g7+7ZynXSsGwfx3802rFYbNDA+vl62g= X-Gm-Gg: ASbGncud4MoMvnI3p/j8FY3q4nOtcPGbLzJ0u1oXh7XN88MdXy+Wd3+J/5kw1oJJvCZ HTVkwQlJGsH0MbO4NKhBqECxE0PgC1efm3YEpf41TmawZ6VVrwf2beaiG4UZv+aEjgFLH4myk0G b+Ckj57FYraW5IpAx7s2GOv2PfN9Mgsq3QxABrtBxAHPmita7ivqbmq/8NwxgnTpJEGhq1toCCw bnrpTHYTKeOgC1YbJrehX7nHMJScsotnlSq4M5UO7s5prMkF4TzQneJf2sxkok2/hdOfHTGjs2+ CW30XWGu1+vDhus+PAxo5+yc4rh0wHiFlc6gBdEhUKkHymuNfFWvRM2DvXbCt7kDQ5am5Cu3Ehp jAHZkL+11by/SNXzC8LUseWnEVogm X-Google-Smtp-Source: AGHT+IHY77zJB2+ZvJcaGKZHiHxoVE2X4zdszR83ffWy9ORQ0cPQA29Aq9xL4S7dGRJozxmx6Qfd9w== X-Received: by 2002:a05:6402:3554:b0:5ec:96a6:e1cd with SMTP id 4fb4d7f45d1cf-5ed8e061508mr6757044a12.2.1743168659356; Fri, 28 Mar 2025 06:30:59 -0700 (PDT) Received: from puffmais.c.googlers.com (8.239.204.35.bc.googleusercontent.com. [35.204.239.8]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-5edc17e01f7sm1355284a12.79.2025.03.28.06.30.58 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 28 Mar 2025 06:30:59 -0700 (PDT) From: =?utf-8?q?Andr=C3=A9_Draszik?= Date: Fri, 28 Mar 2025 13:28:57 +0000 Subject: [PATCH v2 11/32] mfd: sec: fix open parenthesis alignment (multiple) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250328-s2mpg10-v2-11-b54dee33fb6b@linaro.org> References: <20250328-s2mpg10-v2-0-b54dee33fb6b@linaro.org> In-Reply-To: <20250328-s2mpg10-v2-0-b54dee33fb6b@linaro.org> To: Krzysztof Kozlowski , Lee Jones , Rob Herring , Conor Dooley , Sylwester Nawrocki , Chanwoo Choi , Alim Akhtar , Michael Turquette , Stephen Boyd , Russell King , Catalin Marinas , Will Deacon , Alexandre Belloni Cc: Peter Griffin , Tudor Ambarus , Will McVicker , kernel-team@android.com, linux-kernel@vger.kernel.org, linux-samsung-soc@vger.kernel.org, devicetree@vger.kernel.org, linux-clk@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-rtc@vger.kernel.org, =?utf-8?q?Andr=C3=A9_Draszik?= X-Mailer: b4 0.14.2 checkpatch complains about unexpected alignment issues in this file - update the code accordingly. Signed-off-by: Andr=C3=A9 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..1a6f14dda825adeaeee1a677459= c7399c144d553 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); =20 pd->manual_poweroff =3D of_property_read_bool(dev->of_node, - "samsung,s2mps11-acokb-ground"); + "samsung,s2mps11-acokb-ground"); pd->disable_wrstbi =3D of_property_read_bool(dev->of_node, - "samsung,s2mps11-wrstbi-ground"); + "samsung,s2mps11-wrstbi-ground"); return pd; } =20 @@ -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; } =20 --=20 2.49.0.472.ge94155a9ec-goog From nobody Wed Dec 17 10:10:14 2025 Received: from mail-ed1-f45.google.com (mail-ed1-f45.google.com [209.85.208.45]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id B30C11C5D4C for ; Fri, 28 Mar 2025 13:31:02 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.208.45 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743168668; cv=none; b=V6O3x3G8BsVmkXYMVolOLMdEHlJCIdC6Y4ns9WUL/1mVQiiY/Gfvo/mmE/+xmCNu/6y543xtY36mFgDd3ZNLpK9wSBIbEz7JMAhx3A0dmgVYXcnbUuYhgY9iIzqzVwsLO75EWJpQ0NI5LqrB2LkM0BXdRRi+YhifYfvYhtE5sYE= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743168668; c=relaxed/simple; bh=y6yU6lYRyqEHU2RYOfcRxwcasP7T27SnGV4OR5isOHE=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=N8zAoIWepeDCIS34OJh2J+yd0PENUihw/gtUMl79TxDYQw7yAgahDbiexUXEAzkNNZzQX1pbEwraHMrBMNx07moWNUYgxMVMbDzhKTrKO03cKHsu6wqGCmG+SGt6OISNVrl3NUNFcrGhRZkeC5M9FZeXzm/u1/xE/GNiCf/XHXY= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org; spf=pass smtp.mailfrom=linaro.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b=aWEkT/bz; arc=none smtp.client-ip=209.85.208.45 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linaro.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="aWEkT/bz" Received: by mail-ed1-f45.google.com with SMTP id 4fb4d7f45d1cf-5e5e8274a74so3529568a12.1 for ; Fri, 28 Mar 2025 06:31:02 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1743168660; x=1743773460; darn=vger.kernel.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=aWEkT/bzhASSI4KOxwmBNBZe6evdgGI6ePH6Mdx65HYfca1Y9xJqAaMLpivF8wQ+G3 Qcuw9+Xq+q6S0SPAZXUEQhue8Ke3AauxFUPbUT7GCXvyS849d3aGpp1XCJNcbBsCmZN7 zzI1RCJ4KGRmteOfJcRj18JdYm/1lAy7aSHJ0SWqzddeJBfdDdUOvbzoxuh5eN1Zh9d8 xGiOTFFBsu09dq6fGyjVTEGwlvlCUErY5yT8oweIZyf9Vo7bL0SRHCIF4C+gTzENZa1R rzVIbkm9u0xpUZCvhmc1HytmIr5bDxdrM2Je39vkMMyVZ1+xMc+qVMVmL6tBckKFAqET IINA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743168660; x=1743773460; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=pB7gFyupIzWsX2vSOEGK7q4UbjZdy1MRwKTSd+TQnVk=; b=JNY8ewS4XxSvqeLkTVw7z75bVG6q62Lfpk6hqh7/F/kWwJf4vLKoN0eSwfCLrpP37n lnKJDIGjSL0ZIH8xMHkDMqrJxTyf8y04MdG7P1mku6JCvwt8qQIsNj/zL8bvtvs6+qQJ 3twDBzDwCcNMTbTanPc7BRBbpUKhcDAo4Eodnh5KCqYOAwly70ASfKVerNfvqlU4lNKE GGZpAhakon+7Mf5wrPh8EbxqGFeCj/txFjHLi+Pvh8UB6Eid5hzT/5ra0LjFO2knSr06 k+zswL1Xq+Wrq3NS3oEzN6FB6IMOf/TwEz8aZY2Tf+TNXLyDH7EKUU3QN+4bJpV6K4nk 7zVQ== X-Forwarded-Encrypted: i=1; AJvYcCV5jhnuefeYM/8dVJvgpUcMCZlye2uKPJydr6We5cLy95R0/fcSNAXHKe+YJkaoj511VFJ9QOA2we8PHT4=@vger.kernel.org X-Gm-Message-State: AOJu0YyaWIYdR5r7JVmQoXnZB4djRiQvB+TUvKMuLmFGGNTKyfhTTjE8 2kKSDJa3XYgC8QbdsCYo7/3STf/akA0autmtSo3PngxHlngR6ymzo1grFp/pdw0= X-Gm-Gg: ASbGncvPpB5WymcFRIS/9kDAnTT4f2krg+1aRGmlQqSAr1hC7o0kUP7c0v/qYIym+3K 8deX/QELBhkYcVjVeraqQNL2bUmGzeo1UlFugnOIa5dCP1uDnxkkoRDXZLNvpLYs6b1ZCN3nETV HAVdh1U74eQiF5CeAtXxj7/PnkDolIln/9enuC27Z3PpJJ4VBaI9wSDwY3b3S4txU9EinWeRF4E 5bdppwP3vwJVYRb6KKuiF9TOtrxPGAocFtiNCbFj9RyndjUK2U8r3FF4U6eeozTMEAl+ssYb7CD nn2lzchIJBnQJeYXzeXRSw/5pKperIDB4yoThcSrZt6zCQYgUTN1kZZtCYmGHUn7dykuDVnSh9I 3TGewjQOT9ZQewWJaWa0AFzZvj6B+ X-Google-Smtp-Source: AGHT+IEfLeFVVKPzcq/g9M+Swoap13H4J7LtCPC0wmGIvXuvFF2fbhLbZmznj1q9fH3/uH0jyy0zcQ== X-Received: by 2002:a05:6402:2753:b0:5dc:9589:9f64 with SMTP id 4fb4d7f45d1cf-5ed8e4a9609mr7684378a12.13.1743168659884; Fri, 28 Mar 2025 06:30:59 -0700 (PDT) Received: from puffmais.c.googlers.com (8.239.204.35.bc.googleusercontent.com. [35.204.239.8]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-5edc17e01f7sm1355284a12.79.2025.03.28.06.30.59 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 28 Mar 2025 06:30:59 -0700 (PDT) From: =?utf-8?q?Andr=C3=A9_Draszik?= Date: Fri, 28 Mar 2025 13:28:58 +0000 Subject: [PATCH v2 12/32] mfd: sec: sort struct of_device_id entries and the device type switch Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250328-s2mpg10-v2-12-b54dee33fb6b@linaro.org> References: <20250328-s2mpg10-v2-0-b54dee33fb6b@linaro.org> In-Reply-To: <20250328-s2mpg10-v2-0-b54dee33fb6b@linaro.org> To: Krzysztof Kozlowski , Lee Jones , Rob Herring , Conor Dooley , Sylwester Nawrocki , Chanwoo Choi , Alim Akhtar , Michael Turquette , Stephen Boyd , Russell King , Catalin Marinas , Will Deacon , Alexandre Belloni Cc: Peter Griffin , Tudor Ambarus , Will McVicker , kernel-team@android.com, linux-kernel@vger.kernel.org, linux-samsung-soc@vger.kernel.org, devicetree@vger.kernel.org, linux-clk@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-rtc@vger.kernel.org, =?utf-8?q?Andr=C3=A9_Draszik?= , Krzysztof Kozlowski X-Mailer: b4 0.14.2 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=C3=A9 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..966d116dd781ac6ab63453f641b= 2a68bba3945a9 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 *clie= nt) case S2MPS15X: regmap =3D &s2mps15_regmap_config; break; - case S5M8767X: - regmap =3D &s5m8767_regmap_config; - break; case S2MPU02: regmap =3D &s2mpu02_regmap_config; break; + case S5M8767X: + regmap =3D &s5m8767_regmap_config; + break; default: regmap =3D &sec_regmap_config; break; @@ -184,11 +184,11 @@ static void sec_pmic_i2c_shutdown(struct i2c_client *= i2c) =20 static const struct of_device_id sec_pmic_i2c_of_match[] =3D { { - .compatible =3D "samsung,s5m8767-pmic", - .data =3D (void *)S5M8767X, - }, { .compatible =3D "samsung,s2dos05", .data =3D (void *)S2DOS05, + }, { + .compatible =3D "samsung,s2mpa01-pmic", + .data =3D (void *)S2MPA01, }, { .compatible =3D "samsung,s2mps11-pmic", .data =3D (void *)S2MPS11X, @@ -201,15 +201,15 @@ static const struct of_device_id sec_pmic_i2c_of_matc= h[] =3D { }, { .compatible =3D "samsung,s2mps15-pmic", .data =3D (void *)S2MPS15X, - }, { - .compatible =3D "samsung,s2mpa01-pmic", - .data =3D (void *)S2MPA01, }, { .compatible =3D "samsung,s2mpu02-pmic", .data =3D (void *)S2MPU02, }, { .compatible =3D "samsung,s2mpu05-pmic", .data =3D (void *)S2MPU05, + }, { + .compatible =3D "samsung,s5m8767-pmic", + .data =3D (void *)S5M8767X, }, { }, }; --=20 2.49.0.472.ge94155a9ec-goog From nobody Wed Dec 17 10:10:14 2025 Received: from mail-ed1-f41.google.com (mail-ed1-f41.google.com [209.85.208.41]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 57E7021B9F3 for ; Fri, 28 Mar 2025 13:31:04 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.208.41 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743168672; cv=none; b=mUE3r3HPK64pojFBcaTYEh9ROr3I+IMqsDut90LBqlQTe8ssTMGi7hRgOq+jJNTUbLZLIwQKeTsbb9rsrgw0pemelnoQidGZ4h69X3jcBdFWO1fgNI5B8eOyzAST5Y1nvFc2aUiBVjKGNo0+yPDdFJIqDoYi13qVgXDv/fmZJXk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743168672; c=relaxed/simple; bh=NTgWVUrUYjaObzH0fsi/8He5KrYlIX0x8gD4jTNG9uA=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=GbAuXRsur28ozDfMO9D546WqLCIQbUFgpMxt9qchnRR6emi+kt2r69NGiw4LRrFuTz5SH0T5Pnx2Vxg6dOCfmOQakWRcuPY7xxR7Q5gmCsull3KSwbfgdZQadYAH7rrXVIBippNewt2yfnQpsTO4TgdJ3osNtv0kncn07TtguFY= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org; spf=pass smtp.mailfrom=linaro.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b=hfBm6FaU; arc=none smtp.client-ip=209.85.208.41 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linaro.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="hfBm6FaU" Received: by mail-ed1-f41.google.com with SMTP id 4fb4d7f45d1cf-5ed43460d6bso3668264a12.0 for ; Fri, 28 Mar 2025 06:31:03 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1743168660; x=1743773460; darn=vger.kernel.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=hfBm6FaUvF5ufr/6w20JAmMdnAfe5Cs7Uu0B0X/jIZ7rwqhe0FL05aR/SXyWw+lBMB AMjDsFSJ7+uo2+H/WQNRfdcvI6aMwKcMBqm8Vjm6hCFc1NDu9E833UX0qe2AGX49IYSI 1f7HG1bdspdTNEsdzdpWmyBB/JpxBheNxIsXgWW9dRquYjCvqMeiU3sqK8xRo9Pa9Y0q 19EgVMEtFKxcjA05SHiIL/UwKBgp79K1MlmAGPuB4A3XLBjxWfTb+jQGLk7921ZNbyvf r5K8oFHqpAsORNg3eca41emAY0svAQpYx43FOjxxKUGQv0CGnE9GkvKpQAvzFh+sQZvU 8KwQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743168660; x=1743773460; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=+VoGJVSU0pPXxfOhXBJG1TDUozXlWar2eJ++GWdYkqc=; b=V8mgRa/iLbSMvt3jKESVgKIphNvGLRxqztfZA5PywLk2W60duL4TMI9G/rB8KrQoDP uC4BgN0gnY02AZOJKCVjn4aGO+TbUiMz4snIXyRJ9g+NlLt3UK5X/by7MyZvfbOcJz8v +4VaJtPwf9SEE9KaBocAXHwY5BNiUse6CPRgWEpFsWhIK7h1qTGJRekWYYVP2DoW4Vov RZ+zPAOM9Xi50UkZpS7r0ua6UAsC77U+7+QH0ohk5r1nIQyHpW2WFl1/qzkfkmfCom0F DquD1ZrpgbM/HUNRnxcsfQQxUK+FZfk8ze+Y78dv/XKw3gDPxaG0Cbx6JrqM8y2zRNAh FO0Q== X-Forwarded-Encrypted: i=1; AJvYcCU+/Ov3veWme5LPnaNcxlOsv/jE5Njq5NeWcy3FCmYPwi2IdQZxScfEj/CgEWFbSJk+6Ej1WezSgDGZ4VE=@vger.kernel.org X-Gm-Message-State: AOJu0YzDhFSUAyj+N2ifZJrlsiam0p6S+CSa2OzoQfA0aoR7j5zBqyfA qc4vjqDtblrz6w4ptWqQbEGeAKVg19YuBBXs0y2aE6KfpdM1thbit+dhtpXUWWs= X-Gm-Gg: ASbGnct5csnrksMy/7ljMI/cOeVgYiVbjKMhO4HyfSKTZLTdNSte99kZkWmWooY71hi b86KcX5L6mco0DrN7hevVXZpjQPmFdhAArUhlMSDNCb5JRstrM4iUDF/31rbj1wsHGe8UFM3EQ1 v6ParaPX1RYNnLJyBckHK4dWMXjv/Uii2AOLObZi/Qr0Z7MG+8ValluG8TCxSXo4wX1YplDZw1B nXcAy5r7hXsnQM8FYWgd10vkpRUgS9Caq1RfM8euXfCgsc0YHlqjKwDqw5HAXWCTyiSvKcb/xPq uboUmbyjXzRzJz8HBzCDzwhVHsi2NeszjoDMVNkwnALum+SMNrje4hHjfhRt+fZ+8L7EOXEQNYJ /tdW+8H93/URi8sO5OXQ0q8poq3gY X-Google-Smtp-Source: AGHT+IFa1ywqWtMZSnG9pts0mMrN/sttXLfnO6tOUzdFdR1G8cdCfNjEuqB1D3yndUkb+y2vUxTGqQ== X-Received: by 2002:a05:6402:3485:b0:5e5:bfab:51f with SMTP id 4fb4d7f45d1cf-5ed8c1f880amr7936018a12.0.1743168660409; Fri, 28 Mar 2025 06:31:00 -0700 (PDT) Received: from puffmais.c.googlers.com (8.239.204.35.bc.googleusercontent.com. [35.204.239.8]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-5edc17e01f7sm1355284a12.79.2025.03.28.06.31.00 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 28 Mar 2025 06:31:00 -0700 (PDT) From: =?utf-8?q?Andr=C3=A9_Draszik?= Date: Fri, 28 Mar 2025 13:28:59 +0000 Subject: [PATCH v2 13/32] mfd: sec: use dev_err_probe() where appropriate Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250328-s2mpg10-v2-13-b54dee33fb6b@linaro.org> References: <20250328-s2mpg10-v2-0-b54dee33fb6b@linaro.org> In-Reply-To: <20250328-s2mpg10-v2-0-b54dee33fb6b@linaro.org> To: Krzysztof Kozlowski , Lee Jones , Rob Herring , Conor Dooley , Sylwester Nawrocki , Chanwoo Choi , Alim Akhtar , Michael Turquette , Stephen Boyd , Russell King , Catalin Marinas , Will Deacon , Alexandre Belloni Cc: Peter Griffin , Tudor Ambarus , Will McVicker , kernel-team@android.com, linux-kernel@vger.kernel.org, linux-samsung-soc@vger.kernel.org, devicetree@vger.kernel.org, linux-clk@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-rtc@vger.kernel.org, =?utf-8?q?Andr=C3=A9_Draszik?= , Krzysztof Kozlowski X-Mailer: b4 0.14.2 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=C3=A9 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..f4c606c5ee5a809a106b13e9474= 64f35a926b199 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 de= vice_type, num_sec_devs =3D 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 =3D 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..a107a9c1e760f90fcb59a9944b7= 4e9a39a0d946c 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; =20 device_type =3D (unsigned long)of_device_get_match_data(&client->dev); =20 @@ -166,12 +165,9 @@ static int sec_pmic_i2c_probe(struct i2c_client *clien= t) } =20 regmap_pmic =3D devm_regmap_init_i2c(client, regmap); - if (IS_ERR(regmap_pmic)) { - ret =3D 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"); =20 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..9f0173c48b0c8186a2cdc1d2179= db081ef2e09c4 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 =3D &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); } =20 ret =3D 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 !=3D 0) { - dev_err(sec_pmic->dev, "Failed to register IRQ chip: %d\n", ret); - return ret; - } + if (ret !=3D 0) + return dev_err_probe(sec_pmic->dev, ret, + "Failed to add %s IRQ chip\n", + sec_irq_chip->name); =20 /* * The rtc-s5m driver requests S2MPS14_IRQ_RTCA0 also for S2MPS11 --=20 2.49.0.472.ge94155a9ec-goog From nobody Wed Dec 17 10:10:14 2025 Received: from mail-ed1-f51.google.com (mail-ed1-f51.google.com [209.85.208.51]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 04D6C21C166 for ; Fri, 28 Mar 2025 13:31:05 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.208.51 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743168674; cv=none; b=dNNivLPqtYunu7YrGhNqtOZb6dSZ8BPcqrzr/+sR1DYpkQb6rjeFXJy1LTiSZjD6Y8BuFaVxTOVKDf//WqR6CVl4FTFKYqFZ6/5YAA3rNTlMGec1cNkRlcvuSODaDWoAuLXzUja2oQzhlwyojfurrcrnOsr7PFhEcdogcwPVTfQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743168674; c=relaxed/simple; bh=acDeJKyeAKIRosg5ADxV9Zz9Wij86n9v8Z9fpq/Qhv4=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=afulEHEHs8KEO8Qp26Cdlk+qLxKVVBqJ/oP5yXksZoKoykHoMokIeiL+ED8C/2C5iU0qgGJTuaRobaOEtN6h7SOqNFlmsx02LvxS00V94VdhpywPl4+etBWQUGjLEjXVQh4qrtdZhK+dTj0vhM/8YuUXQ+TTRpkzUo4J2EgJfa4= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org; spf=pass smtp.mailfrom=linaro.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b=bvKneH+s; arc=none smtp.client-ip=209.85.208.51 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linaro.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="bvKneH+s" Received: by mail-ed1-f51.google.com with SMTP id 4fb4d7f45d1cf-5ed1ac116e3so3663131a12.3 for ; Fri, 28 Mar 2025 06:31:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1743168661; x=1743773461; darn=vger.kernel.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=bvKneH+sQ0S+FWIi4x7KGXFixQX7Hfjyx1Dn4wGs6ifhM6U32D7OrnFVvpZz9fJQUJ KLcgVGGCOJ7txjPe2H9WjZiMkXJbb4O1j0LRdDX+SCE99S78R0+dNP6PQpJnuqxllcUG wV4g5CvKUd0+pvMcVShUnNfdLVPiA+CUMwdaK5AxYktMhxLeokopLhGhE66z4MDg4FrA m3dwfx8QNFQEXOWnYpJalKYVhwJhwjcOhntlzc5RVWDp/aNl0lHUdI8zzZJnwZ8jopeB yLlD1rFGHIgp8mfrh/8gtkFuUjcBuHeyXxxovrxhtYUNWa9CI4f7thV61wZN0cUJsCcH c53Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743168661; x=1743773461; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=GcW1mWBfWGvNcEl9sJWjMnkVLrjIE7eEENFwEaEA4Go=; b=xQtjyror2Lbh+upE8sR4Oa5QhftluN/BamrILfOY7tnQt96o8TmW3ilR+NlyMGgY4M /JzMWW5wlFu0R19U+DQMG4mQbMtrAamp8ud14g8awwIPcqCXzsCoLoyuQ9MM+aA2zYoS OMyGSqGvn10nj1JBr4h3sFdnRiGiV/iWnRPmC+w3ArQDt7mk7zq/ORpmL3bnM3cA315w 76HJUgBUw2VpBnrBKOI/nOzQbnW7nKMbFm29rETbkXydXCIKfcbdicT17kTWcW6Pvmf9 AZrCuD7vsumtve/fp7LmLWul0OgNdSgKmZE0a8Ou5S/3FgeYiuDI9L+ib0cqD3dZ9NCw SdKQ== X-Forwarded-Encrypted: i=1; AJvYcCWgZD7+VKgoEpfJL54kWJPuIYptcn9xFNd72/27qW/50jcSFgSvj3wqf1/WFCWhY6REJ5f/U8b9HSUCDCw=@vger.kernel.org X-Gm-Message-State: AOJu0Yy7LAnW8rFNBqVdM/Nv4uG+Ags2jaV3adxgli/311leVy3rZAEa Y79bOJJoGBvhL4w+gv5Slny3BbVHk7CoFbyBj6Co0QEiZK7ojaYGruA3ZtcvZ+k= X-Gm-Gg: ASbGncsb4s06HVl0Lg+bqokqo61FZ+m9F4HtkKsLHfdip4o8umaEe2J39mGqMvFn4Dq dmmfFMYO7lOpLXk/rv+yIaUx/024eTsVr9kLt6zIdYOFhhuEEthyhNS1IH0FcGmMziRbeVotFpk e9OPmT7U/+TLFV0WePUYW34HYeU3RkNIk302pz3VRBRVvMn6VLQFCe84hmmgFKzLRFBXNk3Mh3K /yynMgLDICO2cFmc7MApZnOL+aYf0QJ5A5JbpPePO1rkwj2SkSEb5Xd4W/gSVxUfdQ+i9vY335T eGY3aO1C5n+7sKyQJa1eOj9SMDVAI926tHLaQNf0ncOv9o/pQz7dwnhB5DgmMTAbffFIukxm/9H qA/6djX92W5S0wAhpABhrtJyeM+ML X-Google-Smtp-Source: AGHT+IFoyjCdv6rnlWEUloFhpOSmsaTb0sh0cSCSk2tmwmMxrnGI+F5Pjs7eau9btRCy52IBbxAE/A== X-Received: by 2002:a05:6402:1d4a:b0:5e5:ba77:6f24 with SMTP id 4fb4d7f45d1cf-5ed8e59e28cmr8076694a12.16.1743168660911; Fri, 28 Mar 2025 06:31:00 -0700 (PDT) Received: from puffmais.c.googlers.com (8.239.204.35.bc.googleusercontent.com. [35.204.239.8]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-5edc17e01f7sm1355284a12.79.2025.03.28.06.31.00 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 28 Mar 2025 06:31:00 -0700 (PDT) From: =?utf-8?q?Andr=C3=A9_Draszik?= Date: Fri, 28 Mar 2025 13:29:00 +0000 Subject: [PATCH v2 14/32] mfd: sec: s2dos05/s2mpu05: use explicit regmap config and drop default Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250328-s2mpg10-v2-14-b54dee33fb6b@linaro.org> References: <20250328-s2mpg10-v2-0-b54dee33fb6b@linaro.org> In-Reply-To: <20250328-s2mpg10-v2-0-b54dee33fb6b@linaro.org> To: Krzysztof Kozlowski , Lee Jones , Rob Herring , Conor Dooley , Sylwester Nawrocki , Chanwoo Choi , Alim Akhtar , Michael Turquette , Stephen Boyd , Russell King , Catalin Marinas , Will Deacon , Alexandre Belloni Cc: Peter Griffin , Tudor Ambarus , Will McVicker , kernel-team@android.com, linux-kernel@vger.kernel.org, linux-samsung-soc@vger.kernel.org, devicetree@vger.kernel.org, linux-clk@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-rtc@vger.kernel.org, =?utf-8?q?Andr=C3=A9_Draszik?= X-Mailer: b4 0.14.2 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=C3=A9 Draszik --- v2: * squash two previously separate patches into this one (Krzysztof) --- drivers/mfd/sec-i2c.c | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/drivers/mfd/sec-i2c.c b/drivers/mfd/sec-i2c.c index a107a9c1e760f90fcb59a9944b74e9a39a0d946c..81f90003eea2a40f2caaebb49fc= 9494b89370e7f 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) } } =20 -static const struct regmap_config sec_regmap_config =3D { +static const struct regmap_config s2dos05_regmap_config =3D { .reg_bits =3D 8, .val_bits =3D 8, }; @@ -120,6 +120,11 @@ static const struct regmap_config s2mpu02_regmap_confi= g =3D { .cache_type =3D REGCACHE_FLAT, }; =20 +static const struct regmap_config s2mpu05_regmap_config =3D { + .reg_bits =3D 8, + .val_bits =3D 8, +}; + static const struct regmap_config s5m8767_regmap_config =3D { .reg_bits =3D 8, .val_bits =3D 8, @@ -138,6 +143,9 @@ static int sec_pmic_i2c_probe(struct i2c_client *client) device_type =3D (unsigned long)of_device_get_match_data(&client->dev); =20 switch (device_type) { + case S2DOS05: + regmap =3D &s2dos05_regmap_config; + break; case S2MPA01: regmap =3D &s2mpa01_regmap_config; break; @@ -156,12 +164,16 @@ static int sec_pmic_i2c_probe(struct i2c_client *clie= nt) case S2MPU02: regmap =3D &s2mpu02_regmap_config; break; + case S2MPU05: + regmap =3D &s2mpu05_regmap_config; + break; case S5M8767X: regmap =3D &s5m8767_regmap_config; break; default: - regmap =3D &sec_regmap_config; - break; + return dev_err_probe(&client->dev, -ENODEV, + "Unsupported device type %lu\n", + device_type); } =20 regmap_pmic =3D devm_regmap_init_i2c(client, regmap); --=20 2.49.0.472.ge94155a9ec-goog From nobody Wed Dec 17 10:10:14 2025 Received: from mail-ed1-f51.google.com (mail-ed1-f51.google.com [209.85.208.51]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 469441A314B for ; Fri, 28 Mar 2025 13:31:06 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.208.51 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743168671; cv=none; b=MYww4hF0B5JVZuqtc24WTDWr45SswEZ6ZiAEr2DBt1SQpikP4ayzIuvA8YsNwsQc9ALSONvxaZhMNhvyfFZPkEJ1fqMZOVbTrxdUu9Z5zk1STeggRw1ZnwbJcBWzN8EIk2HlHDlXLlYxPaktHwh+JXbIcmsBX0+phIfRPUAWHsQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743168671; c=relaxed/simple; bh=G2VDOjAPimv/kPRtxt/LX8SDH6NDkA0IsfX7EDPKEaQ=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=otYWyWdE8YeL5QP8AwezqmZzeCO7eGi0dTTkG8wzPcAomFn7EMzsKNNFBp6n1aeR2TOz4jCeFLmP4sNnnfDGLkw8522R9Hy27Zo5vOjHEJDM2XtSd4q+6br1ufm5vLIo8IbdZQaeAc32WTTgdkef/er86mTa5MOMJT2ztF0+neA= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org; spf=pass smtp.mailfrom=linaro.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b=bNTT9IK3; arc=none smtp.client-ip=209.85.208.51 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linaro.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="bNTT9IK3" Received: by mail-ed1-f51.google.com with SMTP id 4fb4d7f45d1cf-5e5cded3e2eso3366149a12.0 for ; Fri, 28 Mar 2025 06:31:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1743168662; x=1743773462; darn=vger.kernel.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=bNTT9IK3d5KvOh4LkL5bwbUA0xwVp6rc8YlTIemkkKqSI3HneRgnFc50spAhVeq+y7 atLwhSkREpPPIPxNQnT2FWbAe5nWC5yz9zjHEV9gb9qhZiPVq6v+uvDYQWvptBoova5/ X5LMl3RwbGPnWMyyLO1xxgP0aLr3komhMLoAtoLwA6iRVg3y+sf16azZ/Y7xbwt/Xh6X QkXWfJ8qWjEXghiZPLWr1H/jxOZPCV7njBpVMsjO58LZ+7+JXpXQEYI6FksUx8Ptjvne 2RYSiXjR5qumJZSDyfUeWD4PLeLfyl89w/FgwcL86R0J7D/VE7bEPx5Xf+0EmXBBONve pMTw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743168662; x=1743773462; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=EqGhx5PJ7AN26XxBcQwRDT/hvBtSHvxnm6hLozkr74A=; b=WxkYWOw+dBmltviC+w+cWHejotcKCJxKrt46dJZD/lum7iz/s4rH3FEf9enbQm65s3 Bt5ZziZfUPtkbWmkOzCB85QbxlJthjopoHxCgyoB8c90AcAmTB/PJUiwyDJ9j0N1HCuo 0SG1A8oQh+IzBo1QYk39LHDisdrNfzr2w2P6TuQa/GlDOSGXSG/+ekbd9BsFjun7ifyU mAS8j9DG0IyO611WLDmw59kw5hAvoqvoPtRtqO8kCqzOWUkssmm6bT9gkPuK01rwZ2SF ozyT7gAvt/sajls/qKWEtjVVkuS+lolfEE78jtN9ac+XMuKaCH2bTTEfcvitECSYJ/uq H4Og== X-Forwarded-Encrypted: i=1; AJvYcCUsxfYyo5hUlaBYlTw+zINscQzTiL9zM8oinbAKx/8GZsf7s1RWnrdTW1EReflWusuPMXmuGs0bByGPrzU=@vger.kernel.org X-Gm-Message-State: AOJu0YwNz7IW825CySf7SibGyjyVNlJ9t454m8tEvI6qYtzVccEaMJl0 pOOD3Zgkj6LtnWFWmiiP70r5BOj/mBoExU3CRvktdDqcHLPoRKhMXz/rwu3sy1M= X-Gm-Gg: ASbGncv9dNMcmzdh37vvaYPGLSJHzFnyB2oUicWiblpmILnrZMzUbM9mcbTPumn60Cf zXeWZHHWi6stSzQkSSZsqCi84iac6GVhh9waAbpEkm00bswADPcIsM4NO13fDE6qPZcIconLPUg c7dUZyjyMIJZzHmYtTormI4PZJQj7E1Kw/5fRTNWzzW05ZH81Mr5knIkaN9O3Jvbxbkd+UqwICf NypgYk/NE58czui0jWlLdMIfMSAAgEufgiOd27uqEYemfcS0sD5GISHSqueGYIFeYuV+lAWqQW8 3JehvE0Y7TOd8Jrl9Rc/AAalVabm4VMuGOWo8EgzfGtSEF77udDAem1tF+yt+3Q/g3V4gpQWqAC Qx9vHZDF6GM8oHJWVsa9qrmjEqUqY X-Google-Smtp-Source: AGHT+IFFA9eoxZ8yzHOxTpOhNTpQABoRUZClQa2WX7rYpC3RMUD7CguVMWSVn/HPqyoqjb3+u3RckA== X-Received: by 2002:a05:6402:5187:b0:5ec:922f:7a02 with SMTP id 4fb4d7f45d1cf-5ed8e496a71mr7840054a12.10.1743168661407; Fri, 28 Mar 2025 06:31:01 -0700 (PDT) Received: from puffmais.c.googlers.com (8.239.204.35.bc.googleusercontent.com. [35.204.239.8]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-5edc17e01f7sm1355284a12.79.2025.03.28.06.31.01 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 28 Mar 2025 06:31:01 -0700 (PDT) From: =?utf-8?q?Andr=C3=A9_Draszik?= Date: Fri, 28 Mar 2025 13:29:01 +0000 Subject: [PATCH v2 15/32] mfd: sec: s2dos05: doesn't support interrupts (it seems) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250328-s2mpg10-v2-15-b54dee33fb6b@linaro.org> References: <20250328-s2mpg10-v2-0-b54dee33fb6b@linaro.org> In-Reply-To: <20250328-s2mpg10-v2-0-b54dee33fb6b@linaro.org> To: Krzysztof Kozlowski , Lee Jones , Rob Herring , Conor Dooley , Sylwester Nawrocki , Chanwoo Choi , Alim Akhtar , Michael Turquette , Stephen Boyd , Russell King , Catalin Marinas , Will Deacon , Alexandre Belloni Cc: Peter Griffin , Tudor Ambarus , Will McVicker , kernel-team@android.com, linux-kernel@vger.kernel.org, linux-samsung-soc@vger.kernel.org, devicetree@vger.kernel.org, linux-clk@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-rtc@vger.kernel.org, =?utf-8?q?Andr=C3=A9_Draszik?= , Krzysztof Kozlowski X-Mailer: b4 0.14.2 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=C3=A9 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..79a3b33441fa5ab48b4b233eb8d= 89b4c20c142ed 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 =3D sec_pmic->device_type; const struct regmap_irq_chip *sec_irq_chip; =20 - if (!sec_pmic->irq) { - dev_warn(sec_pmic->dev, - "No interrupt specified, no interrupts\n"); - return 0; - } - switch (type) { case S5M8767X: sec_irq_chip =3D &s5m8767_irq_chip; break; + case S2DOS05: + return 0; case S2MPA01: sec_irq_chip =3D &s2mps14_irq_chip; break; @@ -492,6 +488,12 @@ int sec_irq_init(struct sec_pmic_dev *sec_pmic) sec_pmic->device_type); } =20 + if (!sec_pmic->irq) { + dev_warn(sec_pmic->dev, + "No interrupt specified, no interrupts\n"); + return 0; + } + ret =3D 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); --=20 2.49.0.472.ge94155a9ec-goog From nobody Wed Dec 17 10:10:14 2025 Received: from mail-ed1-f54.google.com (mail-ed1-f54.google.com [209.85.208.54]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 9F04821CA0D for ; Fri, 28 Mar 2025 13:31:06 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.208.54 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743168675; cv=none; b=mXhMzS+TdUCgSxCS7G4uBwsWTRJ75nUV/8xqvSDH4No7iMpu4wMof0V1J7HNoXtO0cas/8Hx/9QoU32NuKSi1h9PVlatEqdGRY6Qamg1sl7T2bjuah3R/oT334VHHzWCzK0B72HuH+0C3EPR3jvRcdhHs7TmFIkuG09WS874oXI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743168675; c=relaxed/simple; bh=cUTy7Xx1YiX1UnRa4JT4b9qKBeo7MuQLQSe/ooLtKqM=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=HCNpEtWUw/I7CNhL4+3JB9PVIOVVos/gnbkUfGo2LBcs1srWNqXqg0TCfH0bUBRPkgT9Qn2BM9ITVWFP4bD1YuS1FJcWAlpM57R9JeCYe6Ud9+omUTQrJiI/wEu2hav4vGV7J5pjYGBF7fdoJnN3gml3paX5+dG5wryFZtn84+8= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org; spf=pass smtp.mailfrom=linaro.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b=nV1j4V4/; arc=none smtp.client-ip=209.85.208.54 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linaro.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="nV1j4V4/" Received: by mail-ed1-f54.google.com with SMTP id 4fb4d7f45d1cf-5e614da8615so4054011a12.1 for ; Fri, 28 Mar 2025 06:31:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1743168662; x=1743773462; darn=vger.kernel.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=nV1j4V4/dIkxhlaR22kwv7O538NCkJMzYdChmNNNyYBx9gYBjA0u6F+qHKjj3HKTSI iAdNouE+c8Eu1nT7xfAv41KAsk+auq2GuC+/akczxKWFQmfmX/jc6PIFBlbdmPmZcP3k Bzk4Syk3oZBCDIkrUNHm23GHnyFsEEwW46dc6BrGiR6d1pGnPIF1/GTg/rsHaKE5hFQt LC7lrJ5cdCBcemqS+R0jAz+ExDU7hYQ7yQpOdthep0D7IiOhi59ZkxH8/qFxyQ0/kehn QgC6IEEHVHeNwl1bmRvk0Im0RwRTGWnTeaEAm9K3Y33ExqlUOJfY4jiUPiKYdAhWPgQK TqDg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743168662; x=1743773462; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=EOEB7IVKZaW1PZ6sIgI8umGsLZ0fzThiODmAgEs2dvM=; b=vrjwdXkVqOMytNF9QjLnA4VSpfcvmUVjktjhFi3UPBx47bt3y8DtyxjiQG8pfKBLKk l3Z+o0eX3D/djZWKVIit6Vy0w2QnUexZLlkcfLmblB4mJBqpLBsHzg+C9XsBSXwNWeUv klPKyU8ffl+uzIo/WdzVwW9yvb2//Yl3eFRs7V8diuD/w0c+ZE1m8nhuQqBKlguT4EmB DpIr218dP81rUzI11tvboQ/tKaT4gMhja20aDkNWxzpipsReZwJyNuyxd0gvUXLEDugb PZ58BPjxaprWxG33n08CEvgm3A0ZiLWbQQcujDr64WYKEUXsygw/c0iQpHxmfP74Gk1z MY+Q== X-Forwarded-Encrypted: i=1; AJvYcCXT/8yLZgPsXq70S7GUEMJYvBcH7tzW1cl/7Ax1mISpVM2cU4T8wZi09g/E6Md58igi5l+OUhXDDfYgmOA=@vger.kernel.org X-Gm-Message-State: AOJu0Yy/BhD+gGwgQ9dF3tJ+sjmZp4oVtKzad0aXRkgWxBv5hB0vTjQg 5fDvZKs3lMLoEGh0LhDigP9pxvEUd3YtUhITChkDpy48qyGjB+P5lArHUmHyAb0= X-Gm-Gg: ASbGnctEDwngbOQpO7z0EUqhWny1JLJXulusAK7qZQpuNlxbuPvVSp4EPHH3iRGG9es qAOzQyq2Y4egpf4QHdaX6bGaBLStE7yOzdZ9Or4oDQFYFXkgtu4rRuqt2aL04P27xbGisRDzRmT CDr4Ev8MrJbeXSTZ3j0LSGUz1xX7tOmMg2oslOe92zJ9uTIVhH2jGVvextue9NIAfIB5/7Ac7cL 0NB97Z8MRI/P1lFcLDzqZuChLkuhE0KAJhUBLI0VmfA3ZGvTtnomgfPcx6oOU6lL0M+9TS3pYEN fmSKKATESdVhm3OLrOdwGDZy1NgIPH5WyFm/L1i1kC7zfwlLEE6baXvGlY2POXpSfnZ4g/bU1co DMphmhXw0up61dAvdibfY9Cc+l3v/ X-Google-Smtp-Source: AGHT+IENTriv0ZKQDvxOFGqnTo7xSy+uELps+TAzZydZP4h3NfKqEFYmhwGmgFpAh/R37lkn+8E27g== X-Received: by 2002:a05:6402:1ecd:b0:5e5:ba77:6f42 with SMTP id 4fb4d7f45d1cf-5edc44c9935mr2924122a12.4.1743168662019; Fri, 28 Mar 2025 06:31:02 -0700 (PDT) Received: from puffmais.c.googlers.com (8.239.204.35.bc.googleusercontent.com. [35.204.239.8]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-5edc17e01f7sm1355284a12.79.2025.03.28.06.31.01 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 28 Mar 2025 06:31:01 -0700 (PDT) From: =?utf-8?q?Andr=C3=A9_Draszik?= Date: Fri, 28 Mar 2025 13:29:02 +0000 Subject: [PATCH v2 16/32] mfd: sec: don't ignore errors from sec_irq_init() Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250328-s2mpg10-v2-16-b54dee33fb6b@linaro.org> References: <20250328-s2mpg10-v2-0-b54dee33fb6b@linaro.org> In-Reply-To: <20250328-s2mpg10-v2-0-b54dee33fb6b@linaro.org> To: Krzysztof Kozlowski , Lee Jones , Rob Herring , Conor Dooley , Sylwester Nawrocki , Chanwoo Choi , Alim Akhtar , Michael Turquette , Stephen Boyd , Russell King , Catalin Marinas , Will Deacon , Alexandre Belloni Cc: Peter Griffin , Tudor Ambarus , Will McVicker , kernel-team@android.com, linux-kernel@vger.kernel.org, linux-samsung-soc@vger.kernel.org, devicetree@vger.kernel.org, linux-clk@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-rtc@vger.kernel.org, =?utf-8?q?Andr=C3=A9_Draszik?= , Krzysztof Kozlowski X-Mailer: b4 0.14.2 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=C3=A9 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..bb0eb3c2d9a260ddf2fb110cc25= 5f08a0d25230d 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 de= vice_type, =20 sec_pmic->pdata =3D pdata; =20 - sec_irq_init(sec_pmic); + ret =3D sec_irq_init(sec_pmic); + if (ret) + return ret; =20 pm_runtime_set_active(sec_pmic->dev); =20 --=20 2.49.0.472.ge94155a9ec-goog From nobody Wed Dec 17 10:10:14 2025 Received: from mail-ed1-f44.google.com (mail-ed1-f44.google.com [209.85.208.44]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 014CD21C163 for ; Fri, 28 Mar 2025 13:31:05 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.208.44 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743168671; cv=none; b=g75wIhTrif/2GvK6OCYJdE1J1/B3eSg2bZVhhX1swU/KEllY3zLlvxBXMdInOBXkgLIhtIEFfkENsi3ai9uUSBqj6McS2G5SfV4NnaA1j9bBmH0tK1SOa9gZKC3ado/L3gi4SETw3r6jvHZo1UOiGFKKNvDwCdmydDUHIQImhBk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743168671; c=relaxed/simple; bh=i+oEXaY8LAt9v5xfTUnPr4X70I4bkLZ4jOwueXnpnOU=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=dDrIRoL/cwMH2SZg7LIF5QrfmxR2nx2d/lVD5bQRvWhMOCZxF8YU8xkt78icRDsM3VYbJDT/IDd+Y5d1jWPTDVwUpHVfKMWwbRIWVRFqEY3L3e8Q1eiUqwWQlzfCZTvPIZB6LFUYudmMynsDlUSoD/F3r1FyjrvYxltp50x78vc= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org; spf=pass smtp.mailfrom=linaro.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b=L+kx6c8H; arc=none smtp.client-ip=209.85.208.44 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linaro.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="L+kx6c8H" Received: by mail-ed1-f44.google.com with SMTP id 4fb4d7f45d1cf-5e686d39ba2so3979679a12.2 for ; Fri, 28 Mar 2025 06:31:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1743168663; x=1743773463; darn=vger.kernel.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=L+kx6c8HMHK5qJTRbgpd4mxCXaFE8y9FTtwV5Sajkop3+1ztMi78Xe26BJgWqGdf1/ 1CM1CYhNsiiZrobqEglx/2tDc205+t6Pw9dkO4BrqueBViXz4oVB9wttUQelDJNBBVfl 4t1tj8ZSncJ2qkB3bYmOePdz73smKNeXVw27nHANvJkCmufIIf4PyNjmX+gZqEosnLCl avYsNN6rjAUX/7sXTvdnEs+lGA5AAfRtH1hgg6CWqPj8b0Qa6iAOMFReygaSA1GGeX73 HuyFaCnWPinwk0t5wOw7THejkR5TaVmoNuKyZD6dZ7aL3yVXp54CrnKYIL8+ldgHuuec qqdg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743168663; x=1743773463; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=RlfAg/7rLSoS1Ke1F+8yA+aiyZO+gcbIufljerVjsNI=; b=AXsB/EMqFY3nkywpCj9eAHJec26L4Gv/9mjkQXcm1lLGyXk51T5kaN4Met4cpeFJ+w +x7CmZbdLJWqm2+fIeOFCMFOT+3uvRpQt1CJuOOaI2TOeo9nIzQp4uZy0L6qk3qlhD+q dJuobt1cG0Nv1Ny9LX9BLFiTb9EXhUPwn4guFXHlCMuLTpvfz5mtBVI+yODh4+V2ZpLY nKRr6KqdjkEa0YnNWSShurz83zv46reSgDX0EXIaeanA03UWyJiC3y/SNaRJR7ByBEgv Nuu5HgH1Tnoila4rsRazsEWvEFeAO/rmrdT0IxhQm76OvezVBAQya36PQVfsnaeNvqhW FBBQ== X-Forwarded-Encrypted: i=1; AJvYcCX3gjHYPfDdmwRyJCu2NT1mbOZSnTKQs7CzSds2BGtfGnXoNldXVSHy1qyQY3795uctkuJw7c3glWTi1Cs=@vger.kernel.org X-Gm-Message-State: AOJu0YxpEkX2sRq/EeuQafJnZjicZqOtjC5gwdjX975nUbwznMyjn5yH g1bf7H+TZSXj9W+3tvXgxkdHBLM9Nty/4haaOQy1KIJvwx+R4Oecx1WsRH0IlTY= X-Gm-Gg: ASbGncu1enpzQasnuAqSM4DylEXJbbyVFoYcKT7dh/cGS+BHAHwNTAOE6kOa1F5MARe BCrtCELMvHXF7zLK1uHHd8V9Vivba1UqyhuPqghV49bdERzkFV4UaIU2UUSDdFs9K9Li2e49VPO 7KdC9w3ATFOZXYv7TA8r6+vbHLGfVIQOHco5gJkPfzpvthXEWYgrsN0WFFmIHAFPPjwlKUOCJiE Q+3HKWWSZ43aiKNsY9HutXxvovBJfNi9kfQziv6nz+KAJWnMV4xKk/qPzlB2aDZn0b4fPg9MJ4I hvJQXr0VcTChFM/3CVtWfVC0I8qYX7nUiOqhoor6p5DEziKBYF05QZI4K0xInxF46EThibtQs0Z GlYqpHDojaCN+hp/6sJSuRIW1fRSH X-Google-Smtp-Source: AGHT+IE0dtnKjtCZHZKjoZR/7zYAQaAO0Ef9xCaVRLiZP5a5mCNoA/66zq9oZtEH5A6PFmv8Us35Lg== X-Received: by 2002:a05:6402:524a:b0:5ed:1841:18c5 with SMTP id 4fb4d7f45d1cf-5ed8ee288c7mr7337352a12.30.1743168662613; Fri, 28 Mar 2025 06:31:02 -0700 (PDT) Received: from puffmais.c.googlers.com (8.239.204.35.bc.googleusercontent.com. [35.204.239.8]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-5edc17e01f7sm1355284a12.79.2025.03.28.06.31.02 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 28 Mar 2025 06:31:02 -0700 (PDT) From: =?utf-8?q?Andr=C3=A9_Draszik?= Date: Fri, 28 Mar 2025 13:29:03 +0000 Subject: [PATCH v2 17/32] mfd: sec: rework platform data and regmap instantiating Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250328-s2mpg10-v2-17-b54dee33fb6b@linaro.org> References: <20250328-s2mpg10-v2-0-b54dee33fb6b@linaro.org> In-Reply-To: <20250328-s2mpg10-v2-0-b54dee33fb6b@linaro.org> To: Krzysztof Kozlowski , Lee Jones , Rob Herring , Conor Dooley , Sylwester Nawrocki , Chanwoo Choi , Alim Akhtar , Michael Turquette , Stephen Boyd , Russell King , Catalin Marinas , Will Deacon , Alexandre Belloni Cc: Peter Griffin , Tudor Ambarus , Will McVicker , kernel-team@android.com, linux-kernel@vger.kernel.org, linux-samsung-soc@vger.kernel.org, devicetree@vger.kernel.org, linux-clk@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-rtc@vger.kernel.org, =?utf-8?q?Andr=C3=A9_Draszik?= X-Mailer: b4 0.14.2 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=C3=A9 Draszik --- v2: fix typo in platform data for "samsung,s2mps14-pmic" --- drivers/mfd/sec-i2c.c | 133 +++++++++++++++++++++++++---------------------= ---- 1 file changed, 66 insertions(+), 67 deletions(-) diff --git a/drivers/mfd/sec-i2c.c b/drivers/mfd/sec-i2c.c index 81f90003eea2a40f2caaebb49fc9494b89370e7f..41b09f5e3c49f410604a5d47e62= 5cbb37d7f5fa2 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" =20 +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_conf= ig =3D { =20 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; =20 - device_type =3D (unsigned long)of_device_get_match_data(&client->dev); - - switch (device_type) { - case S2DOS05: - regmap =3D &s2dos05_regmap_config; - break; - case S2MPA01: - regmap =3D &s2mpa01_regmap_config; - break; - case S2MPS11X: - regmap =3D &s2mps11_regmap_config; - break; - case S2MPS13X: - regmap =3D &s2mps13_regmap_config; - break; - case S2MPS14X: - regmap =3D &s2mps14_regmap_config; - break; - case S2MPS15X: - regmap =3D &s2mps15_regmap_config; - break; - case S2MPU02: - regmap =3D &s2mpu02_regmap_config; - break; - case S2MPU05: - regmap =3D &s2mpu05_regmap_config; - break; - case S5M8767X: - regmap =3D &s5m8767_regmap_config; - break; - default: + pdata =3D 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"); =20 - regmap_pmic =3D devm_regmap_init_i2c(client, regmap); + regmap_pmic =3D 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"); =20 - return sec_pmic_probe(&client->dev, device_type, client->irq, + return sec_pmic_probe(&client->dev, pdata->device_type, client->irq, regmap_pmic, client); } =20 @@ -190,35 +163,61 @@ static void sec_pmic_i2c_shutdown(struct i2c_client *= i2c) sec_pmic_shutdown(&i2c->dev); } =20 +static const struct sec_pmic_i2c_platform_data s2dos05_data =3D { + .regmap_cfg =3D &s2dos05_regmap_config, + .device_type =3D S2DOS05 +}; + +static const struct sec_pmic_i2c_platform_data s2mpa01_data =3D { + .regmap_cfg =3D &s2mpa01_regmap_config, + .device_type =3D S2MPA01, +}; + +static const struct sec_pmic_i2c_platform_data s2mps11_data =3D { + .regmap_cfg =3D &s2mps11_regmap_config, + .device_type =3D S2MPS11X, +}; + +static const struct sec_pmic_i2c_platform_data s2mps13_data =3D { + .regmap_cfg =3D &s2mps13_regmap_config, + .device_type =3D S2MPS13X, +}; + +static const struct sec_pmic_i2c_platform_data s2mps14_data =3D { + .regmap_cfg =3D &s2mps14_regmap_config, + .device_type =3D S2MPS14X, +}; + +static const struct sec_pmic_i2c_platform_data s2mps15_data =3D { + .regmap_cfg =3D &s2mps15_regmap_config, + .device_type =3D S2MPS15X, +}; + +static const struct sec_pmic_i2c_platform_data s2mpu02_data =3D { + .regmap_cfg =3D &s2mpu02_regmap_config, + .device_type =3D S2MPU02, +}; + +static const struct sec_pmic_i2c_platform_data s2mpu05_data =3D { + .regmap_cfg =3D &s2mpu05_regmap_config, + .device_type =3D S2MPU05, +}; + +static const struct sec_pmic_i2c_platform_data s5m8767_data =3D { + .regmap_cfg =3D &s5m8767_regmap_config, + .device_type =3D S5M8767X, +}; + static const struct of_device_id sec_pmic_i2c_of_match[] =3D { - { - .compatible =3D "samsung,s2dos05", - .data =3D (void *)S2DOS05, - }, { - .compatible =3D "samsung,s2mpa01-pmic", - .data =3D (void *)S2MPA01, - }, { - .compatible =3D "samsung,s2mps11-pmic", - .data =3D (void *)S2MPS11X, - }, { - .compatible =3D "samsung,s2mps13-pmic", - .data =3D (void *)S2MPS13X, - }, { - .compatible =3D "samsung,s2mps14-pmic", - .data =3D (void *)S2MPS14X, - }, { - .compatible =3D "samsung,s2mps15-pmic", - .data =3D (void *)S2MPS15X, - }, { - .compatible =3D "samsung,s2mpu02-pmic", - .data =3D (void *)S2MPU02, - }, { - .compatible =3D "samsung,s2mpu05-pmic", - .data =3D (void *)S2MPU05, - }, { - .compatible =3D "samsung,s5m8767-pmic", - .data =3D (void *)S5M8767X, - }, + { .compatible =3D "samsung,s2dos05", .data =3D &s2dos05_data, }, + { .compatible =3D "samsung,s2mpa01-pmic", .data =3D &s2mpa01_data, }, + { .compatible =3D "samsung,s2mps11-pmic", .data =3D &s2mps11_data, }, + { .compatible =3D "samsung,s2mps13-pmic", .data =3D &s2mps13_data, }, + { .compatible =3D "samsung,s2mps14-pmic", .data =3D &s2mps14_data, }, + { .compatible =3D "samsung,s2mps15-pmic", .data =3D &s2mps15_data, }, + { .compatible =3D "samsung,s2mpu02-pmic", .data =3D &s2mpu02_data, }, + { .compatible =3D "samsung,s2mpu05-pmic", .data =3D &s2mpu05_data, }, + { .compatible =3D "samsung,s5m8767-pmic", .data =3D &s5m8767_data, }, { }, }; MODULE_DEVICE_TABLE(of, sec_pmic_i2c_of_match); --=20 2.49.0.472.ge94155a9ec-goog From nobody Wed Dec 17 10:10:14 2025 Received: from mail-ed1-f41.google.com (mail-ed1-f41.google.com [209.85.208.41]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 695E721C9EF for ; Fri, 28 Mar 2025 13:31:06 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.208.41 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743168676; cv=none; b=htKuOYOXZ3JEIhWU0Fd6/eibfgSCnjbcwa54jHoWKWzCM6KuSk0PtYWH4ICRfW5aHPiQy8eqJuMoG1QOhI/Tsrf+yGCtHuknrSrGvP4mNB5Sm7bcuuSV8CkIhtd+bfKTETGv1hGqZ/8huhCcW0EsgIlVX5500kOKYnjAqehm3Vo= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743168676; c=relaxed/simple; bh=bllvwGesgocAPfPa0BvtiRJ2XbMS7FrEApqy00ZsPPo=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=Gw+mY94Pkx3/S5zBANku4gtk5/yoQ82IrOLu8TOhuSW3BrJ8DCsL6ko8F6Laiq/VUzStEPopBf9REFOeWsXNW7AgZIaefr/nyUxBD2VSHD+4WM1JIWSaBRna5Ak242UXX9jL+OHGn/0r/VA8iVO1JFYuAi/MHjxfHDQ5AOJdqkk= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org; spf=pass smtp.mailfrom=linaro.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b=jFf4z30A; arc=none smtp.client-ip=209.85.208.41 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linaro.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="jFf4z30A" Received: by mail-ed1-f41.google.com with SMTP id 4fb4d7f45d1cf-5dc89df7eccso4081540a12.3 for ; Fri, 28 Mar 2025 06:31:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1743168663; x=1743773463; darn=vger.kernel.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=jFf4z30AB4Ht+cXJWhLRG8RyM9sBRtGrfCZ5MLzAytf4YmpaMFNg60I8Y1Ki5uNOc2 iWxxlA+7is/nP2SRSjO6E6JpImKsypld7rACtiah77paGuKce3JYjflidwA1gNW8Rlep 19wUU/82e0LV2zx7KBr7Zey0u8vuVhFgsNqvdxGv7PLtLVSk0DQPED0k5CncqtM+eSdD TqsEAvLjox2fCxTUNMbQxPM7LTK92YhSc5h1ICUn62xQFEAzqH7/iIV2mEwBdW6y3W+Y CNdJSlCnFgUAVXVLe27k00PMDovIlD1Q+YzrcRDcLsy5e24orniUAoX964Wx0bZcqP6J yHPA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743168663; x=1743773463; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=KZ+pWW3wwfoO36sbVjoQMpP7epgDk59E8mIno/3xwfk=; b=TmQvodvoLA8ZtbOdTOiLueiAleoA96I4oJCPqfbQW77ryaq8wpbGcSlW8PMuMsLSWh TxA+BQHOR4vqzVHCFYbilhsQsUeSjhQeeOGT4+Ld1TxfoyGS6zWk6aw8t7w/N+mdsMya 35JS2Lk6WoN4OnxdA1oO3U1cBcibWlAfYR+qlWQxtNSvdjhUKMJNew64yEoQepFqYJWY G5i/gG1y5ld0VQfXxRRyzYho9hQsXkizs63mwSzw97kQvy0SO9cu+ws4gjRTzhe15R8m vlxTNRTwmYQpkq31JweA9a+40I3sY3SsxNlj47vgwyjeY9ZtFveb1Rk3DDVb3oo97A9M gyiA== X-Forwarded-Encrypted: i=1; AJvYcCUdvqPb66KBe6qV0UZitN8+8krvuCFt6zBC+IR0yJS13o8uIaykkXBKui+scTTvpzqhqIGp6QzRWLNpDB0=@vger.kernel.org X-Gm-Message-State: AOJu0Yz63FVLamunEu6OeuEgYfGs+nUTH0bwR4f3lzvC1QJYXMIHBM3K 0w5pcQqp2wu6Q8ob6qtIXegPEVpwDppyt/ixYghP8KKTjnVFisS0gLRKyFPCudI= X-Gm-Gg: ASbGncuei0/z0IsRciM7FJWw1/UPD8zpY99iUEhjJg9b3lrJ5xO2iPjPVq6SE2EyQwb KBL7jKGDL3WQdaekqhdMqMWuDWFh5Ca2rNwudB2uC2LQqg5MM9xSJ3QfaWctB0SHBVix6ckNkdF LKcF3oI7cWxlrmAASOnBt1u4HlpKdLt0S2cUfmJJwJ2KxCumGx5ahs76grQokisMkfS9/5nOP+L tcc3LFK73HZy82yak8LcDJOgZvdkyqKADUpEJU6S8vGxsI2+8uEino2qOtLe9yNNbq1TlukxEcm acveTbxivmN5WEvOVRKo6EbqjT+0P7vxeFSAdN4V/gt8DB3uH0rPD7S4TSOYU/x3qakqZHSGYXR tLFk7ooY4itco1FAmYqWoraAi/FFb X-Google-Smtp-Source: AGHT+IFvr+SOv6TYL/fIDoyg5ti+FaRzN3oqSR0lDemyricExzUDfIk3kNyRHZoukM47sE3VOIFENg== X-Received: by 2002:a05:6402:518d:b0:5e7:b02b:6430 with SMTP id 4fb4d7f45d1cf-5ed8f3fd122mr6774697a12.23.1743168663146; Fri, 28 Mar 2025 06:31:03 -0700 (PDT) Received: from puffmais.c.googlers.com (8.239.204.35.bc.googleusercontent.com. [35.204.239.8]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-5edc17e01f7sm1355284a12.79.2025.03.28.06.31.02 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 28 Mar 2025 06:31:02 -0700 (PDT) From: =?utf-8?q?Andr=C3=A9_Draszik?= Date: Fri, 28 Mar 2025 13:29:04 +0000 Subject: [PATCH v2 18/32] mfd: sec: change device_type to int Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250328-s2mpg10-v2-18-b54dee33fb6b@linaro.org> References: <20250328-s2mpg10-v2-0-b54dee33fb6b@linaro.org> In-Reply-To: <20250328-s2mpg10-v2-0-b54dee33fb6b@linaro.org> To: Krzysztof Kozlowski , Lee Jones , Rob Herring , Conor Dooley , Sylwester Nawrocki , Chanwoo Choi , Alim Akhtar , Michael Turquette , Stephen Boyd , Russell King , Catalin Marinas , Will Deacon , Alexandre Belloni Cc: Peter Griffin , Tudor Ambarus , Will McVicker , kernel-team@android.com, linux-kernel@vger.kernel.org, linux-samsung-soc@vger.kernel.org, devicetree@vger.kernel.org, linux-clk@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-rtc@vger.kernel.org, =?utf-8?q?Andr=C3=A9_Draszik?= X-Mailer: b4 0.14.2 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=C3=A9 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..4871492548f5efde4248b5b3db7= 4045ec8c9d676 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; } =20 -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 de= vice_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 =3D 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..92c7558ab8b0de44a52e028eeb7= 998e38358cb4c 100644 --- a/drivers/mfd/sec-core.h +++ b/drivers/mfd/sec-core.h @@ -14,9 +14,8 @@ struct i2c_client; =20 extern const struct dev_pm_ops sec_pmic_pm_ops; =20 -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); =20 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..2ccb494c8c024361c78e92be71c= e9c215757dd89 100644 --- a/drivers/mfd/sec-i2c.c +++ b/drivers/mfd/sec-i2c.c @@ -27,7 +27,7 @@ =20 struct sec_pmic_i2c_platform_data { const struct regmap_config *regmap_cfg; - unsigned long device_type; + int device_type; }; =20 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..c4db58813059f07372679223ec5= 70ed07f52cd73 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 = =3D { int sec_irq_init(struct sec_pmic_dev *sec_pmic) { int ret =3D 0; - int type =3D sec_pmic->device_type; const struct regmap_irq_chip *sec_irq_chip; =20 - switch (type) { + switch (sec_pmic->device_type) { case S5M8767X: sec_irq_chip =3D &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); } =20 diff --git a/include/linux/mfd/samsung/core.h b/include/linux/mfd/samsung/c= ore.h index c1102324172a9b6bd6072b5929a4866d6c9653fa..d785e101fe795a5d8f9cccf4ccc= 4232437e89416 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; =20 - unsigned long device_type; + int device_type; int irq; struct regmap_irq_chip_data *irq_data; }; --=20 2.49.0.472.ge94155a9ec-goog From nobody Wed Dec 17 10:10:14 2025 Received: from mail-ed1-f54.google.com (mail-ed1-f54.google.com [209.85.208.54]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 8D30121C18C for ; Fri, 28 Mar 2025 13:31:06 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.208.54 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743168680; cv=none; b=Z4NgqxwVD55EHw8UQL0qsA4ZIajfHrg2Dx/g4Pg4FtQHGbKH68nrchZrEfM7SY2UlVkx+rxTV530aJ29YRcOoaBtYnWw0HQhR8GDd5BWQnlUASAtQ0GB0sBESfgtF8EHsCMJMw3m5rtxnf0VyIOrDERaQM/NUOO/eeqty7R+PFA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743168680; c=relaxed/simple; bh=3HQSCKKi1fwFRVm95IbU9t5Hr7ITyiskN+9xAwmrKhQ=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=uRJtW3rbnb/SkLXadrK+7jaw8w6Tm+smwDRvBwj+Vea+lKByHbCMgrcqgL1MLHz427Sio+XDZA0CS1DSNDszdOpPMWTD3QFgV/JH9BkDiMb1I2pW/Cp4BcaqRH88UleRLLrBbtvu06dDCrh3m+Lr+zgVK4n7j61XtgQ0R5uVNOU= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org; spf=pass smtp.mailfrom=linaro.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b=QRqSUpIF; arc=none smtp.client-ip=209.85.208.54 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linaro.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="QRqSUpIF" Received: by mail-ed1-f54.google.com with SMTP id 4fb4d7f45d1cf-5eb5ecf3217so3960571a12.3 for ; Fri, 28 Mar 2025 06:31:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1743168664; x=1743773464; darn=vger.kernel.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=QRqSUpIFu1zTWw6+9awS0D5ocSQe16gTsUSBPfCpqSBLIl/my2TT5lcTYfnhI360Bb tcz7fC7RRzhCYwM3psqfg4LLbdfeM9mGi+dDKA/N2defEO+EDN8G3t0fJNvM83oaC8fY e3EQgoXKSLhQYA+7oeUtHx46xhdJiG3n5pWnxP/yBGruvT2i5aa3bD4r+9h1KwECoOMd CzzHvPF/C0FxCHrns1S0TtV7azk1pBVuMWo3TYbiIeTgRNg9N/RAzwd1yZqAQX1djeNe uW53SMkIKUrLgPNB82Kj8x75szdHYOlNmfhUUCXZUF4lkrND0KTvd+Q/e1c7WGo0vHZH J19g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743168664; x=1743773464; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=c021jwV5dbsG8JoPrCRgjZmmvCnTfk3Xe/yBggRzooI=; b=fVxeoZJIfwx2Oz8uvZWlAwJDfZSeA1AZ4rmYIpTZ58kAkQBPGVfmrJsCcqmD/3X7NC RJ9dJHwZVs8Tw9d78323TUz2BlTe7p2xUcOWC3qvf/kGm+vSdZ3mDzAKjXV8SZnkpoUQ RzGHmA/4Agq6iE1Y1j3UMRVqypzInjKpphxRBOWW9BiWdRxRevyGXN1+XnLHhFOa290K vzTkpl4JbfsAeWl91yIhRKTAc6KgYEtRGKucUckQ2fOUzVKlLj8oWgn4Qrmh/XmsXijv bcgi8p5G1HFKcP2Aw8875hnxIyf8+azsM9l/i0x0IJLbsRu2Q19d9mxmCPl9Axgiax8r +VNA== X-Forwarded-Encrypted: i=1; AJvYcCU0ClJwkPV/KS4wrqd8KpfcHU0xh990uACcQCnY3nbCRnZmwdxBFrCRrYlcioKFFL3SWiJ5cRLM2y1R/vg=@vger.kernel.org X-Gm-Message-State: AOJu0YzqjAjMqIY0vcWn+3HjpNzo5qIaNZRzPaTX2WSwb5EjTUHN87Qb T54yhWaQW0WuQHQ6Yhak346H7OF/SDuZ1nw7sbbVAcQ4bwokpAZ7dYuRZHmg/Ls= X-Gm-Gg: ASbGncsrOP/LHcW7C+jvmjRF3RWnqSBjWGm/xbJfNEppwG2t8TF9HIem71AONrs0J31 0/b0lMcFj2IpUpWJV+fg/xQH5iESZSD1weF1e9Tnmue7KaGPtFBFSkQ7cFrxnQIebhhaPpSrbtf 8t+dwwTrzUzz5nZpwsEuXaS/T8zG7CicP+C6knqkJFeV38/EFwTFCxGqG9/2IVIGkK43qM8cXvl vc9wat+b1guD9MIaa2AwYY78qMq+q82sDW+yPQZ+Xmj4C7MDurrB8SobGMrFJf4MsLsKZqff7sT LSFZVkPQe+DJikCPiQywekiMk4WqKwl/90eRgs79zDiqi+2cL3hAkZwyspBtnUGf4Adqz8tjOnm exnXEZ2r7qxOIt6VRZAma+88XfFRQ X-Google-Smtp-Source: AGHT+IH7/8CmVUYmY+VoEFkvACO8hVh6RcnR9A51bOSMoMHldWSTPOqvDoAP3eGhyaAbNPpxpMZqQg== X-Received: by 2002:a05:6402:5109:b0:5e6:e842:f9eb with SMTP id 4fb4d7f45d1cf-5ed8ec1e7f5mr6687208a12.21.1743168663711; Fri, 28 Mar 2025 06:31:03 -0700 (PDT) Received: from puffmais.c.googlers.com (8.239.204.35.bc.googleusercontent.com. [35.204.239.8]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-5edc17e01f7sm1355284a12.79.2025.03.28.06.31.03 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 28 Mar 2025 06:31:03 -0700 (PDT) From: =?utf-8?q?Andr=C3=A9_Draszik?= Date: Fri, 28 Mar 2025 13:29:05 +0000 Subject: [PATCH v2 19/32] mfd: sec: don't compare against NULL / 0 for errors, use ! Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250328-s2mpg10-v2-19-b54dee33fb6b@linaro.org> References: <20250328-s2mpg10-v2-0-b54dee33fb6b@linaro.org> In-Reply-To: <20250328-s2mpg10-v2-0-b54dee33fb6b@linaro.org> To: Krzysztof Kozlowski , Lee Jones , Rob Herring , Conor Dooley , Sylwester Nawrocki , Chanwoo Choi , Alim Akhtar , Michael Turquette , Stephen Boyd , Russell King , Catalin Marinas , Will Deacon , Alexandre Belloni Cc: Peter Griffin , Tudor Ambarus , Will McVicker , kernel-team@android.com, linux-kernel@vger.kernel.org, linux-samsung-soc@vger.kernel.org, devicetree@vger.kernel.org, linux-clk@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-rtc@vger.kernel.org, =?utf-8?q?Andr=C3=A9_Draszik?= X-Mailer: b4 0.14.2 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=C3=A9 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..55edeb0f73ff4643f23b9759b11= 5658d3bf03e9a 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; =20 sec_pmic =3D devm_kzalloc(dev, sizeof(struct sec_pmic_dev), GFP_KERNEL); - if (sec_pmic =3D=3D NULL) + if (!sec_pmic) return -ENOMEM; =20 dev_set_drvdata(dev, sec_pmic); diff --git a/drivers/mfd/sec-irq.c b/drivers/mfd/sec-irq.c index c4db58813059f07372679223ec570ed07f52cd73..5cd9667a21e9e8b052b2ef0b5d2= 991369bffe8bb 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 = =3D { =20 int sec_irq_init(struct sec_pmic_dev *sec_pmic) { - int ret =3D 0; const struct regmap_irq_chip *sec_irq_chip; + int ret; =20 switch (sec_pmic->device_type) { case S5M8767X: @@ -496,7 +496,7 @@ int sec_irq_init(struct sec_pmic_dev *sec_pmic) ret =3D 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 !=3D 0) + if (ret) return dev_err_probe(sec_pmic->dev, ret, "Failed to add %s IRQ chip\n", sec_irq_chip->name); --=20 2.49.0.472.ge94155a9ec-goog From nobody Wed Dec 17 10:10:14 2025 Received: from mail-ed1-f53.google.com (mail-ed1-f53.google.com [209.85.208.53]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id E52211A83ED for ; Fri, 28 Mar 2025 13:31:07 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.208.53 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743168686; cv=none; b=uYC2yF1QFZq324LZGwHXVDhQEMGYkBu7yo8j+xPU1YZ8FzeN5WGKYxgfle487nK3EivDP+ncI8XvdkQLYvB0/A/ZocMTaTbW15StUTFxHOKlt9suL+TdQlGf/DMr7/BFlBGfZxgZHFph8gDGvn8pl2ksqjLVdN7NQkOjld3y05I= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743168686; c=relaxed/simple; bh=X0QQTgyZyBPIURJ3v2tympUyOwlqSVYuYyMtIMSpfpo=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=q+S3llgJ//i4MoqrcyXIirqm9KNeQEmEOi0Ll9pPVZnA42wewfP0HY5e8NgiI2NWtc5bVHP1Y0JRafj5S14VcZQt8czafCnKq9BL/nOqaEjJ20Mlj/3IHMzblaXNdMRrsTVYCpD/sP/ccB+2HJ5lQOT0t0DG2GD87ORBe9OfiFc= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org; spf=pass smtp.mailfrom=linaro.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b=En+/83zz; arc=none smtp.client-ip=209.85.208.53 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linaro.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="En+/83zz" Received: by mail-ed1-f53.google.com with SMTP id 4fb4d7f45d1cf-5e60cfef9cfso3340293a12.2 for ; Fri, 28 Mar 2025 06:31:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1743168664; x=1743773464; darn=vger.kernel.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=En+/83zz2JnMpQOWtuk2jCDJ+XxaXrWiMelE/N8tSqAWNlQjxSxlMoVEEmE6b33Sfk NTdaOnhFa94eLQmjNm0kQX9LkllxVIDbU0jX95dZG3s26gd0JJk0H2UYYfLo62vvjKjf fnVNqpK0uxH3NSfbnQYY0Cs0UQD3VnK0PRhGQtW99BP2c0ZYhui+pddKFsu6/BbjMEJ8 zN5/RQBoIdNDbbIDDtUR2jvqr3ZdbOGfRIpuIAf0rNr3I2aDjSfPDJgoqXvQSULs3eDe SHS86+6HeMQPVvrg6x0rJ2IHK5sir5Tjuqxtqg6lIo4mVJXez7M2lduvv1DNech54jG0 6NOA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743168664; x=1743773464; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=kV75c5wurwfdiB4LfjbAT+jBLqgbz3xs0SfJTGIePwA=; b=W/o5NCs14UVbsfIqU2nGSTZ5v6C8qoIipIImgtZ/ZPW5qN8tnvhhU0hTIPsMY7pb43 bXLXn7adrY5/p5LiSIHM7lIGW/q9plUsT4LDKT68nIYDxW8I6/5ESeSn6NN7P2mZPVzA 5PPo/Y4wCc1uIhjmE3yVUgs6dzLg8XvpNuwXe7qc9zR7MUlfo3IExrX0HT0WxADmNESH R/buHbXkS1IZilX4QBfk1y7OMA5m636V50bXYR04ypK8542KVxlA8TH42hrkdw5LDqdk c5e4VMvGBcfJTF6oAoQnybMowg2k6aKTvVN9fRrRue3Cbb8jHmL440JmNd8/e6hoPOBP GjWQ== X-Forwarded-Encrypted: i=1; AJvYcCXgqTNqZs4/YuhRG6N7uZ/uwNbx2eJj7bluTpGeOz1lDMfURXyXOIaV0GxIdJkH+IF/m7bmV7BhTmwz+I4=@vger.kernel.org X-Gm-Message-State: AOJu0YxHGcysKi3B+gJXRDT+0GXekpQMHdUAoTrP2NvyJn61M0ntO2tD jG91xvcRE+s4SdRwo/MyKsGZrD8ZF4AXpvFUaoyMc8lih3Cy7FI37miBRvIFE/I= X-Gm-Gg: ASbGncstLEqKj3JVaBr3r00ZVCAblQOkxPzQ/LaZyEKzjTuf9kRDZzzhUNmMs8igIsK aFfI7FN26zyWCdB/DILs/BR3ji6G7KOHh8UNEOFVZrwAdSyn7r8SpOEV7H2W8Dmy6JbrHwggDod bslWi9G9+5UbXhXIJ4GReXn+mH4jGUS81epmBi4wItyh8plW4T6IHPUpKxvG2Zp8sjCaS9K+liq SH2u+63W3VW0YyymJ/cgBhoa9qkEHTucwNVEq1bWesZ/9zZfU8u/vIvnm+aLJL2oyqczbxPmMlw M8aLXUxqObW4IJfOnOVqtkmvkmm+3Syi/k16+IYT4N20g2epYzOfcIzSPWY3368sJjl7n9sy6Qa W7jQwtd9SqdqKvd1k5mKxJSidQNBu X-Google-Smtp-Source: AGHT+IH82jsJ04KqxSx2urRuI126Wc6BqmkR0wyKM63ai8QchgotV1y1Ewu8V3BijV087u2FKOXDPg== X-Received: by 2002:a05:6402:26d0:b0:5e5:c637:b69 with SMTP id 4fb4d7f45d1cf-5ed8df6b334mr7910381a12.6.1743168664240; Fri, 28 Mar 2025 06:31:04 -0700 (PDT) Received: from puffmais.c.googlers.com (8.239.204.35.bc.googleusercontent.com. [35.204.239.8]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-5edc17e01f7sm1355284a12.79.2025.03.28.06.31.03 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 28 Mar 2025 06:31:03 -0700 (PDT) From: =?utf-8?q?Andr=C3=A9_Draszik?= Date: Fri, 28 Mar 2025 13:29:06 +0000 Subject: [PATCH v2 20/32] mfd: sec: use sizeof(*var), not sizeof(struct type_of_var) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250328-s2mpg10-v2-20-b54dee33fb6b@linaro.org> References: <20250328-s2mpg10-v2-0-b54dee33fb6b@linaro.org> In-Reply-To: <20250328-s2mpg10-v2-0-b54dee33fb6b@linaro.org> To: Krzysztof Kozlowski , Lee Jones , Rob Herring , Conor Dooley , Sylwester Nawrocki , Chanwoo Choi , Alim Akhtar , Michael Turquette , Stephen Boyd , Russell King , Catalin Marinas , Will Deacon , Alexandre Belloni Cc: Peter Griffin , Tudor Ambarus , Will McVicker , kernel-team@android.com, linux-kernel@vger.kernel.org, linux-samsung-soc@vger.kernel.org, devicetree@vger.kernel.org, linux-clk@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-rtc@vger.kernel.org, =?utf-8?q?Andr=C3=A9_Draszik?= X-Mailer: b4 0.14.2 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=C3=A9 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..e8e35f7d5f06b522a953e8f2160= 3e6904401c983 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; =20 - sec_pmic =3D devm_kzalloc(dev, sizeof(struct sec_pmic_dev), GFP_KERNEL); + sec_pmic =3D devm_kzalloc(dev, sizeof(*sec_pmic), GFP_KERNEL); if (!sec_pmic) return -ENOMEM; =20 --=20 2.49.0.472.ge94155a9ec-goog From nobody Wed Dec 17 10:10:14 2025 Received: from mail-ed1-f51.google.com (mail-ed1-f51.google.com [209.85.208.51]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id E378121C9EA for ; Fri, 28 Mar 2025 13:31:07 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.208.51 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743168675; cv=none; b=K5rkcq8vopvRTthKK2h2MJ7nVIAu7G0UPUnLHL93jSw1u01cM4sYD9hbtAP41T/wR70+rNlT6QaBTt0hXi9dUQKrJHUeHISx1UJwyUlUj+gqki4HwykVzxgKb3m+xQCOBrlIOirrIBNXRH8vYlZ9+iQouohnktzZjZJjyweuBg8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743168675; c=relaxed/simple; bh=uZPaCVbPHBGfSgOGE/h2z8oZIqJdXRNHkC3wOcm11eI=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=HL54sDZK7rrzTyXOmuHfCeqLy0QlKoS2K0BMPNDET7gVmMdoSL9pGijDSVvse5xmAeaZJ27u6AZmdoUm/C0FqQorIO75nA7aByqEUDQAqzv+1p7uwNCESZgXa0OH3hIy9aU1iTb+LVGsiKT8ILJYp7MJLEukql/QjX0Du7n8Gzo= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org; spf=pass smtp.mailfrom=linaro.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b=WKdGgX/v; arc=none smtp.client-ip=209.85.208.51 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linaro.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="WKdGgX/v" Received: by mail-ed1-f51.google.com with SMTP id 4fb4d7f45d1cf-5e677f59438so3356768a12.2 for ; Fri, 28 Mar 2025 06:31:07 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1743168665; x=1743773465; darn=vger.kernel.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=WKdGgX/vbRvtc46zIAT4ZFk9eSDjIKPd6yrk8cQKrNQfjVkTIDKVmZPmC7UjgR3//n U5fsrnhBk1WgcOMd9C1gCTDovWHak8Y5dVuO4QYKuH7OiLSb/XDICkok1TgUBD3wzwM9 VuRhLTVuiT4hMtz8NsZ/Aizbm2KhE8UfXxbiaP7buvfPcRNSn7VMPrYSpRNngjZEGWq/ EoTnUp9trY8IIxuu+WCiWZSc9GvgDSPeOi+K/WkKfuv8qK+ieaGFKMHYuqAAHD7+QElH WaVIdGkSJ5MPzzMLT00ZgMyVNTydtbSQ8BA2X6Fw4px26Uc+Ndi0//IHldkuEofIV++Z 0z9Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743168665; x=1743773465; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=AGZF3iY+lrce/peuoGWoI8dxWV9rSVtCllywJ68wEfI=; b=CLc/HaYLDf6v5IDEwypuZZvkF27AVvqhr21eRNv5M5uBEuf4SCiUPr8v6+Shanz9VY ckpcs5U3ptA40un7NEFF228TOAE/wOa1dSprxWDTQeegh2kLE4l1VVRwFuiIkpeOd77J /pOgZnfVwK2hvLTvo49SvrccB1LsS9tyISvihxUFFhSJltuT8hMBrA45sQpx4dA7skxD Y5Bs3LBoR9+gEfA386FZ70i1GySd7JXktbWxta4NW/IQpuDYLcNuVM7zL8Fj9Bjzw/u1 vfB7FpLrAjg3LTpiR2PkbtED3ux7vUG5dZ9t9aioEpTFXMpFAr5Hp+k7PPl93M+5HnD7 p/zg== X-Forwarded-Encrypted: i=1; AJvYcCWiM8ehTbym+pKii34p7ILBRw8NKDMOXwlIkww7zI1D8rg5CbqtB6EMqwqlMcBFklOvoOl0+sACagDXD50=@vger.kernel.org X-Gm-Message-State: AOJu0YxyETejq/0bwapFZUXy8HQyk/G7qd+7Mxhnev7KMkS3sqLis70E Kp2/cagVZhRI46MjckCXZiZij5ELRaz8OAkRErAeNhTzgcDx0ozbqini6CFGjSY= X-Gm-Gg: ASbGncu6OtNYpOojzwolr9tbjSvr4PAT3vdB5iFwjozhi3hMRjDuGOZ75mCjXnVowef k8Ck7VHuv3odfFMApzq10nflOzVck6XBrvZnyvRBAdLtV1FjcN0IrtUl3w1yrROgvj9lhKjOOos RqezaLqVb2NlmvHhM6t/TF2f9PhH09houEytcWCEU84okK5Plf4fcdcpA7qWRlBe+D50ENxtiCQ rX84LoqxEGkhHS9auzq76/7YUpHCsCaHPUukxPht57gzPipaTMmihni7tE03tWQyUVX4oy0bHaK EM2CtAkF1dqNVJnsd+xc2OEenWaApx0MIpAHz9F64fepYtmlpe0a+85pb12KHWkemP6NrBQItxH KtH8202iCgRpc75ilUZs6UhGVO7GN X-Google-Smtp-Source: AGHT+IE/8XexhkCjt++gZyl4aQeO3RmSnHYdltcD1RaSzcc8eBzKzYT4GuhaF+2UqXAsXXHHf+aEJg== X-Received: by 2002:a17:907:84a:b0:ac7:31d5:20de with SMTP id a640c23a62f3a-ac731d52b5fmr47028466b.50.1743168664749; Fri, 28 Mar 2025 06:31:04 -0700 (PDT) Received: from puffmais.c.googlers.com (8.239.204.35.bc.googleusercontent.com. [35.204.239.8]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-5edc17e01f7sm1355284a12.79.2025.03.28.06.31.04 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 28 Mar 2025 06:31:04 -0700 (PDT) From: =?utf-8?q?Andr=C3=A9_Draszik?= Date: Fri, 28 Mar 2025 13:29:07 +0000 Subject: [PATCH v2 21/32] mfd: sec: convert to using MFD_CELL macros Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250328-s2mpg10-v2-21-b54dee33fb6b@linaro.org> References: <20250328-s2mpg10-v2-0-b54dee33fb6b@linaro.org> In-Reply-To: <20250328-s2mpg10-v2-0-b54dee33fb6b@linaro.org> To: Krzysztof Kozlowski , Lee Jones , Rob Herring , Conor Dooley , Sylwester Nawrocki , Chanwoo Choi , Alim Akhtar , Michael Turquette , Stephen Boyd , Russell King , Catalin Marinas , Will Deacon , Alexandre Belloni Cc: Peter Griffin , Tudor Ambarus , Will McVicker , kernel-team@android.com, linux-kernel@vger.kernel.org, linux-samsung-soc@vger.kernel.org, devicetree@vger.kernel.org, linux-clk@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-rtc@vger.kernel.org, =?utf-8?q?Andr=C3=A9_Draszik?= X-Mailer: b4 0.14.2 Use MFD_CELL macro helpers instead of open coding. This makes the code a bit shorter and more obvious. Signed-off-by: Andr=C3=A9 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..448300ab547c10d81f9f2b2798d= 54c8a03c714d8 100644 --- a/drivers/mfd/sec-common.c +++ b/drivers/mfd/sec-common.c @@ -24,16 +24,13 @@ #include "sec-core.h" =20 static const struct mfd_cell s5m8767_devs[] =3D { - { .name =3D "s5m8767-pmic", }, - { .name =3D "s5m-rtc", }, - { - .name =3D "s5m8767-clk", - .of_compatible =3D "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"), }; =20 static const struct mfd_cell s2dos05_devs[] =3D { - { .name =3D "s2dos05-regulator", }, + MFD_CELL_NAME("s2dos05-regulator"), }; =20 static const struct mfd_cell s2mpg10_devs[] =3D { @@ -45,53 +42,41 @@ static const struct mfd_cell s2mpg10_devs[] =3D { }; =20 static const struct mfd_cell s2mps11_devs[] =3D { - { .name =3D "s2mps11-regulator", }, - { .name =3D "s2mps14-rtc", }, - { - .name =3D "s2mps11-clk", - .of_compatible =3D "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"), }; =20 static const struct mfd_cell s2mps13_devs[] =3D { - { .name =3D "s2mps13-regulator", }, - { .name =3D "s2mps13-rtc", }, - { - .name =3D "s2mps13-clk", - .of_compatible =3D "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"), }; =20 static const struct mfd_cell s2mps14_devs[] =3D { - { .name =3D "s2mps14-regulator", }, - { .name =3D "s2mps14-rtc", }, - { - .name =3D "s2mps14-clk", - .of_compatible =3D "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"), }; =20 static const struct mfd_cell s2mps15_devs[] =3D { - { .name =3D "s2mps15-regulator", }, - { .name =3D "s2mps15-rtc", }, - { - .name =3D "s2mps13-clk", - .of_compatible =3D "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"), }; =20 static const struct mfd_cell s2mpa01_devs[] =3D { - { .name =3D "s2mpa01-pmic", }, - { .name =3D "s2mps14-rtc", }, + MFD_CELL_NAME("s2mpa01-pmic"), + MFD_CELL_NAME("s2mps14-rtc"), }; =20 static const struct mfd_cell s2mpu02_devs[] =3D { - { .name =3D "s2mpu02-regulator", }, + MFD_CELL_NAME("s2mpu02-regulator"), }; =20 static const struct mfd_cell s2mpu05_devs[] =3D { - { .name =3D "s2mpu05-regulator", }, - { .name =3D "s2mps15-rtc", }, + MFD_CELL_NAME("s2mpu05-regulator"), + MFD_CELL_NAME("s2mps15-rtc"), }; =20 static void sec_pmic_dump_rev(struct sec_pmic_dev *sec_pmic) --=20 2.49.0.472.ge94155a9ec-goog From nobody Wed Dec 17 10:10:14 2025 Received: from mail-ed1-f42.google.com (mail-ed1-f42.google.com [209.85.208.42]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 7330821CC52 for ; Fri, 28 Mar 2025 13:31:08 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.208.42 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743168676; cv=none; b=F5pDOPHYKvCBQKmqJlEfDhRTj43rGe9PHBHUxfBpKZd43EhxUr1cyFe/Nucg65OJx27qVo61qw79k1i/GAS7SqYGetnanNFLvLrB++uZyibzYLIKdhvdgwJ89N5tVZw9U51ez3Nuac0glB6RsTXtIn/T3sKVj9fJM6jN6OBmvh8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743168676; c=relaxed/simple; bh=MZ30T8KMJXBJoDDM3cr1kCmHXcpVB3LCx1uy4q775s8=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=C/O7Y+HuBfX+gsKZ5DWh8vt0SvuXJHs+tNJJtVqziUTSFhTFMTWMvwMcHz5DJ3VUwFfekkE7tPeaktWMZwV5w1tTvwLnQxFeCgZvrWEP27dnFh5DMAa5tUQtxR/18GiioYxYWleV7Ycjv3qg4pDRg2+YSXeerTW7LwNUb9eQE+A= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org; spf=pass smtp.mailfrom=linaro.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b=s+noLTjD; arc=none smtp.client-ip=209.85.208.42 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linaro.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="s+noLTjD" Received: by mail-ed1-f42.google.com with SMTP id 4fb4d7f45d1cf-5e5e22e6ed2so3160365a12.3 for ; Fri, 28 Mar 2025 06:31:08 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1743168665; x=1743773465; darn=vger.kernel.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=s+noLTjDxDYQ59pHADLzOeCCWKhXG/A7sKPNkyr5ZScb0I9EEzqxJzeaSWsHkI6SdG G82/uB8l3Ge0zyE68HY5KJx4XfE8l4Nmwp6xHfR3l2cpBJNLqWiv5Wy6/78w3M2k66xI /XmlA2Awr03KUJvHFvaMfVTdwg4IDxnBBS6U93ylY4noZt2yAIN8ypbkKO6LUs61WRAM CtHCBPuitsG2+bhDFf7ZQDh2j00tC4wRb5AW003u1oGpa9D7Jt9lY+ToAOEaKzDZ+UvQ Yh/AJ7E6FP/m7V6qm7BAstyzSvNdhpGeZIuwy2JCUGw2g3RnlbOr59z/sEOB8lDvBmXe ZdHQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743168665; x=1743773465; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=Op+5mEOgNYYFAMowJxBfybjaNESu4Eako9395vK9N0c=; b=mZq3v1VrLr29RHIJkINbm41bILfHP6e0HV30RWsn7JNxinDqQUDllrFVw74299xlVH 7MGhn0yLcffVkIKGvz2V9ItdFyw2VhA+haCDbCHTfAyMl6b6jo4NuPNxgZwH67gcZSZx /qIeVS3BUzNaOscxMzYctx3Ge7DgjLGLL+3wqyJma5B6GstNQjDaeMEB5W6qPxOM4Jb7 BaieEjAEAoFHzMW+Tx9RwHgWGJgSJvMOFwTfaNfkewUgXQWPrEAkzVLTi7C4f2xPINVk 6JHxSY6swZS83JvXDpBOBaOFoPEiLuVQqZc9o/n4Bmt9q2xqACeCi+LHGHhHDVOrvYEm rDWQ== X-Forwarded-Encrypted: i=1; AJvYcCXdBFVvAGMv+JKy3k5IP/8zlpzzadhIRLJ/ZV6f5yZNYWtBoR0VF8oe1hFvsb6vf4xPcK/jOJ6ZY/wXajg=@vger.kernel.org X-Gm-Message-State: AOJu0Yw6fwiaIKdTwo9EsFDFmp7DWEnlHpMkSZNzx9/cNohts0t1hTPJ 6Slf1pnzPMdbfA25WCq/fbqcf0jq3N8oU75bSRS8Cs/5C3NqXV1qDY8eT6v/U+8= X-Gm-Gg: ASbGncvAP6+yK75snJCf7dOSWDdhOQZtjNqMF4ttZY/iNUKs/XfeonIleaizlg8TGsW SfmDpWE+adLzZ+Rg/XUrO3JP9DopsN7LSHtr1retoc1GikKuFRYsCi3brG+2MQurLoAI4MP62fW 3/LLf6gA2DxwjbjyuoHLNyCuaDfJT7yU4yu2qgM8uJgbF55m4KjwPTWacvd6dlHAvgwk5pI6blM P+qSiPtfqYBPo9UYV2rAGlsruvD/oQ47Xi2lo26pGzMfHkipdeRSc35H2clzfxfJwjBp23IQ3JG JJRXrqqJ0tLOzra/N+V9ngtJ4gurk9Bwh/E5jbqFyg7MDiS52T1EKptf1tUE/T6TlEsKSt9WDOz 38nwX6hzZYlxmkAoM9ujMfQlmPFe4 X-Google-Smtp-Source: AGHT+IEDYL3eHUsT5flu6o11GExiJbQgaRJn0w6hcUwsv1LO9+z3oQ7AfyRxuBAye055avOV0tJXIA== X-Received: by 2002:a05:6402:278a:b0:5e7:f707:d7c4 with SMTP id 4fb4d7f45d1cf-5ed8f902a81mr6436324a12.31.1743168665253; Fri, 28 Mar 2025 06:31:05 -0700 (PDT) Received: from puffmais.c.googlers.com (8.239.204.35.bc.googleusercontent.com. [35.204.239.8]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-5edc17e01f7sm1355284a12.79.2025.03.28.06.31.04 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 28 Mar 2025 06:31:04 -0700 (PDT) From: =?utf-8?q?Andr=C3=A9_Draszik?= Date: Fri, 28 Mar 2025 13:29:08 +0000 Subject: [PATCH v2 22/32] mfd: sec: convert to using REGMAP_IRQ_REG() macros Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250328-s2mpg10-v2-22-b54dee33fb6b@linaro.org> References: <20250328-s2mpg10-v2-0-b54dee33fb6b@linaro.org> In-Reply-To: <20250328-s2mpg10-v2-0-b54dee33fb6b@linaro.org> To: Krzysztof Kozlowski , Lee Jones , Rob Herring , Conor Dooley , Sylwester Nawrocki , Chanwoo Choi , Alim Akhtar , Michael Turquette , Stephen Boyd , Russell King , Catalin Marinas , Will Deacon , Alexandre Belloni Cc: Peter Griffin , Tudor Ambarus , Will McVicker , kernel-team@android.com, linux-kernel@vger.kernel.org, linux-samsung-soc@vger.kernel.org, devicetree@vger.kernel.org, linux-clk@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-rtc@vger.kernel.org, =?utf-8?q?Andr=C3=A9_Draszik?= X-Mailer: b4 0.14.2 Use REGMAP_IRQ_REG macro helpers instead of open coding. This makes the code a bit shorter and more obvious. Signed-off-by: Andr=C3=A9 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..a2c821704b771a9f8a10c7efc90= 0812684771862 100644 --- a/drivers/mfd/sec-irq.c +++ b/drivers/mfd/sec-irq.c @@ -74,212 +74,68 @@ static const struct regmap_irq s2mpg10_irqs[] =3D { }; =20 static const struct regmap_irq s2mps11_irqs[] =3D { - [S2MPS11_IRQ_PWRONF] =3D { - .reg_offset =3D 0, - .mask =3D S2MPS11_IRQ_PWRONF_MASK, - }, - [S2MPS11_IRQ_PWRONR] =3D { - .reg_offset =3D 0, - .mask =3D S2MPS11_IRQ_PWRONR_MASK, - }, - [S2MPS11_IRQ_JIGONBF] =3D { - .reg_offset =3D 0, - .mask =3D S2MPS11_IRQ_JIGONBF_MASK, - }, - [S2MPS11_IRQ_JIGONBR] =3D { - .reg_offset =3D 0, - .mask =3D S2MPS11_IRQ_JIGONBR_MASK, - }, - [S2MPS11_IRQ_ACOKBF] =3D { - .reg_offset =3D 0, - .mask =3D S2MPS11_IRQ_ACOKBF_MASK, - }, - [S2MPS11_IRQ_ACOKBR] =3D { - .reg_offset =3D 0, - .mask =3D S2MPS11_IRQ_ACOKBR_MASK, - }, - [S2MPS11_IRQ_PWRON1S] =3D { - .reg_offset =3D 0, - .mask =3D S2MPS11_IRQ_PWRON1S_MASK, - }, - [S2MPS11_IRQ_MRB] =3D { - .reg_offset =3D 0, - .mask =3D S2MPS11_IRQ_MRB_MASK, - }, - [S2MPS11_IRQ_RTC60S] =3D { - .reg_offset =3D 1, - .mask =3D S2MPS11_IRQ_RTC60S_MASK, - }, - [S2MPS11_IRQ_RTCA1] =3D { - .reg_offset =3D 1, - .mask =3D S2MPS11_IRQ_RTCA1_MASK, - }, - [S2MPS11_IRQ_RTCA0] =3D { - .reg_offset =3D 1, - .mask =3D S2MPS11_IRQ_RTCA0_MASK, - }, - [S2MPS11_IRQ_SMPL] =3D { - .reg_offset =3D 1, - .mask =3D S2MPS11_IRQ_SMPL_MASK, - }, - [S2MPS11_IRQ_RTC1S] =3D { - .reg_offset =3D 1, - .mask =3D S2MPS11_IRQ_RTC1S_MASK, - }, - [S2MPS11_IRQ_WTSR] =3D { - .reg_offset =3D 1, - .mask =3D S2MPS11_IRQ_WTSR_MASK, - }, - [S2MPS11_IRQ_INT120C] =3D { - .reg_offset =3D 2, - .mask =3D S2MPS11_IRQ_INT120C_MASK, - }, - [S2MPS11_IRQ_INT140C] =3D { - .reg_offset =3D 2, - .mask =3D 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), }; =20 static const struct regmap_irq s2mps14_irqs[] =3D { - [S2MPS14_IRQ_PWRONF] =3D { - .reg_offset =3D 0, - .mask =3D S2MPS11_IRQ_PWRONF_MASK, - }, - [S2MPS14_IRQ_PWRONR] =3D { - .reg_offset =3D 0, - .mask =3D S2MPS11_IRQ_PWRONR_MASK, - }, - [S2MPS14_IRQ_JIGONBF] =3D { - .reg_offset =3D 0, - .mask =3D S2MPS11_IRQ_JIGONBF_MASK, - }, - [S2MPS14_IRQ_JIGONBR] =3D { - .reg_offset =3D 0, - .mask =3D S2MPS11_IRQ_JIGONBR_MASK, - }, - [S2MPS14_IRQ_ACOKBF] =3D { - .reg_offset =3D 0, - .mask =3D S2MPS11_IRQ_ACOKBF_MASK, - }, - [S2MPS14_IRQ_ACOKBR] =3D { - .reg_offset =3D 0, - .mask =3D S2MPS11_IRQ_ACOKBR_MASK, - }, - [S2MPS14_IRQ_PWRON1S] =3D { - .reg_offset =3D 0, - .mask =3D S2MPS11_IRQ_PWRON1S_MASK, - }, - [S2MPS14_IRQ_MRB] =3D { - .reg_offset =3D 0, - .mask =3D S2MPS11_IRQ_MRB_MASK, - }, - [S2MPS14_IRQ_RTC60S] =3D { - .reg_offset =3D 1, - .mask =3D S2MPS11_IRQ_RTC60S_MASK, - }, - [S2MPS14_IRQ_RTCA1] =3D { - .reg_offset =3D 1, - .mask =3D S2MPS11_IRQ_RTCA1_MASK, - }, - [S2MPS14_IRQ_RTCA0] =3D { - .reg_offset =3D 1, - .mask =3D S2MPS11_IRQ_RTCA0_MASK, - }, - [S2MPS14_IRQ_SMPL] =3D { - .reg_offset =3D 1, - .mask =3D S2MPS11_IRQ_SMPL_MASK, - }, - [S2MPS14_IRQ_RTC1S] =3D { - .reg_offset =3D 1, - .mask =3D S2MPS11_IRQ_RTC1S_MASK, - }, - [S2MPS14_IRQ_WTSR] =3D { - .reg_offset =3D 1, - .mask =3D S2MPS11_IRQ_WTSR_MASK, - }, - [S2MPS14_IRQ_INT120C] =3D { - .reg_offset =3D 2, - .mask =3D S2MPS11_IRQ_INT120C_MASK, - }, - [S2MPS14_IRQ_INT140C] =3D { - .reg_offset =3D 2, - .mask =3D S2MPS11_IRQ_INT140C_MASK, - }, - [S2MPS14_IRQ_TSD] =3D { - .reg_offset =3D 2, - .mask =3D 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), }; =20 static const struct regmap_irq s2mpu02_irqs[] =3D { - [S2MPU02_IRQ_PWRONF] =3D { - .reg_offset =3D 0, - .mask =3D S2MPS11_IRQ_PWRONF_MASK, - }, - [S2MPU02_IRQ_PWRONR] =3D { - .reg_offset =3D 0, - .mask =3D S2MPS11_IRQ_PWRONR_MASK, - }, - [S2MPU02_IRQ_JIGONBF] =3D { - .reg_offset =3D 0, - .mask =3D S2MPS11_IRQ_JIGONBF_MASK, - }, - [S2MPU02_IRQ_JIGONBR] =3D { - .reg_offset =3D 0, - .mask =3D S2MPS11_IRQ_JIGONBR_MASK, - }, - [S2MPU02_IRQ_ACOKBF] =3D { - .reg_offset =3D 0, - .mask =3D S2MPS11_IRQ_ACOKBF_MASK, - }, - [S2MPU02_IRQ_ACOKBR] =3D { - .reg_offset =3D 0, - .mask =3D S2MPS11_IRQ_ACOKBR_MASK, - }, - [S2MPU02_IRQ_PWRON1S] =3D { - .reg_offset =3D 0, - .mask =3D S2MPS11_IRQ_PWRON1S_MASK, - }, - [S2MPU02_IRQ_MRB] =3D { - .reg_offset =3D 0, - .mask =3D S2MPS11_IRQ_MRB_MASK, - }, - [S2MPU02_IRQ_RTC60S] =3D { - .reg_offset =3D 1, - .mask =3D S2MPS11_IRQ_RTC60S_MASK, - }, - [S2MPU02_IRQ_RTCA1] =3D { - .reg_offset =3D 1, - .mask =3D S2MPS11_IRQ_RTCA1_MASK, - }, - [S2MPU02_IRQ_RTCA0] =3D { - .reg_offset =3D 1, - .mask =3D S2MPS11_IRQ_RTCA0_MASK, - }, - [S2MPU02_IRQ_SMPL] =3D { - .reg_offset =3D 1, - .mask =3D S2MPS11_IRQ_SMPL_MASK, - }, - [S2MPU02_IRQ_RTC1S] =3D { - .reg_offset =3D 1, - .mask =3D S2MPS11_IRQ_RTC1S_MASK, - }, - [S2MPU02_IRQ_WTSR] =3D { - .reg_offset =3D 1, - .mask =3D S2MPS11_IRQ_WTSR_MASK, - }, - [S2MPU02_IRQ_INT120C] =3D { - .reg_offset =3D 2, - .mask =3D S2MPS11_IRQ_INT120C_MASK, - }, - [S2MPU02_IRQ_INT140C] =3D { - .reg_offset =3D 2, - .mask =3D S2MPS11_IRQ_INT140C_MASK, - }, - [S2MPU02_IRQ_TSD] =3D { - .reg_offset =3D 2, - .mask =3D 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), }; =20 static const struct regmap_irq s2mpu05_irqs[] =3D { @@ -303,74 +159,25 @@ static const struct regmap_irq s2mpu05_irqs[] =3D { }; =20 static const struct regmap_irq s5m8767_irqs[] =3D { - [S5M8767_IRQ_PWRR] =3D { - .reg_offset =3D 0, - .mask =3D S5M8767_IRQ_PWRR_MASK, - }, - [S5M8767_IRQ_PWRF] =3D { - .reg_offset =3D 0, - .mask =3D S5M8767_IRQ_PWRF_MASK, - }, - [S5M8767_IRQ_PWR1S] =3D { - .reg_offset =3D 0, - .mask =3D S5M8767_IRQ_PWR1S_MASK, - }, - [S5M8767_IRQ_JIGR] =3D { - .reg_offset =3D 0, - .mask =3D S5M8767_IRQ_JIGR_MASK, - }, - [S5M8767_IRQ_JIGF] =3D { - .reg_offset =3D 0, - .mask =3D S5M8767_IRQ_JIGF_MASK, - }, - [S5M8767_IRQ_LOWBAT2] =3D { - .reg_offset =3D 0, - .mask =3D S5M8767_IRQ_LOWBAT2_MASK, - }, - [S5M8767_IRQ_LOWBAT1] =3D { - .reg_offset =3D 0, - .mask =3D S5M8767_IRQ_LOWBAT1_MASK, - }, - [S5M8767_IRQ_MRB] =3D { - .reg_offset =3D 1, - .mask =3D S5M8767_IRQ_MRB_MASK, - }, - [S5M8767_IRQ_DVSOK2] =3D { - .reg_offset =3D 1, - .mask =3D S5M8767_IRQ_DVSOK2_MASK, - }, - [S5M8767_IRQ_DVSOK3] =3D { - .reg_offset =3D 1, - .mask =3D S5M8767_IRQ_DVSOK3_MASK, - }, - [S5M8767_IRQ_DVSOK4] =3D { - .reg_offset =3D 1, - .mask =3D S5M8767_IRQ_DVSOK4_MASK, - }, - [S5M8767_IRQ_RTC60S] =3D { - .reg_offset =3D 2, - .mask =3D S5M8767_IRQ_RTC60S_MASK, - }, - [S5M8767_IRQ_RTCA1] =3D { - .reg_offset =3D 2, - .mask =3D S5M8767_IRQ_RTCA1_MASK, - }, - [S5M8767_IRQ_RTCA2] =3D { - .reg_offset =3D 2, - .mask =3D S5M8767_IRQ_RTCA2_MASK, - }, - [S5M8767_IRQ_SMPL] =3D { - .reg_offset =3D 2, - .mask =3D S5M8767_IRQ_SMPL_MASK, - }, - [S5M8767_IRQ_RTC1S] =3D { - .reg_offset =3D 2, - .mask =3D S5M8767_IRQ_RTC1S_MASK, - }, - [S5M8767_IRQ_WTSR] =3D { - .reg_offset =3D 2, - .mask =3D 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), }; =20 static const struct regmap_irq_chip s2mpg10_irq_chip =3D { --=20 2.49.0.472.ge94155a9ec-goog From nobody Wed Dec 17 10:10:14 2025 Received: from mail-ed1-f51.google.com (mail-ed1-f51.google.com [209.85.208.51]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id DD230191F92 for ; Fri, 28 Mar 2025 13:31:09 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.208.51 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743168675; cv=none; b=XkqM6s9R6VG+f7HrtVcG4x/ND0q1Ri5vkyzmKXJgxNj6erdkjSDBf4/Ry/SVSz4hs3UwqFGWYQx/RwlHDHQ5CGyBIPqmjHc6Z1cpwqWKtANIYXsV1kSdAetvlIHWxjFVg5l2wxePaZW2SJtHvFtX0Gav+zhqpl3HbJ0biC98/O0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743168675; c=relaxed/simple; bh=kEDFa+8UVBQzgPmv5eunRw1YTfTPcSizj/QHfDecNE8=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=NcHWLQVwMDc8d3VpCK1zCGjG2xNC2SwkNkfx0HhOtkRt18EQ7OuUlYuSmJZmNYguBmhatLunU7+W+I8/hvQnor+UdniUPh1NB8Th5WcwgwGa2kYgMCi5xa83V9888Um/ogxksR2E47wNAruQaFWZVhmlfoNFglfPYlB+Hcy3Zjk= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org; spf=pass smtp.mailfrom=linaro.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b=fp1xXmKZ; arc=none smtp.client-ip=209.85.208.51 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linaro.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="fp1xXmKZ" Received: by mail-ed1-f51.google.com with SMTP id 4fb4d7f45d1cf-5e6167d0536so312081a12.1 for ; Fri, 28 Mar 2025 06:31:08 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1743168666; x=1743773466; darn=vger.kernel.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=fp1xXmKZegKILOcnMMhnBzMmxqOa+3829cjCZ/M9/fvWw+rTE43gHntN9Kut2LiucL Jxe5mnb+b/MKhJgB6P424E96nPPVYATrIsUYfD9llnzlMepBi4Od0Bxq0z4A8rkE5T2N tViFclVNvinzdX/6XVRdb02bKCse1/7ibkPs7iwqsMJW48l5BLgfBZagFPoh0p62KQ2e x80OLHd9+emeKjWhTgynvdqvzims/yJJJFKl694bUze9O64A8vJunTFA4lC2X2lX+KoC EpVw8j9n+TOO7FWTh0IX/gqgn0C0Q66IiXnXYwLMLmt0lXg3/moqUqgQmBcxlx4BLbNR B51w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743168666; x=1743773466; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=zep9f0d4foFUFHvL7+wCfhcQlnrOmBCem8a0X84Q4jI=; b=S/vyxDwalUVcYByWdFuPE7sygeABuV0LzwHCnl9gVShP1pKkWPrZ6tBO0UW/aK8MBB NPyIVQCYJKsc7K+tYHgcy/EH44dhzoybI/FldzzltSBniek9JoUTt765VxxMI1k+ck8B 4ipHD9JtPM2YpPgAwS+1GX0wXq34yGaKoF5P9wMxB5zOkq8WVkjidaBfTbNQs9GN6x9t nYyyIipj7qDQiZmrpkOljKrPXvpSA2l1rWSl6T6m7WJnCBIyj/uVNcFSV1dYqRj/ZtaX mCSlZH82xeLUx+u1EYcQJBXtK3nm5Z86iEwFSq4cw5IOgTH8xDqiyZP8StQe6nij4szJ kgkQ== X-Forwarded-Encrypted: i=1; AJvYcCV1BhjR8NzZcfCICSbfjbs1X6v6SP8LVCTI8YukqTLbFbAgeOcc5MW4YzcXG0WUvBrHv/eH3J2UmuGbKgU=@vger.kernel.org X-Gm-Message-State: AOJu0YzQzavYBvUeJAFehSOWAqF3Ia2M3IC+sRXTQQFswTrgbGczds0c 0KNqYhBGkK5Gk86BfdwkZWNY5is0G1loL0dY/VMMaQi6wVmWSN40Uc0kaAvndMU= X-Gm-Gg: ASbGncvEuR30Mp82jR+6BCImGliIwTSFZZ96fyFoxXxuFrAS0nlWELXW1j+aSoOc8Sw 5yYHspXQCebliradupqkKXrR5+EFstSReB2VbcFZjA8r6TG9GbWReFzgcHW40OCrz+5QPqItj8D 8AC3GdFKYyoxdf2x0k4EjGxAIAOMD9+mfmfBKJAwxnWIRc3iuNf3SbDy6CXbVY2FPf0NMXJwskr JZxhGP9iiExnk06eh01m7L/4pTKxuAvcj7vng6hDFWJu0Kneamgaa87Ge4MTNaw3eUz5TtZUh2n C1oh9apSr7hxIOQ20zifuo9R8WkirCguH2TjC/IyEuculxk9FQ0IA/9aik+x72i9rmcEs8jnZsV vVcVftnGA7kjM5K6/R71JExHHUh++7fzxI+GcEEU= X-Google-Smtp-Source: AGHT+IGAjkKL4/RcQRVs4lvBXbIgZ8dDCpbSsQ9PMQOGZfxyLbsOG8rXC4O3k3x5fcgkz2IEiIeoJg== X-Received: by 2002:a05:6402:1d51:b0:5e5:e836:71f3 with SMTP id 4fb4d7f45d1cf-5ed8ef20410mr6346734a12.29.1743168665879; Fri, 28 Mar 2025 06:31:05 -0700 (PDT) Received: from puffmais.c.googlers.com (8.239.204.35.bc.googleusercontent.com. [35.204.239.8]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-5edc17e01f7sm1355284a12.79.2025.03.28.06.31.05 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 28 Mar 2025 06:31:05 -0700 (PDT) From: =?utf-8?q?Andr=C3=A9_Draszik?= Date: Fri, 28 Mar 2025 13:29:09 +0000 Subject: [PATCH v2 23/32] mfd: sec: add myself as module author Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250328-s2mpg10-v2-23-b54dee33fb6b@linaro.org> References: <20250328-s2mpg10-v2-0-b54dee33fb6b@linaro.org> In-Reply-To: <20250328-s2mpg10-v2-0-b54dee33fb6b@linaro.org> To: Krzysztof Kozlowski , Lee Jones , Rob Herring , Conor Dooley , Sylwester Nawrocki , Chanwoo Choi , Alim Akhtar , Michael Turquette , Stephen Boyd , Russell King , Catalin Marinas , Will Deacon , Alexandre Belloni Cc: Peter Griffin , Tudor Ambarus , Will McVicker , kernel-team@android.com, linux-kernel@vger.kernel.org, linux-samsung-soc@vger.kernel.org, devicetree@vger.kernel.org, linux-clk@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-rtc@vger.kernel.org, =?utf-8?q?Andr=C3=A9_Draszik?= X-Mailer: b4 0.14.2 Add myself as module author, so people know whom to complain to about after the recent updates :-) Signed-off-by: Andr=C3=A9 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..05658f05cb857a784c7d01b1cf2= 5de4870e1a95e 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_resum= e); EXPORT_SYMBOL_GPL(sec_pmic_pm_ops); =20 +MODULE_AUTHOR("Andr=C3=A9 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..74fd28a6bc9a42879fc1eb05546= 777f60e0062e9 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 =3D { }; module_i2c_driver(sec_pmic_i2c_driver); =20 +MODULE_AUTHOR("Andr=C3=A9 Draszik "); MODULE_AUTHOR("Sangbeom Kim "); MODULE_DESCRIPTION("I2C driver for the Samsung S5M"); MODULE_LICENSE("GPL"); --=20 2.49.0.472.ge94155a9ec-goog From nobody Wed Dec 17 10:10:14 2025 Received: from mail-ed1-f53.google.com (mail-ed1-f53.google.com [209.85.208.53]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 8C57D2343C6 for ; Fri, 28 Mar 2025 13:31:09 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.208.53 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743168677; cv=none; b=F4m1f1m0TqtvkY6htMrDTGhUaQKNXKHRY3VGnoorJrZ4ugDjshxdlVRLU/NZzpB/6lHcrVgAYbUlcBX10jFuc/0jZa5EioCXyIzQU4l0vyxyi84KgkWwWRHtdCyvD3SpHswoc0jW1F65llqJzpPjG25eJ7Yb54BfKyjNtIvhe3g= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743168677; c=relaxed/simple; bh=YO4AyBJQaRYJNR3M/qB00qaKZDbH/de1lTqDCM4IY8M=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=rZExcup1C2tuh+y531au7JiZD3+i+rcB17DAKvJ6ZBdt1iVnMOiTFKumC1Sv4rYfG07e9Pk3OkfoyC54N1h4NpSYngC5M1wb8rV4T6hJ1YuXHRJZlcYaerAfM8miOG+KqWubSyAM/t/X3sbMXijYgkV67NDwTTT1b/dp7o9D8Qo= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org; spf=pass smtp.mailfrom=linaro.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b=gORXIOrL; arc=none smtp.client-ip=209.85.208.53 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linaro.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="gORXIOrL" Received: by mail-ed1-f53.google.com with SMTP id 4fb4d7f45d1cf-5dccaaca646so3972880a12.0 for ; Fri, 28 Mar 2025 06:31:08 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1743168666; x=1743773466; darn=vger.kernel.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=gORXIOrLV0Reqn502HStGud/KS6kxHJt9isdhCx3dPSaS8AXIHBWsH8TTydPylvhFG O8KJ2SRRownPzmDgjjDtF4y5XCcH50tQ17eFiYLTUQYy871O05MgFiKnVqs8PBKw5k3I xGwTbw6MTD5tI0omjwLsnCk3vKwpVFL3UHeoJ96Tu8uTLmS549Z931MzhcjetYfJZYfD t25nA5RmANq5WtSw/w+muie6xqkpUL+f3ydVr1qbG2vPVlLXBRz34ea8x8UnzPrMQIsP JZFNu7DrezOTD7mvZ8dkLef25WWRen83ttLZCfr7hmiIMyzyP//savSWV8221WfsicT7 RHdA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743168666; x=1743773466; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=6KRr6Qm0gpuwraE+pyT1hJyit2ZkidoO0SCeL3UgR+0=; b=nPccVQ4ftVjFB40MG6XYyE6M4uFTCQ4oizTEDeA9E36XOgFDiFDwQtUBlLOqkQov5I cQ1nMPryeqbnyPQcJaW+irqMct7MrjPe8JPo/SUFEhs039W4BuU4fWUx1yy8WkgzXUHb EXRnoBO1Xl1thmQszyojQGdvWI8oDjynfrHIXiN0y1FWzp6PbNOMA/TrvbUp4KdC1uFd FoXjFXJ3CYrAfLdFBep1lNlHIg5pe3y7ViEXe85+YISE+Nl9Ro8hHk3CeW9R2kotZexv Sbn3cGAIBcHI1fUX6zzt3Y7ek+V2H2M8vlyFjEJ8GPNcnoxLow7TeNQHfxQDOm9o8FEY h5Zg== X-Forwarded-Encrypted: i=1; AJvYcCWZJnu+eMBflBKVkDVcMNOY1xbQ/ifxJgneARD4hpijs5tHmoX/UFfquUQhtCMMfq9zDM+fCu6ag6QTqt8=@vger.kernel.org X-Gm-Message-State: AOJu0YwfWsF++vnPygB5EQ6GU+bm7enfdxWxOWbbVyak1uIth5vwIxmD jUsEkvsXmrQS33niXuuERB7rhKTi1kk6w31eAN5P/Nd4zZSDmTTMM0fIHdKKvlg= X-Gm-Gg: ASbGncuSZl9XLOFAT3No2DZ6wJRt7DJiQddBXUb/9JEu+A5+QRjuUShaJllnFbX0Bsl tR82KNhYMmE903N0JK2IFGB9jTAHFwxhJzQUECy5uO2p9u+0BSJcbr7TJYiH3kAPXZu10MkyHd1 pnplKzDLz/q82IYgMN/OCjrhgRyoyBWT1j+4/XPm0L7DFxOKTsCOA8YPajaEkNJZOu28XAzA8me D2d82fsZnhnObr5nIw0OGJNj+WATMfK2QgMXFzz9l3FdJtqmUDkeAGTZbdhvetWrUvbPzsEaNkA XOEEBBWiUV3DhA96OmPT+htxgeDt8zH/SMSNvbIKc5MEVbS0U7o1pCfYShrysms7SGf8u/tNRcO 5EfJUYPRkC64JwwNtnxM24dxRjClu X-Google-Smtp-Source: AGHT+IG7PqQiTAeCLYeu4XFO7xoUmzB0J+twGC6cGhlHhLLeNWFRkIRumwPXFqyHrKLHI6/YYrbfIg== X-Received: by 2002:a05:6402:241d:b0:5ec:6feb:5742 with SMTP id 4fb4d7f45d1cf-5edc4c93702mr2791136a12.16.1743168666473; Fri, 28 Mar 2025 06:31:06 -0700 (PDT) Received: from puffmais.c.googlers.com (8.239.204.35.bc.googleusercontent.com. [35.204.239.8]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-5edc17e01f7sm1355284a12.79.2025.03.28.06.31.06 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 28 Mar 2025 06:31:06 -0700 (PDT) From: =?utf-8?q?Andr=C3=A9_Draszik?= Date: Fri, 28 Mar 2025 13:29:10 +0000 Subject: [PATCH v2 24/32] clk: s2mps11: add support for S2MPG10 PMIC clock Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250328-s2mpg10-v2-24-b54dee33fb6b@linaro.org> References: <20250328-s2mpg10-v2-0-b54dee33fb6b@linaro.org> In-Reply-To: <20250328-s2mpg10-v2-0-b54dee33fb6b@linaro.org> To: Krzysztof Kozlowski , Lee Jones , Rob Herring , Conor Dooley , Sylwester Nawrocki , Chanwoo Choi , Alim Akhtar , Michael Turquette , Stephen Boyd , Russell King , Catalin Marinas , Will Deacon , Alexandre Belloni Cc: Peter Griffin , Tudor Ambarus , Will McVicker , kernel-team@android.com, linux-kernel@vger.kernel.org, linux-samsung-soc@vger.kernel.org, devicetree@vger.kernel.org, linux-clk@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-rtc@vger.kernel.org, =?utf-8?q?Andr=C3=A9_Draszik?= X-Mailer: b4 0.14.2 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=C3=A9 Draszik --- drivers/clk/clk-s2mps11.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/drivers/clk/clk-s2mps11.c b/drivers/clk/clk-s2mps11.c index 8ddf3a9a53dfd5bb52a05a3e02788a357ea77ad3..92c8d36dafcf8a448873567fb35= 41a1b90cd9837 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 *pd= ev) clk_data->num =3D S2MPS11_CLKS_NUM; =20 switch (hwid) { + case S2MPG10: + s2mps11_reg =3D S2MPG10_PMIC_RTCBUF; + break; case S2MPS11X: s2mps11_reg =3D S2MPS11_REG_RTC_CTRL; break; @@ -221,6 +225,7 @@ static void s2mps11_clk_remove(struct platform_device *= pdev) } =20 static const struct platform_device_id s2mps11_clk_id[] =3D { + { "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 =3D { { + .compatible =3D "samsung,s2mpg10-clk", + .data =3D (void *)S2MPG10, + }, { .compatible =3D "samsung,s2mps11-clk", .data =3D (void *)S2MPS11X, }, { --=20 2.49.0.472.ge94155a9ec-goog From nobody Wed Dec 17 10:10:14 2025 Received: from mail-ed1-f53.google.com (mail-ed1-f53.google.com [209.85.208.53]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 8A3902343C0 for ; Fri, 28 Mar 2025 13:31:09 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.208.53 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743168677; cv=none; b=fpHXj6nhOlTfrinc2qY7ISyqiE7hMWyBbi98/a+zOsAOZsES7nFi/2cglZwFqwb429Cj3iacC0XKLxKgPo4a9+vZf2KGwPdjIZj8hBnL9wp5rG2GDfCXopmsFj03TeWFUd2Su03nz+UB/3kzzWQNvmLjrYACgfxJyCA2WyD069s= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743168677; c=relaxed/simple; bh=ZQXUgJ+++iTVY6rSOqr6bNKwQtS/wOW8Ul9zOtzlYzw=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=G/EDCui4SyhChzu+BrRjqJGt8IWcEL/fyeJ9Qd8hBjcSoBc+seKYv1qn/6gMt8LMTGf2iHIddqNM2k3QzhdTMEnPWYVZ86KofTrjFfT+3SyLnyR25FVbjGa7mMtT89yKQT/9Zrb5vfvxUi7yWBW635D+2xos31S2LGEC6l6o9bM= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org; spf=pass smtp.mailfrom=linaro.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b=V2Z7n55V; arc=none smtp.client-ip=209.85.208.53 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linaro.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="V2Z7n55V" Received: by mail-ed1-f53.google.com with SMTP id 4fb4d7f45d1cf-5e677f59438so3356838a12.2 for ; Fri, 28 Mar 2025 06:31:09 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1743168667; x=1743773467; darn=vger.kernel.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=V2Z7n55VPpjKfdYrymM/gN/wSeF1LASJbvSlEqY1KjF+eTL5aYOygWCE+USvhc7M14 Zk1ryejVR9J83vMTq9GVEauzD7ClDZjpqsOPHey6zsiFAGTjNQ702f1l+wMcdgIRQPEY 5bnTFsRf1cnbJa8T5JZhmKZoMvLbRH4OoPAk6rw4gRzhoL2nbUkOm690A4vxXAsODyTt HA+T762iMmCTNtAm2y+4etuuKnOEiDZhWdHs+iigBQfQCLMC1P7rvT/Ad0Trorn9rR7j wOFtwt4agWTiXbMt73xIm62yMUGw/Fn3TowscdygePpBAhQTH8IGxPDtB0R9xYN+KCPM ddTw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743168667; x=1743773467; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=/FZ2sB+aGjDu2Ign5/fbJkQ1EFpiN/+kFXshKweSgHY=; b=dkbhTKtXQZFce90SD8ilCHd2dJCRRp6xRP4uGWG09zVMm6eoetWDK17LZcL2gfZYHA 7Krr4CpBRKQmsQxY8tJLbSknVvt1bOJiEpAS2ti6L+UUtxRu+c9sgcu19iK05zpilQ3k zx2nxi4bLGoGFtUePHooba3g+QNGTMPE0hNOKT3mtIqYN5KkSCpoIlaFTlHnFYwyns1V Hw1wkZ/Kgf5GuO8V8t8+tgV9U309DHVMWvOGTLEVnxaGXdHs+C3mfMfwpfxN2fVKPRL8 XuEbh7vmxYA6qxMM37l2Q5Vb/xm+JJCwDccDAUn0k2tmJQ1xnls24Qvxc/l8g28Vll9J oOAA== X-Forwarded-Encrypted: i=1; AJvYcCVjllBkT213J6ksi/c2w33Me3l1MWTlv+Z3vf+rbz2xmjIwpO4reTf5dJiQs28vDATonv7BsRNzJt7vY0g=@vger.kernel.org X-Gm-Message-State: AOJu0YyM/+vR7/0Ov7n75Uw5m6AHTFtg4NJIcBV5h/nbpwHxnjJdkwHn 9enyUChkfUdSubF4/QKb1Gc1KMH03c4/pPzJOPyDr7TuhKtiX/I5khYz3X9Wp04= X-Gm-Gg: ASbGnct+hPXeiLge1ISoJQ+h1n9cg165EMo8hFgQEiExyk2TXnP8TWDXYVPqtV4k/nV 05CNCzTzH7phRA14ZVSDAGqt5Y7WiCh/ge8Pvc20f+nqyXRTElkb5C5N4o5kyWarvU1kfh90frF O4VChlBnzuRzFeK/92LSL7ZUip4niyfU7VAXO+lcG32j6cG3YK2v+BuTPQ5Mun27XTeFpkAjWhD Ptv0ih+N+x6gToLnedurZaoHsrgaKVyyctJTDu8SRQL3nEkBO2BVJkAQ9mwFFRlXU+j79akmeJV WYbaYqA9cARQfZuP7bTjJFTtgIT+2uFsYAWMouKp8E3TD+Baxrwx9i1gR09lOeDD22a1KH/QRmK Wxn0duJMHWKOzDwgzWXp2ngm7y119 X-Google-Smtp-Source: AGHT+IGSqptnzxioWGgvH+TeC2OAU/4Feh5tQVATT2tVY9LlKpIN77ufnNqeM2yiIzKx/dF//iDlTw== X-Received: by 2002:a05:6402:1d4a:b0:5e5:dea5:3eb2 with SMTP id 4fb4d7f45d1cf-5ed8e388e5emr8163387a12.11.1743168666968; Fri, 28 Mar 2025 06:31:06 -0700 (PDT) Received: from puffmais.c.googlers.com (8.239.204.35.bc.googleusercontent.com. [35.204.239.8]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-5edc17e01f7sm1355284a12.79.2025.03.28.06.31.06 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 28 Mar 2025 06:31:06 -0700 (PDT) From: =?utf-8?q?Andr=C3=A9_Draszik?= Date: Fri, 28 Mar 2025 13:29:11 +0000 Subject: [PATCH v2 25/32] rtc: s5m: cache value of platform_get_device_id() during probe Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250328-s2mpg10-v2-25-b54dee33fb6b@linaro.org> References: <20250328-s2mpg10-v2-0-b54dee33fb6b@linaro.org> In-Reply-To: <20250328-s2mpg10-v2-0-b54dee33fb6b@linaro.org> To: Krzysztof Kozlowski , Lee Jones , Rob Herring , Conor Dooley , Sylwester Nawrocki , Chanwoo Choi , Alim Akhtar , Michael Turquette , Stephen Boyd , Russell King , Catalin Marinas , Will Deacon , Alexandre Belloni Cc: Peter Griffin , Tudor Ambarus , Will McVicker , kernel-team@android.com, linux-kernel@vger.kernel.org, linux-samsung-soc@vger.kernel.org, devicetree@vger.kernel.org, linux-clk@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-rtc@vger.kernel.org, =?utf-8?q?Andr=C3=A9_Draszik?= X-Mailer: b4 0.14.2 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=C3=A9 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..53c76b0e4253a9ba225c3c723d3= 5d9182d071607 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 *in= fo) static int s5m_rtc_probe(struct platform_device *pdev) { struct sec_pmic_dev *s5m87xx =3D dev_get_drvdata(pdev->dev.parent); + const struct platform_device_id * const id =3D + 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; =20 - switch (platform_get_device_id(pdev)->driver_data) { + switch (id->driver_data) { case S2MPS15X: regmap_cfg =3D &s2mps14_rtc_regmap_config; info->regs =3D &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); } =20 i2c =3D devm_i2c_new_dummy_device(&pdev->dev, s5m87xx->i2c->adapter, @@ -686,7 +688,7 @@ static int s5m_rtc_probe(struct platform_device *pdev) =20 info->dev =3D &pdev->dev; info->s5m87xx =3D s5m87xx; - info->device_type =3D platform_get_device_id(pdev)->driver_data; + info->device_type =3D id->driver_data; =20 if (s5m87xx->irq_data) { info->irq =3D regmap_irq_get_virq(s5m87xx->irq_data, alarm_irq); --=20 2.49.0.472.ge94155a9ec-goog From nobody Wed Dec 17 10:10:14 2025 Received: from mail-ed1-f48.google.com (mail-ed1-f48.google.com [209.85.208.48]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id DD8182356AD for ; Fri, 28 Mar 2025 13:31:11 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.208.48 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743168680; cv=none; b=eUOclL3n8164S9nN/HuenF/w0bK4FKKXc5nN/pLQOpxHRzmz/coKYXVScacNypG75XjhBZ/PEjLgiG3b/g2QhM9ahQdZexJT5KLKyN3/isLND9f9hbycMd+Bp7CkvfMm/nk1N4Q1/1EZz3RW8RJI+WaG5ouYGEcgFaKbMk4exLg= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743168680; c=relaxed/simple; bh=XY+ty2A6DQsXp5psWmWSxlDWQ8KjYhDNZ4NRtatMswk=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=MKE7P+NCaKQV/Xkztv0LL1KAVNHK7AuRDyC95JmzVmX/lbYPkJ7TEkXXDkrTJ1SZWu36ltDBLBSDJ3R5E5o1aHn4kZ3tUBvOueco37OdRnHDMrwEaKPjwgqpepuQ776LQzTkrcGzHFpCIQVxjQ8rFy62vsedfoMSX93WvGJwSuw= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org; spf=pass smtp.mailfrom=linaro.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b=htuI/5Kj; arc=none smtp.client-ip=209.85.208.48 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linaro.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="htuI/5Kj" Received: by mail-ed1-f48.google.com with SMTP id 4fb4d7f45d1cf-5e60cfef9cfso3340383a12.2 for ; Fri, 28 Mar 2025 06:31:09 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1743168668; x=1743773468; darn=vger.kernel.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=htuI/5Kj+N4M9iQ5qZsneFvMhkGiG/Dvah7wWJMKzFBvwI510nAHZ5AUuhuaqWwWlJ 2X0Rozmqiv9JHUciOoMO6ufGvwmdBJHtYriBGNohYh22Qc+Mk5RyJ2OtlYIkRmz5ZX6O A4iJAXDUsncgula5qYVi+pRl5CfS09LsLz594rq0TpLT3kauYHsvs+rfJpLXSOUXHoil l4IPK6KBuGAc95SDQvOiTzipo9gfDWJ92h5zkFxi7ry9F1BEb58/ATYbpWpSpT7ZNNKv CCrlGkO7l3lhbtOBAWms5mBXCtUzKRiG3KgcDSR6lcnSd8N6Y09WXbX2CQ5DA+8D/Wj/ UEmw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743168668; x=1743773468; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=ZwiQ684ZfeWSIriRYeiGWHceehqqEuabrmdfgVRjbUU=; b=B8LjrnXkiJmlQeQ63TETsyBI+FUBYK3wEvWUZ4xPHzpgfWLUFLFzeBfGJnW3rhCvqs f9hvFtCHsbeNK/z8YF/4yRANRFeddPfbXkDeHAS94h97cNdCTowYrtSazNJ7vqnj/vm3 ybuHx0H6Dld/rWvgFbf+GSdZa+dml7xzwcRfAu9SYiFnlhnXN+CaoxpksymkKDuOHV3H zl2gkqS1UVw53AmJkljrvDWf3jRVsUga/td2lU/qdjz/zTcomtQNhsswleyBBWeK1bqY qpZ9uF78Lco4smZOpk1r/+2Sj//mStpRe9Gmf02Dm0sHuZVFLQUp66reEzhY0DDrXulR 2ztA== X-Forwarded-Encrypted: i=1; AJvYcCWJoV6LM6nFn3P4MKaqxEMOc+JjchAQZIvVQCsdXwwWAguVwNU4esgJcLyEc2OGMIVbzSdIay4wmBMcrrQ=@vger.kernel.org X-Gm-Message-State: AOJu0Yz4Xpvm9cGoBit8d8SwEP2vh5czj0RpBgHTM9WZZK8kYu2tIWhz Z0rCJDzRyjy0ay0ncN6ecJZRIFluWs2am/oTv1SN0AXF9HdX9g7CGrqTJh2JY1k= X-Gm-Gg: ASbGncvKJ2gzZmv0XGXpwiEWP1fkDDxW+OmO2+FlVqXDcic0Q5B+ooot8JZLYZyTcNj SZ/8+zGvMq/SSX2ZEkPqIlFKBGAz22c8F5QDfkRSbh/D3FX+E7cmKvdpGeV7ng3RhL+I02zRsym GnRL5TqP+70/AuQk9kn/27Pwv2SmhoYGcCIQ36EvEWCzvUeiOYr3Mm11MV5LOZKub3qySEwVQi/ 337Edcf9hWWuSwHghG3pxLVeiCpDVaZhD0d1lt+3IwDtm50rmJC59SCgafFkELdLJxnk6enkwUS NHAz5NNW1saaSLbOkA6VP4Kcx8pcyNiaIzJ5G7fR5fj21pw/tvSbvfQzjR7pWeANYNkd5RptXJG AeQjgJB829nS2VGlADXkb5vptb6Lplo55Bc3rLUI= X-Google-Smtp-Source: AGHT+IGGNzjfKLDz9VEqvXIc5x4+us5D+sfcsDSKvKIds4Ov17i1NhheRxJHbrgm44PnOKBE2PxwXA== X-Received: by 2002:a05:6402:350c:b0:5e4:9348:72c3 with SMTP id 4fb4d7f45d1cf-5ed8e27b242mr8087751a12.10.1743168667494; Fri, 28 Mar 2025 06:31:07 -0700 (PDT) Received: from puffmais.c.googlers.com (8.239.204.35.bc.googleusercontent.com. [35.204.239.8]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-5edc17e01f7sm1355284a12.79.2025.03.28.06.31.07 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 28 Mar 2025 06:31:07 -0700 (PDT) From: =?utf-8?q?Andr=C3=A9_Draszik?= Date: Fri, 28 Mar 2025 13:29:12 +0000 Subject: [PATCH v2 26/32] rtc: s5m: prepare for external regmap Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250328-s2mpg10-v2-26-b54dee33fb6b@linaro.org> References: <20250328-s2mpg10-v2-0-b54dee33fb6b@linaro.org> In-Reply-To: <20250328-s2mpg10-v2-0-b54dee33fb6b@linaro.org> To: Krzysztof Kozlowski , Lee Jones , Rob Herring , Conor Dooley , Sylwester Nawrocki , Chanwoo Choi , Alim Akhtar , Michael Turquette , Stephen Boyd , Russell King , Catalin Marinas , Will Deacon , Alexandre Belloni Cc: Peter Griffin , Tudor Ambarus , Will McVicker , kernel-team@android.com, linux-kernel@vger.kernel.org, linux-samsung-soc@vger.kernel.org, devicetree@vger.kernel.org, linux-clk@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-rtc@vger.kernel.org, =?utf-8?q?Andr=C3=A9_Draszik?= X-Mailer: b4 0.14.2 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=C3=A9 Draszik --- drivers/rtc/rtc-s5m.c | 81 ++++++++++++++++++++++++++++-------------------= ---- 1 file changed, 45 insertions(+), 36 deletions(-) diff --git a/drivers/rtc/rtc-s5m.c b/drivers/rtc/rtc-s5m.c index 53c76b0e4253a9ba225c3c723d35d9182d071607..86ccf666c68059408907c97f264= 7716ffaad10c6 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 =3D platform_get_device_id(pdev); struct s5m_rtc_info *info; - struct i2c_client *i2c; - const struct regmap_config *regmap_cfg; int ret, alarm_irq; =20 info =3D devm_kzalloc(&pdev->dev, sizeof(*info), GFP_KERNEL); if (!info) return -ENOMEM; =20 - switch (id->driver_data) { - case S2MPS15X: - regmap_cfg =3D &s2mps14_rtc_regmap_config; - info->regs =3D &s2mps15_rtc_regs; - alarm_irq =3D S2MPS14_IRQ_RTCA0; - break; - case S2MPS14X: - regmap_cfg =3D &s2mps14_rtc_regmap_config; - info->regs =3D &s2mps14_rtc_regs; - alarm_irq =3D S2MPS14_IRQ_RTCA0; - break; - case S2MPS13X: - regmap_cfg =3D &s2mps14_rtc_regmap_config; - info->regs =3D &s2mps13_rtc_regs; - alarm_irq =3D S2MPS14_IRQ_RTCA0; - break; - case S5M8767X: - regmap_cfg =3D &s5m_rtc_regmap_config; - info->regs =3D &s5m_rtc_regs; - alarm_irq =3D S5M8767_IRQ_RTCA1; - break; - default: + info->regmap =3D 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 =3D &s2mps14_rtc_regmap_config; + info->regs =3D &s2mps15_rtc_regs; + alarm_irq =3D S2MPS14_IRQ_RTCA0; + break; + case S2MPS14X: + regmap_cfg =3D &s2mps14_rtc_regmap_config; + info->regs =3D &s2mps14_rtc_regs; + alarm_irq =3D S2MPS14_IRQ_RTCA0; + break; + case S2MPS13X: + regmap_cfg =3D &s2mps14_rtc_regmap_config; + info->regs =3D &s2mps13_rtc_regs; + alarm_irq =3D S2MPS14_IRQ_RTCA0; + break; + case S5M8767X: + regmap_cfg =3D &s5m_rtc_regmap_config; + info->regs =3D &s5m_rtc_regs; + alarm_irq =3D S5M8767_IRQ_RTCA1; + break; + default: + return dev_err_probe(&pdev->dev, -ENODEV, + "Unsupported device type %lu\n", + id->driver_data); + } + + i2c =3D 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 =3D 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); } =20 - i2c =3D 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 =3D 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 =3D &pdev->dev; info->s5m87xx =3D s5m87xx; info->device_type =3D id->driver_data; --=20 2.49.0.472.ge94155a9ec-goog From nobody Wed Dec 17 10:10:14 2025 Received: from mail-ed1-f48.google.com (mail-ed1-f48.google.com [209.85.208.48]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 4304321ABBA for ; Fri, 28 Mar 2025 13:31:13 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.208.48 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743168683; cv=none; b=X4TqMG908XHkg4uQcXXQLtqcmu8IwyK3T4xev1L1+LCXWeFYSS0x3FKHN7Pd64aYqmsYB40BpDONsd5YpH0D9S2ivb55k4gmlQnsJTkFp9v/fhpHkFd5jzy3ly2g58H2Tz/zfNjddDSoUrW17ZxkhiEq5P9b1om9t5oanoW1hO4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743168683; c=relaxed/simple; bh=sbOiK9Z/f00bA00NdDdv7dxhs7NOGeZKoor5kyfk8Ho=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=Wvp/bdMv5C0WUEDG9IwpJBUGo2JuYUDc6ReE2Ax46nxI52aTbGhRsFcdXXF6HJPxQ3Bs+lYXUajxIqTxSgaTDW4IV4pA3uGkoUvGhbAg8Bgbx/h1DQ8yM9OopzFmavfpXcLNG2bZ2GPncrE/AI/sjhuEJeTpeyR9M+fUwML8rB4= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org; spf=pass smtp.mailfrom=linaro.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b=EBcnLfoJ; arc=none smtp.client-ip=209.85.208.48 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linaro.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="EBcnLfoJ" Received: by mail-ed1-f48.google.com with SMTP id 4fb4d7f45d1cf-5e5cded3e2eso3366341a12.0 for ; Fri, 28 Mar 2025 06:31:12 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1743168669; x=1743773469; darn=vger.kernel.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=EBcnLfoJ6Wz66W3f8KOpgNB8UT0KxjbXHSfG5HyN/mnGSavsi/7oFz7xrmEAkY199k GYrHbuBdi1cIgXhdBZ/mEjWW21asyLRuJTINEmu1trMexsuuoJR2l/ScayJgRCGlx86a QKJMpztxpiyENw57jDRebmhpuqKN5AzAVpSSh0sU+l1hfA0GuhQ6MkCLJJaT/V6gBEQj b7Z1UB/Nleq1BKCLJjtU0hW50FxSTMX1IMMcKyNBRVrYMTEWityB5p3ud99AryU6QvSA bmUkB5nOmIx0UcWx+VdJQcgjNPKNyz+Uq9oRh8IHXWd/mbUJcsFilQKBYCsdMPlOnLNZ sGOw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743168669; x=1743773469; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=RKjSO+JBCZWmTR2KI3Lfut4sG9sU0pAz1iqONtK29C8=; b=Ttk3nvmJT2SWl6ZTHiP7tVh3wBlFXpZW5Tv0RoGZ6PMEoICd638qPtgiDGhZM1c45u Zr9aOLPjyT44Pd9Ez7539TBpL6YgHVd2s3b7bV4zF0Hrh41nm3nLzki67vBqt7mL61PL sOEI7Db+x5X7WfG8Dh151L0hlAVftgv/097fXVagT0hzYoWQ54Iufnw+R3gQKDA1ti+o 50fvQz5XJh7xhg2a7H7ocH/4sDE1gNLnrPrO8P0fPcYcNzLw7lFynu+SIjt1HUWtkSZN sb5dgMHj1jJk/JZXLyDCJ7oCMfZdiytvNZesHjhBySYBdW/oXJe6c1voM3caf6C3Nm8y H3KA== X-Forwarded-Encrypted: i=1; AJvYcCWGPtxrQZONWdyfJ2BuZsdI9NniS2AJPX9kMFDlqmhzDMeHbLLsY56aTxwDDNlQipxbdkDajEFQeYgFNhw=@vger.kernel.org X-Gm-Message-State: AOJu0YwW32LxBSubgMVnoiRgG/lniSTw1gie+ADFJkSjA1QXUJtNUjuN e0NCv8iLF5sbMeezQwAs4ul9qJ6Ho4ny2ILSm5tJvb9IO1lhEN0xfkkgL8sqNfk= X-Gm-Gg: ASbGncv1bG9wn+qb3Os8S4VgRgQhbyP0wSz+bA7PR3FwfMz7k7/RLa4GbgRbxxFUtiz 3frPdd4GtcDkXEea4J744LT4d3O6VoCn0hNFtQP1eaDEgcM7XKCyrlT4M/fgspMvzDg5iFCUcjE MsTMmnMXj+0wZ1TXcIRuWv+QwZN0F6p762wkiNTdRMluD++ecO68bdqSeDUdzgXvXAeH1F2BmIa yKsG36RHwY+NVBVyYuyePbgpTy39DXwi7BGZARvJievE5UxK+57Pri7zXoNPg67xtv4AOp4FHm6 njopegVGQH1rFHBP7qadoMsNBYDiF8TY189pq/GWJB32dvwsStwuoMSnFnq8L3ZCSaITGYRRW6B aGdiXDscl695DZ67D/QgECJgNJjgwKTUXkxJuhwY= X-Google-Smtp-Source: AGHT+IGM1xlZx4ccNFqVelv8+aW7WUC4arPiK4jsptuerBD328sEm4AnS2ogy0kl/X6Jhdq9FDI9fw== X-Received: by 2002:a05:6402:348e:b0:5ed:1c64:be9a with SMTP id 4fb4d7f45d1cf-5ed8df6a885mr6305552a12.2.1743168668531; Fri, 28 Mar 2025 06:31:08 -0700 (PDT) Received: from puffmais.c.googlers.com (8.239.204.35.bc.googleusercontent.com. [35.204.239.8]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-5edc17e01f7sm1355284a12.79.2025.03.28.06.31.07 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 28 Mar 2025 06:31:07 -0700 (PDT) From: =?utf-8?q?Andr=C3=A9_Draszik?= Date: Fri, 28 Mar 2025 13:29:13 +0000 Subject: [PATCH v2 27/32] rtc: s5m: add support for S2MPG10 RTC Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250328-s2mpg10-v2-27-b54dee33fb6b@linaro.org> References: <20250328-s2mpg10-v2-0-b54dee33fb6b@linaro.org> In-Reply-To: <20250328-s2mpg10-v2-0-b54dee33fb6b@linaro.org> To: Krzysztof Kozlowski , Lee Jones , Rob Herring , Conor Dooley , Sylwester Nawrocki , Chanwoo Choi , Alim Akhtar , Michael Turquette , Stephen Boyd , Russell King , Catalin Marinas , Will Deacon , Alexandre Belloni Cc: Peter Griffin , Tudor Ambarus , Will McVicker , kernel-team@android.com, linux-kernel@vger.kernel.org, linux-samsung-soc@vger.kernel.org, devicetree@vger.kernel.org, linux-clk@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-rtc@vger.kernel.org, =?utf-8?q?Andr=C3=A9_Draszik?= X-Mailer: b4 0.14.2 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=C3=A9 Draszik --- drivers/rtc/rtc-s5m.c | 60 +++++++++++++++++++++++++++++++++++++++++++++++= ++++ 1 file changed, 60 insertions(+) diff --git a/drivers/rtc/rtc-s5m.c b/drivers/rtc/rtc-s5m.c index 86ccf666c68059408907c97f2647716ffaad10c6..0d8783577bab4f4ebe61050dbd6= 8387d970773bd 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 * =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D * 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 =3D= { .write_alarm_udr_mask =3D S5M_RTC_UDR_MASK, }; =20 +/* Register map for S2MPG10 */ +static const struct s5m_rtc_reg_config s2mpg10_rtc_regs =3D { + .regs_count =3D 7, + .time =3D S2MPG10_RTC_SEC, + .ctrl =3D S2MPG10_RTC_CTRL, + .alarm0 =3D S2MPG10_RTC_A0SEC, + .alarm1 =3D S2MPG10_RTC_A1SEC, + .udr_update =3D S2MPG10_RTC_UPDATE, + .autoclear_udr_mask =3D S2MPS15_RTC_WUDR_MASK | S2MPS15_RTC_AUDR_MASK, + .read_time_udr_mask =3D S2MPS_RTC_RUDR_MASK, + .write_time_udr_mask =3D S2MPS15_RTC_WUDR_MASK, + .write_alarm_udr_mask =3D S2MPS15_RTC_AUDR_MASK, +}; + /* Register map for S2MPS13 */ static const struct s5m_rtc_reg_config s2mps13_rtc_regs =3D { .regs_count =3D 7, @@ -238,6 +254,7 @@ static int s5m_check_peding_alarm_interrupt(struct s5m_= rtc_info *info, ret =3D regmap_read(info->regmap, S5M_RTC_STATUS, &val); val &=3D 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_inf= o *info) case S5M8767X: data &=3D ~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) =20 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) =20 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, struc= t rtc_wkalrm *alrm) =20 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) =20 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 *inf= o) =20 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) =20 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 *in= fo) ret =3D regmap_raw_write(info->regmap, S5M_ALARM0_CONF, data, 2); break; =20 + case S2MPG10: case S2MPS15X: case S2MPS14X: case S2MPS13X: @@ -634,6 +659,25 @@ static int s5m8767_rtc_init_reg(struct s5m_rtc_info *i= nfo) return ret; } =20 +static int s5m_rtc_restart_s2mpg10(struct sys_off_data *data) +{ + struct s5m_rtc_info *info =3D data->cb_data; + int ret; + + if (data->mode !=3D REBOOT_COLD && data->mode !=3D REBOOT_HARD) + return NOTIFY_DONE; + + /* + * Arm watchdog with maximum timeout (2 seconds), and perform full reset + * on expiry. + */ + ret =3D 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 =3D 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 =3D=3D S2MPG10) { + info->regs =3D &s2mpg10_rtc_regs; + alarm_irq =3D 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); } =20 + if (of_device_is_system_power_controller(pdev->dev.parent->of_node) && + info->device_type =3D=3D S2MPG10) { + ret =3D 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); } =20 @@ -766,6 +825,7 @@ static SIMPLE_DEV_PM_OPS(s5m_rtc_pm_ops, s5m_rtc_suspen= d, s5m_rtc_resume); =20 static const struct platform_device_id s5m_rtc_id[] =3D { { "s5m-rtc", S5M8767X }, + { "s2mpg10-rtc", S2MPG10 }, { "s2mps13-rtc", S2MPS13X }, { "s2mps14-rtc", S2MPS14X }, { "s2mps15-rtc", S2MPS15X }, --=20 2.49.0.472.ge94155a9ec-goog From nobody Wed Dec 17 10:10:14 2025 Received: from mail-ed1-f48.google.com (mail-ed1-f48.google.com [209.85.208.48]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 50B4921B8F7 for ; Fri, 28 Mar 2025 13:31:13 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.208.48 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743168683; cv=none; b=qWUAsg63IXG4RC4pcuFcY6kh3WAswBcTkoevOLyv4EcAtmHWQ2NDOQX/T9ByDgYtvhXJf1InK57jAB7HyogGI9S1lrwWuyQRHOpIaa9YgeTxa3Jz154t+hWzJARibpbDTwNjhV6KvRbuNFQcWdaOAKazoo+HQXWh5iM34wIDtRI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743168683; c=relaxed/simple; bh=OstHPLtut+rInIwPbWUGG5F4uJhc1s8p9YL3Yn+eQfw=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=YsDS35dDiPSAN/zwjEiyZqktcYxxmiL1Th4EU4dik8VbAIYGgVBYbv5jZeq5Mq8Yko6bOHVqssIrNKFKdra8DK4j9oyNkoj4dQdml1doDjpTzWX+jCZDHT+X7o2AJJa+/OOUEz4burQ9KkM5cGtWjs/2gJBmlNyKK1Atk3WoaYQ= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org; spf=pass smtp.mailfrom=linaro.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b=i4SRp9az; arc=none smtp.client-ip=209.85.208.48 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linaro.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="i4SRp9az" Received: by mail-ed1-f48.google.com with SMTP id 4fb4d7f45d1cf-5e5e63162a0so3149809a12.3 for ; Fri, 28 Mar 2025 06:31:13 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1743168669; x=1743773469; darn=vger.kernel.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=i4SRp9azeCw6ildaDM+Jt1ptlEfcVSNAp2jBSKX+I1dZarZ08fJs3bxXIKf0hOgbWh ImmY3aB2kP0NihUk7KJdIVezaSIchjQKw9cWDpSuuwu8rCQmd3F3BfWSqKJXalorYhn+ 6WeWWXwAlhG7hYh/I2QQoioykshyYGWsfqO0Q4HxJTUuYow+pAh6xz62s9VR5oCZcFQy wJmAipyT4KmD8/rMys7Nx12AfQcOcpkzOtPaWwKPmhIx6ULE8OP0RBCRYMtMD7MgMlLB AYw/5IB+1oGEreWhGr4KV+WB6DG2GThA7wBLwI0Khscwqjp3SS0M//P161dMvQs/rlHA aj0w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743168669; x=1743773469; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=5zOrAobgqux207RdFFKdVSyI3bSrdsl4WaNtosICsko=; b=flJZdd+r1Qr0eFrxVVl++QkPYtKqXr+9jcstcDBBM+lOIuDrbVIxMChpuwKbH9FEkI UPscXzEBM7k7Ct2A1SGAM+RgSHafHiB13Q/WCcwDivyHLbIExBNDJ+T0odxqBgDDQBHh nj00qEwfPbEdB95j5K6FBbiuPEOYuXcT17yhi5LPXYwrmWLtmH1WAKUV+YcvKH/MfcP9 Q+LsxTf+Zj6lq5KjuAHfyUdYf/2R/6/0pNIOoEMS4o+GyNVwmetbXSGMvKIf10RjvTdI TFJ9RnbN4+OIAu0irs+dKuMSiovvv3x9MbESka3C8CJDLykUPtxbI4c6sN/JKNTmlimV uCtw== X-Forwarded-Encrypted: i=1; AJvYcCX6VqyHwgYxiSxCcElw8H5EHFA1YlYVCrVtxYeRTw4eHvOoep+ke9haDgz9aFgmonhbK4xQa9kb1Ai0Ha0=@vger.kernel.org X-Gm-Message-State: AOJu0YxjlrP6qVawXzPicvHuow/lLFt58lAcxDIO6lMu/TPzD+lZFD1c j4aciaX16nrukJ4MmrlkW5KzLEvwm/OgP+A0sPpf0PlUuP5ozesHR065w/tOfKE= X-Gm-Gg: ASbGncvkRrYwKpczp8r6y6Kyw6uzs9hDf/LJBU/201xcoBTGJMBS9HLJW6quqEnd8L4 K7/Y/iTRCeEo2Sm+ln/xV/6JE3Ir8t5MiagK8c3gEI0v3I50cnV3MpR9PDnkipeYkUYI/EfA/EY MLHcSbx2s4iCkOd3h7v5i4z1cHXMOss1mCW+P1tPWUKKyl1Ss0KAOm8eGUlSAvpSwXthXDHlQFC RwQQiv74EPR74wqSFuwxUhx5/IgG2kH0dIBFom3hLHs7VTNlU6TgZ+SIEi29PiaddTZrnpAc4dK qXHW9EJgPogsSjdyNDuuaCCPIU4nGVGUb7d0E03vt4ngEJlLtjdv7K+BjpAW+8bo7ObfOdYJuKO lkPgUY7b0ELFy60MVysXgLSPICfqX X-Google-Smtp-Source: AGHT+IGPOuJOhetnhPLDwYjmYCFkw94wWYnGaOGbWSLs66EXrE/s58NfpYkGGvWXaz4pE2WTKd2LXg== X-Received: by 2002:a05:6402:40cc:b0:5ec:c7e4:b6ee with SMTP id 4fb4d7f45d1cf-5ed8ed2ff84mr7735639a12.27.1743168669063; Fri, 28 Mar 2025 06:31:09 -0700 (PDT) Received: from puffmais.c.googlers.com (8.239.204.35.bc.googleusercontent.com. [35.204.239.8]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-5edc17e01f7sm1355284a12.79.2025.03.28.06.31.08 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 28 Mar 2025 06:31:08 -0700 (PDT) From: =?utf-8?q?Andr=C3=A9_Draszik?= Date: Fri, 28 Mar 2025 13:29:14 +0000 Subject: [PATCH v2 28/32] rtc: s5m: fix a typo: peding -> pending Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250328-s2mpg10-v2-28-b54dee33fb6b@linaro.org> References: <20250328-s2mpg10-v2-0-b54dee33fb6b@linaro.org> In-Reply-To: <20250328-s2mpg10-v2-0-b54dee33fb6b@linaro.org> To: Krzysztof Kozlowski , Lee Jones , Rob Herring , Conor Dooley , Sylwester Nawrocki , Chanwoo Choi , Alim Akhtar , Michael Turquette , Stephen Boyd , Russell King , Catalin Marinas , Will Deacon , Alexandre Belloni Cc: Peter Griffin , Tudor Ambarus , Will McVicker , kernel-team@android.com, linux-kernel@vger.kernel.org, linux-samsung-soc@vger.kernel.org, devicetree@vger.kernel.org, linux-clk@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-rtc@vger.kernel.org, =?utf-8?q?Andr=C3=A9_Draszik?= X-Mailer: b4 0.14.2 Fix this minor typo, and adjust the a related incorrect alignment to avoid a checkpatch error. Signed-off-by: Andr=C3=A9 Draszik --- drivers/rtc/rtc-s5m.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/rtc/rtc-s5m.c b/drivers/rtc/rtc-s5m.c index 0d8783577bab4f4ebe61050dbd68387d970773bd..7b00e65bdd9c25b3426f92355f8= ea36e66c3939f 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_i= nfo *info) return ret; } =20 -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, struc= t rtc_wkalrm *alrm) =20 dev_dbg(dev, "%s: %ptR(%d)\n", __func__, &alrm->time, alrm->time.tm_wday); =20 - return s5m_check_peding_alarm_interrupt(info, alrm); + return s5m_check_pending_alarm_interrupt(info, alrm); } =20 static int s5m_rtc_stop_alarm(struct s5m_rtc_info *info) --=20 2.49.0.472.ge94155a9ec-goog From nobody Wed Dec 17 10:10:14 2025 Received: from mail-ed1-f51.google.com (mail-ed1-f51.google.com [209.85.208.51]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id E8BEC236420 for ; Fri, 28 Mar 2025 13:31:13 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.208.51 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743168682; cv=none; b=rK86dw2thyBmKZLZ3Jju3ce7IQ7XNnpffaQRPmmguQtuULV3ZJhT1xUXNeRDnX3uT4pKtPum2PzUgW3cSclTnWBHyjrYq4eD25QVAcySNyMn1tAm01xtQ7AG339i4HUE6lhrDc5vOQ/ugpmtEd8rmbeZQ5cNz45cgFX8Z3YMOfY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743168682; c=relaxed/simple; bh=X823p7d8VeG19dJIhYLsSWA3HtswWk7j0eIGd+yYPcU=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=cDirsmjFSpN+pi3fcwRgUF3ZNRsfYhj9Kpm+RTE5fLqSzXoizrZpxf7z6BGIVlZTLQqUorT8soi99T4rhcM8Kw9Sig64dSbvzaqP/lY/oxWKaPTd3qcUH0mY+okhae6sHj4oHrDQkAMF7A5cmKFOZ90D01Z8sENcLWdUxyCkSpg= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org; spf=pass smtp.mailfrom=linaro.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b=lU8nw+eG; arc=none smtp.client-ip=209.85.208.51 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linaro.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="lU8nw+eG" Received: by mail-ed1-f51.google.com with SMTP id 4fb4d7f45d1cf-5e5e22e6ed2so3160498a12.3 for ; Fri, 28 Mar 2025 06:31:12 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1743168670; x=1743773470; darn=vger.kernel.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=lU8nw+eGPn8sYUYY8pW8wrAmszaAHu9XAx8uMAYBv39XNsOUH++MflwfrtZxjxPdGl W8ZiBJtB61yW1SaHlo3br8niEBunD35aSOTcXYFAoD4x1m8zdzyiYQa7NnZwoOVxp8Zg 0/62ToUJ9cxBM9EWRCGgfCVefe5tuJ4WmRaHq30aMwpeKjfcTP9UbKMnKRwypr+HDWOR 6sDVPFPgc8P5pqvjiztX5EykPZN6AqDwT/Z4n6xhbuzPTnNqpML7mIrsze4pZgX1+6UQ PkMrUdpSwyYIhaiT5/utbbcL7EqFDn6K/nAg6hVkBXWCCxeF1sv96r1anMWYTd8Vy8JE 6AHg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743168670; x=1743773470; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=5TCn0wifCdb3UC3ucEx7Zkhg1UJ6ww+TPiSGCbm38yQ=; b=stHpH865DcR2hKbI9otgc8SwgM898HpNLDUUlkUEubpsgh/ebquLrvv47tDimhn6qX 6upJZoc3RoogTuTgfGavmGPNOXD4iJ6nVmJyb/QVIN28LWNlivMdOeGPLoNRNtHf0UBQ v28b3b5ciA82OFB7n8qJmtWvvfyQqPBsayhjIk/1uwLdvDDu5N54nnsulmYzFknp6hGg Oirm2Wcf7oiBGVpvXTNAenqQ0jTGhLAnCAB2zO653ztBI/i/l1JFmwRimXmJSGcRJMRL AvprptAEyNQUs7DCuoFAu2uILw6laub3QR1I9OVfLEvXyHPM4ChV1X4Qhi53Q/kPaLh3 FVnA== X-Forwarded-Encrypted: i=1; AJvYcCVlMUwlFnYVT2lQpy7AeHr96j1Wjlcg6eK1XEtMrcDtgoXuZUyEJFa5/NjLS5HyRDArYEqge+qFPhYT/vQ=@vger.kernel.org X-Gm-Message-State: AOJu0YzPUEV9bisdxDYOQlMeLPcXb55ttTKdE7cThqlzhm1AtnpifMOM tVXXN7WDTGDNNAn/u4PdEpg81AeDxu0/rBfOLOTjdtRranrmSfChl0h7qjJQ0xw= X-Gm-Gg: ASbGncuI8RV+I8lFPbpuLHthcPG+PwCPwZLt0rnP2R27RrsKNM+l3ggtHf1tvOzqVmi eJCJvBwvIDIukQhgHR2oHMYWGoPsV6PzZMCzOnS3neMSJeJEgarhNdLa1R1z4oG/NLpjcGb+4Xj aBhKgMfYHQyw3tj2EicZ+lY1xx1wIPbj6etUBI1bSDx0p1+nT/r6yXJUwi/TWJHpuOXPbSxSDN6 7FDFc5uKVYXDfdjWxEJgrha6lVk321eUJCZQJSgE3mPXKPOM9XZgNEUKVImSFzGxqCKAGa5vwyb DoV6G40+nDb6mOdazbffjEOkZVUJcpwTkr9IaZkxEAkuaas9wOWCLjRtk9uByj6crgaJtmzuVi9 xXBiwoUObYphqQP1XJxun/LIfeL0b X-Google-Smtp-Source: AGHT+IH4AkvKS9gIeAEdf4WO0mRjBtbxCllwxmJHe2U/y4p8yWBXxd7byUvVNmfoRgEJ54AQL4uegA== X-Received: by 2002:a05:6402:1d4a:b0:5e5:dea5:3eb2 with SMTP id 4fb4d7f45d1cf-5ed8e388e5emr8163708a12.11.1743168669663; Fri, 28 Mar 2025 06:31:09 -0700 (PDT) Received: from puffmais.c.googlers.com (8.239.204.35.bc.googleusercontent.com. [35.204.239.8]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-5edc17e01f7sm1355284a12.79.2025.03.28.06.31.09 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 28 Mar 2025 06:31:09 -0700 (PDT) From: =?utf-8?q?Andr=C3=A9_Draszik?= Date: Fri, 28 Mar 2025 13:29:15 +0000 Subject: [PATCH v2 29/32] rtc: s5m: switch to devm_device_init_wakeup Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250328-s2mpg10-v2-29-b54dee33fb6b@linaro.org> References: <20250328-s2mpg10-v2-0-b54dee33fb6b@linaro.org> In-Reply-To: <20250328-s2mpg10-v2-0-b54dee33fb6b@linaro.org> To: Krzysztof Kozlowski , Lee Jones , Rob Herring , Conor Dooley , Sylwester Nawrocki , Chanwoo Choi , Alim Akhtar , Michael Turquette , Stephen Boyd , Russell King , Catalin Marinas , Will Deacon , Alexandre Belloni Cc: Peter Griffin , Tudor Ambarus , Will McVicker , kernel-team@android.com, linux-kernel@vger.kernel.org, linux-samsung-soc@vger.kernel.org, devicetree@vger.kernel.org, linux-clk@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-rtc@vger.kernel.org, =?utf-8?q?Andr=C3=A9_Draszik?= X-Mailer: b4 0.14.2 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=C3=A9 Draszik --- drivers/rtc/rtc-s5m.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/drivers/rtc/rtc-s5m.c b/drivers/rtc/rtc-s5m.c index 7b00e65bdd9c25b3426f92355f8ea36e66c3939f..e8e442c503064eb4e570af5bf7d= cff6bfa7f4656 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 =3D devm_device_init_wakeup(&pdev->dev); + if (ret < 0) + return dev_err_probe(&pdev->dev, ret, + "Failed to init wakeup\n"); } =20 if (of_device_is_system_power_controller(pdev->dev.parent->of_node) && --=20 2.49.0.472.ge94155a9ec-goog From nobody Wed Dec 17 10:10:14 2025 Received: from mail-ed1-f45.google.com (mail-ed1-f45.google.com [209.85.208.45]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 8DEE521B180 for ; Fri, 28 Mar 2025 13:31:13 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.208.45 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743168682; cv=none; b=u83g4X2JKLscUYe8OOg2YaYdF46s52Ul3XBEYzvbYQ7HjeI0R7AWI4FhATxiViZxRVA/MfjwqB2VY0doZTFlIUYyXH5EDawuIVDpWaOvrlyMmJB6T4IgJL4fniurhql8jjJrVXZ333aKHHTksXiz2ee7DAQPvI0/WCsDXn49jhk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743168682; c=relaxed/simple; bh=oM7nIChVy6AnX102peSIS6No2vZfRMNewLZjt/WfrE0=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=LgoPaL+dJJJLIJOnjcQMOCCrTgm8r063ioVsuL912HctME85yr5o8dBWXHLralbmVxHi2pPSezsWRhFki9uQ89aglCh1ZmmHqs5rVyyQ9pPfUaOmVTJognqc/81OzYvBOM5f7gL9X3q8YJZc6qLgRlBEKOUhy+YRclVpY/H9S94= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org; spf=pass smtp.mailfrom=linaro.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b=h/Dz7krH; arc=none smtp.client-ip=209.85.208.45 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linaro.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="h/Dz7krH" Received: by mail-ed1-f45.google.com with SMTP id 4fb4d7f45d1cf-5e61da95244so3986438a12.2 for ; Fri, 28 Mar 2025 06:31:12 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1743168670; x=1743773470; darn=vger.kernel.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=h/Dz7krHtN0w9o/IOClhkmZijx7OtzSMyotcInOQrxRodXDX+Qz2ndUVAlGCBevzKK 3BZfFMMOvjVJff1X2bNSDFui2vy0AjqY7aa0D2/3GW10OT34B4Li+LcS9t8d29mzC6QL b5S0eRNeldL63/L+8Ui5WXARXi4KvIfr4Znlc5Uvp+JaP7t79hMWzsHvPKP2G4qn6O5/ DREiKF4FWVArUSTzB+K0wxm719HutQZU59Np6EpzhPlJfV8pjVD7XkwYseI+BzgxXpAp +xnygv8a/P6u6yb5WauppZ2MQJn7UC5KyMi9ci6hlMJz2+MK+sNyCWKu8BVvinEDQezk 0L2A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743168670; x=1743773470; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=31t2yEGURbHN+dYzF9A6q02DZ3VBH6YOfFo8ts0pTFs=; b=DIJK1W8d5Plahq3NJsXrEj6lQ3gUig9bODy4qQEyNaARvZwiZzzSITHJLv2kI4Tr9F e7dK+KIUplFL7ql7V9pxDGfpALR1AqamOrINiCywnY0eGvUqjjySfce/+8KqabP/tn4J 2bT4Ocx/9USJllA6kBiFHH8IreHDWmC9OOFZiSDRdLy51P1RX2WxVEbnCzUTQ0163IBd p1a/alPl48YaMMbqsc6Yk3tabbJvO6JHyfd+mocuJRhpEgU1tijOZK+uiaof7c9eApZd OvzefJfGPf3EVU3MPhcFWUaf+Jnk0FfONRp3vN5U4SdcPZIt4/l/lIz/blJUTUk2wIO0 6TPA== X-Forwarded-Encrypted: i=1; AJvYcCVRqRiMweNIALtfzxK0yEdrOYZ2V0CNmeshPoBRPfKF+DJDx/KRI1YXld6HOlKtfIxrKHJVHV5TcuXrzYs=@vger.kernel.org X-Gm-Message-State: AOJu0YzkRKz0SuOWcDuWY7oGXo+DxmQ05BNH9kQP9T411tD5uZQ1/nPb Ps0yXiY6Kq3aFGWTz5kX15T6+UXT9yZPbrpNNpwepInu2bzHOhXE5//nB/A+Es0= X-Gm-Gg: ASbGncv/NJ+eBXrA6aKSpRJM8wMSkTR8vvyssEJiCD/FFZlSS0a+jCFIRjyUI9KNTIF +W+kBlubGGGUxMqlhAr+y6Y2TGQQt7AqpLIP8qfcFVie1pRE1RkhSxyK/SGJziQOX5yS0lQdmy9 ypZzMW8BgCnyHktqm4SU7aBwtApO3Lsp3mNs3bD6sBgnKeU9WfabuNuxAeocXvgb4HhH7tZ9vWx HN87uSWq9zCiLJA9/i64yBFHZwo61xwk1MDBvAQtpSpkzim/1+G70ov+5HsnOb6JxWbsvdooHH1 ORH9swjV7jtFzcUIi6qDYdIvYOamHWD2YEqNEmjQzlxDcCu7vuabG+m/47pGzz2VXPIz6D0Ey1M ytob4bOM7vJ8DRr0ZpdMZbtkFTj+v X-Google-Smtp-Source: AGHT+IHYdNpE5Oaiy98m+ZWWJjpn0kB8pbikHk0ZcUltpSgeHSv0me+ylZHKLUVEOgvnZGzJh/notA== X-Received: by 2002:a05:6402:518d:b0:5e7:b02b:6430 with SMTP id 4fb4d7f45d1cf-5ed8f3fd122mr6775177a12.23.1743168670150; Fri, 28 Mar 2025 06:31:10 -0700 (PDT) Received: from puffmais.c.googlers.com (8.239.204.35.bc.googleusercontent.com. [35.204.239.8]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-5edc17e01f7sm1355284a12.79.2025.03.28.06.31.09 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 28 Mar 2025 06:31:09 -0700 (PDT) From: =?utf-8?q?Andr=C3=A9_Draszik?= Date: Fri, 28 Mar 2025 13:29:16 +0000 Subject: [PATCH v2 30/32] rtc: s5m: replace regmap_update_bits with regmap_clear/set_bits Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250328-s2mpg10-v2-30-b54dee33fb6b@linaro.org> References: <20250328-s2mpg10-v2-0-b54dee33fb6b@linaro.org> In-Reply-To: <20250328-s2mpg10-v2-0-b54dee33fb6b@linaro.org> To: Krzysztof Kozlowski , Lee Jones , Rob Herring , Conor Dooley , Sylwester Nawrocki , Chanwoo Choi , Alim Akhtar , Michael Turquette , Stephen Boyd , Russell King , Catalin Marinas , Will Deacon , Alexandre Belloni Cc: Peter Griffin , Tudor Ambarus , Will McVicker , kernel-team@android.com, linux-kernel@vger.kernel.org, linux-samsung-soc@vger.kernel.org, devicetree@vger.kernel.org, linux-clk@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-rtc@vger.kernel.org, =?utf-8?q?Andr=C3=A9_Draszik?= X-Mailer: b4 0.14.2 The regmap_clear_bits() and regmap_set_bits() helper macros state the intention a bit more obviously. Use those. Signed-off-by: Andr=C3=A9 Draszik --- drivers/rtc/rtc-s5m.c | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/drivers/rtc/rtc-s5m.c b/drivers/rtc/rtc-s5m.c index e8e442c503064eb4e570af5bf7dcff6bfa7f4656..fb65a8e439d72d9070751c00f58= 26a403ac0b416 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_inf= o *info) =20 /* On S2MPS13 the AUDR is not auto-cleared */ if (info->device_type =3D=3D 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); =20 return ret; } @@ -351,10 +351,8 @@ static int s5m_rtc_read_time(struct device *dev, struc= t rtc_time *tm) int ret; =20 if (info->regs->read_time_udr_mask) { - ret =3D regmap_update_bits(info->regmap, - info->regs->udr_update, - info->regs->read_time_udr_mask, - info->regs->read_time_udr_mask); + ret =3D 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", --=20 2.49.0.472.ge94155a9ec-goog From nobody Wed Dec 17 10:10:14 2025 Received: from mail-ed1-f47.google.com (mail-ed1-f47.google.com [209.85.208.47]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 8AB2619F43A for ; Fri, 28 Mar 2025 13:31:13 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.208.47 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743168683; cv=none; b=kYoDyDJywiMJpQ6V/uKeyLLdNtcbonTveAJ+rcE+b5BCc0v7nI9SE02Mony5ZEGOiLboXyqaQmUXSGqQv747boYuX8H+/cKAsIACkLe11m1eglM8fueytS6J8ytbsZ4vamSnoLaBAon34zXuqsU7qKNq3MLPPx1qddOVid//5GA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743168683; c=relaxed/simple; bh=GESUUSr32C5v+JmyTkWMyaf4NO/174Vzhegyb1L9aRw=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=k1PkwNXvQF7dK/QvFPjSCDvdAATVe+HKsl10TXWKGi/36jL/kZmURh6tFwR4zO5lnaigUJBLVLZUgWepjuTb21KPgzpcMaKrWR6zQKRhkwWoYnasWvIh5WfIqgOSqyQJ9lJaylz13Mi0tR7y75izJ9zWqssO0ZAKcmphkhm5+F8= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org; spf=pass smtp.mailfrom=linaro.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b=izLlhMIt; arc=none smtp.client-ip=209.85.208.47 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linaro.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="izLlhMIt" Received: by mail-ed1-f47.google.com with SMTP id 4fb4d7f45d1cf-5e5b6f3025dso3368205a12.1 for ; Fri, 28 Mar 2025 06:31:12 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1743168671; x=1743773471; darn=vger.kernel.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=izLlhMItkSCPPn04H12db6y4JXy1vE2dAPqkbZ4qaokCUOCDBrppNeqbMlgmOkqevT XlxPCKzrQx2BDyIQtCaNDAGlbEe/HBuMs2mdhZxjtVlqNPR25hYoKb/mkvxKOLHhINKG FSAbOJEMLhm8AM5Y9miRdPIwIx5cFBYy820uhg6hdf0bKv8mx0jrIcPoEriiIcXtXOaU iSXZWuWpE1M6XYYl2rXGB/I5AbNE3dFVTtYqdQBnAun87IntOCpMbVOXFzlKFnU1Xj+h e0YNOT31Qu8Nr97EfXcOa9pdxZ7C/CpdD6i63I+0O4RPojZbqpNLYqTa46L6AX0BGB60 Pbog== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743168671; x=1743773471; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=PSEpA1j4+zmEauzOiOoF/mVKhD6CkjV25eyM5OWecNk=; b=hjqawGV3tOiv00r1WKSHwYeXLyGa9AZR4nKZdW0dAgRnpXW41i3IS1V2TURSE1mX0s EcyHbRGYBaAO/YzDjNePENCBzlpLz/+YSG3V41IbJKrimJWa7kBRjfLu9tSqxbIvF106 wj2SGejT7Bq0vNi2r52jWwmOzwhwZKwDzz54XofCcv7A+sO95Pfe9U5e/nk3kG4rG4Hg IKwHJf2AB88upDaZv3sB9iewIv0R0sY+JVwgPASW0GvAPN24CyK2KD3HHSv8Xa+2Wbho JzPgKSg/Sc8U48YYB3yFzL86A8wlEpR0Kj/FRnAS2rPg/6LptWr8svP50s1beG5pUUDc 40lA== X-Forwarded-Encrypted: i=1; AJvYcCUlbb2mDsfWfZyL5xZrM8QwTuKQ4PEeHmIoWr0wcCE4135mnWmCg24POjVtbx1shP69NC5Q+MxV7lrA66w=@vger.kernel.org X-Gm-Message-State: AOJu0YzdU5AC99ZQnetluy5flz3t4TgE9J+mAhnsCYZchD7c7+AE4gW4 B/iYP+cJeY4W/moAMSdx0xH4qs9/AKay0FJZCss3cv2RcpcuimzCz1ZvHIEV8Ug= X-Gm-Gg: ASbGncvQyalKmyG+1Mjkrusws5ilvfmwGQWOfnoZBCjBHmfJniMBCsoPWpSpXtHoR/b U82CqG4UkkRs8N+pBT31+6vIMuUiKFQsxF/LuV5EU1qJrPLEToqqUnQd8cmSXlXKmh+q4A56VHK JafpX9xiy5Vj5TJElwyBsgnguHC+2zA5ktfoaVi72qCPsHoqL3Kg9cYTxVE3WmnThxy14EDoLZ2 gAwYi8uTm9m52x6NFWy42It+quGvb2m1strT0sWFqDlfSO8oXTLeCQOGyurjDKgLfJxUx8P5Hcs jLdMDI94hz3QSNGd+ENGnjWVzIlC6tTtOSFhINTZwLrjUJDep+k+feO8jTfk7exzUG62EmPm/dP f1Kovms/0fwkexy2zS8Px4RxFfjqS X-Google-Smtp-Source: AGHT+IFSs1uiz+MYEgU+bUhAfh3+GZqO0SVgrjZOqgHDorj3bQXBjGPLvsOv5IgyeRPZA7NSU+kGow== X-Received: by 2002:a05:6402:268c:b0:5e5:c3bc:f4e0 with SMTP id 4fb4d7f45d1cf-5ed8f80a51amr7531556a12.29.1743168670656; Fri, 28 Mar 2025 06:31:10 -0700 (PDT) Received: from puffmais.c.googlers.com (8.239.204.35.bc.googleusercontent.com. [35.204.239.8]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-5edc17e01f7sm1355284a12.79.2025.03.28.06.31.10 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 28 Mar 2025 06:31:10 -0700 (PDT) From: =?utf-8?q?Andr=C3=A9_Draszik?= Date: Fri, 28 Mar 2025 13:29:17 +0000 Subject: [PATCH v2 31/32] rtc: s5m: replace open-coded read/modify/write registers with regmap helpers Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250328-s2mpg10-v2-31-b54dee33fb6b@linaro.org> References: <20250328-s2mpg10-v2-0-b54dee33fb6b@linaro.org> In-Reply-To: <20250328-s2mpg10-v2-0-b54dee33fb6b@linaro.org> To: Krzysztof Kozlowski , Lee Jones , Rob Herring , Conor Dooley , Sylwester Nawrocki , Chanwoo Choi , Alim Akhtar , Michael Turquette , Stephen Boyd , Russell King , Catalin Marinas , Will Deacon , Alexandre Belloni Cc: Peter Griffin , Tudor Ambarus , Will McVicker , kernel-team@android.com, linux-kernel@vger.kernel.org, linux-samsung-soc@vger.kernel.org, devicetree@vger.kernel.org, linux-clk@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-rtc@vger.kernel.org, =?utf-8?q?Andr=C3=A9_Draszik?= X-Mailer: b4 0.14.2 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=C3=A9 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..2ad01fb3bc72fe9259a8307584c= 9cf3a839bd492 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 s5= m_rtc_info *info, static int s5m8767_rtc_set_time_reg(struct s5m_rtc_info *info) { int ret; - unsigned int data; - - ret =3D 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 |=3D info->regs->write_time_udr_mask; =20 - ret =3D regmap_write(info->regmap, info->regs->udr_update, data); + ret =3D 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_in= fo *info) static int s5m8767_rtc_set_alarm_reg(struct s5m_rtc_info *info) { int ret; - unsigned int data; - - ret =3D 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; =20 - data |=3D info->regs->write_alarm_udr_mask; + udr_mask =3D info->regs->write_alarm_udr_mask; switch (info->device_type) { case S5M8767X: - data &=3D ~S5M_RTC_TIME_EN_MASK; + udr_mask |=3D S5M_RTC_TIME_EN_MASK; break; case S2MPG10: case S2MPS15X: @@ -327,7 +312,8 @@ static int s5m8767_rtc_set_alarm_reg(struct s5m_rtc_inf= o *info) return -EINVAL; } =20 - ret =3D regmap_write(info->regmap, info->regs->udr_update, data); + ret =3D 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); --=20 2.49.0.472.ge94155a9ec-goog From nobody Wed Dec 17 10:10:14 2025 Received: from mail-ed1-f53.google.com (mail-ed1-f53.google.com [209.85.208.53]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 3FE8A235BFB for ; Fri, 28 Mar 2025 13:31:14 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.208.53 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743168687; cv=none; b=hg7SXFiXiiho/AnX3FEFT13xlh9Z134HTLjeu0j20qstnyl12fQ+gHi04leKSA1QKxFS4QjWY9xe+Ln1lUqHGZTyMMhSGSW4NRggZdDnHr6UegMDhPfMwDHstf06cmVMXc9wUt3up3q177HO7w23Q+JRY9tP039SyNYyeAtREv8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743168687; c=relaxed/simple; bh=+fAAJ/+/3MbgFo3bOsjQzn5S6tmp2xnmlCT4juP9rJM=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=ARsgMQEJkVVRRPJpbdNGL0Tu6xpM2f00oBv9nTOB4ysto88NAz1Eu4TNKfTeCrAw32jAm/enxsEZmK678GW8Kw4iA5R1xowFej/hAN3HtDBRhf4sZs8clCDtyiLTVrBJRg2mFI2JAKQJJDYgP/oJZBzxJMwfS8gL++7Ho2aD6k4= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org; spf=pass smtp.mailfrom=linaro.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b=hwUlwKuB; arc=none smtp.client-ip=209.85.208.53 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linaro.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="hwUlwKuB" Received: by mail-ed1-f53.google.com with SMTP id 4fb4d7f45d1cf-5e8be1c6ff8so4132334a12.1 for ; Fri, 28 Mar 2025 06:31:14 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1743168671; x=1743773471; darn=vger.kernel.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=hwUlwKuBZEhEFyR8lpcPfVHC15a0AICLojQ4JY2LoB6ggUiO1gF2pWCHuo0ybTNct2 PBTFuFIKhzTIsmSw5vSpcBv8NzrSQDM7DNl9v47UiFwpQ131T7Nz88eKxeI1kzZj9UwC dJseQsWqRladaQF4AkGCI9LJTvUm48xYFe/btTW/A/DR7soJxqQE1rdihrKMO/zHtr0x h2w1oK8ulWm9FMQB5KDIFnACJ0tmPINxSFJMhIMdzhgk80K0xzSPxFrMVV9wtiPv5uGX fI6im/mzTtm9OoEPXTgDYKoJkPu3zgkFrEKro/FHMCQvkuY/Yd4ZS1MverqaiK3Npatx 4JEA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743168671; x=1743773471; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=IvD3NPE37fI+ZqUrH7EmoQBagetQaG70If7tawsO/t4=; b=H7yxKt5/cUsI092pVe2IdNFEYVSg4yEoKWtrLethMY2Mx3yxyArF4Jx2HDLRP9jVYB pjmrFKSmfMuTnbTuv6zqvZOLy0/9Y+njWFrcl/wBvW1vsSJARq0xT/HhE8RHonxWfa1/ KiJsdZzfrzCGsJqAj1+KrShXFS2jVyrZaWqANM0b+EZnKyOFjITUIq+NVzo3fTAMn0OG iu4e+40xFy80mV1kKPgqoQ9v7qbSh/F1lHWcJV8wEziPjIt4PAKGQFLCs2kw9Zz264+r 24oGHfB7ycNDpw2hhBn1Ld3h3QMuizZ91swbKYlAcUL0bZYVzozGOnzd3GGA6YfDFUcL BvdA== X-Forwarded-Encrypted: i=1; AJvYcCWNCteYbwI5B2dHqQS0lVH015UfXxiaeoEFIrsu+TGsZub6gyG0+rvYhYI/v7LIDharcsu7rK9CxZk1Fl0=@vger.kernel.org X-Gm-Message-State: AOJu0YxwrCbsZlQS48zioHGKQbjudByyf5xk5IPxDfSin5OcRD4Fopko B4SuNNDM2pNtIv+l1IM9M7K8h2d4Xng/x5neNO6cTqTc1dFOokIqfYIlAo+vqmY= X-Gm-Gg: ASbGnctn3XV8+hat4ax/uVixtf4MTJh+Tym5ILjm1XUHskfPmd6Tss7IqUmo6HPIFPi ZJ8VVfhMEDLwoemVXdiA5IoTCJiLLvajrfyo1bPwyqcyUG+H/t6CGWjw3z8kRQzS1Bd8gUqQo/s wR52Bn9ZJgxiyucEvQ6ZHxEthwxc9q/nvWeQiYVMjvSbIfoeycmOiYJxkrpRQ/SrmBq2vzj2EJn U60HfDqdaANWjCgKP8umM3n5rQlIP/EjWJjN1gTeLnKSg1wkpCbSJcbDVa1Af4z6PYT6qaEaBZT u848mK0ZZ86o3xETRLEBkP4Swvw2WQ4QaJNmEX88f+xstNoRqxhS53M0OhmnQ0bIlKyWfIUblNw rsCQe7PtiQJKk0LpD/66Cej4UsEPL X-Google-Smtp-Source: AGHT+IFcXivfke8CF3Ua6fUT95VkCgqgOsG78wJbvWFT6tJJvWhz2bwcboGbcdFVisEshC8NwxZTJA== X-Received: by 2002:a05:6402:2547:b0:5ed:3228:cfee with SMTP id 4fb4d7f45d1cf-5ed8be108a2mr7864450a12.0.1743168671175; Fri, 28 Mar 2025 06:31:11 -0700 (PDT) Received: from puffmais.c.googlers.com (8.239.204.35.bc.googleusercontent.com. [35.204.239.8]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-5edc17e01f7sm1355284a12.79.2025.03.28.06.31.10 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 28 Mar 2025 06:31:10 -0700 (PDT) From: =?utf-8?q?Andr=C3=A9_Draszik?= Date: Fri, 28 Mar 2025 13:29:18 +0000 Subject: [PATCH v2 32/32] MAINTAINERS: add myself as reviewer for Samsung S2M MFD Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250328-s2mpg10-v2-32-b54dee33fb6b@linaro.org> References: <20250328-s2mpg10-v2-0-b54dee33fb6b@linaro.org> In-Reply-To: <20250328-s2mpg10-v2-0-b54dee33fb6b@linaro.org> To: Krzysztof Kozlowski , Lee Jones , Rob Herring , Conor Dooley , Sylwester Nawrocki , Chanwoo Choi , Alim Akhtar , Michael Turquette , Stephen Boyd , Russell King , Catalin Marinas , Will Deacon , Alexandre Belloni Cc: Peter Griffin , Tudor Ambarus , Will McVicker , kernel-team@android.com, linux-kernel@vger.kernel.org, linux-samsung-soc@vger.kernel.org, devicetree@vger.kernel.org, linux-clk@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-rtc@vger.kernel.org, =?utf-8?q?Andr=C3=A9_Draszik?= X-Mailer: b4 0.14.2 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=C3=A9 Draszik --- MAINTAINERS | 1 + 1 file changed, 1 insertion(+) diff --git a/MAINTAINERS b/MAINTAINERS index d4d577b54d798938b7a8ff0c2bdbd0b61f87650f..9f05af52b062d8cab0f8b48b262= 5432108604c3e 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -21397,6 +21397,7 @@ F: drivers/platform/x86/samsung-laptop.c =20 SAMSUNG MULTIFUNCTION PMIC DEVICE DRIVERS M: Krzysztof Kozlowski +R: Andr=C3=A9 Draszik L: linux-kernel@vger.kernel.org L: linux-samsung-soc@vger.kernel.org S: Maintained --=20 2.49.0.472.ge94155a9ec-goog