From nobody Thu Apr 10 18:57:29 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 15698241CB2 for ; Thu, 3 Apr 2025 08:59:00 +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=1743670743; cv=none; b=oMYYNbQFuQSZD0qxT+DOXmgSD+YvMW0UOrg4FPjyxtyyfnH8FWxMaA076ZtiQ1C0zrmGNYOYOeii9LHVQTfvDQdogDZ1o4MdMQo/drXAJkZ9skVRA1U1zLSRYlP9TOFPGr1BqpQpJc+ri+Hh8PxsUnDlYKYxi8LP1cueRQ1U+z0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743670743; c=relaxed/simple; bh=eBSaOtqyWe991gSlYJyL39sE3ZfA8WvCAtDmKcJjlV8=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=BK8LyI1gwrykD6hm9wx8Hinkyqziu5UJsNScIj22WlVOSLbQkXWMGdNXDSY++5wZbhviQoLitktWUOj8HgX+NUGnWD18Q4YbLWvaxUVUIE515agpqQdDDS+WHH9yiOlXQkG9pISDd8ZwA1d/RmncdTngr7jr6Dc7xxcyuglKt7k= 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=cY0Nnwp5; 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="cY0Nnwp5" Received: by mail-ed1-f45.google.com with SMTP id 4fb4d7f45d1cf-5e673822f76so1167618a12.2 for ; Thu, 03 Apr 2025 01:59:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1743670739; x=1744275539; darn=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=a+M3GihTjnRn1Hrg1CuNjUwnXLbiE9TQN/WleV7zPWg=; b=cY0Nnwp5I/MG2UQCN5wjD7QuohUOEvoiHhMIN+hzvjQrqXl9zZhLAbYNUIlmW21ntU h8ZvVGIK02i8d+P7rKJDrlheKXoWqwT9pzHlpSgGQf4lBhunUQYp8t5wwGuB1jJ+y4/y DtDj7LuX+wqqqBNY07Tlp3U6yaSwSdKbD3Ing/VvZk+LJdL08Zlw0kygLvmoAarhmIDw 0DNhjyeV2wIu/2KqAoJL2MtbHONyihBtERWNemLxoEz2jJgNBX5cFAArbGDl8GySrQR0 jtL7T+Mcqlj2SmIJPWm3hrrYLNEC0PLrhuJ4C3KxVMhe4/j0VuViNtZv2YX8hnWO+GNY z8bA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743670739; x=1744275539; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=a+M3GihTjnRn1Hrg1CuNjUwnXLbiE9TQN/WleV7zPWg=; b=V8QxD+5UsOhff9pUkBq6dTLPXlgdFjAqeV9CkDRbYD4lpZFFJqpIxA+ds0hGFU8zPW v5/Kty2FXM/nnw+u3rs03MTAV0GrgVZpe6v9vSpAmVxsq4jQIiJw4URMFH93DRSGUsU/ zG+5tApUw0nRjb/KTjnOsTa34nX3CE2uz3NRi44uvPtSCVQOe+KAL8R/RPL3GDeWi13L Ia/HZRAxdOZ+eW4axsj37wh1pkx14plf6z1l0ic/s8asL9qs7cVxkO0DEu0dV6YduJ7c +0m+m9KrhAb/MSzb3vRWAbkL0EukF5Msq5m6N2YnjAVRWewohS8fyPdmKd4DVZXe7T64 kv3g== X-Forwarded-Encrypted: i=1; AJvYcCW3/kRWpq4hO4ciiN7XoAQ9qtC8p4AVxgea1D2L4//oT3E96YCMUnikO8w+Ud1wKITPDnWbHTCXfvyen3g=@vger.kernel.org X-Gm-Message-State: AOJu0YzGPLv840g0IEJBX7xObrtAP+Bqp5qepZn7WeEq/pymZpxKVITX WEINsII9Co2zbT3NCwbiYZuRi3rP3VkNTcIGzbrgo0B2kIf2i31pcbyqz7U/VO4= X-Gm-Gg: ASbGncuwtONTG+/2UfUq9n74SnipyoC7ddnyskOZfkLjr96CygB0S5kM8TjLBkx4qsc KsTmTs+Y7f8yB9GdRG7ma4aXk8j39yznheBIfwQxjh1RRwHzF0eZHFw4IsCD8ha987BZrpmspMw lnDtMS640my+RLKb6motQtJ8fxOzechfdp5fWVGSTMjqmlJF4dF1pq/i/GtMu+auPUL0rkh87kD GtRxwsLbKBFtf+55cVNFU69SekN72oa8b2Zag0ju+/kC4M/OggYbicM/145RuZTrKQbqk458tYS XaOffDzUFt+cwQEm9rm9cYMVorWZOaHQDC0y0OGJ5KdZ9z1PuUtsh6sB5Hu1B3quDnKoeFj1DG6 h6qujOk6Crr7kij3gbxjKnVZ87/3tDq51rDjE1D0= X-Google-Smtp-Source: AGHT+IEO1QurBQVznveFvWun3Jg1GT4794QiV4XVF3U5z9BB/kH5NvSDatCmfwTx4VFKQZlezuZZbw== X-Received: by 2002:a05:6402:3513:b0:5e5:e396:3f9a with SMTP id 4fb4d7f45d1cf-5edfdf1ce8emr15075770a12.31.1743670739159; Thu, 03 Apr 2025 01:58:59 -0700 (PDT) Received: from puffmais.c.googlers.com (8.239.204.35.bc.googleusercontent.com. [35.204.239.8]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-5f0880a535fsm637614a12.80.2025.04.03.01.58.58 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 03 Apr 2025 01:58:58 -0700 (PDT) From: =?utf-8?q?Andr=C3=A9_Draszik?= Date: Thu, 03 Apr 2025 09:58:53 +0100 Subject: [PATCH v3 01/32] dt-bindings: mfd: samsung,s2mps11: add s2mpg10 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: <20250403-s2mpg10-v3-1-b542b3505e68@linaro.org> References: <20250403-s2mpg10-v3-0-b542b3505e68@linaro.org> In-Reply-To: <20250403-s2mpg10-v3-0-b542b3505e68@linaro.org> To: Krzysztof Kozlowski , Lee Jones , Rob Herring , Conor Dooley , Sylwester Nawrocki , Chanwoo Choi , Alim Akhtar , Michael Turquette , Stephen Boyd , Russell King , Catalin Marinas , Will Deacon , Alexandre Belloni Cc: Peter Griffin , Tudor Ambarus , Will McVicker , kernel-team@android.com, linux-kernel@vger.kernel.org, linux-samsung-soc@vger.kernel.org, devicetree@vger.kernel.org, linux-clk@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-rtc@vger.kernel.org, =?utf-8?q?Andr=C3=A9_Draszik?= X-Mailer: b4 0.14.2 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 Reviewed-by: Krzysztof Kozlowski --- v3: * keep 'regulators' subnode required even for s2mpg10 (Krzysztof) v2: * drop ACPM phandle 'exynos,acpm-ipc', and expect this to be a child node of ACPM directly instead * allow, but still don't enforce, regulators subnode, to ease adding it in the future * deny 'reg' property, it's incorrect to optionally have it for S2MPG10 * enforce 'interrupts' or 'interrupts-extended' property. S2MPG10 can not work without. Note this is done as-is using the oneOf, because dtschema's fixups.py doesn't handle this nesting itself --- .../devicetree/bindings/mfd/samsung,s2mps11.yaml | 26 ++++++++++++++++++= +++- 1 file changed, 25 insertions(+), 1 deletion(-) diff --git a/Documentation/devicetree/bindings/mfd/samsung,s2mps11.yaml b/D= ocumentation/devicetree/bindings/mfd/samsung,s2mps11.yaml index ac5d0c149796b6a4034b5d4245bfa8be0433cfab..d6b9e29147965b6d8eef786b0fb= 5b5f198ab69ab 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 + - if: properties: compatible: --=20 2.49.0.472.ge94155a9ec-goog From nobody Thu Apr 10 18:57:29 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 C5B42242902 for ; Thu, 3 Apr 2025 08:59:01 +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=1743670743; cv=none; b=TYA+TKfMf2ehEymeB6CF9/fSHiIBWJz9TCJpLpiGVjKR4q/HcwBpHi913mtlZvCGIf9kvxEveGJoYyacm8JmG9UPykeg0YXJqnSyE6JK3OhOnxyRnOfxiov608Fo2KFRwmPBMgm7NA7z3RHSDPZkBXB1Ycx6yjaGUDBXtXoovcE= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743670743; c=relaxed/simple; bh=GY5aflUP8HyQZVCvYH781i7uGwHWsWCKLpX/UgZ7jiM=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=Wy7HFAqmmF4aUWBRmqRCwNqlITelcJs6DwkNHEd/MkkQpup81KYnA8kKFp3Qcuj5YqHttHE+ZsAifw9fgNgzp7HxkAdUTrZUofA4SiWNhcQGHzFKcsLhlhIuM86G4bjl7c4+jen8jQxvvPcZN26HMLYMXSXSY2542A6swdx2uzY= 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=zMfY6vZo; 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="zMfY6vZo" Received: by mail-ed1-f47.google.com with SMTP id 4fb4d7f45d1cf-5efe8d9eb12so1079286a12.1 for ; Thu, 03 Apr 2025 01:59:01 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1743670740; x=1744275540; darn=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=zMfY6vZoeD+0C+rJjnkjVt3bDkOAdTXIiZAFKxQECBujQ8CEzEwgH5lM0KDR1GVhg4 IB6RmNOQnmB1sPJrzkIm90OxheOn1KBdZW4O6gcT9IQRszdJq3QbhfSPRb+w197+l3Iu a3hy4Hc+uX9th4a1/y+FVGMUQhI9w99XhPdBkO/osh+phqb+VxYZZm5Pxj98h/nAOCvO OaORvxhY3mmS/EX4ipCng5roXPVOyd1MQo9IEy4a4tWLFe2l1ghafJF/fQDb6XKhroYC jFPC4YbidkKnscT7zB4iO/RfH868ambV3SjiY0o8GTdLWFeeJQwn0ZZku+rhwcPoLpSy fzwg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743670740; x=1744275540; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=r/wEh4QmLnuluQvbcZ6Yqq9yXOMvoeHgrUwhyH2g5L8=; b=pxnoYGrLvPgNYZI076SuYIjm+9WTE05g+L65vOOKtjemZs2/l4ecYKW+GVd/sdMwDo mgEXdBma9KuILaA5S4dT/PO5dAWNnqTGxnlkLKWthIAh7/uWN7P4ZKoMPIBW3NakiOnb TY/5vM9zuPHhdk66YzL3bemvpGae79veZJJ7tdAi8VRhK44Y3KGtktJigUNnnzmssD7v RaFEpzKCm32HaQCUYNDLUw7Riz7hZADOVQE4TMY3I3Tl3QZTJzJ5Ln72i/eK7Cm385I5 sy2/qa5t8ugXYQPB2AjEtw9ac0Uk/6MOpTzEJSLNcJ2wBNr9Tem2w1OyL2EEoboZ7vwn LCsg== X-Forwarded-Encrypted: i=1; AJvYcCVc+xcCrlN85dbhUa7JHeqqLdrI2EUWolf9HvpCNmNt9kQbpl7rTEiaQo57GPjb3UrRb2HnUN6n7RSMxEk=@vger.kernel.org X-Gm-Message-State: AOJu0YwRlwktZ4fsBG1Nc0YFhn8LLQPPsVMcz0LIzBzKqs5NGgbOdF2N ejXfOxj+nHzFZBLJ5bpY8DXghtnj8dM7nzgG3xOQwwOjIZtwXlcp20YP2Xn+xT0= X-Gm-Gg: ASbGncsqn4aZXYFAArkh6e5SyfFF7zsX1sGsRARuVKf5YwV4FCm/6homO2wjDlh1Uxq bYNJqPetn8Va3z1KnKGh/+uRfukBKZtVckWyPcQpvEP8Xt8q2DszlAdgBJZZSHsM2EKzBqO3059 4pUTMeODU6UZpl6lEqlNrQcvtA+R7Y3w81H4Hy9/F8UuxhKMGt5mpy4sguBYFfKZhBQ/9jYjTK+ x/as1Wwf5G8mBz/pflkGEDvXDO4Wd3Xs91vxtL9PuaFYInH6Xzj2H9NjhkOySwhZtSNrMTgp7k0 DZ0MOikA1j7/VsHc3J3CrtKdj7LYlgFVLnQ4E3RD/5oqziEc32szd2T5jZHKRHZGcN3PBKyii+4 6qcozDFp64A9REFk+PEsnO8+RNl92 X-Google-Smtp-Source: AGHT+IFpNCgTUy3yn5kNBStSgNtkMlYeVkvi4R54YROwAonbhkdXCkRSsgfQeF745WZBnvMJR3nP5A== X-Received: by 2002:a05:6402:27cf:b0:5ec:958b:6f5a with SMTP id 4fb4d7f45d1cf-5f08726ef19mr1525065a12.28.1743670739930; Thu, 03 Apr 2025 01:58:59 -0700 (PDT) Received: from puffmais.c.googlers.com (8.239.204.35.bc.googleusercontent.com. [35.204.239.8]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-5f0880a535fsm637614a12.80.2025.04.03.01.58.59 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 03 Apr 2025 01:58:59 -0700 (PDT) From: =?utf-8?q?Andr=C3=A9_Draszik?= Date: Thu, 03 Apr 2025 09:58:54 +0100 Subject: [PATCH v3 02/32] dt-bindings: clock: samsung,s2mps11: add s2mpg10 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: <20250403-s2mpg10-v3-2-b542b3505e68@linaro.org> References: <20250403-s2mpg10-v3-0-b542b3505e68@linaro.org> In-Reply-To: <20250403-s2mpg10-v3-0-b542b3505e68@linaro.org> To: Krzysztof Kozlowski , Lee Jones , Rob Herring , Conor Dooley , Sylwester Nawrocki , Chanwoo Choi , Alim Akhtar , Michael Turquette , Stephen Boyd , Russell King , Catalin Marinas , Will Deacon , Alexandre Belloni Cc: Peter Griffin , Tudor Ambarus , Will McVicker , kernel-team@android.com, linux-kernel@vger.kernel.org, linux-samsung-soc@vger.kernel.org, devicetree@vger.kernel.org, linux-clk@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-rtc@vger.kernel.org, =?utf-8?q?Andr=C3=A9_Draszik?= X-Mailer: b4 0.14.2 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 Thu Apr 10 18:57:29 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 AB5DD24290B for ; Thu, 3 Apr 2025 08:59: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=1743670744; cv=none; b=TJ1EL4eRPHuYvPpuROMO/nfrw+0kNkPSqo1Nofkot1pltuM/SHBcLuDUs+AoN1rl38Oqf7fMS394UaOCoY444uwJjeoopWA9opzaGGrSs91yyVeaXt/D/DAXMKNSfhQMz4WAWsQ0lCOrjpb18grlOwUa11cr5bLarCKkYwlE230= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743670744; c=relaxed/simple; bh=8eAYSNpHmOf5cN1usNebO301BYKlN5Z6Sv3SjOw/R9E=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=OI5da8HvujulJV4wVKyW/O08Jf/y7z7uGPBExuyi26eJBcPCzGlN3owveIH1r5m0cZ5vSm8y/DqDxLUtjpPLS4MdB9EB5OA6eKYAqmkm6qBVfNI9WoH8J5ymT+p7WLJjTMzPVTE7ONbqj1/HUtilSRTl0zXlayxnc7fQZDSYv34= 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=W7PYcnuA; 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="W7PYcnuA" Received: by mail-ed1-f45.google.com with SMTP id 4fb4d7f45d1cf-5e66407963fso1295702a12.2 for ; Thu, 03 Apr 2025 01:59:02 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1743670741; x=1744275541; darn=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=TTxYh5RL8tOeSvhD/5hLspaDOdxe6ZuNdEjOA1UzBwY=; b=W7PYcnuAlZQsbDxO0WOqI7YMtU0x8oDPCpmXjmjbqbAxjaxT7e2cWS3ocQLK/69Zp2 MfEGGmraQpTaXxhhqsUryIAoWqTpsJ7JR7uxKSVH4GHJhnvUljs0zkPEFJWWpTZ+2cpf Fir41nqzNOigBPyxHZmeURSIL4iKpB8xoEgIqu53zcx76rCnubxtLdpjo8Px7X9OdPY7 YS/at1xd1qDdYbztZK4f7mn1a/GA4r/RAEGOwmcJcHuFSwBfjQ1R9Ois8he+EBB741H9 p3smz0KM5lpjtvgJEcz6Ot3Tl+lNg6+FSM7OYIdnIk3AekBugU9aZOyz0MD5QruyHMML 1N4A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743670741; x=1744275541; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=TTxYh5RL8tOeSvhD/5hLspaDOdxe6ZuNdEjOA1UzBwY=; b=B01v6hkStfOPGCV3/kKtLPuji1qVEgBm/pcrVPWWw5osc4RmnoAeWkYR/VrgCvg/TA mluZXkF3t7C2rwv7lX80uJh/G9rYBwdS5/yecyhhdY4wRKLbJyE551lb6gMnjt5qmS89 VIbCGHagjgQIQfCxsNBgf44XETNsfcYW33HZcjJERmZtenXGfA1PFmSavgND3ROcB8Pj +Qpbwh0ZBwE26HSES496J9IGCFz27SWz+3cfFSA4l/eX5t2TzC6BT4gr4FBP1fSREuaw ZooiP1s82mG20p8ms2vxEMP0ZUHZO8oQ8B6MjU+br8gMGOFR7o4rxEL99MFfyJRHwoqd ARzg== X-Forwarded-Encrypted: i=1; AJvYcCWTXUv3SJR+LRysyhweCwB7FVyrB22i7kDI8mB9k42MH/+YhiizTu74ir9IjGvgVarWJpBB7t41ENovux0=@vger.kernel.org X-Gm-Message-State: AOJu0YyBqNMitvbvc/elvpwJA1G8Gao3C/ovCJdmCOtJUCA4HhHm6t1b DxOATensHsykBCJYtcEwz+DmK1Ly6XGlcL3tDXmk6WOKLfVeQPKHYSk2vR2YnYo= X-Gm-Gg: ASbGncuGT8vB8lAQTxJ3EUdrpYA9umjDpInXtPrHermcgiWR3w0+jjWBg3QFlPi2Sx4 Gm0rdv2oNlKe87HhgcivCZeZAGz+F+GotqrM0jEF1Pfw4LmdWS33nbljXSoNUj3fNWlC+KLM/z1 tyT4wwSiy5yynVZmHN7TtVgvUnaL15qgr4veY0fNroH1Grc+iOM5nNdtLv2dXFTWoLPhBKONKs7 Ig6Hitl5d51gXjlQC9fuIF7FQOkZmN+BMXN9yCalt/+Xer5fIVQEyhmSVZsFlxmE8NBZf1I58GQ hvtsCYaojCaukePhR3MLz6AwkOfPSelQU1JVRbsRZyEyi2yLuzvvgDxEpfmaKRpsNHaGH4oOxUp ftPEYc2Sm6yu2M7NwYcTVJIIIMcSb X-Google-Smtp-Source: AGHT+IGqS+cHosPp545QR90MaWlJ7FylDhKCGqpl/xjJ8Dzzg8KkweIQ6IAoK4HbqAdErYyQhuV36w== X-Received: by 2002:a05:6402:3229:b0:5ee:486:ea34 with SMTP id 4fb4d7f45d1cf-5ee0486ebc0mr15642777a12.34.1743670740725; Thu, 03 Apr 2025 01:59:00 -0700 (PDT) Received: from puffmais.c.googlers.com (8.239.204.35.bc.googleusercontent.com. [35.204.239.8]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-5f0880a535fsm637614a12.80.2025.04.03.01.59.00 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 03 Apr 2025 01:59:00 -0700 (PDT) From: =?utf-8?q?Andr=C3=A9_Draszik?= Date: Thu, 03 Apr 2025 09:58:55 +0100 Subject: [PATCH v3 03/32] dt-bindings: firmware: google,gs101-acpm-ipc: add PMIC child node 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: <20250403-s2mpg10-v3-3-b542b3505e68@linaro.org> References: <20250403-s2mpg10-v3-0-b542b3505e68@linaro.org> In-Reply-To: <20250403-s2mpg10-v3-0-b542b3505e68@linaro.org> To: Krzysztof Kozlowski , Lee Jones , Rob Herring , Conor Dooley , Sylwester Nawrocki , Chanwoo Choi , Alim Akhtar , Michael Turquette , Stephen Boyd , Russell King , Catalin Marinas , Will Deacon , Alexandre Belloni Cc: Peter Griffin , Tudor Ambarus , Will McVicker , kernel-team@android.com, linux-kernel@vger.kernel.org, linux-samsung-soc@vger.kernel.org, devicetree@vger.kernel.org, linux-clk@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-rtc@vger.kernel.org, =?utf-8?q?Andr=C3=A9_Draszik?= X-Mailer: b4 0.14.2 The PMIC is supposed to be a child of ACPM, add it here to describe the connection. Signed-off-by: Andr=C3=A9 Draszik Reviewed-by: Krzysztof Kozlowski --- v3: - drop '$ref' and 'unevaluatedProperties' from pmic subnode, use 'additionalProperties' instead (Krzysztof) - add some regulators to examples since s2mpg10 requires them as of v3 --- .../bindings/firmware/google,gs101-acpm-ipc.yaml | 35 ++++++++++++++++++= ++++ 1 file changed, 35 insertions(+) diff --git a/Documentation/devicetree/bindings/firmware/google,gs101-acpm-i= pc.yaml b/Documentation/devicetree/bindings/firmware/google,gs101-acpm-ipc.= yaml index 2cdad1bbae73bb1795eccf47e1a58e270acd022c..9785aac3b5f34955bbfe2718eec= 48581d050954f 100644 --- a/Documentation/devicetree/bindings/firmware/google,gs101-acpm-ipc.yaml +++ b/Documentation/devicetree/bindings/firmware/google,gs101-acpm-ipc.yaml @@ -27,6 +27,15 @@ properties: mboxes: maxItems: 1 =20 + pmic: + description: Child node describing the main PMIC. + type: object + additionalProperties: true + + properties: + compatible: + const: samsung,s2mpg10-pmic + shmem: description: List of phandle pointing to the shared memory (SHM) area. The memory @@ -43,8 +52,34 @@ additionalProperties: false =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>; + + regulators { + LDO1 { + regulator-name =3D "vdd_ldo1"; + regulator-min-microvolt =3D <700000>; + regulator-max-microvolt =3D <1300000>; + regulator-always-on; + }; + + // ... + + BUCK1 { + regulator-name =3D "vdd_mif"; + regulator-min-microvolt =3D <450000>; + regulator-max-microvolt =3D <1300000>; + regulator-always-on; + regulator-boot-on; + }; + }; + }; }; --=20 2.49.0.472.ge94155a9ec-goog From nobody Thu Apr 10 18:57:29 2025 Received: from mail-ed1-f43.google.com (mail-ed1-f43.google.com [209.85.208.43]) (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 81228243364 for ; Thu, 3 Apr 2025 08:59:03 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.208.43 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743670746; cv=none; b=UEFBWtjRu85U0iFZeRQUpJGhFcDiq4wbetxYB7QKWL+4pdgV50iYW4We7c37LsZWgkOSt7WoGaCoOg/vTVB8hKIk6oukycLuGxEaszL4tXFnxCEjhoqCfIntTv07OkJILVA6wMtXva96BtrT4hp/iqFV6wiojnfprgaHxHRbmxU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743670746; c=relaxed/simple; bh=rtY22MgptB+tLy3QVxclIgluL35Op8OhX0cRjsl/mJo=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=nsebE5bNlprbGyujfwAfB1KEe1SeloktoBIZGTNcrK/Or5ClQcyFXz1To2ZYTwsfbt6Mk30tEH3cI3s32WqG74EgqaDk4J0errAKAZpLvG6rGi1rxQqME2WLo+bD9IV+N88EUpkXTUA2f9yDgtIJ3LaWhzTnqiw3M+8FMuFvcDs= 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=o0NweKEI; arc=none smtp.client-ip=209.85.208.43 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="o0NweKEI" Received: by mail-ed1-f43.google.com with SMTP id 4fb4d7f45d1cf-5e61d91a087so1167683a12.0 for ; Thu, 03 Apr 2025 01:59:03 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1743670741; x=1744275541; 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=o0NweKEIpkWSH2jwsB74/XPrYsHAW13Na5HzWQ34OX2Ui5O/wl+6+9VOabs+k5g2Xd ORYcdHDJCXk3sGRL9TPgxSddIrQ1C/3yEq6pTHUtL0vAV1ruzHoSXV3zBGH/EoPgt967 wZLqemNLOurWbEOyIO+rzfczLEcU+5aaN5+mZKRW3cefKIpR/VXSRSZhyf96++Vc838m VqYRzbh0Kr3rWaD/wuhr7z7KllYhGHR2s+NqY3ZSKdRduqvcLsdWtdZ7COsBWofND93A 3VKEr4Ur/+97GJrZn38FtaHcig47HMMNgoxyfoJPFGEThbt7sPyYlM8+fp/pcwzMwfNP T/eg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743670741; x=1744275541; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=eMxQ7UQKMt0+Oaxy9pEE80XpNTXV7CL+WPCOZ4uzjjQ=; b=CYwJznqEvULIC2iuGGrRlpdHYst/CQj2NhWsAB6Rwwfcu0SdmBYEZqwuzGKL/sT/GU NnPOHSFiNLu0660T+0l+jvZ0B+bAbV+vNbKsnwZ278hnI0FL7da7tIVqPpE/Rt1fPlnY FVH887XNSTRT/9Y47MQVASkqvcLM8PV8zPTPH0gMilZcWyKm+1S6BV02LR9C4c59+87o U/JIrnwHkRIXXZPbDevJtk+mWLIhhnV2VgP5CGkHU76DU+AvC3x0artq5tUVUT4VknXY XI5b/sL/v56Rz87adyR7/HLHwUTnoBYL6gDXnS4qU729VH9ma8r9iIuml18NyYW5j4jM TISg== X-Forwarded-Encrypted: i=1; AJvYcCXRKdFmQ7qX2jcmBL80mGD5FMMCTslFAzVkG+oI4tQJSY4jv73LMLcXAG4pJEr5Sv0b/itf5+GLfHyYLzo=@vger.kernel.org X-Gm-Message-State: AOJu0Yx1axAZw+uIPmG0+9E0Zk+iInCrwBr4Nd/1z/17lJOODKMyQzE3 WdvrcCJ/hmHkby2oIac8ZlWbq35k3SLEdNB28rCkiQ8pozzNgS2o/Cjcr9jQ4C0= X-Gm-Gg: ASbGncueFw0akA0ZsNDPV8pMzRtBHN9Fn0CkhVj7uTW0+srxwUDWV5BVymregGq/cmJ /C5PsvzVCNddQG0d5fOxB1se/pgUDiTMedQLWx2zZyT7xkV4nncjUVvo7MQswmfngmG0lt6AyDm Z3/SYwHaxdj3i2EZ/4x9WAilf7KtNb6iJRCNtR3DU4ZeFLdFcL/nqqlG64I2S89Pod6TMdRfr9T 9jxgNabl6pQncDZgsglWRz47rYeOGr9io4zBZbT4r5UBEEIg9UgQpHEZpNRbShgyo8obhwwQejC gVuA6VZlWBiZ/futn6z+jbU34+YCS5A6FXLWPvjbW2qfrYQVa7FYz8QkVOXP4tLz/YoPcjIl+fh lIRnjZTrY8aB5XxoR7bMhdXXFBZBD X-Google-Smtp-Source: AGHT+IHQrHf12EJNK/p+81ZjxQhmjVXLedkpjwoD4qMiwxw3fr2xU8zdguaJrZmoo26ZrVzwsXGVGA== X-Received: by 2002:a05:6402:2802:b0:5ec:cd7c:de55 with SMTP id 4fb4d7f45d1cf-5f08717ff38mr1640036a12.17.1743670741481; Thu, 03 Apr 2025 01:59:01 -0700 (PDT) Received: from puffmais.c.googlers.com (8.239.204.35.bc.googleusercontent.com. [35.204.239.8]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-5f0880a535fsm637614a12.80.2025.04.03.01.59.00 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 03 Apr 2025 01:59:00 -0700 (PDT) From: =?utf-8?q?Andr=C3=A9_Draszik?= Date: Thu, 03 Apr 2025 09:58:56 +0100 Subject: [PATCH v3 04/32] mfd: sec: drop non-existing forward declarations 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: <20250403-s2mpg10-v3-4-b542b3505e68@linaro.org> References: <20250403-s2mpg10-v3-0-b542b3505e68@linaro.org> In-Reply-To: <20250403-s2mpg10-v3-0-b542b3505e68@linaro.org> To: Krzysztof Kozlowski , Lee Jones , Rob Herring , Conor Dooley , Sylwester Nawrocki , Chanwoo Choi , Alim Akhtar , Michael Turquette , Stephen Boyd , Russell King , Catalin Marinas , Will Deacon , Alexandre Belloni Cc: Peter Griffin , Tudor Ambarus , Will McVicker , kernel-team@android.com, linux-kernel@vger.kernel.org, linux-samsung-soc@vger.kernel.org, devicetree@vger.kernel.org, linux-clk@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-rtc@vger.kernel.org, =?utf-8?q?Andr=C3=A9_Draszik?= , Krzysztof Kozlowski X-Mailer: b4 0.14.2 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 Thu Apr 10 18:57:29 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 41885243947 for ; Thu, 3 Apr 2025 08:59:03 +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=1743670747; cv=none; b=IRYVC+9RP3Gng8mALpkPDQs7iXdyxt4Ib7cSyGU599YbtvQz1bzRm3AjvOw07if7dxH8OQsIgaK9AA/2WWW86n7K0/FIwGzcmFuTREzpYxwmjLFVfnnMxoZupMEbIgzjQfMddW2DXaF5ekE0PjHJE/6atmWNgvZjCy8FdOLfSAg= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743670747; c=relaxed/simple; bh=UlkZld/wRLMptXmKQwcze511hrG+hJRq5bCGkApcG9o=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=okwa1p4FnjkAxhuVxB4aacBraSi2E+TsN4AYH32HuXh6u+3P61z03fGO2anjgG4TT440WBvj7kfa1lijAl9scFXaXQKarujX9RRoFucfh15EQw0lYXEQx42FU1XSY9Nd3JMwc+46I7PNRegmL1aKa3P3q3qSVSt8nBeXUvy+0Ao= 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=WiVmgiHj; 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="WiVmgiHj" Received: by mail-ed1-f48.google.com with SMTP id 4fb4d7f45d1cf-5e8be1c6ff8so1319099a12.1 for ; Thu, 03 Apr 2025 01:59:03 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1743670742; x=1744275542; darn=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=WiVmgiHjyHP/0yfIw3e1J63bfZPyDlI1cSJVkfOg4jncxVrNobdRoMwudiWOkj8blU W4ryDzIrec9tDVjxilifV2VFYuMuSBAj53NFZFcbhGWCuBS6Uyu2sRcpSK/YIBEgRQ7+ 2nSj2z7VNTb4YbZYGzuz1x3i2R9ecKapUeGGGofoCYJpwDAmQyeU6MJHi2hZ7mlHtauM rwIe0VSStT/Xejb0/F1SK3BlnSChpG8KX/oKntAIQ5RHgPKaIpfrZOvGuHjVX3aV2u7S XbApIj5pGLkqzx0Yt4GWIL95XUJ1/8jfINBdutltzW8nZo366R3btRaGVAgkcSXLLs2n sxtQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743670742; x=1744275542; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=zvnZunCYyaEwV4fUoehy+lbIydvSzIujDoR6jNNiKRw=; b=WtQv+P4CKVWyOFzCagBl4TDlS8i4rTuVWCUq4liwXvDWM2qgG3G0aKINKEWMsnTqpM 7IdNxxu46peJdgG7mQm94LMRwjBQDHD9nAQxFIuAPczntklJHxkrt0wiN4duIYC3XK5X kxIZShHQyjvto8zSi+XKyDsAl5jvCmXK8X03z2FNYDJajtj0E74ZXJVdskzdBUG+knsq KApLdmIEjpGwpAuBQa5dKC2X+nIL1O+9xdC9Fcqwh8GV57a2mLc68rr/TgwfRfZfitYL ngZicA31DJQkrSoUW0Qqo5GYlGjiUQgSLsVPQXZNQoJETS0KGiQooJViEDcBcDG2SH2U C8/Q== X-Forwarded-Encrypted: i=1; AJvYcCVKxA5zvhkyDD6/OFX6UcTDnljm4suYzE9vcqOCB9CCQd76aPbpfGhXSzTFu6r9EmCCJ5kAePbMT+wZtu0=@vger.kernel.org X-Gm-Message-State: AOJu0Yx7iEWO9tUduCeQQgwrmWX6sQOoCC9K+CRM/Z8PxtbYcgHNUOV6 1lYS8wsfBLlWvsgRF1TDXBQTyHPk9nHIogAcLs5wDsUAjFiyDuDBvZjNpPU/ozE= X-Gm-Gg: ASbGncvFox+nBcCkb0Z8Bx8uRlA5uDdBsn0kgTPbYPQ4yJOF9NbHChGD3maBQMBsJSk Ep3beIYCUBCgPAuSOJhK7cH0nrf51f7cp/oIAGbFPWe9M790I2Q7OS8l4HYA+cjcoHADOXauv/0 HQJ3OWJ1NPqFOMCBwjIMIEBj1YfHjonYo4XBulAjCjOlR7eVK6ErEpNy2vu63BRP+OOvk1165F/ toorQD2Own2peMdOLBF5enZM4PyTGAUPIKB7otG428RibgcUnDiiIIy1S+kov1i2Dr/EnwVwjbg AcmfLYy3iYwY42NOtcxmKvk5wtzDxVQiobnDSALGmKGPezqXoA8EZnOXYyUkWOHbu6o5wG5LoqH rXQPP0F3IkAhJIkuGeBaQO4KOiKT9 X-Google-Smtp-Source: AGHT+IHLPvSEymTsQ03JgORzrfz3sWcW5LSP8Sp0KzcMY46wC//GzsWqGdq35W45MXKHrK74iEdBWA== X-Received: by 2002:a05:6402:51ce:b0:5ec:f769:cfa1 with SMTP id 4fb4d7f45d1cf-5edfdd155cfmr14720447a12.29.1743670742249; Thu, 03 Apr 2025 01:59:02 -0700 (PDT) Received: from puffmais.c.googlers.com (8.239.204.35.bc.googleusercontent.com. [35.204.239.8]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-5f0880a535fsm637614a12.80.2025.04.03.01.59.01 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 03 Apr 2025 01:59:01 -0700 (PDT) From: =?utf-8?q?Andr=C3=A9_Draszik?= Date: Thu, 03 Apr 2025 09:58:57 +0100 Subject: [PATCH v3 05/32] mfd: sec: sort includes alphabetically 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: <20250403-s2mpg10-v3-5-b542b3505e68@linaro.org> References: <20250403-s2mpg10-v3-0-b542b3505e68@linaro.org> In-Reply-To: <20250403-s2mpg10-v3-0-b542b3505e68@linaro.org> To: Krzysztof Kozlowski , Lee Jones , Rob Herring , Conor Dooley , Sylwester Nawrocki , Chanwoo Choi , Alim Akhtar , Michael Turquette , Stephen Boyd , Russell King , Catalin Marinas , Will Deacon , Alexandre Belloni Cc: Peter Griffin , Tudor Ambarus , Will McVicker , kernel-team@android.com, linux-kernel@vger.kernel.org, linux-samsung-soc@vger.kernel.org, devicetree@vger.kernel.org, linux-clk@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-rtc@vger.kernel.org, =?utf-8?q?Andr=C3=A9_Draszik?= X-Mailer: b4 0.14.2 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 Reviewed-by: Krzysztof Kozlowski --- drivers/mfd/sec-core.c | 14 +++++++------- drivers/mfd/sec-irq.c | 5 ++--- 2 files changed, 9 insertions(+), 10 deletions(-) diff --git a/drivers/mfd/sec-core.c b/drivers/mfd/sec-core.c index 3e9b65c988a7f08bf16d3703004a3d60cfcb1c75..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 Thu Apr 10 18:57:29 2025 Received: from mail-ed1-f52.google.com (mail-ed1-f52.google.com [209.85.208.52]) (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 D60B024418E for ; Thu, 3 Apr 2025 08:59:04 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.208.52 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743670747; cv=none; b=KU0TK1mp5NdwNUBL2TZtalNMnTJZ6XUESH93V8OFjoadIOqsJ4jMFTFrnUTfbEdaco2AP9LK4ox1EN9HJv7V0I3hEhHagCYXR2dzQcdFj6Zr7e0gYSZHdp6wLAvpZp0WzAk6NWpMYHeNKzB4f6QbhI6SPt/XLMYxBXwrtue0vWc= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743670747; c=relaxed/simple; bh=3ZuAbxXX06ozk3Tfj9ghYJsYuA9BYsa2OTFam90KOhs=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=CSYnnZOAc45Rhp6y60UoKM4du/WpuIC1uPP7GGv7MuvfWGoqEvx26tlGVLwA3F8gJcoZDNmF6CCEfgNN4IaqcYz5eC18D7i5nL28mArJMK23UhnlSF7f1MSIlZx6dS5vx9KraPG9sAl2rfZJnSjqgP3oKHAVWF/kl04AetB9YQU= 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=sihtSJSP; arc=none smtp.client-ip=209.85.208.52 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="sihtSJSP" Received: by mail-ed1-f52.google.com with SMTP id 4fb4d7f45d1cf-5e6c18e2c7dso1252455a12.3 for ; Thu, 03 Apr 2025 01:59:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1743670743; x=1744275543; darn=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=sihtSJSP3ON/aTv636TQbOvlzBGpOe/n6JQef3T6U+e1+0o188jAM7AHpZsef9yAzR CD/PpZa4iM2RRS7Tgg1n2oobGtUAV9dTwx61Gmj4LglLUZz8twdRNcCu87zVDqpAu+BD /l07XXBx/GUjvjRZ3sAbVCUTwrLRGNr+bLVwUZDems0gKQLIb40HQGLG3eKsPiXZ+6so VjaUp0s2s7pS9ldY9EALtPXSvUcd0Dk4Tas8rzEGzssQWvcIFZ/Kvp0nv1Z0zMHMXR6r u6UQJZHgvtIiCI5gCCpNv9cYPhzDhzCXJWPsjx6v1hSzF6/TbttXnKf4S/f5YdUxtmXR /7pw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743670743; x=1744275543; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=+XJ0BnP9OZ8bJehCr0mEgQXneIq2z0WdureacdI7Rno=; b=p5ZF+kCX9QXcvYkRS3DyXykYVHCwQUv0q9+O+xVOQ4DlrSnEGsJYqC092avgh+a70d GI/hdwOlZ4HDoMSwo7HdEspXslrN43UXBfv72hsnnkZKOMkFh2gqJHMX8QfX2uOHyWKG 9jkrT886HIO522NwqGKKaILkvCIl2PVUwvZUsxvDn7Cz1KonNuS/2x6BpwrFrXeNw7J4 aEXrulG3P6dawBKAGVL0FI3N062jUW2raMqiBWXdeUQqMS9CHDRalz4KXBzUEmygXvz4 XKMF6/ko7yO1+0arZGEqXtf3D+ZbT2uHuoE2vqFg8w07jaHGILaPi7YrobsOfII5aUHn E5Tg== X-Forwarded-Encrypted: i=1; AJvYcCWl1By3At96OHBAH0BxlZ2Ccf8bEgxyuKvnOXdTy/u3JXsgXHoGSBaIHUrTs9AKQqGe1N2joHdqcREH6Yw=@vger.kernel.org X-Gm-Message-State: AOJu0Yw0UrMH+p37PrlfUGIdfr8KXWFdT0I4Kj0KsXv0MnuP1WyPc3EQ EpFm/pmi2S3WyZrscPppNJcDXN4cxHniycTSl3qmv35zSNt9FvlmQstl4uRQ53Q= X-Gm-Gg: ASbGncu0MQscTpKVK8S7x98l0tXhsHihBt6oL2nhcpDC+tOHNlI32BzfZMJMLTJjRK4 GD8zg/otHnZ4GzwstH0LeR7A+qArAUs+ezZMypWHkwCNTLLlCEskuwIq38+BPitBcrN94QatBKs 6yMRQbjeAjfrtz/MLhdzJsXDQq7Or8BXtf0hNL1UqzT3NU4BBXN1UmFUhyqHd449qkOokzJTz6d mFt5R0o6rRU/BlMNWnpLW4LNFvRx9xpon+/CFmw303OlEKjuI7SWlvTN1npBD5patjAy930lbLI 8ALmHcShhwZXg2phfTZQOI2SdEgcmFBAP5abk/IxpdgEDg9TObGDW2+As/K47/DfvmO5p3MxzxO yANCTgjo/fWqB/rypGfXOPL0Lrinz X-Google-Smtp-Source: AGHT+IGkZPSWp4lu5rUJK3n+QeS/CEFX/u4+R1iSLBAES5mqBRreTDwkWOuPbVChNdfUaTLO5xi3fg== X-Received: by 2002:a05:6402:278b:b0:5eb:4e69:2578 with SMTP id 4fb4d7f45d1cf-5f04eaceb11mr4573614a12.13.1743670743004; Thu, 03 Apr 2025 01:59:03 -0700 (PDT) Received: from puffmais.c.googlers.com (8.239.204.35.bc.googleusercontent.com. [35.204.239.8]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-5f0880a535fsm637614a12.80.2025.04.03.01.59.02 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 03 Apr 2025 01:59:02 -0700 (PDT) From: =?utf-8?q?Andr=C3=A9_Draszik?= Date: Thu, 03 Apr 2025 09:58:58 +0100 Subject: [PATCH v3 06/32] mfd: sec: update includes to add missing and remove superfluous ones 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: <20250403-s2mpg10-v3-6-b542b3505e68@linaro.org> References: <20250403-s2mpg10-v3-0-b542b3505e68@linaro.org> In-Reply-To: <20250403-s2mpg10-v3-0-b542b3505e68@linaro.org> To: Krzysztof Kozlowski , Lee Jones , Rob Herring , Conor Dooley , Sylwester Nawrocki , Chanwoo Choi , Alim Akhtar , Michael Turquette , Stephen Boyd , Russell King , Catalin Marinas , Will Deacon , Alexandre Belloni Cc: Peter Griffin , Tudor Ambarus , Will McVicker , kernel-team@android.com, linux-kernel@vger.kernel.org, linux-samsung-soc@vger.kernel.org, devicetree@vger.kernel.org, linux-clk@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-rtc@vger.kernel.org, =?utf-8?q?Andr=C3=A9_Draszik?= X-Mailer: b4 0.14.2 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 Reviewed-by: Krzysztof Kozlowski --- drivers/mfd/sec-core.c | 7 +++---- drivers/mfd/sec-irq.c | 5 ++++- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/drivers/mfd/sec-core.c b/drivers/mfd/sec-core.c index e31b3a6fbc8922e04a8bfcb78c85b6dbaf395e37..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 Thu Apr 10 18:57:29 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 9E1272441A7 for ; Thu, 3 Apr 2025 08:59:05 +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=1743670749; cv=none; b=H2Mat1WVKNHkg2vNU/zl2icVHDuZzDI/xKw/ujPXTEa9BN+NF+MtSaLiR+i38E/1eEmV71NOwjZDU3UjfaaWF8Jq1zyXw6hnzEkqDWPhISP0HW8dC8np5zv2RBeJjcW/mjcbRqwo/3Rk4bTn9KWiEKdk4LlnxRfn+AqgXXQgbaw= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743670749; c=relaxed/simple; bh=IlL7av/XZ94MO9yKdjGRUMlQhb8Bpg73uC0VJ87ssYs=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=SJ452AUHab1CTwBEV/Me8fb3TtLN+EwuNcSGaYeCX2GhOnSWP2K81V2/t43IyqtfD/slwnxPH20KH0UVl2WDRWLrWYXPKADOWvutSCk545QiOkzehmdUKU8o952xV7ZqVuX9wSm035zL9Wj8NsGn3xnfYbfEuUFEcmuD6hsbW2k= 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=levw/Q2B; 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="levw/Q2B" Received: by mail-ed1-f54.google.com with SMTP id 4fb4d7f45d1cf-5e60cfef9cfso1043257a12.2 for ; Thu, 03 Apr 2025 01:59:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1743670744; x=1744275544; darn=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=levw/Q2BARYjso4u1EbIZt9wvNnTI1sRcgYNjuDoMU66nukLmh7AUGwFJ2nMQNk8E1 IZBYBrWgogNkLp+w0WoA4Rnwae6WrMZZLAJV6LW/PV6PaREwMj/Y7zkuaQdntxoYrboN +NwQOfrKEew0K7EhHJkSg9t07MrnCGpAyi4Lm+XHuTOCJz/ATffcU8r+U4g8hmrxxBNU sGgucLCRMNX1DbRoJzuxpaanT5XjWNZnDV4pnhgmdQ/Vi7xpWNno0ViMcVZ4Tfr6eYO8 1hoH1NCSd6jQBQMxWcgpH1rpEYINplQkHKsB+S8rxQR/ZAzPYsxaZWB9pO+esvU8wAE6 tUBw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743670744; x=1744275544; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=6nQmrd18TxOApmP9ZbnJeIx1ckVKc9UGQ9P+sqT3y24=; b=uhUHr9/tYcD5bd5YWV6L/D8rqJlf+0PFYk2euA6ZCYOVTHkJJVIaaYcgO7VSr68D75 /H3e1wvto/DzC3hDMg9C4qKGyyFOFt3eEGsnBFS/bv+BQP11Wt4V+JY2AJ2l99XA0qtW MyySxv0Um1uqMq0cckthG3JTwkEUW/QlOzNz0FtMWVWqlAedpLe3BYXU+JpzQBseIcqV Z9UUbl/CJAgZqfbjhfZAnXRrIowgN175Kbvq3/vlkadAl5xr8prFFXTNLahF3MHahUgH xeiIKUNpR2FADPYXhELjxPZnLmhxhSXY+matvAhuRLrpBel6FSDLV5b0np0pH6DiWFB2 24OA== X-Forwarded-Encrypted: i=1; AJvYcCVfH66Kl/Uo+wJh4cGR4xh0FHKRken5GXeIw8O3JMj9ZZl5Bm+iJKsA3Xke1SD/5NTezPiqRQr0nWCwJ5c=@vger.kernel.org X-Gm-Message-State: AOJu0YzzcpV5EOpvnELFszGdcrqXFROGxIU5akD/VvLJDem6X2RdYXF2 dlzfkxpByEj6zfFkf+D9kJ2sM6xBcgL0Ek2lEHap/UDW4tE71FdUIUE9kT+h2SY= X-Gm-Gg: ASbGncuIyVnEHBcVI3yBxC1Dl0TsL5VFYs+VCdMLGEOKoWlhSjTuZ6TBvh4/e9sBP3c lM5QTvpMf7gXxR5O7vVHEzTaHeIjLMVa/cx3TXmM+OYlq6/KHSh8OsDCX2SbheFnU+STx4Q8pLB kENGaCCJotAGWzK1cHYX+RWFxqwV23rGsf6OWwX3Rzhe+WMW/pBy74mPiUo7EMKUZDRysqhBr7a 1RaUW7oeswFizFGY+iOD6y+lvCAYKusjcbG5jr8ltejftmrmBswu4pHokxGs+Gm/4tVtoy+YeIB 1UtBD+ZjgUpT7BSGTv9ljIpEfP93E7BiKR6xXgzJnIu8aHHs8bLWqPUjZU1/tPMi6nv1Po0e+73 jo3p1ykaCxuLr39sJdGUct7T5SIzL X-Google-Smtp-Source: AGHT+IGIWTCEvGgQQzD/67aqQ+onG4uBURQ37h1HwUWRbYYu+VD7A44v+HEWQ+TW3vqt1mLDE4QMoQ== X-Received: by 2002:a17:906:c153:b0:ac6:fcdd:5a97 with SMTP id a640c23a62f3a-ac7a1972b9emr446196566b.48.1743670743773; Thu, 03 Apr 2025 01:59:03 -0700 (PDT) Received: from puffmais.c.googlers.com (8.239.204.35.bc.googleusercontent.com. [35.204.239.8]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-5f0880a535fsm637614a12.80.2025.04.03.01.59.03 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 03 Apr 2025 01:59:03 -0700 (PDT) From: =?utf-8?q?Andr=C3=A9_Draszik?= Date: Thu, 03 Apr 2025 09:58:59 +0100 Subject: [PATCH v3 07/32] mfd: sec: move private internal API to internal header 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: <20250403-s2mpg10-v3-7-b542b3505e68@linaro.org> References: <20250403-s2mpg10-v3-0-b542b3505e68@linaro.org> In-Reply-To: <20250403-s2mpg10-v3-0-b542b3505e68@linaro.org> To: Krzysztof Kozlowski , Lee Jones , Rob Herring , Conor Dooley , Sylwester Nawrocki , Chanwoo Choi , Alim Akhtar , Michael Turquette , Stephen Boyd , Russell King , Catalin Marinas , Will Deacon , Alexandre Belloni Cc: Peter Griffin , Tudor Ambarus , Will McVicker , kernel-team@android.com, linux-kernel@vger.kernel.org, linux-samsung-soc@vger.kernel.org, devicetree@vger.kernel.org, linux-clk@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-rtc@vger.kernel.org, =?utf-8?q?Andr=C3=A9_Draszik?= , Krzysztof Kozlowski X-Mailer: b4 0.14.2 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 Thu Apr 10 18:57:29 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 C0C4924502C for ; Thu, 3 Apr 2025 08:59: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=1743670750; cv=none; b=uBYiQz7SaHuqZsROq9z4rWTr3yzAc0L8b5sLqOenjQQRWqFOH7Tc1ixdYoegbpDA9ZtKt8taied1mIE8FlSwOzCwllYasvBuCfm9LlAv/YFxcAl3dvGoxgsUTE7NYclveUwN0dVzATrFT8cOCC7EFdkefY497Zl5hNoW/kUJYp0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743670750; c=relaxed/simple; bh=PI3U05hE1oIiZE6XppzEJEQtfSZFiinsebmK6V2enuM=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=grl0sVe6pAkr9R3KoyEOnXgRDyI7OR3kxqbg8twIk25wSmytEz7P42mKIKmp7rA+hHGuTm90aW9BFMk2D/ijJfgVz6zap6o8XEmwuskHoxUO74cQxrgn5BCV3cQu7s2EWXlOTSpUnyJPl4GO2npmFxgZsijU3fqy7juY1tUDZ84= 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=M4yOEDyc; 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="M4yOEDyc" Received: by mail-ed1-f54.google.com with SMTP id 4fb4d7f45d1cf-5e5c9662131so1124912a12.3 for ; Thu, 03 Apr 2025 01:59:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1743670745; x=1744275545; darn=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=M4yOEDycM01vNeBl4Q9ypbzKMyfJoIRbLsPRSofK6qDUo99dzp6l76Kk9ECLrWsDM3 dEJMt9k6tP1Q74lqpQbxCgLiVJluZMfAV/QA2cpeU2ybK+82MWNoKuWyVDO/V607WGaB A8cJ7H2qpCjy6++IxmgTCbr881SZjEYMYHDaXLrGJaWbgPDQSF/A4C3ui9mytuikl6cg lqs3ZIwyoMW1qEJGL1fvTQOwNznz5vuhevy6wPHqrvIsN34nDe/ScmRo4Svw8pRHUaeo OG9FAuqXkqK9n83+z4zGmCoXAJ3iBdHhbcPcyRXGnbKfOhlFAhsBpdu8PF3aXUATEEwH HvEQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743670745; x=1744275545; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=4CKjAMiD1RE7RTGUiJe9q7KbEFxCPs59yWp4xXVklQ0=; b=cdA5qeaK1/AtZMP3Y7K48Dkml/Ga8PKkkwpXTJB88jJMHttBofqpj6F2+fU7upTOLA Kih2D2erjXM9LmxViSVk+RhGpb7nz3VlsB8o/HYaopUFwOr1jm/JW4dT/EfuFpeuK4E2 mFFAHglj6jhHJdxK/v3PegcdCXKgk2265L9OY62CBejKXLBn+EXr6VLCnFvvuR0HvDP4 64/dsm3eAutSLiBd5aFDHEHdG1WCIYsKie08wDDWEdgsKD5aLU7KwRKxslIAMiWfACfE BdRXgdPoADsrzQY2BVAISYkZEOXR+DfewFA3do8/ggLCB8mJJ6jLK1DMUiOowix+6qYt PjJA== X-Forwarded-Encrypted: i=1; AJvYcCUccGIUNjgmfKd2ncdxq3Zd1GLlv/SNoQM2kv8bYLW6ONkYrObAaJU/2uiHFN/jCy5aXBkHAMe73t2z8ec=@vger.kernel.org X-Gm-Message-State: AOJu0YxuLrN5S4HipF+tSAjePfh51g1dARrGZ/K5wJ1DtURBw1sViG0q 6VsyRawTjOz6PJIUPqf86z+WFELF0Qy7hyq38mzjqIyrfrGU4G3oWItzIseFrEU= X-Gm-Gg: ASbGncsMBN6ZepdUIwcEvLIo+D1XUfob0lIqLUlA/syTjstDmZMJIG+y9vQDarNrHzI VGayVuJvvkXhgOwW8HLaUHNhIK6ZywSqkLrqlLbwbk0rpephlbtwkBjIQ807f7BxpQoXHboFSsX do8+PW7in2yzFbYbq44lLvYluYPMm2l/t4A31WR97SPcNVlK7BrH47JanPAwkFP9k2lxRdCITWG dvioH1LpUNiyyjh3EBfp3q9Fbb7cCorvAW0GDe8qaYzP5ARHY1yezBbI63jpI/r/Fl6Pb6DUaJW RPd1BU2105BOzhadzL2ta7urdX76DHGCnzIJFV3wn/gRw5yJ8h0ikcc0BaPtSChscNZH9m+rfpN +YSnLC1yg27sXduRZZyOOWK9Fud3q X-Google-Smtp-Source: AGHT+IGl6BQvkjkQUqwZ3Fr/WtdqH/2OUS2EIBSd7b2JjB+krYkcqp4Vj+iXyq5LNeNuws6JOh+r/w== X-Received: by 2002:a05:6402:51c6:b0:5ec:c990:b578 with SMTP id 4fb4d7f45d1cf-5edfd15767bmr17482441a12.19.1743670744626; Thu, 03 Apr 2025 01:59:04 -0700 (PDT) Received: from puffmais.c.googlers.com (8.239.204.35.bc.googleusercontent.com. [35.204.239.8]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-5f0880a535fsm637614a12.80.2025.04.03.01.59.03 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 03 Apr 2025 01:59:03 -0700 (PDT) From: =?utf-8?q?Andr=C3=A9_Draszik?= Date: Thu, 03 Apr 2025 09:59:00 +0100 Subject: [PATCH v3 08/32] mfd: sec: split into core and transport (i2c) drivers 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: <20250403-s2mpg10-v3-8-b542b3505e68@linaro.org> References: <20250403-s2mpg10-v3-0-b542b3505e68@linaro.org> In-Reply-To: <20250403-s2mpg10-v3-0-b542b3505e68@linaro.org> To: Krzysztof Kozlowski , Lee Jones , Rob Herring , Conor Dooley , Sylwester Nawrocki , Chanwoo Choi , Alim Akhtar , Michael Turquette , Stephen Boyd , Russell King , Catalin Marinas , Will Deacon , Alexandre Belloni Cc: Peter Griffin , Tudor Ambarus , Will McVicker , kernel-team@android.com, linux-kernel@vger.kernel.org, linux-samsung-soc@vger.kernel.org, devicetree@vger.kernel.org, linux-clk@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-rtc@vger.kernel.org, =?utf-8?q?Andr=C3=A9_Draszik?= X-Mailer: b4 0.14.2 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) Reviewed-by: Krzysztof Kozlowski --- 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 Thu Apr 10 18:57:29 2025 Received: from mail-ed1-f52.google.com (mail-ed1-f52.google.com [209.85.208.52]) (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 A8FA92451E0 for ; Thu, 3 Apr 2025 08:59:07 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.208.52 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743670753; cv=none; b=TpHUIYT5bnwdsjznEGVPme1rpFZwFCBCs9q4gwyIMzj0JVpwQmLroFer6pAw9K77/ziDGDb/t+JLED8UAJ3YWVwwWuOW9mlnJj1KKbkF0Pm9JFHEkg76i99YOXCkcOrfShs3QZL8AwMUaU/SWG29PLimp6BAVInvL8lP2o9EbvI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743670753; c=relaxed/simple; bh=XYzKG9kSJwEZyEFBaa878iL2Fpju+KXHg1qE+X8xtAc=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=Ck1OL0bNpJlVayPIRcuYzUHyPCfzYrL30qhtdle6TwV6ufDlh/wLNFuK3TnMbX3Podfim+kopP2V7w85/TdCb8ZbrdtJ3mBEW9nRSs9TA8k8w9930o30UegPiad1CwDTbHLdE86GCZsDCSOtTnxPeI6brmaokfBJeHTPH8yfbjU= 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=Q/3N7srh; arc=none smtp.client-ip=209.85.208.52 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="Q/3N7srh" Received: by mail-ed1-f52.google.com with SMTP id 4fb4d7f45d1cf-5e61da95244so1179579a12.2 for ; Thu, 03 Apr 2025 01:59:07 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1743670746; x=1744275546; darn=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=elOl/wLMPgL3DZlYsdlY03ep4x0voi0eoNQ32X8daa0=; b=Q/3N7srh6uihry1fhC/rU1OlBjsxMZrIx2ZrYr0xQJCM9ACWNud6SHe7kV5DbO/EFl Krxfg709lhd4//gQMAhehv9zemlMnZrmm58SkCAX/Ak8hVB9yjmlHWFYKLkz3X+zAWDv zTo/mAw5OXPGP+671P0qtUHMdBWvxVw+/lov2BNiO/69aorvow/eFHb48sOySxRVFOHX Fp3omh6ER/ebwOaYCHLXp0oCSyo6pYp5tAO1ajFyuEd7x0KJEyZsx2B7dQ4upDGtE/8L Lo+j9uztOl7zTaPVAUsa1C31iLaNfwHeA3mHhkehIKsfJ5dV3SpwoqGDNdQ7dn/KlU5p Izkw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743670746; x=1744275546; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=elOl/wLMPgL3DZlYsdlY03ep4x0voi0eoNQ32X8daa0=; b=LMx+wClwsYGbRxLvFR/0ZhvaMCK2YpVsfcKByqMPxu8n5ue1LKrRuZ80KjMWpSNwbi eweFlBpiU3mGsu/Zyvezf+F8oHZz2RO5L2i4wp+0VElbt5tak9czHpXwtzSCO6VPJV0A XJqq0LvnOxX/n4xrauNuJDEA/qYrg3t5kNXJ2VcNR3w/3L19PAz8lftUQuVF1oGQalxo 1Lx8mGalc6DKz9KCCYI/OxPdSzpuOwdJBbkLK9xzjfWg3fUTgBezwl7dYrsv6bLeE5FO VHGnKcu7xlGHryCytZIAbOka/m+aU2YXBju6r63h58vOBY6kWHIpeS4mjvly1TcdA7wW /mSQ== X-Forwarded-Encrypted: i=1; AJvYcCW2DxtZC3d2icpqot844jN0+5o7XZTL2Cx4DmuN3jQPAworxOBzapfb+1iFM6UBdGtodyiDOWq3wQDJDss=@vger.kernel.org X-Gm-Message-State: AOJu0YyweE7vaMKYrsdA0huchlVVwJvsLlQOP+jKdI68HYgYhEmbX0tS s+c4ZQT/35AvGiPI/942RrIp8gM0wgygU7u+HdjgqxmBGtqBl/jl27PRxp+2F2w= X-Gm-Gg: ASbGncvaJd5S2P/bct2yL3goP68pbR30mCxBtGCLOBh6LevTGX5+cona9eERMdEyLwg 3jnsLhHiUPGihwbZ9t27DRGj65FAyzRSPb4LiYvJM6/UOCdX3JDrgv9LJRfSZHVXzGvVWe7eU9r YmkNWMySS9pBLrjxBKWpa3S9plzMDG84f778UOIiLKcsPf+d5MKvlfifiyAdXtPjx3LUFnvgj7S GzHH0jw533VXWl9muULWBxq7MXqqPETPrlNfLifl50MFa89rrBZAUVaJiUzN9Js3Muxj80Z6SlO w8gCgVf7kEY11r7JbjWsnUdwBGuWHhz/t2d5rxTcFhKaXGxud3ia4swYLCT6aKAPItG1DbAr+Xg EkVVpbx1RJPq5bc88WZn+Gl7+brgC X-Google-Smtp-Source: AGHT+IF9LFK4LpyO+Q2gN6q8SgOcJEijpKwKmwc+jxa/vfcOPhuUPVDkP9h3kKlIkIP8I+d/46mIhA== X-Received: by 2002:a05:6402:4013:b0:5ed:1262:c607 with SMTP id 4fb4d7f45d1cf-5f0872464dbmr1554683a12.31.1743670745580; Thu, 03 Apr 2025 01:59:05 -0700 (PDT) Received: from puffmais.c.googlers.com (8.239.204.35.bc.googleusercontent.com. [35.204.239.8]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-5f0880a535fsm637614a12.80.2025.04.03.01.59.04 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 03 Apr 2025 01:59:04 -0700 (PDT) From: =?utf-8?q?Andr=C3=A9_Draszik?= Date: Thu, 03 Apr 2025 09:59:01 +0100 Subject: [PATCH v3 09/32] mfd: sec: add support for S2MPG10 PMIC 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: <20250403-s2mpg10-v3-9-b542b3505e68@linaro.org> References: <20250403-s2mpg10-v3-0-b542b3505e68@linaro.org> In-Reply-To: <20250403-s2mpg10-v3-0-b542b3505e68@linaro.org> To: Krzysztof Kozlowski , Lee Jones , Rob Herring , Conor Dooley , Sylwester Nawrocki , Chanwoo Choi , Alim Akhtar , Michael Turquette , Stephen Boyd , Russell King , Catalin Marinas , Will Deacon , Alexandre Belloni Cc: Peter Griffin , Tudor Ambarus , Will McVicker , kernel-team@android.com, linux-kernel@vger.kernel.org, linux-samsung-soc@vger.kernel.org, devicetree@vger.kernel.org, linux-clk@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-rtc@vger.kernel.org, =?utf-8?q?Andr=C3=A9_Draszik?= X-Mailer: b4 0.14.2 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. v3: * use an enum for struct sec_acpm_bus_context::type * consistent name space for all functions sec_pmic_acpm_... to be similar to i2c and consistent in this file v2: * update to using devm_acpm_get_by_node() instead of devm_acpm_get_by_phandle() as this is now expected to be a child of the ACPM node * use c-type file header * updates to error messages * drop s2mpg10_rtc_wr_table as everything in RTC is writeable * rename s2mpg10_volatile_registers -> s2mpg10_rtc_volatile_registers * fix incorrect regmap range in common block * add comments to regmap ranges * add all registers to header for all IP blocks --- drivers/mfd/Kconfig | 17 ++ drivers/mfd/Makefile | 1 + drivers/mfd/sec-acpm.c | 465 ++++++++++++++++++++++++++++++++= ++++ drivers/mfd/sec-core.c | 16 ++ drivers/mfd/sec-irq.c | 68 ++++++ include/linux/mfd/samsung/core.h | 1 + include/linux/mfd/samsung/irq.h | 103 ++++++++ include/linux/mfd/samsung/rtc.h | 37 +++ include/linux/mfd/samsung/s2mpg10.h | 454 ++++++++++++++++++++++++++++++++= +++ 9 files changed, 1162 insertions(+) diff --git a/drivers/mfd/Kconfig b/drivers/mfd/Kconfig index 62565dc89ec6d58611bbc1f31c65f757343b6453..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..39dbb968086ac835b96ed3e4efa= 68868fda63429 --- /dev/null +++ b/drivers/mfd/sec-acpm.c @@ -0,0 +1,465 @@ +// SPDX-License-Identifier: GPL-2.0-only +/* + * Copyright 2020 Google Inc + * Copyright 2025 Linaro Ltd. + * + * Samsung S2MPG1x ACPM driver + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "sec-core.h" + +#define ACPM_MAX_BULK_DATA 8 + +struct sec_pmic_acpm_platform_data { + int device_type; + + unsigned int acpm_chan_id; + u8 speedy_channel; + + const struct regmap_config *regmap_cfg_common; + const struct regmap_config *regmap_cfg_pmic; + const struct regmap_config *regmap_cfg_rtc; + const struct regmap_config *regmap_cfg_meter; +}; + +static const struct regmap_range s2mpg10_common_registers[] =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_pmic_acpm_shared_bus_context { + const struct acpm_handle *acpm; + unsigned int acpm_chan_id; + u8 speedy_channel; +}; + +enum sec_pmic_acpm_accesstype { + SEC_PMIC_ACPM_ACCESSTYPE_COMMON =3D 0x00, + SEC_PMIC_ACPM_ACCESSTYPE_PMIC =3D 0x01, + SEC_PMIC_ACPM_ACCESSTYPE_RTC =3D 0x02, + SEC_PMIC_ACPM_ACCESSTYPE_METER =3D 0x0a, + SEC_PMIC_ACPM_ACCESSTYPE_WLWP =3D 0x0b, + SEC_PMIC_ACPM_ACCESSTYPE_TRIM =3D 0x0f, +}; + +struct sec_pmic_acpm_bus_context { + struct sec_pmic_acpm_shared_bus_context *shared; + enum sec_pmic_acpm_accesstype type; +}; + +static int sec_pmic_acpm_bus_write(void *context, const void *data, + size_t count) +{ + struct sec_pmic_acpm_bus_context *ctx =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_pmic_acpm_bus_read(void *context, const void *reg_buf, + size_t reg_size, void *val_buf, + size_t val_size) +{ + struct sec_pmic_acpm_bus_context *ctx =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_pmic_acpm_bus_reg_update_bits(void *context, unsigned int r= eg, + unsigned int mask, + unsigned int val) +{ + struct sec_pmic_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_pmic_acpm_bus_write, + .read =3D sec_pmic_acpm_bus_read, + .reg_update_bits =3D sec_pmic_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_pmic_acpm_shared_bus_context *shared_ctx, + enum sec_pmic_acpm_accesstype type, + const struct regmap_config *cfg, bool do_attach) +{ + struct sec_pmic_acpm_bus_context *ctx; + struct regmap *regmap; + + ctx =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_pmic_acpm_mask_common_irqs(void *regmap_common) +{ + regmap_write(regmap_common, S2MPG10_COMMON_INT_MASK, + S2MPG10_COMMON_INT_SRC); +} + +static int sec_pmic_acpm_probe(struct platform_device *pdev) +{ + struct regmap *regmap_common, *regmap_pmic, *regmap; + const struct sec_pmic_acpm_platform_data *pdata; + struct sec_pmic_acpm_shared_bus_context *shared_ctx; + const struct acpm_handle *acpm; + struct device *dev; + int ret, irq; + + dev =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_PMIC_ACPM_ACCESSTYPE_COMMON, + pdata->regmap_cfg_common, false); + if (IS_ERR(regmap_common)) + return PTR_ERR(regmap_common); + + /* Mask all interrupts from 'common' block, until successful init */ + ret =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_PMIC_ACPM_ACCESSTYPE_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_PMIC_ACPM_ACCESSTYPE_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_PMIC_ACPM_ACCESSTYPE_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"); + + /* Mask all interrupts from 'common' block on shutdown */ + ret =3D devm_add_action_or_reset(dev, sec_pmic_acpm_mask_common_irqs, + regmap_common); + if (ret) + return ret; + + return 0; +} + +static void sec_pmic_acpm_shutdown(struct platform_device *pdev) +{ + sec_pmic_shutdown(&pdev->dev); +} + +static const struct sec_pmic_acpm_platform_data s2mpg10_data =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 Thu Apr 10 18:57:29 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 213E52459F5 for ; Thu, 3 Apr 2025 08:59:08 +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=1743670753; cv=none; b=amNsZ0LYUQn4idUTi9Q3PYpI8nYicuMmz/j4MJXoCqgIQGaOEGBz/691NGvMaO0Hx56Ta+EQIKE5pDZZhULBCWKtbWcbqnX6Gw822vUAgfKN6ewAN9fd/IigHKmXuWAksFO3ghoyOLPjt3TL2U9J9k1o5r+wvKAWFDT4eWKAMsw= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743670753; c=relaxed/simple; bh=ch+tVjxpZDhWADsqi2xUerCCp822EcsZf6tgYWcJO4o=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=uqrTsAd3i5Lygr2MwprwldYIFtH8pSFZXPyCvSevsnMWSM7bChDt0pdOByTGt0wli8ZlV86F+qTCqb2PzG5g+ctwAe54/24WHYZiFLO+7+eVU49oyiF7Ihmu6j/3HEh+mIHwpt01lfH2MF4PyEfb0FBGxxM8HIFVy4RXIzNK7dI= 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=ptlSkSXF; 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="ptlSkSXF" Received: by mail-ed1-f51.google.com with SMTP id 4fb4d7f45d1cf-5ec9d24acfbso3304543a12.0 for ; Thu, 03 Apr 2025 01:59:08 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1743670747; x=1744275547; darn=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=ptlSkSXFOxes8PFKZTNsPmG4JKU3A8nitxbBxCUvLZEx2US8bKSaqo92AgnRE1CVKc y+XTjdqTHgZMVC75aX5BsEw3y61XgwmBOdDrssgRtFNtMLJEedjjxTLbjRM0x73cJkK0 FuVy+PG1lBDU43UViPHmGO41PiVdLYSgmyoZGeaqLVEEwCnjUmmKmK3Vnvjp/fbrWucT 4rSrAtYDcCkWK0H3NcH+zDIEmuHxd1Tj/a94+ZA0IyN2HbpVnCRgfLAzvrz1PPJ+AnHI z6LSsGO+pJLh7gB0KSkeZ3D7YzxM2qybNPcSCpd6G22qPx0Wce1QmuPxtLXLzySSclK4 tkMg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743670747; x=1744275547; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=p70205lv5Ahwks+JMv232ptcGxJ9M60C9dRMMYjFwHs=; b=Cnk7ja5nmas4XOtIXaHwVnU1sL0/mvbTjDHxD6NFOd/BxkwsFm+YkYCV7g7YUCew0O 9N8Bg99FbOi9Wzgx/LzXgfhXmcPcs10a/+DvY8RHr1VOOnyzm2+DjvBBwM5765ZKVj/w QgvP+sniV8cFoHDc4sbRvWSttbrkz1XnYaWGcqYzdd5HV98/8yP7hfu8UxXHcGheo5GH mgvAeYGuiz6S4uMKc6uRI+LeZKLttURQZTq5dDpoxETc0LeyYgRyjTY6lyKpp5mwWNlv OoXmn330G683yNa1aT/bhtcW6QxT1Ddw0VH24wFglo4czUGIrZj7dhl7KPwIXt14Bl43 088A== X-Forwarded-Encrypted: i=1; AJvYcCV3f8Dtz2X5UIy6jw1MniO6KZux6Gg6fQtMXANAKFbHYZj3wVmni2uxiUns3ORrClyHzEPaaP1kWOYiZPY=@vger.kernel.org X-Gm-Message-State: AOJu0YwnxijMBI7fle3wGIC+XFtlnkFjHVGt9POTrClUJvCsmiy/fNpF hlvgaS+3c+peFASLXbV257HocdkT6dnwGOLaibt2Dlo1ar68ptQVtYWtobKwyQA= X-Gm-Gg: ASbGnctQcvrybYAvUACGk9HlZPmSHrF/e5iiFhiz0RixP0JVmnZUyURiv79AWsZUlqy g5BT0w9x/6qQ0TVFMaXl93dCJHenF4VexKZmMRDycxCE4XsdQcCq3DSUNURaFTfr2YfLCpnQPjs k53fqTPk3WrqYqfYLLl+iNIsrTMAiNcA4H0IRA8lMm9Rw6NW04Fa9Jn7tjTgpp0I6CzGPHqMKND VUbC+YEYtKcMOfRjzaW9+0OGXs3qISSzV7cM5aSoQNUEtahmuCUzaD2L+WYs+oa3AYlin+kr1RQ PVqAeqabMQtlbjadVlU6Va0CDZYJWk7flKd88rg55BKRW6HIpWvb7q5Zl4yVE2mIr+uDwP5Tglb yR/bVYR3s0BVcXxogvRpj+8r0lnBF X-Google-Smtp-Source: AGHT+IHQHM6p/MAOKJQd3/sqq0s5Pmh71tqwvfrmV/m7Z/Cso9FWL+o5hSWX6vucaMzTOkvAI4hVoQ== X-Received: by 2002:a05:6402:274c:b0:5ed:16a9:c333 with SMTP id 4fb4d7f45d1cf-5f08412c8dfmr2413316a12.2.1743670746820; Thu, 03 Apr 2025 01:59:06 -0700 (PDT) Received: from puffmais.c.googlers.com (8.239.204.35.bc.googleusercontent.com. [35.204.239.8]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-5f0880a535fsm637614a12.80.2025.04.03.01.59.05 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 03 Apr 2025 01:59:05 -0700 (PDT) From: =?utf-8?q?Andr=C3=A9_Draszik?= Date: Thu, 03 Apr 2025 09:59:02 +0100 Subject: [PATCH v3 10/32] mfd: sec: merge separate core and irq modules 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: <20250403-s2mpg10-v3-10-b542b3505e68@linaro.org> References: <20250403-s2mpg10-v3-0-b542b3505e68@linaro.org> In-Reply-To: <20250403-s2mpg10-v3-0-b542b3505e68@linaro.org> To: Krzysztof Kozlowski , Lee Jones , Rob Herring , Conor Dooley , Sylwester Nawrocki , Chanwoo Choi , Alim Akhtar , Michael Turquette , Stephen Boyd , Russell King , Catalin Marinas , Will Deacon , Alexandre Belloni Cc: Peter Griffin , Tudor Ambarus , Will McVicker , kernel-team@android.com, linux-kernel@vger.kernel.org, linux-samsung-soc@vger.kernel.org, devicetree@vger.kernel.org, linux-clk@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-rtc@vger.kernel.org, =?utf-8?q?Andr=C3=A9_Draszik?= , Krzysztof Kozlowski X-Mailer: b4 0.14.2 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 Thu Apr 10 18:57:29 2025 Received: from mail-ej1-f44.google.com (mail-ej1-f44.google.com [209.85.218.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 21F062459F8 for ; Thu, 3 Apr 2025 08:59:08 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.218.44 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743670755; cv=none; b=FYqx4+Zq3cVBFXjelbQR9c2fu1uEnRq3bq/eUCYogLF+Nn+d3glw1ZXOmh/gbMZtPDeMuY8+NWgbZBU3aMaUzq7Dci+xxFZWjuKbV7KQpxWf4uk9iXK3L2qt+fBQwosnzJtd9uDM0BCNhl7+80asqK7rwnPwSm0XGw2uI98Qa6s= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743670755; c=relaxed/simple; bh=l1zcOTqbAXM+6Af1i6qiSSUmTQ2DiJduP75aVq1nYPQ=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=uM0tSClJNfjV9ex8PAW3B5vt7DMd6mNa6EnZMG/e0dHUivlsb+L1YvZUGyeOpfb8heSOexF5PowKhRh9qUb5xtFP4arEplZeU1MKqB61J5e2IARfk0jB52pvEUZ0PnwH3S00W4NjNuHWZs0lzGytDkX6AAQ1aCWf6xoOrmcE06E= 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=Zup1W2ke; arc=none smtp.client-ip=209.85.218.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="Zup1W2ke" Received: by mail-ej1-f44.google.com with SMTP id a640c23a62f3a-abf3d64849dso90871966b.3 for ; Thu, 03 Apr 2025 01:59:08 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1743670747; x=1744275547; darn=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=Zup1W2keMOnRI00TDDGp9mzIxTwY5O5DJoUCbFSCkkuvmr2PJ10IN1u5wCZI/LZP48 UErPPHbYO/NFzKIdomHCR+0WMJxAizOMefapfK9LnLRD3ZI+l4Y9VaRMUHUXG47P6gJX OXXMMSAXEZh/JPi1KQIQtgmXxowJnIQ8nznrnSMa9wdsnWyweOs7lh8F+H9+fQAAYvOl OY1ComBPd7d2ovpwHZWuxb/xQ2NP5owvqHI0JBvymSG2oSlhf1txnGdj5ROmr1Ie7mej 0amnOK8Ut4NyC/igZJfAxS52hFp9Ge5BF1iFzdJp6SfM3pqr8vOk1Hbi7TBWNEMy5aU4 Mwuw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743670747; x=1744275547; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=2UDpkJYTJ8+02Ga55OV2M/CiQAcpkegARGuSb5F8VZs=; b=WhIrYmMmmnUWEXmyeAUZTdPF4R07XGFLnTvn784ADV6SXivoQHZ1IKEuMxJ8t5ZE/b WM+ESlgmJC3H7ZQaQfex+xnL2ioJhMnydgI0AUIctaKPTBYbdH041yJNlGDTFpvwirFU b4KwtAGD9rTCUXbZjJ9/N13V3IscT6WPzlvrxmjsX65/7woh4+kZTWBSTaQhP5ciP4PU rRSxhUimls5vRyxCJm6MHlMsaF+Dn/RUpKUfd8Za+n4Lt3VNcJIxcASNoH+U4B4/LS+3 Z624PRdBS6N8aC2uovP54YxClm3vTKNdNraNEsBuJslevWAfqHgrscphvxfDUz/TVrAv vs+Q== X-Forwarded-Encrypted: i=1; AJvYcCXGuKgb0bcvVUibR/C/Lj3UvGO/QiZTboc0qfXSPCq1/ma5skXg7gg42lU6TIaE9WcPkmfnpSWbDqZaWvo=@vger.kernel.org X-Gm-Message-State: AOJu0YwThJR4UbAPl1l3eQwXq7eMnrTOnzYacAfMZ03A0FlQGkMWRp8S D7NchJfocbZ8rdR/omwLayr8jCm+3jKDLxO5iS3NhlncVYyHghBVB6N94YevEFM= X-Gm-Gg: ASbGnct9ON4URmeodzImtoNAWKntlfQucPTTQ7NFH8GZPcgN5MNWTks7FGu+jLDS7yy CSbCB39QCpMjqtWzFhBBf59xJi+XUEfOWpFmN7cGr+pt2VrBgQh5R0/0Hi/AIKDLVRztQlFzbkq rYxMs+Xw7PBgikjs/fgQA0wqgrdL0I8djajenBpAl+a+VaUsragWU9OJjqQIqQzpDnv0t49gs1c 2gAq4ypknNn2ddUWRIqnwe8I4wq8bemmCDltOqXIuh1ivTau0gZhApHDAQS6KndlzKi2UNjOeWq FYLlz0NULwuqykuVtQYJbtoWSg3h6KzwpwrFf4VhDA/foPDpj/fH+tUj0xspEFwi4X5dvkHSU0o 11gOd6o9s0eqNYFmf/YSTF8N/S7+l X-Google-Smtp-Source: AGHT+IFNqZWOvo+Tv4vLHdGRFBjU8kF7IIgTkc+Bnj5l7bb5nmPkogO1xX8561qZ+CITxdN2Zb0Cyg== X-Received: by 2002:a17:907:9710:b0:ac2:cf0b:b806 with SMTP id a640c23a62f3a-ac7bc26ec1cmr186829666b.56.1743670747337; Thu, 03 Apr 2025 01:59:07 -0700 (PDT) Received: from puffmais.c.googlers.com (8.239.204.35.bc.googleusercontent.com. [35.204.239.8]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-5f0880a535fsm637614a12.80.2025.04.03.01.59.06 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 03 Apr 2025 01:59:07 -0700 (PDT) From: =?utf-8?q?Andr=C3=A9_Draszik?= Date: Thu, 03 Apr 2025 09:59:03 +0100 Subject: [PATCH v3 11/32] mfd: sec: fix open parenthesis alignment (multiple) 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: <20250403-s2mpg10-v3-11-b542b3505e68@linaro.org> References: <20250403-s2mpg10-v3-0-b542b3505e68@linaro.org> In-Reply-To: <20250403-s2mpg10-v3-0-b542b3505e68@linaro.org> To: Krzysztof Kozlowski , Lee Jones , Rob Herring , Conor Dooley , Sylwester Nawrocki , Chanwoo Choi , Alim Akhtar , Michael Turquette , Stephen Boyd , Russell King , Catalin Marinas , Will Deacon , Alexandre Belloni Cc: Peter Griffin , Tudor Ambarus , Will McVicker , kernel-team@android.com, linux-kernel@vger.kernel.org, linux-samsung-soc@vger.kernel.org, devicetree@vger.kernel.org, linux-clk@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-rtc@vger.kernel.org, =?utf-8?q?Andr=C3=A9_Draszik?= X-Mailer: b4 0.14.2 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 Thu Apr 10 18:57:29 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 1310324635E for ; Thu, 3 Apr 2025 08:59:09 +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=1743670754; cv=none; b=mEofgU4GcQU92i+Ruxi4axKHZ8aZlrxN9PCqG6CQTu4NO3zOu/WTFP0pXsdbRsq+zZG6iRd3D24Abpdr6p/C3ax6TswlDxVbJoGQnaH1vz0wN+Zr1rL/hv1ssjG64drHwTo4cxL82JR+FKB6DOKbPfM4llxoBq/2bpFifqqsW38= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743670754; c=relaxed/simple; bh=y6yU6lYRyqEHU2RYOfcRxwcasP7T27SnGV4OR5isOHE=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=CtXcQuAY6bh8S4VWT0kIT8GmDNj2DzqCQIVdiaqrJKEtmmfL2tuIc9Gq/SjQaMX9nPT+sRN8zsLUCBEkboCrYBoJ4a+Krw1Td9EX7VS6z9wERMS9vSrlX8cbPn8SSgzhhTfM63FAXOvz1gS19RW1DMikL4JQU27/aow3pBBImxo= 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=g070MNra; 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="g070MNra" Received: by mail-ed1-f42.google.com with SMTP id 4fb4d7f45d1cf-5e5e0caa151so1271967a12.0 for ; Thu, 03 Apr 2025 01:59:09 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1743670748; x=1744275548; darn=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=g070MNraLUu9C+TbpnMBlzKxN/8ckq+vfpi6i2v7e2IfEW66QjhDjw2e3vyMuw5G4A Sh/4V0dCc7MpUs9VHiLL97WtrYMgj+dCOQXTKItOZrsyEx6RbIZjhX4wsAIhXCypARga BQQmlrYMejWYoYvFKyjcRzECEOHF9p3Yn8UorQ2wGQAwBwoeFYfzxehbHgcEMO/LsYc7 pgs9+mbQd5GJUbcnVCPCdotUdlWfWF5XCbb5vUhdDHz+yWfZKSXPyOOIxKnjrLG7KtVu xJHWgfbt1jpSE8AVPbQ/zw8+xfdbVFAEZzQjzHtpaOckeWoDNPtczPqKlOY5a2LE2C73 wJPQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743670748; x=1744275548; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=pB7gFyupIzWsX2vSOEGK7q4UbjZdy1MRwKTSd+TQnVk=; b=wqFRAW97RuU0dh0Lx5fQFhaMsGVVWp9+JIKtzSQnnxf16PJS3ORKFuwSgGJObZOaMH nRrMIy80ZSHcVIIzz0SK1LwvvW4cKZ0RMpMoM3nhjYEuLoSSvMa2o0lK/SnyPNwNtDiD HmcQXvKOKcjIAEyTYrmXe3o3vkGKKzA3yy6orpT2WVU7wSS4KfDKG5cC2aBmN3+pj3LX 0DgUzuFfoAlBh0EWVgtK30gCKPiPH6cp46zux0CW1a5dpbL+rib4FxeAephcf2cHioXe tyD3IAnSXg363MIOHWaCeY+u87kMldO4cuwMEJnhpTTNgc2xgOlnB1BMzHidfbIj0FQm FLYQ== X-Forwarded-Encrypted: i=1; AJvYcCXpxYxuaBfo8wJ2gEWNK3LlLeixnat6hYFCrVy8rkn77MabaPSrf/jZi8MH+AEL84urdoSC6WCkWRh4dxc=@vger.kernel.org X-Gm-Message-State: AOJu0YxgBjNYTjP3XIzUHhQoxFfMn25Le0xP/e2bbxtodgSZcJqkB3Ai LbaBOqKuWJII9yCRrXe+6QVL5oIdyWmr5pQhfYYnytMjZU5x9etvLnBrq+p0zQQ= X-Gm-Gg: ASbGncs3btOfhTLoKplTzTx7CA4jtOKCM1DebwyqL3HraJbgPnDer+a7DRCWb8lAbx0 Pd4PQ8b7cnMzuNiUZ6/GM0iwxL+A9zwq/Egug1/+vcQHdisK5UTxYgHD0PW8SfqiYp+unYPRt/Y hBAnSIomevhOa4t9QGTRsxns1f1qBUMTShPJUpNSqWoprxw9KQiHxtn/0ckNMMtYT8KRGLfv5hD vmNbbFh+3IeOauWTSrJ8duy80QpcCWrq0u8B2Ts7ZR6cxVa9pN64cEKRab2GRi6hwI/NCS+5G2h lfyWI7KAQ/Ubp0wrS4nQ00BDtrhBfmW3gBezEz++wBvAJcl/PHWQSf3Rd66gjhQu52r4sskbe9M 9HhPkDCWukeTEc2Chwa6WhAlwSwZSqybEK/g8CpU= X-Google-Smtp-Source: AGHT+IHJBM6wgjWYZps6ri5VFfxoUgvh5j0PdsJYHzhGp7CXuLgrnxXEuXRPTmCkvL8y435madc/FA== X-Received: by 2002:a17:907:9708:b0:ac1:fab4:a83 with SMTP id a640c23a62f3a-ac738a50828mr1837746066b.25.1743670747866; Thu, 03 Apr 2025 01:59:07 -0700 (PDT) Received: from puffmais.c.googlers.com (8.239.204.35.bc.googleusercontent.com. [35.204.239.8]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-5f0880a535fsm637614a12.80.2025.04.03.01.59.07 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 03 Apr 2025 01:59:07 -0700 (PDT) From: =?utf-8?q?Andr=C3=A9_Draszik?= Date: Thu, 03 Apr 2025 09:59:04 +0100 Subject: [PATCH v3 12/32] mfd: sec: sort struct of_device_id entries and the device type switch 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: <20250403-s2mpg10-v3-12-b542b3505e68@linaro.org> References: <20250403-s2mpg10-v3-0-b542b3505e68@linaro.org> In-Reply-To: <20250403-s2mpg10-v3-0-b542b3505e68@linaro.org> To: Krzysztof Kozlowski , Lee Jones , Rob Herring , Conor Dooley , Sylwester Nawrocki , Chanwoo Choi , Alim Akhtar , Michael Turquette , Stephen Boyd , Russell King , Catalin Marinas , Will Deacon , Alexandre Belloni Cc: Peter Griffin , Tudor Ambarus , Will McVicker , kernel-team@android.com, linux-kernel@vger.kernel.org, linux-samsung-soc@vger.kernel.org, devicetree@vger.kernel.org, linux-clk@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-rtc@vger.kernel.org, =?utf-8?q?Andr=C3=A9_Draszik?= , Krzysztof Kozlowski X-Mailer: b4 0.14.2 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 Thu Apr 10 18:57:29 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 C9CAD2475CB for ; Thu, 3 Apr 2025 08:59:10 +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=1743670755; cv=none; b=StztQIzbZ6QlSMs/gNBHZZHLbcCw703/b5ewr+yD+kZAFRz3a0BPEejCnHdJgbV98BWITFHwp1a82iIkLenthelczUEA4FCeMBcvO2aZ/m8G4AIrAU1MnXnyM3gAY5h2QuB9eK+rWbe84aN8dAVJ2YUeDX6S76fkOeMv9wLSvA8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743670755; c=relaxed/simple; bh=NTgWVUrUYjaObzH0fsi/8He5KrYlIX0x8gD4jTNG9uA=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=OpINbZ6wD8JVX84K/b4J1JShoVMLeV3xEGnG1sekBPeKtrZNt1PulKutpcD0PzIq2oHY/ERKkwtonx+GTnlVbBIQEzGO2bhrquGi1xNXLao9LEYtOH5Sb5EtVWKXfiQtrokKm4PpdghVvkWgKH334HHjbZm9WOfhYgW4tK8B2So= 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=stMJ668h; 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="stMJ668h" Received: by mail-ed1-f48.google.com with SMTP id 4fb4d7f45d1cf-5e8be1bdb7bso1131651a12.0 for ; Thu, 03 Apr 2025 01:59:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1743670748; x=1744275548; 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=stMJ668hBUruoNQosv6bNYKoCg/TQpJSc1KL1HVaA+7gGZzZy9V7BAqcAYRrX98pa1 DjoPAdzaPb38J3N5dmgBHrCVMyhobkFcd8pzHPsUPFr6rawzuZNXFthreBDabhFXaRtD vbZLOx2JdHjRJC26mA7FV+TnOmlPxfrpBLyMPxv++KOTtlzI9TQfHwAFg4xQCD6CpVYk WdvchYKeNGCj7zelqouw6yU+hBFRJUFs63JoXB+9UyGjQsJvQyt8zYKlgy9fGS831WUu AtpXQOJJq8YhxdLVvWCxlffZJLVyB/kECYcaJerkSdsrxVuTdpcsU3/KN1pnC17Qbr7p 8lhw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743670748; x=1744275548; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=+VoGJVSU0pPXxfOhXBJG1TDUozXlWar2eJ++GWdYkqc=; b=eoEcjjH28/gmqPiS/L6Qqq7NbELwqKKhhCAcsOZrTIKEXeC5nEnD1/J9r4MYuZTXg9 1MP96ohZ3PGjqjq81WYYSSJvmf54qOk2cKRQNuQdX4LeJciiKCWOvEeJmKk+yMiYQ2gK OmBwcVsiM8bXlMUFsyUdhj3e6dKlV67gNL7dNSoJ0S+j357wYIqhckxC90TEzjSAiRXN /hq9sD6Xw2V2PN5ESvhCL6WzZcXv0j65SK4Ia0uoslp4wbPx6a8y3Je6T1Tm2WyPVRqF HzzvmQbyHjiba3M5F0BGh8TAYc9VtDjbgRJ+frMXGq09hY0dqGoz110YBebCgGwx3SyC j11Q== X-Forwarded-Encrypted: i=1; AJvYcCWf82orXp0pKB0iah7Dfxg/NnKUX3XkP8+pzipFcOfHrRaiU/FjMDaMpw26Awk+PNXMwuEg6AvZNQWSFvM=@vger.kernel.org X-Gm-Message-State: AOJu0Yyo+rY/ox5U4raTa1B/KgMDbYjo34jRcak0WJB2C0hE5kHdKhA2 gtO42YkgZsXzpf95pZkPM9A7qDiyuHgdL1C19Rexfyx0KQ6s1rT3kuJ66yUkyMA= X-Gm-Gg: ASbGncu6yUx0xvNbX4LSPpNJl1QdwhmTV4UByCk5kuDEL2GJUwxWiDwdjVkutzFTez0 +/4H/Ht1E4ehf6WRBql1MbzJJyeVuuwnJLny5zD0XIXchiWOMIpd6BJrkadl/KrK1rOkt/vys57 bVvzXNginiy+wmsYv8kbti3qchSpVPwX/McoZkpIHtxrEtm8o4+bTTOkCLRy8wllRPWm5OC/YDm g1mVcP+9o3AHaDwcpYd14oreER1lI/HrpKCepgrYdPgNCtxyfvwAn/Lcs18ZrmbpLcIsSTD7wX6 ebajavrnzab0TaEQF8iir5yxLGabd6h5eqTPE/wwZDdkYA6+TnDLDs7/SmwtjDdNVMMkdKJfrpi m/WSANVa7zD+Ccg776FCBeIZCJ3mz X-Google-Smtp-Source: AGHT+IHqXiYq96qJtZ3yqV0dm+q8a7Y9OXDNzTpX/U8kjT+jFNIA0/WaLQE/aqJwj+78Op+QK5nrPQ== X-Received: by 2002:a05:6402:3495:b0:5e4:9348:72c3 with SMTP id 4fb4d7f45d1cf-5f04eacb1a8mr4769024a12.10.1743670748486; Thu, 03 Apr 2025 01:59:08 -0700 (PDT) Received: from puffmais.c.googlers.com (8.239.204.35.bc.googleusercontent.com. [35.204.239.8]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-5f0880a535fsm637614a12.80.2025.04.03.01.59.08 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 03 Apr 2025 01:59:08 -0700 (PDT) From: =?utf-8?q?Andr=C3=A9_Draszik?= Date: Thu, 03 Apr 2025 09:59:05 +0100 Subject: [PATCH v3 13/32] mfd: sec: use dev_err_probe() where appropriate 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: <20250403-s2mpg10-v3-13-b542b3505e68@linaro.org> References: <20250403-s2mpg10-v3-0-b542b3505e68@linaro.org> In-Reply-To: <20250403-s2mpg10-v3-0-b542b3505e68@linaro.org> To: Krzysztof Kozlowski , Lee Jones , Rob Herring , Conor Dooley , Sylwester Nawrocki , Chanwoo Choi , Alim Akhtar , Michael Turquette , Stephen Boyd , Russell King , Catalin Marinas , Will Deacon , Alexandre Belloni Cc: Peter Griffin , Tudor Ambarus , Will McVicker , kernel-team@android.com, linux-kernel@vger.kernel.org, linux-samsung-soc@vger.kernel.org, devicetree@vger.kernel.org, linux-clk@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-rtc@vger.kernel.org, =?utf-8?q?Andr=C3=A9_Draszik?= , Krzysztof Kozlowski X-Mailer: b4 0.14.2 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 Thu Apr 10 18:57:29 2025 Received: from mail-ej1-f51.google.com (mail-ej1-f51.google.com [209.85.218.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 5A22024887E for ; Thu, 3 Apr 2025 08:59:12 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.218.51 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743670757; cv=none; b=TJ58So42jkKmfZydKXdpWs1YVYGt9bg0R3knqXlfaZ8wnourxKbR1JDEgALkDIM5k9jwych/wPk449+RvD/D2zfClAo2FYzhsB6w/ibWvSdblUMsX3mE6cSG+JqdztUismJmB0BqBGIctdp96E+M+O8sYnNxdbsyF+cGCVumlnY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743670757; c=relaxed/simple; bh=acDeJKyeAKIRosg5ADxV9Zz9Wij86n9v8Z9fpq/Qhv4=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=igT91u2nKSxwVVlZ72dReKeLE2qaO76lTFacmKWsJGxDtX/BafBFgyfHRJhn8WCfwMd0UG+wOTf5h/xf3mz7HYPHNfFxetudSTy0MxdHT8+r+JgrLXcQd8J+JsmLZHhWdlNWh+dPc8LO344E0o/KA618SoevuGXYi6X89mIGsvs= 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=b8vvVP5n; arc=none smtp.client-ip=209.85.218.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="b8vvVP5n" Received: by mail-ej1-f51.google.com with SMTP id a640c23a62f3a-ac3eb3fdd2eso115276766b.0 for ; Thu, 03 Apr 2025 01:59:12 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1743670749; x=1744275549; 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=b8vvVP5n3VQ/7xgndVI4/3Mc1UEnjaBRmBKWVLRViB9QlnvgD8W35fGmn5PhpNSfDc wpgyPOr2uKWevcFFFjFyPFeRsYheQdZKuYy5iyPBViwcIoiuoEV+IYOlra5oJFydozFu iKw7LlGBOixRlHNvlSl+fGDVVgz/kUACKD1LNyr7NIHtRPpYlxKwtKHifKgkADnltbPR WmAk76V9abSSn6XS2BYO5GKH0DAxEnBMGQsy3Z7bNTsvLN0yXMmmTB3yolyMO/r7F1Fo NUHKWdu9DPl+vM7cOZWzHwKRkY5ad+7/rYe8MvgT3h9p9iEm85cJHB97ru8icOfjxZI6 rxgg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743670749; x=1744275549; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=GcW1mWBfWGvNcEl9sJWjMnkVLrjIE7eEENFwEaEA4Go=; b=cNXkbcTuGLW7Lc4wrtYNLsVc1Xyylh4HY58oqal8S5R5JBQg1eWHlHyWZBrZGHsw2/ 2v2jlu1QqAd2qNDRTGs/CojVbPdkqAGuzDhJHDKRnZxOjmrVXxOGY+65j/8VBmAt9Zvr 5PLoebzGn+QXgv5azOx7UgldgRon4hk23+gDK/zmFxuU1fN5JGEEyjG/JYdfxtBd294G jKwbfPY0Y3p5Vd1mYNf3WyioNdL4yKDiRWwvUDpDn0Z4+21eGXTkz2Sy68bdUUV6Y75i lYJkpr4A4JOkmDABXU3X6IAGWXn0F8b7gvxOaNydr0gqKThGDpI83LdDO+YDo7jvZHJc AnMA== X-Forwarded-Encrypted: i=1; AJvYcCVOxm7kA6OfOWYIEAXQJkhNzbEz8JvU+mxpJDXY9JE12HqSKkrtf+TpIzSEWufZu6oYSKz0yPPJ0v94WVg=@vger.kernel.org X-Gm-Message-State: AOJu0YzxTggYnnCNRPUZ+eU+StMEXkUm/pbZtA+Pf74uy5qxDcNj2Xfl 3BIacNtU1wtTlY6b5Nr1FZjzp0qmbMyE74JJ0690fmyVccUP47YERfsII49UGEY= X-Gm-Gg: ASbGncu25vLvaLc1hGNb+9GFrVtv2CxUlEfFmH5UMUPXuK912VZWUlO/B1wmcJCGXTG KXwkB58cSMXMBk6hGysauiuGHVH7JjE4E2erSo0K5Ha86XPa+7V0bJNPBCrD6OPGnFfRe4zhv+V I8mqo2rsa3jUUhEOD6gIInErScDrOvcomNcXcSCUHhdWrGXMOGKckecpX9ndCjtjZs8Er6TiEOL 0yW3Zp2MCmqipkDh6L07JApBcaRPbi7jL71UCybtSHOgFvtqhHFhMFu8TG0jWjdHFLtesq3ETVv liRg7o1WiILXZr5mxR4OMuO7u103XnIdlXyUPhYUEcrCCqDI1alSwBVQCg8lsTe3AuyBYw+205p g2L1/+yRKk0NcrGE3kC+LDnGUyBWw X-Google-Smtp-Source: AGHT+IGavhoPGzCabBNLBzdbL3jiat+xI87iDC+wiboHJiUvbmM/Wprhewp9oSPfUMvc9gVC8l54GA== X-Received: by 2002:a17:907:6e87:b0:ac7:3911:35e7 with SMTP id a640c23a62f3a-ac7c0a97bb3mr143560466b.59.1743670749216; Thu, 03 Apr 2025 01:59:09 -0700 (PDT) Received: from puffmais.c.googlers.com (8.239.204.35.bc.googleusercontent.com. [35.204.239.8]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-5f0880a535fsm637614a12.80.2025.04.03.01.59.08 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 03 Apr 2025 01:59:08 -0700 (PDT) From: =?utf-8?q?Andr=C3=A9_Draszik?= Date: Thu, 03 Apr 2025 09:59:06 +0100 Subject: [PATCH v3 14/32] mfd: sec: s2dos05/s2mpu05: use explicit regmap config and drop default 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: <20250403-s2mpg10-v3-14-b542b3505e68@linaro.org> References: <20250403-s2mpg10-v3-0-b542b3505e68@linaro.org> In-Reply-To: <20250403-s2mpg10-v3-0-b542b3505e68@linaro.org> To: Krzysztof Kozlowski , Lee Jones , Rob Herring , Conor Dooley , Sylwester Nawrocki , Chanwoo Choi , Alim Akhtar , Michael Turquette , Stephen Boyd , Russell King , Catalin Marinas , Will Deacon , Alexandre Belloni Cc: Peter Griffin , Tudor Ambarus , Will McVicker , kernel-team@android.com, linux-kernel@vger.kernel.org, linux-samsung-soc@vger.kernel.org, devicetree@vger.kernel.org, linux-clk@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-rtc@vger.kernel.org, =?utf-8?q?Andr=C3=A9_Draszik?= X-Mailer: b4 0.14.2 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 Reviewed-by: Krzysztof Kozlowski --- v2: * squash two previously separate patches into this one (Krzysztof) --- drivers/mfd/sec-i2c.c | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/drivers/mfd/sec-i2c.c b/drivers/mfd/sec-i2c.c index a107a9c1e760f90fcb59a9944b74e9a39a0d946c..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 Thu Apr 10 18:57:29 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 CC4FF248896 for ; Thu, 3 Apr 2025 08:59: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=1743670757; cv=none; b=UUFpttZhaPEeowygjoJRShyyrkznsiiWf6QIvkGU/DgF6mKYeSQaIm67zoK/6rgK3+9+l1EJoaMwfhlA4xzYVARVXSgIi91UhdBw5Pn9RaDh0gKqkTFSGbyxu3j94QzN7Ne7ZAI87nrYMO2uruSTfrpPZgSQ+DopNMwQrGeA1rE= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743670757; c=relaxed/simple; bh=G2VDOjAPimv/kPRtxt/LX8SDH6NDkA0IsfX7EDPKEaQ=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=T8DNqdKNlZyKB4acRrReV4CvRJpajxzW4d/PH3/Uv+kJ/41B47byr4j57q2UdmAlFPRQv27CZ4rfqTm9ROBK0e8TSa4JcfQrEVF+XrDycnpqTLdiLggWCY9qmuZS/X4NLQRXFCFFttEcPpunXX9KxKAdgQjwNovEBWoHd9ZpwHM= 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=kLk3EfJW; 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="kLk3EfJW" Received: by mail-ed1-f45.google.com with SMTP id 4fb4d7f45d1cf-5e5dce099f4so946662a12.1 for ; Thu, 03 Apr 2025 01:59:13 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1743670750; x=1744275550; 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=kLk3EfJWTjU2iYikUQe+drlwEuNkbxBQ97uf6xS+cs5zxyJJCuNPPxKtI6KgboUVRB hUx/NaLTndbrIG7BXMT5d+8FLxjSDuBFGqP0ElQ4ENIBHfpKL01ZyzUfH0dxgsYQAazv Mftq+n10tP0TxIubR7wRbi7BzHIq+v/FimHjsSb7b5Ip3A4poiQcB7FO9P7DqOTTDN9n g4GP0pIIXrSekkrHAvpWMQ868+Frmwxfp/Ycmy/cMsNhUbk7acgZ/YNXYVQ2P+tFxNPO IWGT/9VYZLNh4nngk/j3Ir58K82dR+zIVYzGL9H3KgcI8ZtdHuxlEw3kxZhxWt4FXGja d+Gw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743670750; x=1744275550; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=EqGhx5PJ7AN26XxBcQwRDT/hvBtSHvxnm6hLozkr74A=; b=kEolWY2KrT8iEwiq5n4UWJQQk63JvIOuqOs5VNLDSStHdz/Jw1pE7EVXq5pq7eZ1jC B7f32a2BZQNGCfqzd1DFnZIfp7wsZr4ADxrYEq2KUaX6tZeq+/hg6wlxBh1owie4SG9J GI4va/jcvj8kU3SHPnlz7f/Gt+Urh9UqWdUTWFXh2gJTf+AeEQmT80XtUp1X6jFEgeQZ mxLSSohjx+iLuthkRw1/X1UkbA8DdO4T7PraPFsDm8JxM9wGDyoYkbj99vj4bYkA7oL3 gyNvX+KdX3emZoLyjGzkZoLI/aDwVJ/qwWWhlIEoaoa8WAjGz/ihMqwT30UYXITAtojP e6Wg== X-Forwarded-Encrypted: i=1; AJvYcCW51ZnXyaPXkrS7GnQ5Nlv1vQavs3R/vtH5nTvenh+/8Elcor+vNNeMCHZibm+E54TUF2+RG1bKeBtkUKE=@vger.kernel.org X-Gm-Message-State: AOJu0Yyuu+8a8V3C6Fgt/FMmKKXpZY5ptSD9a/kwyJY31xwbkccufxLk 67xpj8vxLWD7ovLXISldb12qWFrMjr+bYottRdgdC2k6ukx7NEZscUvez4FhG8M= X-Gm-Gg: ASbGncsIdn9uz74JBoCdxvIcgu6qNKnHLpU6LY/BzV0SwjmqLLpj1YPxVLJrG31pCIH FwoeMvtIJ2dt0XLr7UbVbIJ1MZw/hzaQpPDq7BK3K4M8ay5xwe5KBqtwzhx9PFSJ1WDLRgKJjZi JvF4bgySUsI2/yohUzJaXBjIaYHbo22CVd6GNzpO0AWoEqCkOocQkupPPrpiXjbH7Brrtf0fgXS QPmgcD0LoDPeAKIAx6xyTyuFQrUcGQaOZrYG3O9F++zObtCGr7Se7zgKp9bcDduwEYjFnmSHS6A EvOoI6FH0RMVSsFd1jG+qiO9S0OT6fkU5C3UCTAXi51JLpsDBRYL+6KLTB2He9CXcCejYMTcY49 MooFWLdQcQVnVlMdIM3IhMMWVAMyT X-Google-Smtp-Source: AGHT+IHqq5xE17qMmS1fs14R51Ih6MAYPGlP5NH+CbKlyAqH2jZK+FRszx7kpSpBogd0Ourruy0TcQ== X-Received: by 2002:a05:6402:40cc:b0:5ed:1444:7914 with SMTP id 4fb4d7f45d1cf-5edfdd23b76mr19122813a12.28.1743670749730; Thu, 03 Apr 2025 01:59:09 -0700 (PDT) Received: from puffmais.c.googlers.com (8.239.204.35.bc.googleusercontent.com. [35.204.239.8]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-5f0880a535fsm637614a12.80.2025.04.03.01.59.09 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 03 Apr 2025 01:59:09 -0700 (PDT) From: =?utf-8?q?Andr=C3=A9_Draszik?= Date: Thu, 03 Apr 2025 09:59:07 +0100 Subject: [PATCH v3 15/32] mfd: sec: s2dos05: doesn't support interrupts (it seems) 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: <20250403-s2mpg10-v3-15-b542b3505e68@linaro.org> References: <20250403-s2mpg10-v3-0-b542b3505e68@linaro.org> In-Reply-To: <20250403-s2mpg10-v3-0-b542b3505e68@linaro.org> To: Krzysztof Kozlowski , Lee Jones , Rob Herring , Conor Dooley , Sylwester Nawrocki , Chanwoo Choi , Alim Akhtar , Michael Turquette , Stephen Boyd , Russell King , Catalin Marinas , Will Deacon , Alexandre Belloni Cc: Peter Griffin , Tudor Ambarus , Will McVicker , kernel-team@android.com, linux-kernel@vger.kernel.org, linux-samsung-soc@vger.kernel.org, devicetree@vger.kernel.org, linux-clk@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-rtc@vger.kernel.org, =?utf-8?q?Andr=C3=A9_Draszik?= , Krzysztof Kozlowski X-Mailer: b4 0.14.2 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 Thu Apr 10 18:57:29 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 9E13F248888 for ; Thu, 3 Apr 2025 08:59: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=1743670757; cv=none; b=k7VAFBg5d8SoYt0ljjzTleWwa8uZTS9KHZja/602DGdR0rtIoCbgqgseHBkITpT+eH7blUyNMaEJsEe2tE2N8L0RyKvmauzYksw7Sv+mbEEC2J1Y6VX9v7C9pO6Afnux6PwYjTisRct5okNl2GrR4c4VjTv+F6mIS1LmczP4M+U= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743670757; c=relaxed/simple; bh=cUTy7Xx1YiX1UnRa4JT4b9qKBeo7MuQLQSe/ooLtKqM=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=No5o9aU1Dp6SfmXEel6VxfV0RMSQvHNwioBAksGMaMBk716law24cr4SLxDVa3nvivtYjP4OgBFY9jxYtTf8azsUH5AofVgKOV8xi230aNdbZ07Bbnt1F5WVXuWi8V5l+uSCv++LhPjxQlZJcIfN6MIwUDJQKO9wmEasXXaYNyM= 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=AjHHOqvH; 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="AjHHOqvH" Received: by mail-ed1-f48.google.com with SMTP id 4fb4d7f45d1cf-5e61da95244so1179702a12.2 for ; Thu, 03 Apr 2025 01:59:13 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1743670750; x=1744275550; 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=AjHHOqvHENCRlXPk94D5ol/0f3FDlfN75O8DcrWoeUFpHApwRG1syizNhakbRO5fd9 TDldk5wN9yEWwM91+A/7wrcsgtlYWH7NJclHDGw/YCmoqq34vnKJxKf+kf2XGsUvQ4U0 xiZXtlcQoLA96MXAestzlj1qh/U/HKvumc3cqkvpe9bbs3UUNrR/qHXiqQKOpZjjtGhU tfiljiY5j7J4O5kzHSEbShO0vzTEAuvMqPYHpWM8baPIf/a3LCoYpZp9U/SJhxWlT9yH sJbeHa2m7EI+TWTyBHbqcp3TiIR+ZiHXMsrV4zLwEbJ3RMyOlU+POuNiyufq7N57pTrx Pz4A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743670750; x=1744275550; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=EOEB7IVKZaW1PZ6sIgI8umGsLZ0fzThiODmAgEs2dvM=; b=gU6zGODOPiaEfswR0UUxTk5JxynUZAi7YsCnF05cjOVScUYU0CBa9XEFnUPrfyOrZo 6X1pEbPajKGcJKd3ptg7qp1AfxPtZyG3AUTyc3uUiHApQLdfiLM4DjyQSiawbHzSva2i Hhh6RASD76DaLSrY8aLQ76uNOdEh56LXK4l8u2IT+Vwcy+DAZddJi5XG3hlmCohaUv2x 3CIYz3mVynerNzgCyiFB3sDoY/WedfyqbX8U0wL3v+nT3fnkhXwX+sf/g6/+19+Kmiav WskypFEzwN/eyjBJPIB6nbEoYoRSJ40krqpeGZPota9LSyxRhbbdFYknpth1BbPQobRX 2rgg== X-Forwarded-Encrypted: i=1; AJvYcCWolRf38RW9OjkTGY1zNu2tAlnGGm+Y3yNPIC8CwrQElXTEvEXUOGSBGGlrv51w1JpFewdSSfrzrlrJoJ0=@vger.kernel.org X-Gm-Message-State: AOJu0Yz0rUFE83+MKPg0NgiFoy2q9pQlvGjYvJBzsdbdM++WiEz4+HD6 pHaLiDIf/xnal0ZJVri7Nb8VvlDIyP7ARHxlXzNGHDiDeKn64K8UqiTo7v5UoR0= X-Gm-Gg: ASbGncsknSJZa2vQoaMZSc8lShyx7JCAl1g0ZWmCqqqrAOcB5w7zFcF4Yaq3Tt0srdI AP2S10lZFnc31Jz1j7f22GLEE3jnzkc5/tgDThMn6chJQ1eBokIBjXdPu0dpJdW3hFsyMI66LJj E4BGHTYoq44TrovbMO59VlIH4DUJggpgAPH6/5dKKB4UF91w7bmOTUH+E2VtqvlAodFVQEJacid Be674B4NiJl9LY0TeHEv590syfBi+nLDG9A6MetIEblUOFhDGholAHd6F13DCvtpH0+p+g0O29s RzAd9FPJKwA9zuaBefMDq8dPBmueh3Agh8YTBpHM1usfDw1jrwYtd4VgUMbUJlobF0LbznysA2v U5DFLwVipoxSdbBo3C7WjjbOkik3n X-Google-Smtp-Source: AGHT+IF/mj/FrJ8Kxms7tCENqFVdFFdcidKVA2nEXR0Y75YsHneWseB8Fi5sl71j96aNLNBmEO4yJQ== X-Received: by 2002:a05:6402:2682:b0:5e7:7262:2b75 with SMTP id 4fb4d7f45d1cf-5f087184cddmr1440611a12.11.1743670750284; Thu, 03 Apr 2025 01:59:10 -0700 (PDT) Received: from puffmais.c.googlers.com (8.239.204.35.bc.googleusercontent.com. [35.204.239.8]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-5f0880a535fsm637614a12.80.2025.04.03.01.59.09 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 03 Apr 2025 01:59:09 -0700 (PDT) From: =?utf-8?q?Andr=C3=A9_Draszik?= Date: Thu, 03 Apr 2025 09:59:08 +0100 Subject: [PATCH v3 16/32] mfd: sec: don't ignore errors from sec_irq_init() 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: <20250403-s2mpg10-v3-16-b542b3505e68@linaro.org> References: <20250403-s2mpg10-v3-0-b542b3505e68@linaro.org> In-Reply-To: <20250403-s2mpg10-v3-0-b542b3505e68@linaro.org> To: Krzysztof Kozlowski , Lee Jones , Rob Herring , Conor Dooley , Sylwester Nawrocki , Chanwoo Choi , Alim Akhtar , Michael Turquette , Stephen Boyd , Russell King , Catalin Marinas , Will Deacon , Alexandre Belloni Cc: Peter Griffin , Tudor Ambarus , Will McVicker , kernel-team@android.com, linux-kernel@vger.kernel.org, linux-samsung-soc@vger.kernel.org, devicetree@vger.kernel.org, linux-clk@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-rtc@vger.kernel.org, =?utf-8?q?Andr=C3=A9_Draszik?= , Krzysztof Kozlowski X-Mailer: b4 0.14.2 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 Thu Apr 10 18:57:29 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 472B824A042 for ; Thu, 3 Apr 2025 08:59:13 +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=1743670759; cv=none; b=DchaGfHUjvfeP0yrNsvXrKt0mn2Gmj4EMSBgwyEuFqwuwj22CIHasnf0mfIpw18zFtSt7ka6PV9NEprHE4qNe7lV4nBUVqrbhMQkUm86Z5Iy+VvJ8MTRR9g95N/hAFA2tFKgPjEQqu9dwEWg64rLsoQdBq76xQnp0PNGtk1JLmE= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743670759; c=relaxed/simple; bh=i+oEXaY8LAt9v5xfTUnPr4X70I4bkLZ4jOwueXnpnOU=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=Ctvxn/u2OobDKABNj3p+JUAEdBdCI0iNTQxeEw5SqNmoB90brt+GBVUWr+nO7yg6lwimhHlUZw9NL1XzZvRwVC3hSWZM3CoLgOmi3R15c3wr9pCpt2ziIEUce8TroDK5PuwiTKP3y7eMoyg8Nf3u+BMgNjDoDCd9c+LDokVl9xg= 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=UE7mn0jN; 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="UE7mn0jN" Received: by mail-ed1-f42.google.com with SMTP id 4fb4d7f45d1cf-5e673822f76so1167895a12.2 for ; Thu, 03 Apr 2025 01:59:13 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1743670751; x=1744275551; 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=UE7mn0jNB92gkHdDr2/StUvd61e8fuMU/Z2A21gQaXjGIMNPKTg/rJxLaGsh6aCbB8 06XIH0t+vRbOxYLFojY358aU8/ldTrpITtld6InDN3117jlTXvOu1Tlf12Xh3KjwxnlD 6mZvBDvvGEYoSIgvait/F4Ka1dK4Mt3VeelmwmrrmEZKytItWkyogxlmsP03MSyB/8Mt VA7TKjO8fPSM2X1SipXPcZzP5JiFTTdxUAkN8s8+Ppo1ytiPBsk6DPKs3WlFj6Oaww1G xqjh77LfwJsaD8hoEdGLowq6E7vZ6UI8FgTsbvh5OHj+tieO7IoBjrSYq8G048/vW9ks MUAw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743670751; x=1744275551; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=RlfAg/7rLSoS1Ke1F+8yA+aiyZO+gcbIufljerVjsNI=; b=J9xIupqphcOYj6S7Ox7KX2gDQUkVG6YRIzF+Ks4GgumL6DJPf5sEKgXhgpStRBS1/j frCbwoszwN0K51VluK4fGykyEveeW0N62uyqTR0EghIdnvhLQmMEwlghCtQKW/1bHTlg i5j03o+DuQr/I7urJi2dbjC45URQIqQLzze4uic4Reuz9zkVpw16SF8YccNcLqzPcOM5 4HEy8Fp/1czMd3CVId39OuUwcaEoKUilOjBIdaYCp2JnwzYqxGUpKSbpbQYeUexZ6UyN oCRqpwXEL9pSSABdXxVDxZByCHrCE6iXboMfxxpghZ8snZDabXRMJJ4lUYIhYjIKpB2w 0rkw== X-Forwarded-Encrypted: i=1; AJvYcCUleBvRdWDOi7qXCfU8tWbIeXugwU9Fbb7DVIiwoErqblKudIdgyT/135oEnhjyGKT2/F/opyipYxFrNgQ=@vger.kernel.org X-Gm-Message-State: AOJu0Yz+DKb8bBXRMOV7i2w2AGrc8aNx2wPNDSco77VgsjBtvn11+XKt CvN+yjLU3Q7m048asgPrXPkbcrvN1p/EPb0cRYdEFtbRmPa2Db35SJp5bDQmI0A= X-Gm-Gg: ASbGncvn4G3HTOd/3KUJrTMStrJp2goje+Jtkx3Mdlj78ehixSMEbltUC839Zelvm/w ik6mGzNSXFMkI4hpcdKnOwiue2VDJ06avmQ1dkXZPkuQZyBovg3TGbxKuQEK5UsMxV4fboM6zZs 98KQn0tPadaltq3IG/ITJQykeFxFSp1W11+qNXo+Cz/ad8M9rUax58kUDecfx9M4lRqnv8iQ6Ec uLWvyQwXacr9iFLI7HsETlENir63kw+9krzUXD+8fIgXTj7vFt8XbQuyHAPk0zlq7GwQJiPq2Wv PypagxRw7KwaPn48Nnlgpgwdh3MKQQMSrshME+zU/Tod7LW8anhAkxmxIIzZk8NkjMGYZIxw6jQ YNcdCvrwJRhY+NhCybleCro5X972tklj3oCwCy4s= X-Google-Smtp-Source: AGHT+IFZLX87fvmQWgnxfZnoDAktzthuhMaNhoMnhSakNJiyYGcGUTZY/GTW98KUU5BWYKgMrjz3Pg== X-Received: by 2002:a05:6402:51c6:b0:5ec:c990:b578 with SMTP id 4fb4d7f45d1cf-5edfd15767bmr17482749a12.19.1743670750843; Thu, 03 Apr 2025 01:59:10 -0700 (PDT) Received: from puffmais.c.googlers.com (8.239.204.35.bc.googleusercontent.com. [35.204.239.8]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-5f0880a535fsm637614a12.80.2025.04.03.01.59.10 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 03 Apr 2025 01:59:10 -0700 (PDT) From: =?utf-8?q?Andr=C3=A9_Draszik?= Date: Thu, 03 Apr 2025 09:59:09 +0100 Subject: [PATCH v3 17/32] mfd: sec: rework platform data and regmap instantiating 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: <20250403-s2mpg10-v3-17-b542b3505e68@linaro.org> References: <20250403-s2mpg10-v3-0-b542b3505e68@linaro.org> In-Reply-To: <20250403-s2mpg10-v3-0-b542b3505e68@linaro.org> To: Krzysztof Kozlowski , Lee Jones , Rob Herring , Conor Dooley , Sylwester Nawrocki , Chanwoo Choi , Alim Akhtar , Michael Turquette , Stephen Boyd , Russell King , Catalin Marinas , Will Deacon , Alexandre Belloni Cc: Peter Griffin , Tudor Ambarus , Will McVicker , kernel-team@android.com, linux-kernel@vger.kernel.org, linux-samsung-soc@vger.kernel.org, devicetree@vger.kernel.org, linux-clk@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-rtc@vger.kernel.org, =?utf-8?q?Andr=C3=A9_Draszik?= X-Mailer: b4 0.14.2 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 Reviewed-by: Krzysztof Kozlowski --- v2: fix typo in platform data for "samsung,s2mps14-pmic" --- drivers/mfd/sec-i2c.c | 133 +++++++++++++++++++++++++---------------------= ---- 1 file changed, 66 insertions(+), 67 deletions(-) diff --git a/drivers/mfd/sec-i2c.c b/drivers/mfd/sec-i2c.c index 81f90003eea2a40f2caaebb49fc9494b89370e7f..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 Thu Apr 10 18:57:29 2025 Received: from mail-ed1-f50.google.com (mail-ed1-f50.google.com [209.85.208.50]) (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 4ED1924A043 for ; Thu, 3 Apr 2025 08:59:14 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.208.50 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743670758; cv=none; b=j+5+CP8QLaexDb0X3V74mnvpmrxOX36WfOz2pq2U7X4DPiyIFOx5GCJAaBO2Qu5CoKSFXYueB6jMhWiV//HUxremJxl7FwN34EeVSmv/V5QgIu9RS/7UayBi1S5UOvT2OHwcanP39KyRfZtZtqxzm5LtZkb++n7D9dfoMlNtC9g= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743670758; c=relaxed/simple; bh=bllvwGesgocAPfPa0BvtiRJ2XbMS7FrEApqy00ZsPPo=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=mf0htHe5JBmpEvD9R9ZV5/s0HnuezrbYg/rXvUS0Co1v0MfECMq57PmA2HJU+sjSkEiAyMRU0DCoRoFI6fq+6ouBHmdV6ZBeZ/CJBWq8MzEPj+MtW/BJfyQg/JDRNRmk4SF+etViL0RpoMPLijqxI8+1piO4Ec0vSlIE9X4draw= 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=PWR6o2sH; arc=none smtp.client-ip=209.85.208.50 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="PWR6o2sH" Received: by mail-ed1-f50.google.com with SMTP id 4fb4d7f45d1cf-5e60cfef9cfso1043409a12.2 for ; Thu, 03 Apr 2025 01:59:13 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1743670751; x=1744275551; 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=PWR6o2sHqfKlE52pGxQ6nvDwYPz3CPIsHrOarlJ9HgaRtlTIHnf62vxvWsYJOiVFcU Vi8Bi/Y2DFThyRjtR6vNiggomRAYOpD4dSymCjJSfALCB672k6brKMjtIwS7RVC7AGdw 0aCsIDqRblRmEhIao5bUaf+NuTnfnp6kDDZK4WRdZvW1L2beo6Xt5CJ/67Adp3YzzkX2 jTkIz0/X3BFIfgrtVGPdg/TPs9zEG/5Iwpg59HEGmLwhv4lqlrxwwVAT5Xn8a52hXJa0 HZWAd+sbuhVcSAZdkVMmidglSaN9kNa8h/y9OZXW4tnnGXhhvpkXB0Pmhm/ZOzOOGCkB uHtg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743670751; x=1744275551; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=KZ+pWW3wwfoO36sbVjoQMpP7epgDk59E8mIno/3xwfk=; b=JDdaIoj+v8Cx9RUEryXAyl59Ha+Oocck7cF7ahlqOSKIp6nWJt6NuQaWmYM5asGgKF WyfCxFgAdEFnIp5OnR5QvoPLkym6vWK+S3VPRSeVdVIs1MB4+AP6rzb4EigItUk8AfpY jzQsZyZY6Q/+Ub6AKihvfFuqPLz58tvlf0IS3jOlRj0sp3X42aOW+xHLqMWM+HGM306E yBTckCn2kybOFRhEF6jM4JngpeCorQl98bPoQ4bgtxA+sN+ezMm0E5UsACZnUJ7QtUzO Dse3BTqCnyWHLN8dCTW3u3M5yRMGnQV4XkIeNVxNw4hUS5+wSE/y4vveiKZSpFHOpA42 BwuQ== X-Forwarded-Encrypted: i=1; AJvYcCVahyfR2h77ogpNdUnzTnzjyDNCg4D6lPmzl5/u+dT3GyBn7IbUvxE6zz80NrrMbIJ7WvpW8gyrY31HMns=@vger.kernel.org X-Gm-Message-State: AOJu0Yyh6sbV7SRyS9UY9zF9KK90C6W6FpCmhuFNKufWNVXAWi0+uG2I C5M33pqoW6hbvHJH/MMSk7698Ec3w3FUQVT6DWSg6y9Nu60xO0jLUs1jnW8gRa8= X-Gm-Gg: ASbGncuyKIwaz9+TP+lb9aV7y86aNV2SaFDy+b9ST7wT540uwkTIM/31/p5QssUE7D2 sZCcMoX4d0OaC8jnlIFJX39XmjcK7+NYd/sxo6n3B7t3U8oUY/Y+95F0haVevbq4SSdqHBt7yPB PR1T0KDf4YYEJYKxffoYTRqHnf94bZ3Uj21YNxEJ7vffs3SxVkm2u1/XRrbAP7A3wjbql7TQ95Y /tatj952HpVuTdcBavxlHTmxXEEH6yE0RBgUNyEHEXJR1Hz67x8fZYZ/dDHMZqajuBpyOwY0GpZ 2y9DxBvX/hGJQpX9Ng4OHeOuv3Udrad4PvZnYPVPPXvFFJypqq+RK5LEHJhHblAKWAZ/KeKINLI X5t4CU/OES5ZgVzSrZVUToqwA2hOK X-Google-Smtp-Source: AGHT+IEDq89x3CpslTyM0zp7dklQdXkDh51EcU1TCoWVePJqp1R3stB2nQM7HgpHJAOZguo5Gm2LWg== X-Received: by 2002:a05:6402:3204:b0:5f0:82cd:500b with SMTP id 4fb4d7f45d1cf-5f082cd5216mr2774791a12.19.1743670751382; Thu, 03 Apr 2025 01:59:11 -0700 (PDT) Received: from puffmais.c.googlers.com (8.239.204.35.bc.googleusercontent.com. [35.204.239.8]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-5f0880a535fsm637614a12.80.2025.04.03.01.59.10 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 03 Apr 2025 01:59:11 -0700 (PDT) From: =?utf-8?q?Andr=C3=A9_Draszik?= Date: Thu, 03 Apr 2025 09:59:10 +0100 Subject: [PATCH v3 18/32] mfd: sec: change device_type to int 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: <20250403-s2mpg10-v3-18-b542b3505e68@linaro.org> References: <20250403-s2mpg10-v3-0-b542b3505e68@linaro.org> In-Reply-To: <20250403-s2mpg10-v3-0-b542b3505e68@linaro.org> To: Krzysztof Kozlowski , Lee Jones , Rob Herring , Conor Dooley , Sylwester Nawrocki , Chanwoo Choi , Alim Akhtar , Michael Turquette , Stephen Boyd , Russell King , Catalin Marinas , Will Deacon , Alexandre Belloni Cc: Peter Griffin , Tudor Ambarus , Will McVicker , kernel-team@android.com, linux-kernel@vger.kernel.org, linux-samsung-soc@vger.kernel.org, devicetree@vger.kernel.org, linux-clk@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-rtc@vger.kernel.org, =?utf-8?q?Andr=C3=A9_Draszik?= X-Mailer: b4 0.14.2 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 Thu Apr 10 18:57:29 2025 Received: from mail-ed1-f52.google.com (mail-ed1-f52.google.com [209.85.208.52]) (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 856E224A062 for ; Thu, 3 Apr 2025 08:59:15 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.208.52 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743670761; cv=none; b=VExkGIKoeqFdEwA+Ofo1tbmxi2b5xIE4c5VDu8QSD24TKKslmFXri8Gm+CJ9W05dd1tfkaxDgiRvUSzMuhmEB4wvIR/iPaHHdmM/6uRkDOvWkxJMavRQUV3HkpecX3PWBWVLxfTAHtkcA/YWFymb5j29G7P0S4OtKLYq41mfhSc= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743670761; c=relaxed/simple; bh=3HQSCKKi1fwFRVm95IbU9t5Hr7ITyiskN+9xAwmrKhQ=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=qyW1FDrUP0nzkY8YjPP+f9IGQf2IdRblxCIcNNh798g2mgN8Gok9W/Va43PDui3N4RNmzMtCbJxXrNi33t5j0cAs6sZZw3KRw8hcK7uwz7usJsip4q5xYLpY+Syi8wYCJ9g32D0NhWV4B0ZX8EK3Hn60Yvr1DZCkcGFtU6NbT1I= 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=inbk4I+r; arc=none smtp.client-ip=209.85.208.52 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="inbk4I+r" Received: by mail-ed1-f52.google.com with SMTP id 4fb4d7f45d1cf-5ed1ac116e3so1184173a12.3 for ; Thu, 03 Apr 2025 01:59:15 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1743670752; x=1744275552; 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=inbk4I+r/k4ykJ/Nugo2yeQ4wXSJAhl8r0L/UHumax8beFQaeSG7wW4K6eYJdwPJwZ Op0as6SlDG2WVK8j7/uNNJJbIaJPNoo2yCKtf/Vfl9PbHDO2KR5MRn1lEqCbQciktX61 VLwdEtLQjuWnmdTveoWv+1/5eY/w/E8A9MK8knRh7CK7gR7dTvRGlsifjdN1mhQ3Rc/v OL66GgE4HbECZJwJDdT48ZKXQcD0Mp21Mn0x+xsLlROFznQ1mT4WX82yuzac997GeFdV geLKIEl2t2qixDmGw3o4SSPEM4mZPXUfp24PUpgVGntda4dXhgJ/87dGlGS/vq/xYcFJ fc4Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743670752; x=1744275552; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=c021jwV5dbsG8JoPrCRgjZmmvCnTfk3Xe/yBggRzooI=; b=i2pLRQETnPmkBGh7w0RpURBdz6rgTJj6TCigLXpGgZvWvHVXru0j+J8QGZY+QpE5UW y+IzUj/OQig5e4FY1Lup40fAjFBO1h03B0D//Q4LKxpmz7hRJsNVtgYxdSqHWgl5irW+ FT8pBsxQfHrDAJz7g3+q/WuTiu3jUE9p6cGfttewOR/SwypvMHQn7a7RisZWe6zg2lKh UDd+d+jzGIXzp9ld1ZFAcol/HzZzJEaLAAfyPpmh539ufRedMWlv1L3wJsgEG/+Y1NwN NGRMGUamWyC0zuaB9SJ8Ttu33Zg8au1bl1Wr0waMYp9BGFcHNdG4ZXl8+Ii8y4Fi46Xc e9AQ== X-Forwarded-Encrypted: i=1; AJvYcCU4zOzAo7luQffYxm6lSLBCMeorZYfc54sSfAVKQrCrRzFK+t3ljsQ1XycTBw85Zwka2c+q1w73yD0teMA=@vger.kernel.org X-Gm-Message-State: AOJu0YxnT/GbM1muUbmz2jJ5/MyJGrA1Eu6rK1UDlJn9IYZXPhuN15wJ 10rPTttVWrG6CZwyIKpZqyT4On1ELwVDa78tERZZnCVsqGfT15r6BPEFofb3ItI= X-Gm-Gg: ASbGncuyuFPFwZFIUGMMJrIGvJwzR9MTOgWJFb/H2hVs6H6tmEfhgJKABI46Zyccm9W 1BIFRB8tTgWMdO4+1a1dhjsJBv+K+MD/FIVx+HTY8bg0p/x/RJEtxOlxYO/kgEWNCqKkPD2+dmt KGWOG1/GApNtc3HN3IbLDUas3fOEETfVrllkz2TKLNJ7F9RkmjA1jJfV3Xm1WUvJZovWsDkk67m e8xWhUn2qwHVCCG9YB/DPyiQ3pe3b+eOSkEmWEvEcqGthA8uvu9RkYk4nrI3exdK57WGv0sKndL r66upLPvda1I7dXNIoJSyd5N8iImMHfVc7Wc9lT42WaQFnY69dakVYYr8U1E8U4YkRvNNYnSgHy +sQBZhpCAHRs93pUcc9HGG9hVUygoz1WpSKSBVws= X-Google-Smtp-Source: AGHT+IHCv1y/iOD6tATf8l6JbAVP7nosxikaub6pMGAtowLVbGuj8LVxbHPFWCZvGPjo74E5dX1Kfg== X-Received: by 2002:a05:6402:90e:b0:5e8:c0a7:4244 with SMTP id 4fb4d7f45d1cf-5f08716b5edmr1415400a12.9.1743670751910; Thu, 03 Apr 2025 01:59:11 -0700 (PDT) Received: from puffmais.c.googlers.com (8.239.204.35.bc.googleusercontent.com. [35.204.239.8]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-5f0880a535fsm637614a12.80.2025.04.03.01.59.11 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 03 Apr 2025 01:59:11 -0700 (PDT) From: =?utf-8?q?Andr=C3=A9_Draszik?= Date: Thu, 03 Apr 2025 09:59:11 +0100 Subject: [PATCH v3 19/32] mfd: sec: don't compare against NULL / 0 for errors, use ! 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: <20250403-s2mpg10-v3-19-b542b3505e68@linaro.org> References: <20250403-s2mpg10-v3-0-b542b3505e68@linaro.org> In-Reply-To: <20250403-s2mpg10-v3-0-b542b3505e68@linaro.org> To: Krzysztof Kozlowski , Lee Jones , Rob Herring , Conor Dooley , Sylwester Nawrocki , Chanwoo Choi , Alim Akhtar , Michael Turquette , Stephen Boyd , Russell King , Catalin Marinas , Will Deacon , Alexandre Belloni Cc: Peter Griffin , Tudor Ambarus , Will McVicker , kernel-team@android.com, linux-kernel@vger.kernel.org, linux-samsung-soc@vger.kernel.org, devicetree@vger.kernel.org, linux-clk@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-rtc@vger.kernel.org, =?utf-8?q?Andr=C3=A9_Draszik?= X-Mailer: b4 0.14.2 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 Thu Apr 10 18:57:29 2025 Received: from mail-ej1-f54.google.com (mail-ej1-f54.google.com [209.85.218.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 857D924A063 for ; Thu, 3 Apr 2025 08:59:15 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.218.54 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743670760; cv=none; b=qnsNNfuUFjU1CGqD7ovjtR/lHdL7m3WUdDnIXnzfC6YAEQdiv/08tI8hunzFWq4Xj0IEG1HY+gZ1wu9/wyFZSmTlCeZyxSfgHsd9V7+xz5uah6/SEU+OZ+40gzc7D1dPJMoYxBOGNldeBMInAkT1qqndOs8t5SJRkuvWJFqNQXE= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743670760; c=relaxed/simple; bh=X0QQTgyZyBPIURJ3v2tympUyOwlqSVYuYyMtIMSpfpo=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=hv6gEA9HiSere+F6Djo7MTdIRU7+GYFG32d2+Mb0MIdRI+BQMP1jdrGaY23xXVTO+NMJzPhC4ZiFt9MIZ1dIrwW38OV2A7x4ObP8RkFT5f67qQ5oEggpNzyiPFuuFr1k3UG0DaFc5ltqFVeM5FQKpgwEn2naJjtmAimwt735jAk= 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=URzP2DcC; arc=none smtp.client-ip=209.85.218.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="URzP2DcC" Received: by mail-ej1-f54.google.com with SMTP id a640c23a62f3a-abbb12bea54so156780666b.0 for ; Thu, 03 Apr 2025 01:59:15 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1743670753; x=1744275553; 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=URzP2DcCIIAiVaxYYoMP73MU7SEV97+smhklH5zWxCElfDYlenJFBlbTeXnyL8euh9 yojM2ojq8gpYSFUyO2o2EhhfuWdSdqE6duPdeILAc6qZkUMbuqsv9XxgL6bSEzE+mK/E EtiCau9LX0kSw5SH1+t27TYBgm6G4/KfA0GmLOdOjst66COPikk+kVdmsVqbe8w56XwL BwIa8v3iuxg3ViEGY1horI+IRPXbyVb1QEIeUvyTu133yDODP3FjYSed/DTCOBw0Qcdq bMNZ/3xs8eqL/QQJHld6leDsJAG29QtCUVMndeGfgnxz1KwMzppjXf+8PoXaPWKvrDaJ wfHA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743670753; x=1744275553; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=kV75c5wurwfdiB4LfjbAT+jBLqgbz3xs0SfJTGIePwA=; b=YIbfVC9rDk5glVBK4nIpuZIX13/jYduWueLrmDjcSDlbZrLlQ39b0U74S5Vycsmhgh SnewZFIGL2k/PaYQA3yQpKIglViDXnuRSN6rvFKcwMlB/gUFOeb2w9g0E2E911RJz0E6 y1IeZHIxKVQ7whJymPfRarBGqG5mSntZj0wW/S93ppxOamVHRbk2cT5UxqEIY4LAhIbZ Dp9e842ekJoSBLQvO+j2DttFTIFFazS0quOVeSJleHzGD41TQdVVng5kBGAkAMH7FCQP TzBUUwFhIQlpIuLliTqQxgRl64ZS3XE+26YuO6mqmR3wnirgOWpYl1qfrr0u+oYN2DwA Zjrg== X-Forwarded-Encrypted: i=1; AJvYcCXqi8O/YXX7anNMw07rZ822t7MB9OhwnQbHpgGJA7agdCWGvX9VvW3GM19BMtiiAkHzxLlmLioQDvQV8/o=@vger.kernel.org X-Gm-Message-State: AOJu0YzfcsfAqzV9fSq1bf7+fBuHptM4Dk465IaWhtL5iXniWhiNjFje 10wMlEzeDpySnzCVXqyFzGD9NA/bVnYFehfhJP85cBH63HKhzNvoYU45oYTpkTs= X-Gm-Gg: ASbGncuTT6QJUZnBgnrMYfUzSpSz0zNKnQKRuxFMYrX6Qe0kSN//eiBpfd8CLXObWsk mI8rUad+FcW49pDnD+VWrcyM1XMDF9cM5QytaFdtNVAnsokMtsC7IthjruSUAJ0v/tVNBSYK2hL 2HxUfa/+nAoWE81fgzr2GDQBmLc5ExyxpmmjMScSrESJ6A50OOt3Jk03GAnTUTqE2Cx2LdnX1Tj E7HoL3HcFeglQJdZts157llXlHp1KolleKEbGx/K1YH5y0wvb8RxGhksCAUcTo/6C7T8zOOcwSW G2ov/rm9hsZ8Dd2+ymu+QXzSbTyAwK5aOCmDSjZOXuJLB/2kZz+fiDbWbOIrMG0Y0MYOf+yMHqO rT+4GymxxfWPAEYCeM2/ZPoOCmJOa X-Google-Smtp-Source: AGHT+IGcX+tYkvLIpCQDt/tVecCK/2rtCpUV2gBjKE/E/xLa7G15uMrlM8X/q+3JmlSAkeK9HlD3fA== X-Received: by 2002:a17:907:9692:b0:ac3:49f0:4d10 with SMTP id a640c23a62f3a-ac7bc259458mr148490166b.38.1743670752608; Thu, 03 Apr 2025 01:59:12 -0700 (PDT) Received: from puffmais.c.googlers.com (8.239.204.35.bc.googleusercontent.com. [35.204.239.8]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-5f0880a535fsm637614a12.80.2025.04.03.01.59.12 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 03 Apr 2025 01:59:12 -0700 (PDT) From: =?utf-8?q?Andr=C3=A9_Draszik?= Date: Thu, 03 Apr 2025 09:59:12 +0100 Subject: [PATCH v3 20/32] mfd: sec: use sizeof(*var), not sizeof(struct type_of_var) 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: <20250403-s2mpg10-v3-20-b542b3505e68@linaro.org> References: <20250403-s2mpg10-v3-0-b542b3505e68@linaro.org> In-Reply-To: <20250403-s2mpg10-v3-0-b542b3505e68@linaro.org> To: Krzysztof Kozlowski , Lee Jones , Rob Herring , Conor Dooley , Sylwester Nawrocki , Chanwoo Choi , Alim Akhtar , Michael Turquette , Stephen Boyd , Russell King , Catalin Marinas , Will Deacon , Alexandre Belloni Cc: Peter Griffin , Tudor Ambarus , Will McVicker , kernel-team@android.com, linux-kernel@vger.kernel.org, linux-samsung-soc@vger.kernel.org, devicetree@vger.kernel.org, linux-clk@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-rtc@vger.kernel.org, =?utf-8?q?Andr=C3=A9_Draszik?= X-Mailer: b4 0.14.2 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 Thu Apr 10 18:57:29 2025 Received: from mail-ej1-f50.google.com (mail-ej1-f50.google.com [209.85.218.50]) (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 958B724BBE5 for ; Thu, 3 Apr 2025 08:59:16 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.218.50 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743670764; cv=none; b=aBaWpalWmA48IEso3CI7hJRUzTCUotBch/knSRamSnP867YvYG0nz+lgx1x/lucUkCsMzjFU4vSMPkahQIF7C6PkQaz07pqfq2kViE/8sLKKkZVgsXUy1kDbIAAD9493vgbzcsoHywCMVcsm0lEpqkoophoH2g9FgxEODHMnboA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743670764; c=relaxed/simple; bh=uZPaCVbPHBGfSgOGE/h2z8oZIqJdXRNHkC3wOcm11eI=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=aHN1or0A/Tzws5Oq39qGl+gQGIQClAJFk+KYfcakh71u/nJb0Y6jjFuo3KCTLmARz+wH/ING4sKfZRNJrjJulmQe8Y2fKrQoG8rqX7+ASnqELFb6GV95Fk9dh5yP8ip1rxm2nW+PYDtXQNVIc+zfItGPYm/zDzmhVn2xybyYY3g= 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=r5DHmoiO; arc=none smtp.client-ip=209.85.218.50 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="r5DHmoiO" Received: by mail-ej1-f50.google.com with SMTP id a640c23a62f3a-ac3fcf5ab0dso101858266b.3 for ; Thu, 03 Apr 2025 01:59:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1743670753; x=1744275553; 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=r5DHmoiODxaHsy2jUz9U6uGinpNsTG8t7Rgx05pLFXLsh1Vr5scyqvahIQXq9i776e h+v0ITFLa9aNuN03UKLIF6Jlq9A7/AHbxUlKN4UyNHV3DimYKzdd9I/StgLnRjbJDj6P rnbrMTpFM0ecFIHTtj5E+A+E8ANw3BynCMNDJtoKhQqxVIMgAKbAO5lEkNf0tv/3WeYl 950Um8azpVGsFWTSJA44Y8yDZ8Bj+q4Lxt/839vNZ4XXYJKaMvhgAGhsI9FVri9eKE0o YIVo7OAKu5AWKKTfbuqUqenu0E+pwq+8fIjnUzM7WqR1gh3qYSAO4p3uuDgshPaQ0RRh W6Iw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743670753; x=1744275553; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=AGZF3iY+lrce/peuoGWoI8dxWV9rSVtCllywJ68wEfI=; b=kJx8yl5iqviLx4JnIvB5t8USwr/niGqbbqwISPhHhrzDCb2L1NLKU+cMY1JLaCGos9 jVIKV60A8hTFmM9Xk6ni/V7vtgKadHu9QGGwpadVAO+O2/+ceZyox6QAv7a1L3I+pSOO iFFzJmMQCWtG6VVqvug5psm50VBAYmAk//gJ/PrzwF8t3AfKzf2an+9xyffxek0x6YLn /OaFG2j3/iAW2Bgzd/YuoY1VloQ/CiChetjg+hqWvP2tmDARFhok45TZ9USBJWLiTDKN RHCbcVbPrPu8QZxhmTPbQq62me/FTnOhk10Bi7k6hqx4YwCXUosGNocTTS1XgNg8G80f mkKw== X-Forwarded-Encrypted: i=1; AJvYcCWr7rbhQDDn1EXtrABM8m2If2SjksbW5hH45EYkartxQzpk1sPNsOAjRq7IWI4NVLZ7ovqBgCUtjYwxYmI=@vger.kernel.org X-Gm-Message-State: AOJu0Yx8EDtFh55Tp1AFezgCazje0/HtzVlIqU9rble36iifXLxoOJix 9qysNfID5TxL0i/B0VKjEAmzMp9CZiisVmMZXTuNn1zuVhvgz8rG1wln4zsjWTs= X-Gm-Gg: ASbGncsI4z1yEWtJA52ZZhrxj2Bl76RzKuaY4W1y5+h3F6pRw0MCiIeBdVsYUjr8Z03 0hmV4JkFnhyyvONwEsNP+Pz5+epygiOQitYNQRxhbJuUKy6KMtD1frWZrq/MKQnJsAiluRm5yLa X7w8Jd8tN6aQCf1gcpZlEg60yJ6zYusDj6/u41fgxyNqreoDmdzXyqoiCN7RyM1bJ3YxifYGiPN nDoYXFbS+MXkbxUlGpaQhNzGE+m6PRtCUDv/xM+QBHgjviSUqmCq6Jb5EqqFNOQ+FMAV1yewM81 CiMFJohxFijxFGz6fK1MxkjZ7ieFb5KlmaiATN6z20Uksd6RdMTERnhydA0lNK4+GzfHXmZV6mn 8xvh4Rl7of9vYZhmkQzjGSfb+fEVn X-Google-Smtp-Source: AGHT+IFRyOdwPcEz80NSYeNSO9OIEAqrNZz0SsyzqP2x0gvOEZiZralRMKMAb8SO2ti+oPAesT2BCw== X-Received: by 2002:a17:907:cc1a:b0:ac7:c59e:fc3e with SMTP id a640c23a62f3a-ac7c59efdf6mr46064366b.25.1743670753150; Thu, 03 Apr 2025 01:59:13 -0700 (PDT) Received: from puffmais.c.googlers.com (8.239.204.35.bc.googleusercontent.com. [35.204.239.8]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-5f0880a535fsm637614a12.80.2025.04.03.01.59.12 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 03 Apr 2025 01:59:12 -0700 (PDT) From: =?utf-8?q?Andr=C3=A9_Draszik?= Date: Thu, 03 Apr 2025 09:59:13 +0100 Subject: [PATCH v3 21/32] mfd: sec: convert to using MFD_CELL macros 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: <20250403-s2mpg10-v3-21-b542b3505e68@linaro.org> References: <20250403-s2mpg10-v3-0-b542b3505e68@linaro.org> In-Reply-To: <20250403-s2mpg10-v3-0-b542b3505e68@linaro.org> To: Krzysztof Kozlowski , Lee Jones , Rob Herring , Conor Dooley , Sylwester Nawrocki , Chanwoo Choi , Alim Akhtar , Michael Turquette , Stephen Boyd , Russell King , Catalin Marinas , Will Deacon , Alexandre Belloni Cc: Peter Griffin , Tudor Ambarus , Will McVicker , kernel-team@android.com, linux-kernel@vger.kernel.org, linux-samsung-soc@vger.kernel.org, devicetree@vger.kernel.org, linux-clk@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-rtc@vger.kernel.org, =?utf-8?q?Andr=C3=A9_Draszik?= X-Mailer: b4 0.14.2 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 Thu Apr 10 18:57:29 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 957C424BBE4 for ; Thu, 3 Apr 2025 08:59:16 +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=1743670763; cv=none; b=e+8uKV8dVTdCvlCTCD4l3yIQkmKb1cDCe9o85gm2Sd6RhYF7+bj6HgNEh9TA3TxVuNno72lPCCsxGIus6FK2vdV3FNAwdYH6vCis9VcTBcaW3ab2ArUJE+TKQR6UNzTXYFRnqWZE3+qR/ZJGE8ySfcfE7vKjtkqIuVSRUbBZjvM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743670763; c=relaxed/simple; bh=MZ30T8KMJXBJoDDM3cr1kCmHXcpVB3LCx1uy4q775s8=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=ZTQDvQWzcXUBhKXUeMrpQOosKJ4plGUAeq0sNEjexuu+yLXNT522Nc9xRkHpcOXLFWIik3jP6EnKAAumFj4yANGXYasLzzXfYAB3lE9JXXoaoAXIv9DGpMrKXBl2NpS3BBlOw+qvaVSoYxMqDTveQHSqeGO2dSKNv44inc9CQxk= 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=nCuKztsJ; 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="nCuKztsJ" Received: by mail-ed1-f51.google.com with SMTP id 4fb4d7f45d1cf-5efe8d9ebdfso1352143a12.3 for ; Thu, 03 Apr 2025 01:59:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1743670754; x=1744275554; 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=nCuKztsJOwVZ+l74OPqvInr+LbkOUaG+Mc4RjAlpXfS5WWYnf+BuuScaeLHNDUSoC+ ibAP8ek9/oeauOAuXstLsQeveROR5n7JQ9vBmCGo7GuQxi96/aP1wqA3wPifbgIbJ9hQ qrKYL13b1wyjsr/b6n6jVAGV7JQCWXMJKxJwE2o1TY3DqeshHIiA4wYJO5SAEUSdpxBm synGqyDxM0vEqLi0M4e86vXERFQe3OB3/w+u+/pUeOz0k/9ZRkR6tKgJwjiHOLFhWu/v QFY3RRcIcA4vIBk5VVfmzcOoSZBymQ+UIijb4iTOtMF9uohzU79iDxHK+CwPGd4CkrhS 7Olw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743670754; x=1744275554; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=Op+5mEOgNYYFAMowJxBfybjaNESu4Eako9395vK9N0c=; b=A2JV2Lnx23JnSbG8kpo330L8/Nqy9J77tvorwBrARghxUlArlDvpRs3giV2L4WjGpF 9kOvfbWTxq5vEF1roruy9GtVvdl3XQ/I/MHDXsVHXhyOhUl7FRyyIw0fOynuMsUDtDwb hYTWqp5QCtTDJ12WeoApJ4gESJMgjETU3FA+L623ZVqyvtaWwMmFvHtws3Gbc3w3uXNi tASDvUDhOc8FFBjuWTKROlqKpcNsz1HGmpTXGb2A2lSKwj1IpC47IAJdhWOodkmQ9FY1 +N64dvO1s8TXdXS3Z8O6LVCUOnH83F3LtFVcgqoMFOd2ytyB5PgmMz2zWBW8dfp61P+T ZKEQ== X-Forwarded-Encrypted: i=1; AJvYcCUv3qlkLhMfYP+fyiQ+qvAXW7nIjE3jL7Min2a9JYhwyMVqyWowTT/g2Ge40d4M3NJ6YPj5kcLwNCas2Is=@vger.kernel.org X-Gm-Message-State: AOJu0Yy10goFNo/Y5JTzztfTUfutyQzjYSJzbSd1d6zl7XlcE0sZulvg /FGlVA90/YLTpcXCqau9hqqSKGPdvQqfVMkrvKH2frtDyKKBvbbZN8Y9bhAi0M0= X-Gm-Gg: ASbGncuaMNvFK+Mrbh4c/6zT6o+OZa829RTbe9v6G0BqZhEZ7Cpyx8azDz5axGSasC1 5Azl0evKo20eC4jD3pF2g3IDXb2Tn34NrAK0xhHxasAICkhG1p2GcrBnhNiuDI0fMUr5V1S9W4K U+CHwAFDKwSmEHylnXMGl8eIQvRK1Ou16AnXceLdzEQOUQS2QLwzkNQ4pAEJS3NCx06t2AUuF9L uzM9YQ53zB4aTrB6/vIaOAFPVEFjR4HDzALGGO/DsFBOAcdIc+tsYqIVVZNw8dAQQvr02CJl15w 2SkmFfWJ5vPBupdDMJBhtkjhbFCZq3p/T6H09oIVAXrTe4CXoAaOKz4QeeZxE7Y/yGzTfCnSCOt 3IaYceLOooD2p7C9A57OsSs5Z8pf0 X-Google-Smtp-Source: AGHT+IHje6/Aj3m3WFy82BhNMOZ83g9HkkSQjWHGqlCFxMgpj6dst82siBK7kkVhW9a2sxdihxbs6A== X-Received: by 2002:a05:6402:4307:b0:5e7:b02b:6430 with SMTP id 4fb4d7f45d1cf-5f087224bedmr1275094a12.23.1743670753725; Thu, 03 Apr 2025 01:59:13 -0700 (PDT) Received: from puffmais.c.googlers.com (8.239.204.35.bc.googleusercontent.com. [35.204.239.8]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-5f0880a535fsm637614a12.80.2025.04.03.01.59.13 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 03 Apr 2025 01:59:13 -0700 (PDT) From: =?utf-8?q?Andr=C3=A9_Draszik?= Date: Thu, 03 Apr 2025 09:59:14 +0100 Subject: [PATCH v3 22/32] mfd: sec: convert to using REGMAP_IRQ_REG() macros 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: <20250403-s2mpg10-v3-22-b542b3505e68@linaro.org> References: <20250403-s2mpg10-v3-0-b542b3505e68@linaro.org> In-Reply-To: <20250403-s2mpg10-v3-0-b542b3505e68@linaro.org> To: Krzysztof Kozlowski , Lee Jones , Rob Herring , Conor Dooley , Sylwester Nawrocki , Chanwoo Choi , Alim Akhtar , Michael Turquette , Stephen Boyd , Russell King , Catalin Marinas , Will Deacon , Alexandre Belloni Cc: Peter Griffin , Tudor Ambarus , Will McVicker , kernel-team@android.com, linux-kernel@vger.kernel.org, linux-samsung-soc@vger.kernel.org, devicetree@vger.kernel.org, linux-clk@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-rtc@vger.kernel.org, =?utf-8?q?Andr=C3=A9_Draszik?= X-Mailer: b4 0.14.2 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 Thu Apr 10 18:57:29 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 729A324A07A for ; Thu, 3 Apr 2025 08:59:16 +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=1743670760; cv=none; b=QTp7I2nSs9EJiHUAb4yn665jT5JxP45UWlUDkaj4c0YVtybO1svdWMc7heFRbDRYZ20cOu4tR24CTVdDeoGSMraVF4XffIFJq42613Tz1u6Wp+DlPRiIiYTiYBWINVM6DRHY+4aNq2kemgUCM0V34B+GiyuTWAC9nq2BaGL4teU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743670760; c=relaxed/simple; bh=kEDFa+8UVBQzgPmv5eunRw1YTfTPcSizj/QHfDecNE8=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=L8/0fz7zookOOk7WyhEJtoOtQP2VJ35GA79uFyd0EwRLd85OXbunpx9FJ/n/pKAP5I5DMa97Omj/h0VUuOIt05SbNFkgcYnwzpMc+LBwdKy8GMj/bTGsVFCJ47McPT2pzB6FYTOHLwXsFvbagaLHtBqfzjoZ5rdRI2wuUo36NhM= 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=f8WdtEU9; 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="f8WdtEU9" Received: by mail-ed1-f48.google.com with SMTP id 4fb4d7f45d1cf-5e5c7d6b96fso1228564a12.3 for ; Thu, 03 Apr 2025 01:59:15 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1743670754; x=1744275554; darn=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=f8WdtEU9vO+BsAgldDW/lpOndPTa42kz0y+sHYdaQf5AqJBGzuENzPhiGdb/7TBlNg mcqbzmsZtGLzYoH4qkKw/ExxjDY4a5fUn4BV9S9QYinkUtXM8l76t3vncInOVTJVe3sO lavU/MyOYretXqAtBUsyfhuHHNjLOSWi5Wo5se+z+aEie9xvjLSjeMIIBSWdAIwwxWRA 70O7G+LSOdBauY6bI5R/b8Fur/ZZZ9cMJ8jMBOW1hDLNxp3PTG1WzgONdtnr8XCxvgfU 64tEBAQdjG2T3CVsPYwXzklq0C8S6haeaw7sWLWC9Mgr6BgzoY7V4pKlW3WDuEpdYWC3 nctA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743670754; x=1744275554; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=zep9f0d4foFUFHvL7+wCfhcQlnrOmBCem8a0X84Q4jI=; b=oZkhS7f3PQ0werTXOHSJxS4l7PEK0wQ4VjCNUKLu7xEOWXdgPU8quKzZC3dEwDz+e3 WrRJXO0uwA/0ow/ujt3n/e0ssZahgOoJsemyN/jcJl/4ZRnqtJGEMCJ/oo0y76+KrJg0 SwdTAHKncSJEYAgkPcGXyjRHRrTtdCKtmpmqtFwiMYzg9glUsrHZYky4tT5CfkwNXLpb uENMQmxZQI0yuUCedSWeReUlCuvT7WGaGzFRM/2FOYwAnh12f/RE7oYW4bXp+c3rrE4i rWjscUthNEYG+EThGKy+JOn/ZIDmy3qisy1YwceEmeM1+S1PPtWCcJvzHXfsHjkgd8Iy Sj5g== X-Forwarded-Encrypted: i=1; AJvYcCVMHVudpXD2ovRVj/zVEDL8VBvvOyaDV+u2Dcd0dUQHDs11g10RG3WrsiiNcle/B3ga6Kt41374AZkmLO4=@vger.kernel.org X-Gm-Message-State: AOJu0YwmDQHogdI7c4AEWnQF/IiQ6hAxGtSaGeHeYX4qfgdFORDn5bBA GJ2RY0ihcEf4LxTbbDJYYbqCT0i6D3q2Nz1ZoadvQCS231Rc8q52xzDZ0KWBrKM= X-Gm-Gg: ASbGncuwmWW8Pty9gNe9JXjA3h46nVBMmkFxrbY4pbZklng6SJQn+VzUHHSK/OCfu4r M2B09TObbuCEymmMGWLBHnqqMxIpi3+QnkCdvRJpFTQHFehyzIykkFkep2yYk8JsbF9QzXFoINT qDSQgRTUlYyUY6QMI03nl04q5qihSn3eqhNS7QfomtDrod0tBQIIWPO8svwhlOApaITIF+aPne4 JJEhh8+Zj6hV0HGOWuYHzfuzULG96AOo1Z6eigJQhOeWOKwG69atw/i5AAWv2kMVmxDhY0niH12 9Cy5hXbgxtjylXsWtwjT+AiVRgf/y0ZEI0aJOJmxCXOGr0TqRbmq4x/49G70u2DrB4dRhnxVsGS n4gCzeIFqOA3oFZoP5aDtqxv1j806 X-Google-Smtp-Source: AGHT+IHPaEYedqVEDLo93ujbRrtVNCm/mxpEYABRhJlFkwLFXs8WrbrWDofWHLr/5jqHegGOehX8ag== X-Received: by 2002:a05:6402:5112:b0:5e6:17e6:9510 with SMTP id 4fb4d7f45d1cf-5edfcbe92b8mr15687119a12.6.1743670754243; Thu, 03 Apr 2025 01:59:14 -0700 (PDT) Received: from puffmais.c.googlers.com (8.239.204.35.bc.googleusercontent.com. [35.204.239.8]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-5f0880a535fsm637614a12.80.2025.04.03.01.59.13 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 03 Apr 2025 01:59:13 -0700 (PDT) From: =?utf-8?q?Andr=C3=A9_Draszik?= Date: Thu, 03 Apr 2025 09:59:15 +0100 Subject: [PATCH v3 23/32] mfd: sec: add myself as module author 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: <20250403-s2mpg10-v3-23-b542b3505e68@linaro.org> References: <20250403-s2mpg10-v3-0-b542b3505e68@linaro.org> In-Reply-To: <20250403-s2mpg10-v3-0-b542b3505e68@linaro.org> To: Krzysztof Kozlowski , Lee Jones , Rob Herring , Conor Dooley , Sylwester Nawrocki , Chanwoo Choi , Alim Akhtar , Michael Turquette , Stephen Boyd , Russell King , Catalin Marinas , Will Deacon , Alexandre Belloni Cc: Peter Griffin , Tudor Ambarus , Will McVicker , kernel-team@android.com, linux-kernel@vger.kernel.org, linux-samsung-soc@vger.kernel.org, devicetree@vger.kernel.org, linux-clk@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-rtc@vger.kernel.org, =?utf-8?q?Andr=C3=A9_Draszik?= X-Mailer: b4 0.14.2 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 Thu Apr 10 18:57:29 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 5AF2F24BC15 for ; Thu, 3 Apr 2025 08:59:17 +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=1743670766; cv=none; b=JCGAtc7AsdRr0yGr1s2uqDAT5nHtncBZDiY8GqAFIRRb3nD1370z0DWcQvhzAa1iXCImIzYnfIDa76MIxe+8maWR7f20FooHK8ei6+Z6Zk6CFxiFxmVpNBr8rr/h96q7qw22ashi/6l5f1TYACTlos/lYWaMry3xnPk3mNFEii8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743670766; c=relaxed/simple; bh=YO4AyBJQaRYJNR3M/qB00qaKZDbH/de1lTqDCM4IY8M=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=aid/ClUbb7kRu8YwNXgjUP4PyUT20GZKL0ddgy/H0/SxoEhXhdPg8+8FnZD7PT1230EXG4S5/LASd5rLIAkpa08zhx7UQFJ3wZcbVByvlJGQZQwGM7ENaju1KNgjVrtqq3WAJRJoxID+662LxWHLAY5cs6HK9rajznAALAzqCVc= 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=X1RH6upS; 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="X1RH6upS" Received: by mail-ed1-f53.google.com with SMTP id 4fb4d7f45d1cf-5e5bc066283so1078665a12.0 for ; Thu, 03 Apr 2025 01:59:17 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1743670755; x=1744275555; 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=X1RH6upSsdAkhrGpjvWV0AGKa7tgjMzroifdz8pTqH6ypmDij0g7wIDQtWMZiEOleN iGwfYIBvgmhPs9fdN+NJcRskFUpHJhvpjwuCZFmG+t8m6qSoX7ut5vmuKHsadcArO45r +VQr+eSDc15poiMUVuzlqxKD9zielLTF8BaZwG2n/HC1s5PWdwmOw/Kdvc0EW/aJc2Qb 9Z+OkwRrAJ1ZhVxffceK2m5Kr7bTvsTosDHahGF73rWXiRfyt6AB7wMGZeOT5/cPqt2C Kake5TGuBnd7Wg9cn6L8yi9BVCiVxp8Sd+YvsYHNAlmMT+3CbtB1bHfszg5hMfYoDsOt ttDg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743670755; x=1744275555; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=6KRr6Qm0gpuwraE+pyT1hJyit2ZkidoO0SCeL3UgR+0=; b=M+s6WfMKnbBH2vEWGlnzgg1/2LI7JHpdp+JekWmEqltPlDlqEh4ZPz+LzZcpJzX/l5 r5HGErrCMnGMDYdhzYjg47ZBmu7fvp9P3kd0SjWrSJngcbSpW2J6qnBwLkTphoW0A0af kM4lw51EvwJx7rl2JIhWIPpv/lDMflKkYH5bXdEHmrPYe1ho0MbkGeYnj13071PC4OOT NSsNgJpltXwy3vRx8auZjfHqo8hcFj/SWaTQA6HrH/c52TYychIB233NkQEJ5rOK583g 01m5H8UxK47ziGiKsLj0ldKZw8KDqdCmiYb9qWz76OdYt740J+ER41pR+TYw6JXTEHcK 0k8Q== X-Forwarded-Encrypted: i=1; AJvYcCVtrS8HlCjnaFJqX/ejLJNaU/lbNVt8g7fbElfQS5mMUGvD0GlsDHE/ZWHvaW/ELNK28csMCsgCnF/dfjk=@vger.kernel.org X-Gm-Message-State: AOJu0YyT/1NSn5Yk1+w+zPdzisd/TUtwu7epYK2yjHqn9OX6jIlf5sl1 sHtPbAiQs2nfOpst3574hbM/jUTrNTgJq6iJFrzOmsptvQeD1G70k7Wow07X0Oc= X-Gm-Gg: ASbGncvtyr/pG3kJpPJ/pfT3TTNQzoie4gK0PsBQcRMvLyNj358fGgOp4rvPNoy4ehY ArngT8kw9fksF9S8t2UHi/88QlhRFYxUrAHs1eDjnmv7GJs0XIRzRxIIjwW162fTtxYuSbgMB+v hdGnlbJqiLonknskcOEtdzG0elAtWHjPDHEM9rvAmi7INolAeeJ2Btw/xr+5/2PkXeV2JlIs0YW QGdimFTpMwYUCJtfiCM68dZi5aXGfkapuTAo6NRy3nsGFYS22AtxSy01VpwPTiEx+Dd0+DS3wEk 6YqQGobm+ZK7Or0mkdfNLV8ohe6fOtb01jmpPQTumcPzLJHVWtMHzew9H6DshpbHMD+FwKjwQDu E+lqbgQH6/pSpAdCan55pX2kqoCo6 X-Google-Smtp-Source: AGHT+IHEdGFmSr6KJkifyjVrc0xIRhrTNMltNPXKgSl8ywP+14sm3GrLINtRDwSb2RF2kU14UFLFrw== X-Received: by 2002:a05:6402:40d3:b0:5e5:437c:1daf with SMTP id 4fb4d7f45d1cf-5edfd156c0amr18247266a12.16.1743670754722; Thu, 03 Apr 2025 01:59:14 -0700 (PDT) Received: from puffmais.c.googlers.com (8.239.204.35.bc.googleusercontent.com. [35.204.239.8]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-5f0880a535fsm637614a12.80.2025.04.03.01.59.14 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 03 Apr 2025 01:59:14 -0700 (PDT) From: =?utf-8?q?Andr=C3=A9_Draszik?= Date: Thu, 03 Apr 2025 09:59:16 +0100 Subject: [PATCH v3 24/32] clk: s2mps11: add support for S2MPG10 PMIC clock 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: <20250403-s2mpg10-v3-24-b542b3505e68@linaro.org> References: <20250403-s2mpg10-v3-0-b542b3505e68@linaro.org> In-Reply-To: <20250403-s2mpg10-v3-0-b542b3505e68@linaro.org> To: Krzysztof Kozlowski , Lee Jones , Rob Herring , Conor Dooley , Sylwester Nawrocki , Chanwoo Choi , Alim Akhtar , Michael Turquette , Stephen Boyd , Russell King , Catalin Marinas , Will Deacon , Alexandre Belloni Cc: Peter Griffin , Tudor Ambarus , Will McVicker , kernel-team@android.com, linux-kernel@vger.kernel.org, linux-samsung-soc@vger.kernel.org, devicetree@vger.kernel.org, linux-clk@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-rtc@vger.kernel.org, =?utf-8?q?Andr=C3=A9_Draszik?= X-Mailer: b4 0.14.2 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 Reviewed-by: Krzysztof Kozlowski --- drivers/clk/clk-s2mps11.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/drivers/clk/clk-s2mps11.c b/drivers/clk/clk-s2mps11.c index 8ddf3a9a53dfd5bb52a05a3e02788a357ea77ad3..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 Thu Apr 10 18:57:29 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 3792224BD02 for ; Thu, 3 Apr 2025 08:59:19 +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=1743670767; cv=none; b=GPokwsVezo/W1AqHZCr3vsBXtptX3G6pk/Hu5ftiBI/hETxOnCrRFKmPIzlyD4amRyj7/V/Oh5JIBhxOPTofZvJwwFt1Y/4O7nW6dGyz3L4hLnesMDqptj+MjZJPlQHdCloyStLg8I1eBdVqS46tdphq6fh6toS7NstCJkQatDE= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743670767; c=relaxed/simple; bh=ZQXUgJ+++iTVY6rSOqr6bNKwQtS/wOW8Ul9zOtzlYzw=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=AySl6QmnjoHRwPEtqDTdwCm8GrjYJ1lLKxknmwQA3iCOH4ewuGZw5XOht8OBNmIi4n1YFz3x9URQVfGdtx9CWUksuUdbmjoifuv07GRbeueUQUdckwn/KBefl/dETQvkA1CtYfe1q4VBB5lLO6gbHXiryjS0zJTrbYKRQHuOQgM= 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=C8iwvNkt; 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="C8iwvNkt" Received: by mail-ed1-f44.google.com with SMTP id 4fb4d7f45d1cf-5e5cd420781so1396331a12.2 for ; Thu, 03 Apr 2025 01:59:19 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1743670755; x=1744275555; 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=C8iwvNktwpSWbWVc527210tUBSRsDCd2Mrocj+6FVI6N5sNG1h2ighoMsWH/iuLQE/ t9cTHv14FlIQ/iURwrLomEU5MQ/RR4mwO3H04ZPm/0/12R1i6Phvi07oGQXBDG64fIg4 XpvEV9ZkdTX0EwZ6NzwrU2CEesCpQkCZFpzx/pDVoDlA1aSPm52a6NUWNNZjK31KqTMQ GSvMRt2yD7VlywN7/7/tLVoiTTY7Sym58C6GxGB2uKtKHnU6kjcPk+voFFbjNs8poVxN BJoNfQPY6TkDDk7pIfPgdECeQrD+Wl8X4GgwdVi/JrsVsqxBbtffdXYRPxGJgeKqwso1 2WBw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743670755; x=1744275555; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=/FZ2sB+aGjDu2Ign5/fbJkQ1EFpiN/+kFXshKweSgHY=; b=vAE8ssApUi8wnSkm1FJ/9Y1he0plOl8zfj2qVNHhb++iyl3Txn2/E2Ds7IBTPWUidF HNxW3KY4YTYaGXez+XNLOUyJ+tPj8DHCTMNmfXOnKoPRmvGvxPXZoEcYGt6pfgXpTPu+ OnfL9eDkpQ+iu0TzEP1MUQdGO1spvKLPw0K7h2P1Pb+9XfkfhssYMOHzVzgsyakjyhDE fYMq47j5unbmzUn1SstWicoMw4Rq8OCTBHGvdJ4uYJ9QMMgUy2ZwixWwsDwH0Xf/ftCo DipIdpN1+MrmORF8rV5asGvMn4Nwj9UWy3H14HbmBAHlyTnp3oGT4Awi8XQ5jHhPrppl pWLw== X-Forwarded-Encrypted: i=1; AJvYcCU2N7tlKumWctixI3rKUtE05bQ7uKZfcfxjo+HvoSsvg+NljwgfdhrbDa9v/6U47RzdsEioaT/Y9qOXyBw=@vger.kernel.org X-Gm-Message-State: AOJu0Yz/Rt4BiXNyvhOvy80PyX97taRn7Mz/5Vheo2czykT8gyKN92u9 jW+tK0dvZ1AdPTPMsNnxadplC65yK5bULbB3xcx9w/aBjWp9/M/7R1MlKgnOUIo= X-Gm-Gg: ASbGncu97zFdZhjZ3EDR5XgY+SiX4njqqiyjFGr9DaF/L7403x+5ZQBWAkrBJ4DzB7N /Fyx0VlgjBV5ygWWSd2gres3Su1BCqLCNTsqOZ5isbS7gs/R9lLXs88CWXyCJ1tyOD8VdPuy4t/ Jm9hGGROF035efHF/wx1Osze5zvRdS42T3qGLim9UJ+oJ7B1CMko4rgmg4G2hLvabdxOcifu9aH 8awDEC0N1ApIu5OtNRyJ9Wwva21lBN3KeBENDBNKA4rEFBssW6rRDQ2o0QFUCRoYtHAlkldVpty 6Lx3kuwLR8ElyZuOLSyPgmS/+wyxdhlVUmtK83ru8uytx9DCT+F4LQXZ1yOh2piRR88F0T436vv 9RiPX6reg2A02EW91PQITCZix+r0M X-Google-Smtp-Source: AGHT+IGQNpVavXNQ9/frqDzO9rSosrg/aPUOlz+BV6bBkX6B3R/1cOiAuqPEN4gk8MQb14kPnJPxIg== X-Received: by 2002:a05:6402:40c2:b0:5ee:497:d714 with SMTP id 4fb4d7f45d1cf-5f04ec3a302mr4194362a12.34.1743670755488; Thu, 03 Apr 2025 01:59:15 -0700 (PDT) Received: from puffmais.c.googlers.com (8.239.204.35.bc.googleusercontent.com. [35.204.239.8]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-5f0880a535fsm637614a12.80.2025.04.03.01.59.14 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 03 Apr 2025 01:59:15 -0700 (PDT) From: =?utf-8?q?Andr=C3=A9_Draszik?= Date: Thu, 03 Apr 2025 09:59:17 +0100 Subject: [PATCH v3 25/32] rtc: s5m: cache value of platform_get_device_id() during probe 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: <20250403-s2mpg10-v3-25-b542b3505e68@linaro.org> References: <20250403-s2mpg10-v3-0-b542b3505e68@linaro.org> In-Reply-To: <20250403-s2mpg10-v3-0-b542b3505e68@linaro.org> To: Krzysztof Kozlowski , Lee Jones , Rob Herring , Conor Dooley , Sylwester Nawrocki , Chanwoo Choi , Alim Akhtar , Michael Turquette , Stephen Boyd , Russell King , Catalin Marinas , Will Deacon , Alexandre Belloni Cc: Peter Griffin , Tudor Ambarus , Will McVicker , kernel-team@android.com, linux-kernel@vger.kernel.org, linux-samsung-soc@vger.kernel.org, devicetree@vger.kernel.org, linux-clk@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-rtc@vger.kernel.org, =?utf-8?q?Andr=C3=A9_Draszik?= X-Mailer: b4 0.14.2 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 Thu Apr 10 18:57:29 2025 Received: from mail-ej1-f54.google.com (mail-ej1-f54.google.com [209.85.218.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 03FD1248881 for ; Thu, 3 Apr 2025 08:59:20 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.218.54 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743670771; cv=none; b=UzVwUa71AcQLLGL2kBYL+MAWHaznh1aWZYu3AE+JJtaR6HSjQdATB5GJUgRgoCtGAdpGulAS3EXsOVNJOfpcIWVpr2kpdXhzJAiZ93sazSADNQfjCEFxfBhOGXJaatlDU8mXFcj8IredUDox2JzykvGj37lPyLQKhVWqZc42XRM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743670771; c=relaxed/simple; bh=XY+ty2A6DQsXp5psWmWSxlDWQ8KjYhDNZ4NRtatMswk=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=Rq1LqaPbJk39chac0lv2kgnyGoqI9/xU6CZHJsojVFRa6RnruGBCYBdxfkGoW7KhUMivnAUf4AtPlvD8vN9vMiOkaU/gqwJFM6VfUIUJvd1Ed0EFK/KtUEM66ENPFKCrwoBAVCYtigX5tfGpWq6BYPDMALC2wLjX584SLMunoP8= 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=MK9oQ5Ll; arc=none smtp.client-ip=209.85.218.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="MK9oQ5Ll" Received: by mail-ej1-f54.google.com with SMTP id a640c23a62f3a-ac2a81e41e3so122306666b.1 for ; Thu, 03 Apr 2025 01:59:19 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1743670756; x=1744275556; 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=MK9oQ5LlNoFVd/eiMrTIFte5DX5KBItDdT5nwdslQOV0d74+Rv6+RE8WRrGV1zk/MV fUWV+fldEyWoycNJF1zNTQEOHIKPcfQShWUfdd/4lSVIUBAQsN8MB9WMqq3MxOIoixcw E3sK899aMCyIENr4RWnal14aRubHIRzVFsP+mwIGeE+7FNnOm3+yvVDmcebmOrB29fxj gwegwC857GTWxfjk78BTXuZuqUeOW0y6aFFbao+Jb/BDZIh8MnUUX5T0PUKvSPigU3Nh pKcMGmktO+m6HLrf3ujS2hbuaUmQFOz1L5Am8GBtIpYyjzkqUNNDsp9PjKEl8fQQH1SI A6RA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743670756; x=1744275556; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=ZwiQ684ZfeWSIriRYeiGWHceehqqEuabrmdfgVRjbUU=; b=gLvgOyKpUl2p0ZlD0lLgynPMHCOGNHjskrDFOKI02uUetLQ3cuPFhDMt2Ne5+xq1ob dukUcrr3C6V4+5s1azVRaWC1FDCIKg2EmaDfS52/KEs34QVKGZqXU5DEKVv9tX7yitK+ /bxvbSkH9DtdWlTCrYGrlrRJmbjpjczKmzCtSHaZDeNyM9XOq8OMo+Vms2x5Z4rummA4 elQ9NZ+pB87kt8FuhjFqg7p9FNNLw1toHaUNKIHiXqhwhEM8ZOL0peE/btcPS8Bm+oGg A1GICR4FuZ1lTu+ofdH79g3X6WtYwD3vTiQ1vdBY5wfDvYut27INWTXgy93I3mhlCC1A cDZw== X-Forwarded-Encrypted: i=1; AJvYcCVyPnpwp4kxJ9Iv6gWaREMyXhEcLhvSCGGCLpdpXUBy+r5DHISdwAHpANDKKHQJx60P5WyaVz5zU/Ts91I=@vger.kernel.org X-Gm-Message-State: AOJu0YwlS8h1Iv27dkGtvlzt0QWMTIkoM2qcKgZGZ5zmfWBtN6yyN8B4 Uo+506d/SjDymTbo/EMnMNSmmhvLK0NowVT2yfQT9wAWrVu6iZUEb4s/ezbhLt0= X-Gm-Gg: ASbGncuZTg4k9fG5u5Y+XtJ8gY+yK+o8tHyq+hl3sZFVWO/G1Ldr4kaWPqcnL42BcsV y3t1mhsMOXxRaF7GPZv24Rsuh5Ffz2SfMLsKQdajZqf7Cqbf9VeJARr+W/LsEyRx4mMawaaqpWP dHSCVj80MeD1DVs1wBnIp1mgBhDu79ETd/SWW9Y9mPUVvZTPoe57t3PYENL1Pxiv3U5vIzU4yVZ 1YbOeGE/cVPCrvDMokIuM1jjnpDbizuaI7Q1+/u8yXr+x/a9zqC9UEERSNEKZi+E+pKqso3w4in 2oIL7C2b0tQZqE5lnfVWw3fKnBA7ZtQqq5V30b/aBIhrTh36HmT88ezOsF0KD8jgUP19cCJciJo tYi7+vAQeHyauFq1qEy4SY5k8x+XC X-Google-Smtp-Source: AGHT+IGxqvs9WDVLgnZbd0Q1P61p74Sjm20wNP22/EBrrIOH4ecB3274nitjn+0Tvp+BuQBO2JC0vA== X-Received: by 2002:a17:907:c23:b0:ac3:8895:8e99 with SMTP id a640c23a62f3a-ac7a165e83fmr473122266b.3.1743670756231; Thu, 03 Apr 2025 01:59:16 -0700 (PDT) Received: from puffmais.c.googlers.com (8.239.204.35.bc.googleusercontent.com. [35.204.239.8]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-5f0880a535fsm637614a12.80.2025.04.03.01.59.15 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 03 Apr 2025 01:59:15 -0700 (PDT) From: =?utf-8?q?Andr=C3=A9_Draszik?= Date: Thu, 03 Apr 2025 09:59:18 +0100 Subject: [PATCH v3 26/32] rtc: s5m: prepare for external regmap 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: <20250403-s2mpg10-v3-26-b542b3505e68@linaro.org> References: <20250403-s2mpg10-v3-0-b542b3505e68@linaro.org> In-Reply-To: <20250403-s2mpg10-v3-0-b542b3505e68@linaro.org> To: Krzysztof Kozlowski , Lee Jones , Rob Herring , Conor Dooley , Sylwester Nawrocki , Chanwoo Choi , Alim Akhtar , Michael Turquette , Stephen Boyd , Russell King , Catalin Marinas , Will Deacon , Alexandre Belloni Cc: Peter Griffin , Tudor Ambarus , Will McVicker , kernel-team@android.com, linux-kernel@vger.kernel.org, linux-samsung-soc@vger.kernel.org, devicetree@vger.kernel.org, linux-clk@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-rtc@vger.kernel.org, =?utf-8?q?Andr=C3=A9_Draszik?= X-Mailer: b4 0.14.2 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 Reviewed-by: Krzysztof Kozlowski --- drivers/rtc/rtc-s5m.c | 81 ++++++++++++++++++++++++++++-------------------= ---- 1 file changed, 45 insertions(+), 36 deletions(-) diff --git a/drivers/rtc/rtc-s5m.c b/drivers/rtc/rtc-s5m.c index 53c76b0e4253a9ba225c3c723d35d9182d071607..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 Thu Apr 10 18:57:29 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 A9B19247DE1 for ; Thu, 3 Apr 2025 08:59:20 +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=1743670767; cv=none; b=TX7lG9Ei73Cf5cmRdxWyo9l+Qp/Ypd+m85+7t1Bep/vqA9KLSsLTNnsYbiEyGb3KZQ8JJWsRTy8VDYG1Znb+FzqmUityaqyzEuFA6styF7Nn9Myc7wERzfvjU93KcXkBTOMCFimq5VXK2d/r/Ceu9jqfSBvSyJ99WWj196okIyQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743670767; c=relaxed/simple; bh=sbOiK9Z/f00bA00NdDdv7dxhs7NOGeZKoor5kyfk8Ho=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=IushiUZ/U9LjWVbajsTqNNTq9gX/Qb1eL/gV5ncd7HHY89AX7TJ7EwYITQzLxP5cyGg74WlhzxsdmPaD2NZ1eNGq4WP/0joQdvJDEW/XD6QXDy2Phikt5vCfEcSOd5ibDjUO+IxUVQ3BSOh241WxEMCA3Nu3PTD8pEEMTdFhwWo= 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=rVFmg+Vy; 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="rVFmg+Vy" Received: by mail-ed1-f42.google.com with SMTP id 4fb4d7f45d1cf-5edc07c777eso892087a12.3 for ; Thu, 03 Apr 2025 01:59:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1743670757; x=1744275557; 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=rVFmg+VyKzAk5QLjyChTYgfPRekK4WenzUvJ7mVXRfVE+xZISBqFq2BDbyo5ePSO/i b6UFl8BEfdBBenn5GFtYriyK8o8E1voPDl5bBlWgyhLtBgXU3bQoxCHffp2TDC3CES6M AOihCczzHCz2rZcyyLf7JW3DDjApWgnqPqZrquyI1VMh+bvUbOomVIUyk7tOXSgaLKzN 3ttkcgunBYQ5xFPX+YeZbM9AXNYDjdkjj68hSDh1tFE9PoywQXULvxFF496aVnLSXlXP EcK8DpIsj/tfUO9nadYQuYXaioZ9Z0J7xb9DIGT9njOQ8iTCalhXA7JIHz0hSe762MXd urqQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743670757; x=1744275557; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=RKjSO+JBCZWmTR2KI3Lfut4sG9sU0pAz1iqONtK29C8=; b=Bbp80M6ddMJEdFXyR5To9NTKZpSLnQtdtbdkSnGdnjFXr+9QuZRGr1aSgoES1IaXzo w61eNND0PME+S1WJ6YiE5jUU4ps/kU9Kv/zUeX8CwBBQALS1JYDkXkTY//Y15zmWVYIn qsp/+uDXE2+693xBop3Xcu75Cq4cG9x/4yKAmZjqZI7/hdPyoMY3YqL+vjiZtpeeoPQ0 1WBXxZzSppO83+xSgzba7jT1k9XwufcR22qldk9CH/5quzjdzTd0A8bzpyACLkSVOTec B3LdAmkogToBvqmu71f2Bjim6AtSIEO/t/LbU9OuRFzkk0gwLG51RlOrHFt/t7i46jpK zpbA== X-Forwarded-Encrypted: i=1; AJvYcCUzm0ocozxmVsa4arR9psLuon7jxUQLeow466haqZks8K2Pg2Ntd25ajiU6AI/8IhBJTvrG+hyRNbRDWJk=@vger.kernel.org X-Gm-Message-State: AOJu0YyvKqcin9xa3WL2LV1ErBGqBseX0J/NQQ0c4NmN9LzozOM8TpmR jIwBManaCa28gyavcbGxp5EqiTd/xlZ/bXAnmkWS6N6Jwybrfr+cMhnF74rBnbA= X-Gm-Gg: ASbGncu6oBT+iW+cdfexk3rjduDWCqylR6UtfXSLk/G3IiN8zyQI5z70Hh1OYhqUkH/ GhJdgjrPNrizD1VVTRMjN9lYpJxYBjX4Qy0F9n8u3NAzZH7xx17jiFOt532mF50S0M7sZZFSsBe Jba2m9QUpm0kSCtES/5eFIGx0abDS77geBBecVqjkbPDJ4MmMiSiL0pwE4w1/F+qsHgQf00ZIC5 q+Bn9fyCS4Jf1bJrl8L9X5BDZZn392Ahylfpg6ehJzbPK+0PPUqVclBCANL/5Y/myhsPUlmSuQh 1xyCUFVYyTPD5FIgnk9bInrYY4nWa0tCR03hyVKxnKvIikcoqOVFMJ+ADF6N55SDv82ZhGc+rPR vWboDyr5AZBxQKIP92grILFXXE6zl X-Google-Smtp-Source: AGHT+IF6fx+pJv4iCabB+Gq0Y1FWCxO1y1Kv+NIBC2jENVtzdFZG3oNJuULm8j69u/Q8i/sO7cV86g== X-Received: by 2002:a05:6402:3204:b0:5f0:82cd:500b with SMTP id 4fb4d7f45d1cf-5f082cd5216mr2775019a12.19.1743670756751; Thu, 03 Apr 2025 01:59:16 -0700 (PDT) Received: from puffmais.c.googlers.com (8.239.204.35.bc.googleusercontent.com. [35.204.239.8]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-5f0880a535fsm637614a12.80.2025.04.03.01.59.16 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 03 Apr 2025 01:59:16 -0700 (PDT) From: =?utf-8?q?Andr=C3=A9_Draszik?= Date: Thu, 03 Apr 2025 09:59:19 +0100 Subject: [PATCH v3 27/32] rtc: s5m: add support for S2MPG10 RTC 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: <20250403-s2mpg10-v3-27-b542b3505e68@linaro.org> References: <20250403-s2mpg10-v3-0-b542b3505e68@linaro.org> In-Reply-To: <20250403-s2mpg10-v3-0-b542b3505e68@linaro.org> To: Krzysztof Kozlowski , Lee Jones , Rob Herring , Conor Dooley , Sylwester Nawrocki , Chanwoo Choi , Alim Akhtar , Michael Turquette , Stephen Boyd , Russell King , Catalin Marinas , Will Deacon , Alexandre Belloni Cc: Peter Griffin , Tudor Ambarus , Will McVicker , kernel-team@android.com, linux-kernel@vger.kernel.org, linux-samsung-soc@vger.kernel.org, devicetree@vger.kernel.org, linux-clk@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-rtc@vger.kernel.org, =?utf-8?q?Andr=C3=A9_Draszik?= X-Mailer: b4 0.14.2 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 Reviewed-by: Krzysztof Kozlowski --- drivers/rtc/rtc-s5m.c | 60 +++++++++++++++++++++++++++++++++++++++++++++++= ++++ 1 file changed, 60 insertions(+) diff --git a/drivers/rtc/rtc-s5m.c b/drivers/rtc/rtc-s5m.c index 86ccf666c68059408907c97f2647716ffaad10c6..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 Thu Apr 10 18:57:29 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 8305B24C689 for ; Thu, 3 Apr 2025 08:59:21 +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=1743670769; cv=none; b=W6bTd90n0Qnip3awXKImUP8yEJIGTxZgcPk2Cv2YLseOMvUUI1i/Z4HJ1V9g0K66KmybLO8UhN/rqSFL9yXEVxPqWV5hQteHkllBhdBQ2vZu50JScJqTiEEuogx/fHMLUc2cpszGM6YeUHGySkCuiZtzWV73vYN+5OIgkm5YgWg= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743670769; c=relaxed/simple; bh=OstHPLtut+rInIwPbWUGG5F4uJhc1s8p9YL3Yn+eQfw=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=bYbtgIIeki062T2n3vqCiezKKHXd2gDIL2LKE0SZUyFDOO6TgG9buykb//B63VVLZFNKCBL3nQV5nXCMFIEe3qGr/pb+dDW8OwvNIeRpAcZ7qXCC58M45S8kgTnElKW/3Fd7MtonnzdpHNdOOQjYkfYHFSjhZU121ajWWyCq6cQ= 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=a0/vvPQJ; 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="a0/vvPQJ" Received: by mail-ed1-f53.google.com with SMTP id 4fb4d7f45d1cf-5e686d39ba2so1271133a12.2 for ; Thu, 03 Apr 2025 01:59:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1743670757; x=1744275557; 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=a0/vvPQJ3FYrLA2YsMerto3UUJnPQNJcOSWbV78Xf/+9Y8scEybfd9wx0+nCwPBjoT 9/g7VDYzXVO9oOuheWQnlDIbcN/gyuvKFotrrLuYDNMTqHBxN4G/uMdq9/q/6qTA/191 a/M61ijIigm/uAaspNgGatMc8MBxlgAnooBdaorUGW1MyYIO/s2diRzqEqhIL4zkp15w lPlxAocEKnkg3gRWneFoJLiKJLxH4MSsDNJJ8ygZwZzwHi/YCxLkJp8+dzFR4+iRh2JT Xy4DnknyNT/9pW8Uzfwn2akXdYNcWkNmA2LvEXFWAp4d7/jhXjk/K3UQCnU7eZBcHWFo BGsg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743670757; x=1744275557; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=5zOrAobgqux207RdFFKdVSyI3bSrdsl4WaNtosICsko=; b=TOpXj4IPq29cBXUNzOzpKVQXmQn8Zm6y5ywQdl9V8dL5dnEvjMHAEi9eR+1RgesHq9 fMCgtWSIBBVlDY0ZYD/rB7XAVozGxx/o4rBIJoulgYxu11aVCNkw1eQIWSq2TcEmDuPA fNYQeHHekPT0kuw3lVw6qRUYAcM1tf727Wv48mXQoFpQAaF7nIuQLDhWusEoD/QvxO0Q BNdeAzHqo9B5ePBb0adVDI3Qc9K+QxEUIdSwl30gYYiTeeKcWNOipTcv7wuVEFuynUxz cBkm8G1cws81f1GVQTXUNyKUWnBtZgUz/t+2jMwR+ST+GMXRkCD9PjUwwlS78ItDuc5V zvqA== X-Forwarded-Encrypted: i=1; AJvYcCVr0SMv3OkdSjQ5gs8qzPMHGtULYzDYIZnZTwI0mLFC1qjF6pCLx74EDpzrPmI4WpEBy2K9BJ/03j2UqTk=@vger.kernel.org X-Gm-Message-State: AOJu0Ywz+x2hgN0Ah6Jf/mzW8Po91MU3jYvBvjXlqhEVVpoLOojyTjXS nD6HEw+vzP3GNk5kCTsO6+BEYgG4ddMh7t8DbZoYVOcsIjfT/WQN48/QmETn/04= X-Gm-Gg: ASbGncttrTZKewXsyA9L52HVTxbIN5/QAKU7uV/Ief+XYRegQrqSnbQxlwa06LaeDt7 9jbXY05ufBwCLceD/v5VNscv962e1pHsGh1Mlwk54rQ7Hpx47ABlNaJtQFA/qKIIzr2AC0tkTaL kOMcHtMxbg0lsDFhfACCqibZaK0h8dVmJGhVjGe/postlu9NEwLLlSHJNYBFAA+y5pBUYnnG2o6 KWjte/IECtZCwSywf/mO2ilRQ11Lx0b26oCzT/zTNdFTFjEkTJAHWc30Ak3em2+qs2CPXBaCyql jIBHzHKoCB/SnqmmUwYj6oyeQJcNZDUpXDqRNc/30nsk23/S5j2d4sRYsaXEmMAAeT09kaXPjic i6qpuFEFsr6eXaD+nd22hHDXl8GN4 X-Google-Smtp-Source: AGHT+IHsXg/hWI5W6L2JAbs5tQ+hU9M5VZLzhEtJEwJ8sjShCEtp9J7Km89nFH/JtsSi3gQsvsWdtA== X-Received: by 2002:a05:6402:5114:b0:5e5:bb58:d6bd with SMTP id 4fb4d7f45d1cf-5f09300645cmr1255191a12.10.1743670757293; Thu, 03 Apr 2025 01:59:17 -0700 (PDT) Received: from puffmais.c.googlers.com (8.239.204.35.bc.googleusercontent.com. [35.204.239.8]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-5f0880a535fsm637614a12.80.2025.04.03.01.59.16 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 03 Apr 2025 01:59:16 -0700 (PDT) From: =?utf-8?q?Andr=C3=A9_Draszik?= Date: Thu, 03 Apr 2025 09:59:20 +0100 Subject: [PATCH v3 28/32] rtc: s5m: fix a typo: peding -> pending 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: <20250403-s2mpg10-v3-28-b542b3505e68@linaro.org> References: <20250403-s2mpg10-v3-0-b542b3505e68@linaro.org> In-Reply-To: <20250403-s2mpg10-v3-0-b542b3505e68@linaro.org> To: Krzysztof Kozlowski , Lee Jones , Rob Herring , Conor Dooley , Sylwester Nawrocki , Chanwoo Choi , Alim Akhtar , Michael Turquette , Stephen Boyd , Russell King , Catalin Marinas , Will Deacon , Alexandre Belloni Cc: Peter Griffin , Tudor Ambarus , Will McVicker , kernel-team@android.com, linux-kernel@vger.kernel.org, linux-samsung-soc@vger.kernel.org, devicetree@vger.kernel.org, linux-clk@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-rtc@vger.kernel.org, =?utf-8?q?Andr=C3=A9_Draszik?= X-Mailer: b4 0.14.2 Fix this minor typo, and adjust the a related incorrect alignment to avoid a checkpatch error. Signed-off-by: Andr=C3=A9 Draszik Reviewed-by: Krzysztof Kozlowski --- drivers/rtc/rtc-s5m.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/rtc/rtc-s5m.c b/drivers/rtc/rtc-s5m.c index 0d8783577bab4f4ebe61050dbd68387d970773bd..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 Thu Apr 10 18:57:29 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 3A108243951 for ; Thu, 3 Apr 2025 08:59:20 +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=1743670770; cv=none; b=YgwyTRev7tOswrjb/25npa8lSqJD3Bez9WKOht5TInc2nxkCqZlZl4MZFNJnFoubWYSokHSEGAlOPS40RqUnaU1c0ZWEUB/CWGgptKKMhoqkF8rdUfvoIgkl9Cvhjxc3NNp/n9divUMHvQAlp/wCkkIF5JJ4+x5yAaxuNkrpC7U= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743670770; c=relaxed/simple; bh=X823p7d8VeG19dJIhYLsSWA3HtswWk7j0eIGd+yYPcU=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=P7ClEStqj3ZJRb3IT/doHXKrKTYKGItLX+WTd4+fCJ0E42adG8icpmvDJtiw6rfDFG27tWQ5ltSnrQD1Jo+lp0T4LVI1l/jZcKLU+3+vnPyoX8ZaoykF2F57pDVXhp/39ezy+VilcFCDSPrvo/gkReaW/q+uNjXmeoaRPPIrips= 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=Hhk8vDhb; 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="Hhk8vDhb" Received: by mail-ed1-f41.google.com with SMTP id 4fb4d7f45d1cf-5e5e22e6ed2so1027425a12.3 for ; Thu, 03 Apr 2025 01:59:19 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1743670758; x=1744275558; darn=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=Hhk8vDhbqcYUwCwLviKA6jMQYEXZJsFvuMh8G+Xqvfdnf2TKNr0cc1BjulGiJ/rXlj GsFFn/4bG+va3UMLRfaFSkYMY3d84AKVFWFXQAU9SrSByg/0//BUbzK7J1OnXa7DGgKD 4hd0Jqcx1KpjeojwJCkAZfVLUU6UP2HIvkscBwtJJKDkauUVoJe1htL7wKTKwxZyS3PG /lpiDyrO6MkTboVoXfTxqZTFbnc9mhizkOpLAhlVqVtASUfsPKc+1p4MiP6eCueamnsu o5MO68lllCRJZEx6/2sIhoyqxKOqq34CkWBzSf85cX9eoWOrN3MeXfd0Df+BDtCmIiY6 6ygg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743670758; x=1744275558; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=5TCn0wifCdb3UC3ucEx7Zkhg1UJ6ww+TPiSGCbm38yQ=; b=SRB3Sz5F5sH50dNKc5RmL6N0mytsTbyVrv+MxPUHTIGzNLmZVYAO+wiM7Efi1Pl9w1 wTBhHP8TWfJl+YNSVZrY3ca86qmYzkNrquoGma6zqFoBGe4CkCKOT06Nl20+mp/KsMQ9 CirL6qRbQ8GcScWG5gtgrjB8TCxe+1zLLQG4Uv090/zVLmgYy/kgMHYTCBbCjHnAP1V+ uEm5+1VMRRCz+/DwC/aTrGefBXW70rBJUd6jbWuFp3lTkuafOaQMSerdPJk3kxbbwj5Q 5xZxZ3R0zxTKHc7uipPpQZZvek4PSblZceLKjFyFKTsgXLgCZKUP6A7zfznNkgSZKZgp pSQg== X-Forwarded-Encrypted: i=1; AJvYcCWUfj70ltW3mz/3v9g6Lu2POIVvkYt3BbWoYdhpeOCvUMWGzb+VRP5cdz14kbd5wDp/p0Kghd+5X8b9rtM=@vger.kernel.org X-Gm-Message-State: AOJu0YxMtN9CEXSdPW4bvkOz3mra7HPUGtis+lUgVVool9M8ubJPD7lh 8ky2CmU5FJKHOpGZvJimUFoJfy9cTNdT0aCAe2aIgmtjYdDDVcD1VjyfIQDNls8= X-Gm-Gg: ASbGncs8Y5yUncPnGIGUOypWZ2udawM5rXMiaCVR4DSO80yfzr6u6l+sJMkDzt5L5j3 cpYrXJotjvVnx0wrZaMsrmOSm9KHEHPxShLaCvfJL0OaqzXHPEQ3J0omyBsK8P2jZkSj6loF88S CZmDzB3jgumaLFeE42uxxdpbaSYZnln3nW7bz+eubLVbmCN+vmZ8TxObfQEBbjsg9KNACFhAIL1 7yMzTSmjLZZmC51GAUCWcKOh6njp1NxoEwjmPbb2bdaaVNVTSBvtlNPKf+Utm149VCJgny4vpXJ GP4NgK+Nj3PhmOWVJ3CshwqlLL7I8xHcgwKn6X14UV3bwJcFY3ztJtTlkz7MkkwNzKKNO49CXT4 Y0fDqy3T7CQXwKYkPXl/3Ife/SbI96fX6/xhDrA4= X-Google-Smtp-Source: AGHT+IGkYnX6rQ6GWjWnABJsBjhI2LJzWv6z53In1ISOpBusxw5cuCX0wciz6W5/efFFB3SIsEOq4g== X-Received: by 2002:a17:907:d25:b0:abf:4708:8644 with SMTP id a640c23a62f3a-ac738bbebedmr1751267266b.43.1743670757782; Thu, 03 Apr 2025 01:59:17 -0700 (PDT) Received: from puffmais.c.googlers.com (8.239.204.35.bc.googleusercontent.com. [35.204.239.8]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-5f0880a535fsm637614a12.80.2025.04.03.01.59.17 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 03 Apr 2025 01:59:17 -0700 (PDT) From: =?utf-8?q?Andr=C3=A9_Draszik?= Date: Thu, 03 Apr 2025 09:59:21 +0100 Subject: [PATCH v3 29/32] rtc: s5m: switch to devm_device_init_wakeup 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: <20250403-s2mpg10-v3-29-b542b3505e68@linaro.org> References: <20250403-s2mpg10-v3-0-b542b3505e68@linaro.org> In-Reply-To: <20250403-s2mpg10-v3-0-b542b3505e68@linaro.org> To: Krzysztof Kozlowski , Lee Jones , Rob Herring , Conor Dooley , Sylwester Nawrocki , Chanwoo Choi , Alim Akhtar , Michael Turquette , Stephen Boyd , Russell King , Catalin Marinas , Will Deacon , Alexandre Belloni Cc: Peter Griffin , Tudor Ambarus , Will McVicker , kernel-team@android.com, linux-kernel@vger.kernel.org, linux-samsung-soc@vger.kernel.org, devicetree@vger.kernel.org, linux-clk@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-rtc@vger.kernel.org, =?utf-8?q?Andr=C3=A9_Draszik?= X-Mailer: b4 0.14.2 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 Reviewed-by: Krzysztof Kozlowski --- drivers/rtc/rtc-s5m.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/drivers/rtc/rtc-s5m.c b/drivers/rtc/rtc-s5m.c index 7b00e65bdd9c25b3426f92355f8ea36e66c3939f..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 Thu Apr 10 18:57:29 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 4121024CED5 for ; Thu, 3 Apr 2025 08:59:23 +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=1743670771; cv=none; b=FfDYs6SS2wOvNheKn69pocaeQQC49nyo3Ma8EZrJVHRWopzwmkk7v8PJn1Rut5gEZ3HlaE7fOJ+TWAKAyfBYS6+2xE45itdukFs7659gu1AVvl3M3DU+LAi9wIVfTO3Rb2+eRSq95NQ8nj6gILFSlpcU7zT5Zh0WCRVxRdB9T+Y= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743670771; c=relaxed/simple; bh=oM7nIChVy6AnX102peSIS6No2vZfRMNewLZjt/WfrE0=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=tuVdhop5uz/HHdIBBrfAiDaEClOeyZJU8tXTNtJ+0N7RzLSq3dcfK+J/TV/SGeLAaXwWaSvD2+wXjAUN3chhW9rWTUVRopmhMXJxVKm68sSJbf5GUDaPH23Tt5v3JM2xdv/qOf6dn5HsQw1G4qaI0BWyoptV7vkyt0yEDbwV6pg= 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=xnmhaCd9; 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="xnmhaCd9" Received: by mail-ed1-f44.google.com with SMTP id 4fb4d7f45d1cf-5e5bc066283so1078749a12.0 for ; Thu, 03 Apr 2025 01:59:21 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1743670758; x=1744275558; 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=xnmhaCd9Zm5KVsU5ibOL1l6D3ybGyd/eToDjJmQT5PDvMGfSd++pD138Ee+e7c6AnE PrQO2B2imaSLq/6GihlyV6wQHVAHrH6pO7KtpEbpQ8ZYRP2wm6RtQ284Gc+91DR+hcvV CLhaEMocZTXuQeDi9dCAcBXJZHxlg+TRAfaotPV/Nj+Yh+3inN6eEgLoA98Sv/+Xzbal bVc0/DoClIL1mqzeOmFd0JFa2UjruYi1p7J6JvZ1G+27kCpVi89RAUkyeFumJtofu1FV +SQlFzBpWsj0q5C3n2rRHSNCquYbhdkDctbSt7fXnz5Trj3I0Q03JjTYTDSOjJpz6ktu qBaw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743670758; x=1744275558; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=31t2yEGURbHN+dYzF9A6q02DZ3VBH6YOfFo8ts0pTFs=; b=p9VnMP4t9ktiwK/akQieyrYvHa5g7fzobJ9+uJHB8ok4nUfJE4tIZrR0YWh8uMquEc 2aDYNW/KUxL240dQHNUWOkbJHjLQXhAhtROqTWC9cppI/rIuW4meMuY5HNEeMyNGLcYI cA9Z2g1d+VBBWZfToVLUJGYU6NGuUxWGQP3e5YfmXY3blNHboNNmK5RRllx+I2YYImj7 owG2VObzgfC4kq5YtKZRsNxIAq7gTm51RrvUeghEyECEZKlMLU3CYXqOADXrWQxXmmkG zj31S8BUX6xFGp1GmWKK5UEMyo8fWubM25glg5o4FmXnjImtHeVSDjDEg6JzTdE1qO8/ fFJA== X-Forwarded-Encrypted: i=1; AJvYcCXz9fJHYhQ7hESpLMRCumH51etwHLpbRkkqyL0EbRlvixSGnIioTuhyuUPi5hMk4fRlncvkKNVVg/MT+78=@vger.kernel.org X-Gm-Message-State: AOJu0Yxf59p7pORNsuh36YLAnYRbk0TE9w03crmKXNqBXtOQeJqZ7Wu5 Dki1N9Q9YaE3LOol7Hii7UfK5UkPbfAOsuLuOi3w86IF4KmrQv7R5hiknxEuY5k= X-Gm-Gg: ASbGncv7jdxXtF33x7Zza6X8ZGXosfl0v/qZcXlsQvBgJ7xRxaYxhthqIkjOHlhshQ5 VXr1c3AqiL/5V29yVF2UxlaYazGlhvN6VFneUCdqJ1h7rhlmoDBGWYA0qZdJSc7PbozH0hVpaEn aftYA8QqLWONnph/keBqvEuFs7DmBPJxf/Nwmj46Gc1j+libtWym6oS8iGYAfxfOiaJEClN0XGY 1JKydz58WYEjU/tTqeO8FHmH2jJASmCNAggUa6roh2COGRN7Hrx7C2OjSkcXUgQKFQaqCtAvfOr UGbiN4IANKeNGw2kxFX7zzrgfNKuQ9FkoVdiHqKjoHiLJGpux7gh63C+f9PvaBStOATvbPazT2p s9NOXcrb5i9gYybzwwRydAcUNO/6d X-Google-Smtp-Source: AGHT+IFEc5fuLq8ADhguEhOTmTcH3HLdnlMJdU+ak+pq0TlS6iw1Do8PDAk7ua5/zSdVwdumNPkJLg== X-Received: by 2002:a05:6402:40c6:b0:5ec:f769:db07 with SMTP id 4fb4d7f45d1cf-5edfde2199fmr15498579a12.29.1743670758300; Thu, 03 Apr 2025 01:59:18 -0700 (PDT) Received: from puffmais.c.googlers.com (8.239.204.35.bc.googleusercontent.com. [35.204.239.8]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-5f0880a535fsm637614a12.80.2025.04.03.01.59.17 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 03 Apr 2025 01:59:17 -0700 (PDT) From: =?utf-8?q?Andr=C3=A9_Draszik?= Date: Thu, 03 Apr 2025 09:59:22 +0100 Subject: [PATCH v3 30/32] rtc: s5m: replace regmap_update_bits with regmap_clear/set_bits 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: <20250403-s2mpg10-v3-30-b542b3505e68@linaro.org> References: <20250403-s2mpg10-v3-0-b542b3505e68@linaro.org> In-Reply-To: <20250403-s2mpg10-v3-0-b542b3505e68@linaro.org> To: Krzysztof Kozlowski , Lee Jones , Rob Herring , Conor Dooley , Sylwester Nawrocki , Chanwoo Choi , Alim Akhtar , Michael Turquette , Stephen Boyd , Russell King , Catalin Marinas , Will Deacon , Alexandre Belloni Cc: Peter Griffin , Tudor Ambarus , Will McVicker , kernel-team@android.com, linux-kernel@vger.kernel.org, linux-samsung-soc@vger.kernel.org, devicetree@vger.kernel.org, linux-clk@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-rtc@vger.kernel.org, =?utf-8?q?Andr=C3=A9_Draszik?= X-Mailer: b4 0.14.2 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 Reviewed-by: Krzysztof Kozlowski --- drivers/rtc/rtc-s5m.c | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/drivers/rtc/rtc-s5m.c b/drivers/rtc/rtc-s5m.c index e8e442c503064eb4e570af5bf7dcff6bfa7f4656..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 Thu Apr 10 18:57:29 2025 Received: from mail-ej1-f45.google.com (mail-ej1-f45.google.com [209.85.218.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 4981424CEF0 for ; Thu, 3 Apr 2025 08:59:22 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.218.45 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743670769; cv=none; b=UbMidmVqmDufkw2acmlR/CTuNjaQW7EfG1gWkAswmpuDN8Lei11h3zIw37ADjp2UHRTB8d5Up9orO1RvWvw7nOFHp67ziIFr7YxA1+7ugLyKpy7+1UM07JEleQYAFV07jCOqwNSY9f8v2KcRADav2+y8asNiMaYYUaGTzRTbxBI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743670769; c=relaxed/simple; bh=GESUUSr32C5v+JmyTkWMyaf4NO/174Vzhegyb1L9aRw=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=DxJnxbY+zbaW5TYsEz2KPT2aUm6famp+4ryQ8EgPOtj0wUpSMeSe6ax+KnsshsuZsrpWEpXhfMM6HWQhe8TBfdobxW08NtlaLPVOfqxL/1Hv+eSVLHQaa9XlneYqkj6K4XTysB1nC5qN6LdnKnbpfHPpGfFSSngEIdRwGnEXgNM= 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=BjAy18u5; arc=none smtp.client-ip=209.85.218.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="BjAy18u5" Received: by mail-ej1-f45.google.com with SMTP id a640c23a62f3a-ac6e8cf9132so123717966b.2 for ; Thu, 03 Apr 2025 01:59:22 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1743670759; x=1744275559; 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=BjAy18u5MDej46oSBLQj9uVL1Sf6Rm4PoIgfKOjGinEeCUa9eopc4vUN5LTSw8eQ0O KTh/zspz9CGcOj4RXCBWPauFPj5z3+7caeFdcB3iMMHTiztBuqFll3G82TeCMsHP0uoO gRk/E6nTEEj/R+RXpo6u2RaPjb/3UGgr0PIugrhU4jbkxD1zmJ10jfQU76aLRnMq6liz wnRlZGQfZF47MrHsz/ttO99IjC19HSV+bATLwDazmoLahCcuXevWH71OM259jXhQTN+z UKI15hg7XN9Lf80ZWYNViOMEuCHA2wyOsXw5lVRCisF8y43b2auBJXwzz9Y3lNWV9Np2 +wcg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743670759; x=1744275559; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=PSEpA1j4+zmEauzOiOoF/mVKhD6CkjV25eyM5OWecNk=; b=FZY2oVvHntXIfJZmKkXvky44ymS71fHZ06i7I/BanRobbDNFlVci9eosO/T3LQb/cZ +Ks6HowY6lLYF/EoseCciuqM4JSWacwYhvgYdTXpPj/N4UmdxWN7TSw5CtIjDueh8S5x wQyqE0dpIVIRXs+FDgtUlZ+I5cYZbNt29nwBUF3E8crUFIlfxVwChhMZntiZNApNZPTK ekAU6EuvANNvvoq2rSmmEUu20ERGpkvJDX3/GeR9VandOMHh+jWxeXxxnZbBbyGFPSdd WXdVaLpLZgAwsHXsNcMVVyHNKujFteKQKbBinmRM2K8q2Bzd5+arf8WYdTgcC2LRCl9p fRbQ== X-Forwarded-Encrypted: i=1; AJvYcCWU02Gf9g486Vq1hdIKgVAHyP4szQXw7NSMglYLMocOUH5l1+Iyf2QjekxogUarEIdDoh8iW6wynODhRZQ=@vger.kernel.org X-Gm-Message-State: AOJu0YyzdfxDc0WMTjvQ5w3w0H5CEB2OwDvSbPPRN6ufRRmaAAmqeT9R VdOrPCH1ZM96xqAtj4hth3VIxeXF2mSYYPEdxHX7vu+8ApvPrpLCFV/erFF9T3Q= X-Gm-Gg: ASbGncvNJ9TIlO4XXaMY4Jbl4UztXHsTwfGVUu/tj2ptzje93bV9u7QJ0yBLHIgqhKq duwcYdKdiZ1aSiUfvQbez/cdlWLfkhSbAR1VuH6GcJ3di+xDcEvx1bKyXobC3+MwNo7aKjUKA9r 883nbMKbCajQqBlM+VwYnqMXi+d0EfDluLRCpbtQ7MgDf7ruh9CDoWzysjkaey5tUjiYk+27wXg vqrQK/n3J4MGtpVclnUvTZfsBWVq+3LcoePGgNcq5WILHk32ihYmVQzuymkx3JugnIBtK4jgLmz P8PPWfEIz5Ns3UEni1trPdnPMwUK7WgEiS9iFyieyxs0KNLp6A7cNnTX5N2zu2AdE+R5/ekkNmH Emo40bIXWy7q+oQJNSWxbW34esW/3 X-Google-Smtp-Source: AGHT+IH778midZRWwNsQwTegqpsc1cU2/xzEiQMSkFa1kd7UfUZDcEcX+jZvLbDF0curTDRXNPPiPQ== X-Received: by 2002:a17:907:3d8f:b0:ac7:81bd:60e3 with SMTP id a640c23a62f3a-ac7c0935350mr136224366b.27.1743670758907; Thu, 03 Apr 2025 01:59:18 -0700 (PDT) Received: from puffmais.c.googlers.com (8.239.204.35.bc.googleusercontent.com. [35.204.239.8]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-5f0880a535fsm637614a12.80.2025.04.03.01.59.18 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 03 Apr 2025 01:59:18 -0700 (PDT) From: =?utf-8?q?Andr=C3=A9_Draszik?= Date: Thu, 03 Apr 2025 09:59:23 +0100 Subject: [PATCH v3 31/32] rtc: s5m: replace open-coded read/modify/write registers with regmap helpers 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: <20250403-s2mpg10-v3-31-b542b3505e68@linaro.org> References: <20250403-s2mpg10-v3-0-b542b3505e68@linaro.org> In-Reply-To: <20250403-s2mpg10-v3-0-b542b3505e68@linaro.org> To: Krzysztof Kozlowski , Lee Jones , Rob Herring , Conor Dooley , Sylwester Nawrocki , Chanwoo Choi , Alim Akhtar , Michael Turquette , Stephen Boyd , Russell King , Catalin Marinas , Will Deacon , Alexandre Belloni Cc: Peter Griffin , Tudor Ambarus , Will McVicker , kernel-team@android.com, linux-kernel@vger.kernel.org, linux-samsung-soc@vger.kernel.org, devicetree@vger.kernel.org, linux-clk@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-rtc@vger.kernel.org, =?utf-8?q?Andr=C3=A9_Draszik?= X-Mailer: b4 0.14.2 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 Thu Apr 10 18:57:29 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 30C43242914 for ; Thu, 3 Apr 2025 08:59:23 +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=1743670772; cv=none; b=hfEeOmEtR4pYA4iOhaYFTS4zIhebgwzmNw2AUc+EGriaayXx2PeuMsAw1oxDX0ThGQLBGKtBpGz8CYGuppU44+uof2phLDIEwRYoV5Q6BWJio3DXvCCrkAI26Fnptvn79Dg5A7uAQfq+m+OWyfBQstexa4HuaP9dKTcPO7z9V9U= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743670772; c=relaxed/simple; bh=+fAAJ/+/3MbgFo3bOsjQzn5S6tmp2xnmlCT4juP9rJM=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=JUJp9y/o/JDyvAzSAOF2S3hLnvYp2RnfH0uCP9PKW3sIIo5BRtUz5gAYTym9lhDVYY4SpF30UKDpH9Z5fOWGESsyqP0LjktvXKCdPu7m+pTc+N8E7iwG3k8KESEgP6v29Ragcz41U5YUDeFKQTDrTVMKLcxx4RGbn+CYDUs14Jk= 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=sKCadj3y; 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="sKCadj3y" Received: by mail-ed1-f54.google.com with SMTP id 4fb4d7f45d1cf-5ec9d24acfbso3304841a12.0 for ; Thu, 03 Apr 2025 01:59:22 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1743670759; x=1744275559; 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=sKCadj3yJo3JCJcQbG8ljCh98ao0jmPNWJjFoo/83PbHsIxh1WRJrXCyEFNnjHnnaE dUnPsC5DCafvc49EySVtc6597ytJncgH42PRCo04bQmbkSfbIK8oOz1gxmGqWtISnEP9 Y81Do0JzErnbwsdNRiAub5aQmyDszrvT6IHnEJrMu+1HIThiYzIVbUWrNYO/s0sU7+qz K+J2UMlFbL96hqJRIuonbrQU/oO/dJBnij6zsYA7161bz6kXiOSV0cWg/KcDTunezmP2 ZrjZDHF2uyeROZ/8ugTOmcsHo+sKLhOhcfPy82/jB/eKIoaIUD0ra9VN+O58Y+igJE2w fdYQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743670759; x=1744275559; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=IvD3NPE37fI+ZqUrH7EmoQBagetQaG70If7tawsO/t4=; b=eTCl/fN3WqDFrVqhZpHIJum/hgW+Ty9laj+B/kRdPReKvOOC4EBoOTY5HVjcXs5vbn 8bOGOpm3kuJ15AFuz3bjd8EY66E0CFQU8VXKIA3IZKz8X+wXhWt1S+SQp05+ISvxQuYC EtNiaG4BzRPbyDIu4wlnqnwcpJSr1Y0R7dXH6F4lAR9185Wwr+PNFmQtylmJh+i8j4mE xrlzTk3lZlTByjrhaZvb1A/vql6sxVdTZSB1giRSxjBY61zyy3kg6pqg72+Iyj/yZ2fy wwipQOmwUACrpy5XIdpYXDzzqPHI1tp/F9zUOdY0I+irxBiV/5LEYshz+w1L8UfkorvA LEKg== X-Forwarded-Encrypted: i=1; AJvYcCXwacN61hiTqtIEcqXRgmyAStAEk7Lha0wFG8tBnIlge4KEXQxTdPTBH6ma307VHTmZeKpzbXFKtjzjwL8=@vger.kernel.org X-Gm-Message-State: AOJu0Yz/Eail1bsBdMY2RGaQTJ0rJfTyy/2zaKoK9Ya7N6XMli53E9c9 wKALw/+MJtdTl2GVoMs0wGtsFpklrGzxNj0816ePbgy90sYj1PDDXpDbW3DScSo= X-Gm-Gg: ASbGnctjXqDPo6fAXBkZ58TCEYMc00Z5dymH/jo/yW9/+uWSWmrWMJ25hy1ijpRNlE7 agbciPVZliFM9tNpqaOgm9H0p6Xu22B3mj/NbT6t+Nu3EMEAXjmUh7bxbNzNTtqva+jCmeb6nyh a5A28+qpK8PcZPxQLZNChTLkEoYqJqP+ysEe55Tp7aLkJ6Wjp5ONd2mE0PKVU6rn2jnu4382jZn Moqa/4PefSPebAUt0/XGf8FEg70nTUcrKkvGHhk8+9uiVuLCuWxmzIFfeiDV8UFizL/8SA07HP/ pD2KZm42TfKPz4RvzsjMapQlKAPIMm2LW0saAzWVdeXAry16LR6neAQST11nli1PgH34sh5obAo Pntm5MbRfdS3qfanc5g3XVqjXahjqs8iQ6l+lB5s= X-Google-Smtp-Source: AGHT+IFW856PFsje+adb2s76FgPUdBl97yj4uiiEZ9rOztAG85/+V2CgHnNshHz2zvEqYifTEoo+Rw== X-Received: by 2002:a05:6402:1d55:b0:5ed:5cf6:e168 with SMTP id 4fb4d7f45d1cf-5f084177cb9mr2170046a12.9.1743670759408; Thu, 03 Apr 2025 01:59:19 -0700 (PDT) Received: from puffmais.c.googlers.com (8.239.204.35.bc.googleusercontent.com. [35.204.239.8]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-5f0880a535fsm637614a12.80.2025.04.03.01.59.18 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 03 Apr 2025 01:59:19 -0700 (PDT) From: =?utf-8?q?Andr=C3=A9_Draszik?= Date: Thu, 03 Apr 2025 09:59:24 +0100 Subject: [PATCH v3 32/32] MAINTAINERS: add myself as reviewer for Samsung S2M MFD 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: <20250403-s2mpg10-v3-32-b542b3505e68@linaro.org> References: <20250403-s2mpg10-v3-0-b542b3505e68@linaro.org> In-Reply-To: <20250403-s2mpg10-v3-0-b542b3505e68@linaro.org> To: Krzysztof Kozlowski , Lee Jones , Rob Herring , Conor Dooley , Sylwester Nawrocki , Chanwoo Choi , Alim Akhtar , Michael Turquette , Stephen Boyd , Russell King , Catalin Marinas , Will Deacon , Alexandre Belloni Cc: Peter Griffin , Tudor Ambarus , Will McVicker , kernel-team@android.com, linux-kernel@vger.kernel.org, linux-samsung-soc@vger.kernel.org, devicetree@vger.kernel.org, linux-clk@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-rtc@vger.kernel.org, =?utf-8?q?Andr=C3=A9_Draszik?= X-Mailer: b4 0.14.2 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