From nobody Sun Feb 8 18:09:25 2026 Received: from mail-ej1-f48.google.com (mail-ej1-f48.google.com [209.85.218.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 0E82C1E3DE8 for ; Thu, 9 Oct 2025 15:25:06 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.218.48 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1760023509; cv=none; b=BtOCb7QABU0BQcwS1d/61fQSYcBasv/dmrLA+qsxUnyuDKtuQhbdJs505rT8rtBO+8f/V7AFP5ozqIFa3acV4uEKtnJCP9HVPcSM6Nbb26WMRMgSeBB9jWLEp8QCjVqrcr1YSzCdEHtD6iHCxCursMYw9c8P8FGMJ9dIbRJk5ko= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1760023509; c=relaxed/simple; bh=81jybtZ3s587CJJH0yCGA5kZLJlEWI3joc5fyisw8bc=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=eQNbyPN5Or+y+PDkSTy/R9u3dMNe8RsCVRYpGx/w2tzSsorHVgnbjbpLek9D0gQXicK9M0qjeyvYzPh9v36cGc2UTV7Owns2hFrHPr4Lf5HUA4CEkAF62VtKzXqeD2Unk2lLqMbF1CoIV2V7MHrdT3N1Kd/YrH9Xi0oDZOY+z0A= 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=fEh42Sh4; arc=none smtp.client-ip=209.85.218.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="fEh42Sh4" Received: by mail-ej1-f48.google.com with SMTP id a640c23a62f3a-b4f323cf89bso194169866b.2 for ; Thu, 09 Oct 2025 08:25:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1760023505; x=1760628305; 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=B84jNTg7Yo8n7BGFGvQ15A/U09IRq0iw+ObZ/DfjbTI=; b=fEh42Sh4ZTts64I9k2hI4wxmvYV/aV2JAlYlunGkCTwvM9L1hUhnv7+dYxSRe4YS53 pj3QAapZrKEXQIPUuCZ7bvfbr8HT51lpgDtkdd1CHWkhq42Zf9WMzdoyfB6CLtUSZsiF 6fuIHhLr8YETYNth6R6Cavjvxz8YKrQzoab2cxpXsHMucxSKzQpQTxcXzYbe5ZtyMtCO kZ/xcXEO6gwJQvsPKdR7MBbcT7oXMCELC5KXR/POQ/v6+wquLb0Mxe+yPQ4eRXXkIh+n +EgGyx4mL9FB3Gf6b/MZCemuqlIPSMSHcetaEhukHJcexbl4dH5KJDvNDZSbTPY+Yicx cFCA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1760023505; x=1760628305; 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=B84jNTg7Yo8n7BGFGvQ15A/U09IRq0iw+ObZ/DfjbTI=; b=HmfNaLC8QZQM3btpONN7E8U/EBa4Ne94+KnqRZ2LnFNdoFme6KDkaruzi/BAb6RXWJ cumy43HXYUZqDdl/2BlzwgahxgH/iSN6GCQTYJB9n9SQjMPL/n8AHO67kSA+yNrAoZ1s sWLfYHi/pSUrO0PKWBaSWgQ/a3usMGa2d3fAjAX/F/EkJccgnsb2aqXNzTqaM+1vPkCY OmoLzql3bEEkLF1+HX7jDtAF4QiCKMZHzUsLMSRcjbi7esbXMF4HTwU+mf7hAbuC+mY5 +GFSB9cejodEv2cGsSpo8J4RgSJOgTlrY8dlnyhOBcab0ksvtZ0nQT6K44jyemdhFI6e 8rfA== X-Forwarded-Encrypted: i=1; AJvYcCWafvtMv4T5AacxWq1XgOE8Fa4nNvKe6Zgq6buKq83jXx1eX6+pKsg9FdQV4muYp0aNU/wd+Hcu9DcZ3so=@vger.kernel.org X-Gm-Message-State: AOJu0YxTRq2BTqLJiB+0pvhqDaB0Nl33fSPXR4s2te8tlqMzSPNDOPhk wkP7J/F+Ubj12VwSnw3unenkWgBbgAG2QlXbCROsVLBcg/eNhwYfuZWup4NuH/UE2Oo= X-Gm-Gg: ASbGncvJbjZj4AuDicArlgLCS33ZYVQXPqKLtjZQPYmclzG1FclbE69j7BtDgcg4/p5 5HNTNqkVYffZhxA4zL+ZV74Oy9dSk1mvb+Ria8F4X3FplglWbbnJ5YtJD+jxrwTRgL/71q/Uc8c uLz4iZoqAGIAD7JuirUUb9ratpCw3c2pv/OypmLglGCtKTtl8Ey+X+N7Rl3s6OKBxZ73NtXeuEv eJ5e6UsNvkNZ1GQPh8Yz9T99NmIcM+X059bGvQ6S9dtDnPmFLsEdWFQFK0j+H/nW/osvCah+Nv0 t9/rW3pHz9Qz7yhQDmcpCjP4+lQ1lO5dN6GIp4GYKf5XHJhqnaRQlvlyzfnTzJz+Jnc3nkr9SOK 2Fy5zforRLx2q6shL15MyRUnRS30BpTM5/7MSTxbIMx2yv/BBZ9VC1osqxjuy/mRM0JRGxy6XqR kWkcfoJDBwHqn+pMr0sBlpIaSQg7hsY6vNXonnyQcA X-Google-Smtp-Source: AGHT+IG4E2/BkqY+k6KCaob1FvNFhboNdxx7lEaSwbr4nblUCdc4u24xC8dmKvD/tTwPIY9VM74oUA== X-Received: by 2002:a17:907:6d19:b0:b45:60ad:daff with SMTP id a640c23a62f3a-b50aa99e0f1mr827465866b.28.1760023505329; Thu, 09 Oct 2025 08:25:05 -0700 (PDT) Received: from puffmais2.c.googlers.com (224.138.204.35.bc.googleusercontent.com. [35.204.138.224]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-b486970b36fsm1908967566b.62.2025.10.09.08.25.04 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 09 Oct 2025 08:25:04 -0700 (PDT) From: =?utf-8?q?Andr=C3=A9_Draszik?= Date: Thu, 09 Oct 2025 16:25:03 +0100 Subject: [PATCH v2 01/10] dt-bindings: power: samsung: add google,gs101-pd 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: <20251009-gs101-pd-v2-1-3f4a6db2af39@linaro.org> References: <20251009-gs101-pd-v2-0-3f4a6db2af39@linaro.org> In-Reply-To: <20251009-gs101-pd-v2-0-3f4a6db2af39@linaro.org> To: Krzysztof Kozlowski , Alim Akhtar , Rob Herring , Conor Dooley , Krzysztof Kozlowski , Ulf Hansson , Marek Szyprowski Cc: Peter Griffin , Tudor Ambarus , Will McVicker , kernel-team@android.com, linux-arm-kernel@lists.infradead.org, linux-samsung-soc@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-pm@vger.kernel.org, =?utf-8?q?Andr=C3=A9_Draszik?= X-Mailer: b4 0.14.2 Add support for the Google gs101 version of the Exynos power domains. A new compatible is needed because register fields have changed. Reviewed-by: Peter Griffin Signed-off-by: Andr=C3=A9 Draszik Acked-by: Rob Herring (Arm) --- Documentation/devicetree/bindings/power/pd-samsung.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/Documentation/devicetree/bindings/power/pd-samsung.yaml b/Docu= mentation/devicetree/bindings/power/pd-samsung.yaml index 9c2c51133457112ca0098c043e123f0a02fa1291..c35c9cb0115d79e5c36142da2c2= a5dd30cd2ad47 100644 --- a/Documentation/devicetree/bindings/power/pd-samsung.yaml +++ b/Documentation/devicetree/bindings/power/pd-samsung.yaml @@ -19,6 +19,7 @@ allOf: properties: compatible: enum: + - google,gs101-pd - samsung,exynos4210-pd - samsung,exynos5433-pd =20 --=20 2.51.0.710.ga91ca5db03-goog From nobody Sun Feb 8 18:09:25 2026 Received: from mail-ej1-f49.google.com (mail-ej1-f49.google.com [209.85.218.49]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 7F1811E231E for ; Thu, 9 Oct 2025 15:25:07 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.218.49 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1760023511; cv=none; b=sze1s8VBaDdytylhjYN+3+g+00fEciBajL8NpbS7B1Y1rVP0rBtOozc4uS+6eVxEJCXK/8IMeLWu5eHGCiluZWZHBLZ255zwlWH3ca1RUfxaUHGnJzDdowOJTglxa1GAKr0SGuSlkw+h1KIeR5TD71wGsFGG+vxmNfpxXa6Wfs0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1760023511; c=relaxed/simple; bh=UpDpMfQpflET5V20J4n5YeVt8PTvypCmqoPo7NhX2qE=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=imY81N9AY5XUhfsAp8b57U6mz0NcRJXLB1m6qhNb+J1u1jxSTqdvjPEHnpiDQazUnHNkasAQ1N8RUGxOmCyNQds/XFEL7oUzBYIZNr/gGNqwa9VdLbR5jXSVoZKAYu0bpmiGaCRoBjwnGq2myv7ZFgb5D8Us0XLN8yRABwih9iw= 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=Zp46Duvi; arc=none smtp.client-ip=209.85.218.49 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linaro.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="Zp46Duvi" Received: by mail-ej1-f49.google.com with SMTP id a640c23a62f3a-b48d8deaef9so193977766b.2 for ; Thu, 09 Oct 2025 08:25:07 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1760023506; x=1760628306; 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=cnyuHEM+lsiHCfL6IDRN5IyrCB7LqRf5MK311Pq4COY=; b=Zp46DuviIM/YmcBGz9HgNDhelYZFWxZP2FpROp7MzDWNRG46ikPmK4ve3TFD2pzs5B 3YFpbszvBgcChBmsbPozfxF9eeysnNB8vxpp3YUIL/hqFzKdsznLeDpOvv4/YP8F6JY0 l+WGqB/nwkStIwLYUiBHl/WzyMaf/1GuRXi/GnFPmMa7FTLZqkahIWpgSw3HoeupC5Oh 4kq9HI3sSPMCdNp9dviGXJutBy1z8UYklzqPeO8pauSp7a6A13LxJfYtRPMXNTj6uEFf O6/LiQp21u1+Tr0ekycKXMyzQANtRkH50FmDHXiSZwUi65NHiZZF4c1ia11VKS084cE3 vK5w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1760023506; x=1760628306; 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=cnyuHEM+lsiHCfL6IDRN5IyrCB7LqRf5MK311Pq4COY=; b=VXAz3XU2PQErTnmfqy5cVP1zjoX+GB6wKKAHcLkX9b6w7YnuN+k6JGxMItHGtcoeUs L8NaJ1pwlPsA8PnFUqRYbRknfpR2EmK6+0zjYI19kGWEF0oYPb0pivuLGQo/rKN33Ayq JsU94fvrecuPmqsCOeeBMwKm22asfmebWxuv4bffD2tlfBjB2SRS130NnZgAu3HCbbJ7 9whtmYnt6gcOReIgyAAzTAW3T9rUu8RCcSeNBZG5zSL4zjOXHpzRbh2ZW8Wfo5xKpmWp WzZc0M5OTAvbAYCk2ZTqRl9IjWDPjqigcNCKpISBzViLzpcAF0oS0Wr5J8PSRQtH5d9m JWKQ== X-Forwarded-Encrypted: i=1; AJvYcCV1MrdHEbyVqjJPAVuFTNofhnwnNLwUI8NuUOVVovGrY/pRGhs6hPpehMXEUl54fqF3tpsqTML8/eKhnJg=@vger.kernel.org X-Gm-Message-State: AOJu0Ywq4RxBNARHYJUG4nE3RJUx2q3agWy8MqsPV/pSMa6sLvv4tNO8 3CLfNjz1aaXdCjVWV0cvtQg44QkXYqWUivLJWWvxsiMBUtNM88nLb9CQz51URkARNAI= X-Gm-Gg: ASbGncvPw2xDJzY4nGrXCaEBY2NY7NXmahVO7W8FzGgz85hHTOBCg6N0CgcPfONTfZC uOsb3pdhssC0h8hePLTs89n3IofnbWS7VeaR7XhnOO7cf/0ReWCE1iGDzQIaQqVyR3DcR727FeS NGu7Amdg3MuSiGD6C64bHfnL+fqtc8zubl5U4da+wO7hv1UCGgg+kzLuPvZJ1+GsSkKpMqBrHHw F0HYy26eyku73cVUXUbx44/W5rt1qATZqZoE/h6EzhexoQwukMqOMfwe+ztE+2Vk2NtETCHsYXX wc1oT1IEZtX9ub3tySKSLYrqvbKpNcu2jAiL7mzOlg+ZB1ZTfmGIXensqGEt6I56V+dy6ukNlwb ZpVWrfldhtiP3z8+253oNjTHsyRTtuwuO0S9mR5t8jXaCPsc+0GZdNqRUFzT8+ikx6nTLyOJEvX BwcU4rj/NKcALlKoCs53UWLmK97UtB6Y64Sqg9tvZn X-Google-Smtp-Source: AGHT+IH4Riik0fnXmeV/DELQ8JjDqdvmxMdv2ShW6jNS8r7k8K/9xDWa2qfNhUPNms6YJU3aaNnQ8w== X-Received: by 2002:a17:906:d54e:b0:b3f:e1e9:22c1 with SMTP id a640c23a62f3a-b50ac8ebda2mr933717066b.53.1760023505945; Thu, 09 Oct 2025 08:25:05 -0700 (PDT) Received: from puffmais2.c.googlers.com (224.138.204.35.bc.googleusercontent.com. [35.204.138.224]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-b486970b36fsm1908967566b.62.2025.10.09.08.25.05 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 09 Oct 2025 08:25:05 -0700 (PDT) From: =?utf-8?q?Andr=C3=A9_Draszik?= Date: Thu, 09 Oct 2025 16:25:04 +0100 Subject: [PATCH v2 02/10] dt-bindings: soc: samsung: exynos-pmu: move gs101-pmu into separate binding 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: <20251009-gs101-pd-v2-2-3f4a6db2af39@linaro.org> References: <20251009-gs101-pd-v2-0-3f4a6db2af39@linaro.org> In-Reply-To: <20251009-gs101-pd-v2-0-3f4a6db2af39@linaro.org> To: Krzysztof Kozlowski , Alim Akhtar , Rob Herring , Conor Dooley , Krzysztof Kozlowski , Ulf Hansson , Marek Szyprowski Cc: Peter Griffin , Tudor Ambarus , Will McVicker , kernel-team@android.com, linux-arm-kernel@lists.infradead.org, linux-samsung-soc@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-pm@vger.kernel.org, =?utf-8?q?Andr=C3=A9_Draszik?= X-Mailer: b4 0.14.2 The gs101-pmu binding is going to acquire various additional (pattern) properties that don't apply to other PMUs supported by this binding. To enable this, move google,gs101-pmu into a separate binding. Signed-off-by: Andr=C3=A9 Draszik --- .../bindings/soc/google/google,gs101-pmu.yaml | 67 ++++++++++++++++++= ++++ .../bindings/soc/samsung/exynos-pmu.yaml | 20 ------- MAINTAINERS | 1 + 3 files changed, 68 insertions(+), 20 deletions(-) diff --git a/Documentation/devicetree/bindings/soc/google/google,gs101-pmu.= yaml b/Documentation/devicetree/bindings/soc/google/google,gs101-pmu.yaml new file mode 100644 index 0000000000000000000000000000000000000000..209ee2f80d449c3eec568188898= b3c6f7ae0ddd4 --- /dev/null +++ b/Documentation/devicetree/bindings/soc/google/google,gs101-pmu.yaml @@ -0,0 +1,67 @@ +# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/soc/samsung/google,gs101-pmu.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Google GS101 Power Management Unit (PMU) + +maintainers: + - Andr=C3=A9 Draszik + +# Custom select to avoid matching all nodes with 'syscon' +select: + properties: + compatible: + contains: + const: google,gs101-pmu + required: + - compatible + +properties: + compatible: + items: + - const: google,gs101-pmu + - const: syscon + + reg: + maxItems: 1 + + reboot-mode: + $ref: /schemas/power/reset/syscon-reboot-mode.yaml + type: object + description: + Reboot mode to alter bootloader behavior for the next boot + + syscon-poweroff: + $ref: /schemas/power/reset/syscon-poweroff.yaml# + type: object + description: + Node for power off method + + syscon-reboot: + $ref: /schemas/power/reset/syscon-reboot.yaml# + type: object + description: + Node for reboot method + + google,pmu-intr-gen-syscon: + $ref: /schemas/types.yaml#/definitions/phandle + description: + Phandle to PMU interrupt generation interface. + +required: + - compatible + - reg + - google,pmu-intr-gen-syscon + +unevaluatedProperties: false + +examples: + - | + system-controller@17460000 { + compatible =3D "google,gs101-pmu", "syscon"; + reg =3D <0x17460000 0x10000>; + + google,pmu-intr-gen-syscon =3D <&pmu_intr_gen>; + }; diff --git a/Documentation/devicetree/bindings/soc/samsung/exynos-pmu.yaml = b/Documentation/devicetree/bindings/soc/samsung/exynos-pmu.yaml index f0fb24156da9b8980dcfd5339ae75f12a71cf6d6..83f18a92fa1c4de75a90f00475c= f17d5f0b652e4 100644 --- a/Documentation/devicetree/bindings/soc/samsung/exynos-pmu.yaml +++ b/Documentation/devicetree/bindings/soc/samsung/exynos-pmu.yaml @@ -15,7 +15,6 @@ select: compatible: contains: enum: - - google,gs101-pmu - samsung,exynos3250-pmu - samsung,exynos4210-pmu - samsung,exynos4212-pmu @@ -36,7 +35,6 @@ properties: oneOf: - items: - enum: - - google,gs101-pmu - samsung,exynos3250-pmu - samsung,exynos4210-pmu - samsung,exynos4212-pmu @@ -129,11 +127,6 @@ properties: description: Node for reboot method =20 - google,pmu-intr-gen-syscon: - $ref: /schemas/types.yaml#/definitions/phandle - description: - Phandle to PMU interrupt generation interface. - required: - compatible - reg @@ -194,19 +187,6 @@ allOf: properties: dp-phy: false =20 - - if: - properties: - compatible: - contains: - enum: - - google,gs101-pmu - then: - required: - - google,pmu-intr-gen-syscon - else: - properties: - google,pmu-intr-gen-syscon: false - examples: - | #include diff --git a/MAINTAINERS b/MAINTAINERS index 3439485437117aaffbe61b709468348231ca3cc4..9cf5b9300d4d96bfed8d1a75cc8= 06925a884744b 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -10596,6 +10596,7 @@ S: Maintained P: Documentation/process/maintainer-soc-clean-dts.rst C: irc://irc.oftc.net/pixel6-kernel-dev F: Documentation/devicetree/bindings/clock/google,gs101-clock.yaml +F: Documentation/devicetree/bindings/soc/google/google,gs101-pmu.yaml F: Documentation/devicetree/bindings/soc/google/google,gs101-pmu-intr-gen.= yaml F: arch/arm64/boot/dts/exynos/google/ F: drivers/clk/samsung/clk-gs101.c --=20 2.51.0.710.ga91ca5db03-goog From nobody Sun Feb 8 18:09:25 2026 Received: from mail-ej1-f41.google.com (mail-ej1-f41.google.com [209.85.218.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 B51B81EA7EC for ; Thu, 9 Oct 2025 15:25:08 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.218.41 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1760023512; cv=none; b=R/GDHAa9Y0bzQttSzkZqZeUFo4+Db1djVWLOVKVZ6lHB606VnE1Qg9DLIvbAOZmPddehxdybWgx/ih/GUnM2bNy/JlzLFJpMUPWodez/0dNAXxt4fSLWyxBAPz2qlFoMC/EebEpsf40XMN0W70GKXnO7AjBMwniuB2Vh/bfAigg= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1760023512; c=relaxed/simple; bh=pveWC0dGG+QrmADRkCYghiuV6e2N7PQNMtP4GgXIjZI=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=cnLHYSNAD+HoG53sszHR+KtBzBOD9yiOwYtXKY3CVoCfhldt5VvY8jPpxNjVD7j9SjXVhD4SpjDrvZ4oKUsDG/HQ7pF0/QGBcHLYzAdRy/ZozePu2FlPAqbeMA/O3ZBQMsoBQ+EtU3Y0dp0ORL8aw7ThjTrV8E0pQUL3GMNS6U0= 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=Z2p6zsSp; arc=none smtp.client-ip=209.85.218.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="Z2p6zsSp" Received: by mail-ej1-f41.google.com with SMTP id a640c23a62f3a-b3b3a6f4dd4so201487466b.0 for ; Thu, 09 Oct 2025 08:25:08 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1760023507; x=1760628307; 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=gIgGfpMab5d5IHvagQ8PqT9KdQ+uz2nglD6fw13G62A=; b=Z2p6zsSpQeMb+HUmmfzPT43PfrJslnlMcJyrPDQcpFhcwij6eHJLCOL+3aADB4hioG 1QSswKRT3SUI7aDSO7bwyuumLQXDWXNcwWCybbhXmj+N98dtlep1epGgwTMGDQIiAaLK bl/olTUmndDfiO5f5jAJ4H/TbNG3il6ow0iGkQ/54Mq1Vrc5gOsh7nGJTifatK47fK5P XLxJvl/zYCoKAwN1tduWYCjnEljfio503JzhitCFZLy/FmXb4cS6n5be5cIDM39O9RjA 0tY35QmVtat0G8PjbRnx6U7UuBonTgncLrtC9DEsWBp78xyavSW8LyOEQUX3WvNkHjKH +Pxw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1760023507; x=1760628307; 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=gIgGfpMab5d5IHvagQ8PqT9KdQ+uz2nglD6fw13G62A=; b=GypGvrRvn6EN8NGVxHfYcwmHZIFExbvz17npJ7OmB3yV08OLhY/kF2bYdp9qVMj6lk jdU5Vgf166oseGQ1w0cnGQDtaops9hLDUDqCR5UM6jqxCzdqnLPN3tSUMmtyKewgT99U XT0dxj+nEvWFycRQHietCjnnasyKZ6ogLWfsoBykcTZqTE3RC93SJmlLNthbQsc5N2mh ZeYgh3usyGooEw6kmQgnMel4QltTWwiG4xvuyhkYbScT2jZx9UgXtYPWKTlqO6I4x2QD pB4kjCUJUB60rv1m+ukmsSSZ13jiAnyo7XSRXo2vpMG8GkGwki31dkGbKDzRc8dZYtiG jhgw== X-Forwarded-Encrypted: i=1; AJvYcCXIRg10sa0qILZQGD/5f8QYoyROVJE8q0yn3RJvSWh7xtdU1G3foQM/RWgPsIEntq0BFIQ3f4lLKCOIy0o=@vger.kernel.org X-Gm-Message-State: AOJu0YylO+jSCKEg42oSkPLf/BSfdZJy2kfJQRkG7boSbX3L686gIYRu qGYREwiTP1CAHmcFOPr2ONTWR1Y7CUfT1pVr00RDN+/UcYj9KaQ/v8OHvN5yFRNhT1s= X-Gm-Gg: ASbGncs+JOXd1h01Q9jo1PaY/3g3D40jZo/BN5tJ1JkYqwILLrCLXgETgecgntcvxwN e9ZGWRE96MRLfgh31Sc1bLpcjmflgi2lioD8Svxd+6fgrJikIe4gRPf9NMcxaE5UL4e3li3NRoU owxmolaVRgI9waf2k13GxPqnfbbM/EP/n2iTu2XifR52bIQE1vNnMRuls5yvxKMCdU8E4SszvRg 5yjs07rq21wwYdqPZgwTnNMixtZs+ScZvTz/lgN6PbQq2KFKLNFHQKWNQKBqTunM4gQwpOGUlWF ZefxchewouldOjg8dminHXpton3rqmbP8n9rNMMGfWv8dQLMCoT3bL03A7sa3p3K8ZxtZzT8UN/ 9pSRHCW3aEZGQD5PBsM0dRFHGc6WmMabcc+eOI3U4wixjBN6cjQmCWl4Xcb9k0sK2/vdTlh0Q/i DId2nlCek44TzVka93Q5IrvautDKovvzbvwTnMjxIjrmzY3ejNdX8= X-Google-Smtp-Source: AGHT+IGg04+IzEonQvFpIX4DqWAql+P+1rz1MPHdkVXRbACm/2BjXy8iSlJQRXa1j6vBNQqyTJPeWw== X-Received: by 2002:a17:906:c14c:b0:b3c:a161:684c with SMTP id a640c23a62f3a-b50aa49025cmr842742566b.2.1760023506601; Thu, 09 Oct 2025 08:25:06 -0700 (PDT) Received: from puffmais2.c.googlers.com (224.138.204.35.bc.googleusercontent.com. [35.204.138.224]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-b486970b36fsm1908967566b.62.2025.10.09.08.25.06 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 09 Oct 2025 08:25:06 -0700 (PDT) From: =?utf-8?q?Andr=C3=A9_Draszik?= Date: Thu, 09 Oct 2025 16:25:05 +0100 Subject: [PATCH v2 03/10] dt-bindings: soc: samsung: gs101-pmu: allow power domains as children 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: <20251009-gs101-pd-v2-3-3f4a6db2af39@linaro.org> References: <20251009-gs101-pd-v2-0-3f4a6db2af39@linaro.org> In-Reply-To: <20251009-gs101-pd-v2-0-3f4a6db2af39@linaro.org> To: Krzysztof Kozlowski , Alim Akhtar , Rob Herring , Conor Dooley , Krzysztof Kozlowski , Ulf Hansson , Marek Szyprowski Cc: Peter Griffin , Tudor Ambarus , Will McVicker , kernel-team@android.com, linux-arm-kernel@lists.infradead.org, linux-samsung-soc@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-pm@vger.kernel.org, =?utf-8?q?Andr=C3=A9_Draszik?= X-Mailer: b4 0.14.2 The power domains are a property of / implemented in the PMU. As such, they should be modelled as child nodes of the PMU. Signed-off-by: Andr=C3=A9 Draszik --- Note: Ideally, the newly added properties (ranges, etc.) should only be 'required' if "^power-domain@[0-9a-f]+$" exists as a patternProperty, as they're needed only in that case. As-is, this patch now causes warnings for existing DTs as they don't specify the new properties (and they shouldn't need to). Only if DTs are updated to include power-domains, such an update should also add the new properties. I've not been able to come up with the correct schema syntax to achieve that. dependencies, dependentRequired, and dependentSchemas don't seem to support patterns. Similarly, - if: required: - ... then: required: - ... doesn't allow patterns in the 'if' block (or I didn't get the syntax right). --- .../bindings/soc/google/google,gs101-pmu.yaml | 42 ++++++++++++++++++= +++- 1 file changed, 41 insertions(+), 1 deletion(-) diff --git a/Documentation/devicetree/bindings/soc/google/google,gs101-pmu.= yaml b/Documentation/devicetree/bindings/soc/google/google,gs101-pmu.yaml index 209ee2f80d449c3eec568188898b3c6f7ae0ddd4..d18a351b649c0736662e67bb64d= e46afa01e399a 100644 --- a/Documentation/devicetree/bindings/soc/google/google,gs101-pmu.yaml +++ b/Documentation/devicetree/bindings/soc/google/google,gs101-pmu.yaml @@ -27,6 +27,14 @@ properties: reg: maxItems: 1 =20 + '#address-cells': + const: 1 + + '#size-cells': + const: 1 + + ranges: true + reboot-mode: $ref: /schemas/power/reset/syscon-reboot-mode.yaml type: object @@ -50,18 +58,50 @@ properties: description: Phandle to PMU interrupt generation interface. =20 +patternProperties: + "^power-domain@[0-9a-f]+$": + type: object + description: Child node describing one power domain within the PMU + + additionalProperties: true + + properties: + compatible: + const: google,gs101-pd + required: - compatible - reg + - '#address-cells' + - '#size-cells' + - ranges - google,pmu-intr-gen-syscon =20 -unevaluatedProperties: false +additionalProperties: false =20 examples: - | system-controller@17460000 { compatible =3D "google,gs101-pmu", "syscon"; reg =3D <0x17460000 0x10000>; + #address-cells =3D <1>; + #size-cells =3D <1>; + ranges; =20 google,pmu-intr-gen-syscon =3D <&pmu_intr_gen>; + + pd_g3d: power-domain@1e00 { + compatible =3D "google,gs101-pd"; + reg =3D <0x1e00 0x80>; + #power-domain-cells =3D <0>; + label =3D "g3d"; + }; + + power-domain@2000 { + compatible =3D "google,gs101-pd"; + reg =3D <0x2000 0x80>; + #power-domain-cells =3D <0>; + power-domains =3D <&pd_g3d>; + label =3D "embedded_g3d"; + }; }; --=20 2.51.0.710.ga91ca5db03-goog From nobody Sun Feb 8 18:09:25 2026 Received: from mail-ej1-f48.google.com (mail-ej1-f48.google.com [209.85.218.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 8A4461F03D8 for ; Thu, 9 Oct 2025 15:25:09 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.218.48 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1760023512; cv=none; b=E6pKPcidTTxSW1M6puaC807dfscdbUrES6DPNMPb8qK5kI6qNC4cJdSpuGBmZ2zlzXwKWrT83SGD01Cz5S6s3QaQSU9iUtVal2gi6juHBbkFHLgEBxS265Z3XT9rKj/01M0HmWd3QpCI+oJgSCgqWfC7/r+HoOJAefsOvuFlhB8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1760023512; c=relaxed/simple; bh=8Ji8C7SpUzRnr4uMcWokKZW8lUvYX6JJLUSo4lu5Nb0=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=dyiK7nXASpfTAzlG31YJcpsPfSgAGv4Sf75fD/zoeoAQEZhJTw6KjQUlTHoY/WQ7p953J9yrU42LkuvirWGxgeim73TSSM/Z0XDnIxTU3ax6yYEx0/sIN5QXVhonCI3RQZOluw6B11k5ffn32JvwRL9OVtDdLInLYmodT/hhZAA= 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=txHzJWNF; arc=none smtp.client-ip=209.85.218.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="txHzJWNF" Received: by mail-ej1-f48.google.com with SMTP id a640c23a62f3a-b3c2c748bc8so147288766b.2 for ; Thu, 09 Oct 2025 08:25:09 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1760023507; x=1760628307; 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=ousPsrsRzOuJ9D//mwlWhy/3PCTfUESlugicNK8z87Q=; b=txHzJWNFiTE2JcnC5bG/2BCoGJAALc13E+ze6lvCIdC1ko4/4SY5l9qMQr+GBNDgxN OiS3lN1EMVH7eWdRPwPz221avsGZuWhF3rSzIOa3r0h+y1MB9O8572mwfHkSHosz8g6L aG7MIrvX1bqhP993pyHFq7zAm1Ied0ThMOpJixADrCRzhlvfXpBumRVYeq6N4p6gkVZm W8Ug8Q6nnSeqe5yTT2EI+/MvO/dYrkS4muRChBf0FcPXauk4yQRCDxiz05BzBOe0MUgG ucdD2Y9lj+pnpDeE6GDhA6ZoSZ6+RUYAWEx3rSfsh/28C1VwAsAOLXHprOGCj78ERZDU F0gg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1760023507; x=1760628307; 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=ousPsrsRzOuJ9D//mwlWhy/3PCTfUESlugicNK8z87Q=; b=ZFoewh00RbCxnuxNV3FcUznR73vNoxymYJW6s4MVuk4iReRi+5fqrKndSvnI6cjvAL ShqxWzmix+IpUtaK5u6zxBJZr7KtuUf78FEV+IDs7yjHhrYxAviCUX/nkLf+qKZ64u+s E7RqDJbxl/+9pp4i14FYg5/hcTZI8EAnhIogSaJCNxdN/0ln30DZmA8jCvaqtHtgh2FM FUgvF9d5JhZSPWfu/NtyRNbvZ3IgwOTfcc2USMKM2AtrR+uM3/zS/LikAqKgHt5N9kEn fIb327FJlmN3h7UPJMqXLPpGug280iueLuQ2JXYiYzRdtMP5Jx/gAb7Sr2JUczrLS7Cp Svwg== X-Forwarded-Encrypted: i=1; AJvYcCViD6SPk87+/Fr+2Fx99PU9s7jvywY1izFootAgjGkqyAH23/wgtVNA2Rz+lMlQi7z1hmtyOTIm3/+BmYY=@vger.kernel.org X-Gm-Message-State: AOJu0YxQOimuCzvlpyqQ83eQOXKi+cCrJmW8tn6p7443NGCteY98iZpb xKlvdg40fbVjCuh3FEjV79ix1JJK9rnsSfYXwAblAOiAkOgtM2UoZurAHVOpflgI4zM= X-Gm-Gg: ASbGnctH22ccJ/NY/Zr0TM9UpgYIyxILTsJ8HuigjcTBlUWP258Y/rtVxlE5TXjkLdo eKYp8D3mDFL1600FWu9rpfSaY9s2On95dswk7artPOLLZy6jqE9MUYujJe9v8/sButLzqdDCypX n+sDXmtXVCqA1DYHuTFU3Yt04v+J3gLlpkG1Z46cvUYDc2wPtF746s5/ESumLtOX9oC033VdKln EAskJ/TqyMQkOfRjpX7BTv/2RA6jEYMr08he9qfH3zDF2A8S/6A8S0TAscfPZo9GjrJnjWXXUXX RySmvhS1nNOOeTkB+Yd102s8m4vqxJE6nzEDMvrOw7Xe+qktTNNum7yqy22vcxO3Ys+jHhHehoy uIwtxoBMJfFTk7bDr65gThN693yBxI5FKpSUnOu60DM39xNqGgbD7zyIKJs1OnCXBlttPlkmTh9 ExtXyssgppoVougrZBkleEFb6ASqg6WULhGsct8hVMLkhOfskD3UY= X-Google-Smtp-Source: AGHT+IGU5YJiQEOLDla4H1yxJNOxda/6iu+/j1tDENPR+jWfagJHuOHAMVeCVTX+CKrhpEHAyCcJqQ== X-Received: by 2002:a17:907:934a:b0:b48:730:dbb3 with SMTP id a640c23a62f3a-b50ac1cc3eemr881096366b.32.1760023507336; Thu, 09 Oct 2025 08:25:07 -0700 (PDT) Received: from puffmais2.c.googlers.com (224.138.204.35.bc.googleusercontent.com. [35.204.138.224]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-b486970b36fsm1908967566b.62.2025.10.09.08.25.06 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 09 Oct 2025 08:25:06 -0700 (PDT) From: =?utf-8?q?Andr=C3=A9_Draszik?= Date: Thu, 09 Oct 2025 16:25:06 +0100 Subject: [PATCH v2 04/10] pmdomain: samsung: plug potential memleak 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: <20251009-gs101-pd-v2-4-3f4a6db2af39@linaro.org> References: <20251009-gs101-pd-v2-0-3f4a6db2af39@linaro.org> In-Reply-To: <20251009-gs101-pd-v2-0-3f4a6db2af39@linaro.org> To: Krzysztof Kozlowski , Alim Akhtar , Rob Herring , Conor Dooley , Krzysztof Kozlowski , Ulf Hansson , Marek Szyprowski Cc: Peter Griffin , Tudor Ambarus , Will McVicker , kernel-team@android.com, linux-arm-kernel@lists.infradead.org, linux-samsung-soc@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-pm@vger.kernel.org, =?utf-8?q?Andr=C3=A9_Draszik?= , stable@vger.kernel.org X-Mailer: b4 0.14.2 of_genpd_add_provider_simple() could fail, in which case this code leaks the domain name, pd->pd.name. Use devm_kstrdup_const() to plug this leak. As a side-effect, we can simplify existing error handling. Fixes: c09a3e6c97f0 ("soc: samsung: pm_domains: Convert to regular platform= driver") Cc: stable@vger.kernel.org Reviewed-by: Peter Griffin Signed-off-by: Andr=C3=A9 Draszik Reviewed-by: Krzysztof Kozlowski --- v2: reword commit message, as this isn't a pure simplification --- drivers/pmdomain/samsung/exynos-pm-domains.c | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/drivers/pmdomain/samsung/exynos-pm-domains.c b/drivers/pmdomai= n/samsung/exynos-pm-domains.c index 5d478bb37ad68afc7aed7c6ae19b5fefc94a9035..f53e1bd2479807988f969774b4b= 7b4c5739c1aba 100644 --- a/drivers/pmdomain/samsung/exynos-pm-domains.c +++ b/drivers/pmdomain/samsung/exynos-pm-domains.c @@ -92,13 +92,14 @@ static const struct of_device_id exynos_pm_domain_of_ma= tch[] =3D { { }, }; =20 -static const char *exynos_get_domain_name(struct device_node *node) +static const char *exynos_get_domain_name(struct device *dev, + struct device_node *node) { const char *name; =20 if (of_property_read_string(node, "label", &name) < 0) name =3D kbasename(node->full_name); - return kstrdup_const(name, GFP_KERNEL); + return devm_kstrdup_const(dev, name, GFP_KERNEL); } =20 static int exynos_pd_probe(struct platform_device *pdev) @@ -115,15 +116,13 @@ static int exynos_pd_probe(struct platform_device *pd= ev) if (!pd) return -ENOMEM; =20 - pd->pd.name =3D exynos_get_domain_name(np); + pd->pd.name =3D exynos_get_domain_name(dev, np); if (!pd->pd.name) return -ENOMEM; =20 pd->base =3D of_iomap(np, 0); - if (!pd->base) { - kfree_const(pd->pd.name); + if (!pd->base) return -ENODEV; - } =20 pd->pd.power_off =3D exynos_pd_power_off; pd->pd.power_on =3D exynos_pd_power_on; --=20 2.51.0.710.ga91ca5db03-goog From nobody Sun Feb 8 18:09:25 2026 Received: from mail-ed1-f46.google.com (mail-ed1-f46.google.com [209.85.208.46]) (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 D3DA61E1E04 for ; Thu, 9 Oct 2025 15:25:09 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.208.46 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1760023513; cv=none; b=rbjm4HqJQMdCRa2NdaipGUnF0mxTaPy8UQsXOp7azt3MEeV/awXxz/Zce7uCAMW/SXrALONwBQvpJfZSexFetVzTSiWwmoGZ82UD5nD84gKT0Mn/1lmXeUi4ERWyN6mRPT6y4UvPMuFsJIU1Jm8pnu/bdkjmrWA1IurC0VFvNiY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1760023513; c=relaxed/simple; bh=3FiSxcQQlSfwdcy42EspcUABD4qqt6ntMqcPQwZX/Lc=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=XD044ylsmo+xWorsCVDrUNGw4201CYA9/zj7GM89JZJ0dWtvuXBxSM51UtPwbuO+sSEwnvc4eA+relcrOVrznrNBW9kg4nHVMjE9mRxl+7vwMHRvNXVXwL4iu0jfkCpqFg1m2wOyV0AjGZUXKmdnGbn+yWS5vHWHQUwtHSl6T+A= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org; spf=pass smtp.mailfrom=linaro.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b=u42Fu7Mi; arc=none smtp.client-ip=209.85.208.46 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="u42Fu7Mi" Received: by mail-ed1-f46.google.com with SMTP id 4fb4d7f45d1cf-639e34ffa69so1578184a12.3 for ; Thu, 09 Oct 2025 08:25:09 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1760023508; x=1760628308; 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=6uQKQdQ1MYiF5juA60OL7pKbQX2emtwofvg1/NDrBMs=; b=u42Fu7MiXeXcwRP+fEqSGTt3m9u4bQL76/FGZOOOWPOFFM+StzXt+6Pa0yWpq01Aif +MKzIxQ1NXkTFgJEuHSomr8lghyTEXXoAajKUWGeVsRM+9OFRxkJSvbxexcDK9mT8dEC uaZp4N8KWCwVcFNDjvNNuizZ3KFf5VtLpJYZJfbFPRbKbjga+9s9ZS/ouY6w01zNHO2n EKq7NB8uoUuzYlo4hnm+q3PAw24eNF6qhapQLKSV5HEOxXVHI1L2UtHo0nl8czkMlYcF 2oDMAaZVt7lyZUcpnPhWLbghB9jUIttxMCkODtJdEnsclPGb1JJpitsMuaw6UFW+8mb4 yskg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1760023508; x=1760628308; 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=6uQKQdQ1MYiF5juA60OL7pKbQX2emtwofvg1/NDrBMs=; b=F5Pk5rSUYFFSESBOgR7r7Sof+L2oQdmZ2XSdOhRMKV61NwSf2Ok24Rp4ZJc7CnekRB GdBBr/Qq2zm4XR87KP0lytPfZlCLyQTOdLv65my5n94ZCgpXo6I0LWve4xIgAOV0wi64 EOrUog3v6HOkAt9EADPNrO5E0P+txeuCxHeT3IuM5K2MOUn5jTczkTJzmZuBwLfQKOZt 24Rg7IYqJWtb/siGrIDCwm80dAN4mtPtZlT0Afq0FmwrVEdQ7V8T7cF+qU4LdGY62Mgk QA3i+1gw8wmorDA8kU/pUd7F8U+kQ62L+HZjbTylcIO+M3A7i6dieqZ5tboPWuCKs+vI JDSA== X-Forwarded-Encrypted: i=1; AJvYcCUv2RsN4I1uHBVzkUDSWFSToeydxWo1w15RNg+ySSXFEuxJ8BWTGFXLYYUVYuDTsFg2hcQK5kGA3ztp++4=@vger.kernel.org X-Gm-Message-State: AOJu0YyEv5fIF/8FiFqyShGGiOZjR5WMx04aHrWwmjXsWFLnt/sgFsmr YVIwisTTUGWzd7tTzWXVk9n/5Y8UN3qUFkwPj082iAQBxpV8EFzlRjjAaShsOAlMOQ8= X-Gm-Gg: ASbGncvpM/NlH1KTLEU5E1RIxPOAcL4yp3Zy82tOwDosiQaODPw9oQIrgfgHrZD/5N4 YkuQvIC2KQrPuxmhDk2jRhXBtAwbMDcT+Eh2ecsqerbGhIYSWjU1lwPs3k9qaIUbBCOMugdW328 HdOG7ezPI8ncBuoyJ6LaHit8gl+FAjqG7moovAF3wnZXP+kuQZngQJg68MCYu/NuzQG/nQQcGKa UldbOfKczIaDUK//lC3+ZI97o3mIY+xSqyq7jLtCv/4Y0WaZt6PdjQiUjmM+v1etgH1EUGUFhAV iVDClIfQhDE+/ivEomE8nYNbQRwVbDzkBmJiamJW+sxsOUqfIR8GqpUp0y3UBozKq6RurZIC7FE VAeQWTrrlPcKLZtECu5Y7s2xZi2iR+9zaCr5JmABQR7WE26L7L3y5OZXKfZMMjmsLRKI9plH/Ck 9shX8xDnAcw9BdvncUHYP3KbCxK29pFx0demWa594m X-Google-Smtp-Source: AGHT+IGnZBRhQiVL3K77bERhMVDqgbMpxbRqX6c+qjhP8qmTDZBZaNH/mZYsCBi4KHpMR5tC0seqCQ== X-Received: by 2002:a17:907:7290:b0:b45:a03f:d172 with SMTP id a640c23a62f3a-b50acc2f5bemr911916266b.57.1760023507942; Thu, 09 Oct 2025 08:25:07 -0700 (PDT) Received: from puffmais2.c.googlers.com (224.138.204.35.bc.googleusercontent.com. [35.204.138.224]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-b486970b36fsm1908967566b.62.2025.10.09.08.25.07 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 09 Oct 2025 08:25:07 -0700 (PDT) From: =?utf-8?q?Andr=C3=A9_Draszik?= Date: Thu, 09 Oct 2025 16:25:07 +0100 Subject: [PATCH v2 05/10] pmdomain: samsung: convert to using 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: <20251009-gs101-pd-v2-5-3f4a6db2af39@linaro.org> References: <20251009-gs101-pd-v2-0-3f4a6db2af39@linaro.org> In-Reply-To: <20251009-gs101-pd-v2-0-3f4a6db2af39@linaro.org> To: Krzysztof Kozlowski , Alim Akhtar , Rob Herring , Conor Dooley , Krzysztof Kozlowski , Ulf Hansson , Marek Szyprowski Cc: Peter Griffin , Tudor Ambarus , Will McVicker , kernel-team@android.com, linux-arm-kernel@lists.infradead.org, linux-samsung-soc@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-pm@vger.kernel.org, =?utf-8?q?Andr=C3=A9_Draszik?= X-Mailer: b4 0.14.2 On platforms such as Google gs101, direct mmio register access to the PMU registers doesn't necessarily work and access must happen via a (syscon) regmap created by the PMU driver instead. In preparation for supporting such SoCs convert the existing mmio accesses to using a regmap wrapper. With this change in place, a follow-up patch can update the driver to optionally acquire the PMU-created regmap without having to change the rest of the code. Signed-off-by: Andr=C3=A9 Draszik --- There is one checkpatch warning, relating to the non-const regmap_config. It can a) not be made const without resorting to having two copies and copying, and b) will go away in a follow-up patch anyway. --- drivers/pmdomain/samsung/exynos-pm-domains.c | 78 ++++++++++++++++++++----= ---- 1 file changed, 57 insertions(+), 21 deletions(-) diff --git a/drivers/pmdomain/samsung/exynos-pm-domains.c b/drivers/pmdomai= n/samsung/exynos-pm-domains.c index f53e1bd2479807988f969774b4b7b4c5739c1aba..383126245811cb8e4dbae3b99ce= d3f06d3093f35 100644 --- a/drivers/pmdomain/samsung/exynos-pm-domains.c +++ b/drivers/pmdomain/samsung/exynos-pm-domains.c @@ -9,15 +9,14 @@ // conjunction with runtime-pm. Support for both device-tree and non-devic= e-tree // based power domain support is included. =20 -#include #include #include #include #include #include #include -#include #include +#include =20 struct exynos_pm_domain_config { /* Value for LOCAL_PWR_CFG and STATUS fields for each domain */ @@ -28,7 +27,7 @@ struct exynos_pm_domain_config { * Exynos specific wrapper around the generic power domain */ struct exynos_pm_domain { - void __iomem *base; + struct regmap *regmap; struct generic_pm_domain pd; u32 local_pwr_cfg; }; @@ -36,31 +35,37 @@ struct exynos_pm_domain { static int exynos_pd_power(struct generic_pm_domain *domain, bool power_on) { struct exynos_pm_domain *pd; - void __iomem *base; u32 timeout, pwr; - char *op; + int err; =20 pd =3D container_of(domain, struct exynos_pm_domain, pd); - base =3D pd->base; =20 pwr =3D power_on ? pd->local_pwr_cfg : 0; - writel_relaxed(pwr, base); + err =3D regmap_write(pd->regmap, 0, pwr); + if (err) + return err; =20 /* Wait max 1ms */ timeout =3D 10; - - while ((readl_relaxed(base + 0x4) & pd->local_pwr_cfg) !=3D pwr) { - if (!timeout) { - op =3D (power_on) ? "enable" : "disable"; - pr_err("Power domain %s %s failed\n", domain->name, op); - return -ETIMEDOUT; + while (timeout-- > 0) { + unsigned int val; + + err =3D regmap_read(pd->regmap, 0x4, &val); + if (err || ((val & pd->local_pwr_cfg) !=3D pwr)) { + cpu_relax(); + usleep_range(80, 100); + continue; } - timeout--; - cpu_relax(); - usleep_range(80, 100); + + return 0; } =20 - return 0; + if (!err) + err =3D -ETIMEDOUT; + pr_err("Power domain %s %sable failed: %d\n", domain->name, + power_on ? "en" : "dis", err); + + return err; } =20 static int exynos_pd_power_on(struct generic_pm_domain *domain) @@ -109,8 +114,18 @@ static int exynos_pd_probe(struct platform_device *pde= v) struct device_node *np =3D dev->of_node; struct of_phandle_args child, parent; struct exynos_pm_domain *pd; + struct resource *res; + void __iomem *base; + unsigned int val; int on, ret; =20 + struct regmap_config reg_config =3D { + .reg_bits =3D 32, + .val_bits =3D 32, + .reg_stride =3D 4, + .use_relaxed_mmio =3D true, + }; + pm_domain_cfg =3D of_device_get_match_data(dev); pd =3D devm_kzalloc(dev, sizeof(*pd), GFP_KERNEL); if (!pd) @@ -120,15 +135,36 @@ static int exynos_pd_probe(struct platform_device *pd= ev) if (!pd->pd.name) return -ENOMEM; =20 - pd->base =3D of_iomap(np, 0); - if (!pd->base) - return -ENODEV; + /* + * The resource typically points into the address space of the PMU. + * Therefore, avoid using devm_platform_get_and_ioremap_resource() and + * instead use platform_get_resource() and devm_ioremap() to avoid + * conflicts due to address space overlap. + */ + res =3D platform_get_resource(pdev, IORESOURCE_MEM, 0); + if (!res) + return dev_err_probe(dev, -ENXIO, "missing IO resources"); + + base =3D devm_ioremap(dev, res->start, resource_size(res)); + if (!base) + return dev_err_probe(dev, -ENOMEM, + "failed to ioremap PMU registers"); + + reg_config.max_register =3D resource_size(res) - reg_config.reg_stride; + pd->regmap =3D devm_regmap_init_mmio(dev, base, ®_config); + if (IS_ERR(pd->regmap)) + return dev_err_probe(dev, PTR_ERR(base), + "failed to init regmap"); =20 pd->pd.power_off =3D exynos_pd_power_off; pd->pd.power_on =3D exynos_pd_power_on; pd->local_pwr_cfg =3D pm_domain_cfg->local_pwr_cfg; =20 - on =3D readl_relaxed(pd->base + 0x4) & pd->local_pwr_cfg; + ret =3D regmap_read(pd->regmap, 0x4, &val); + if (ret) + return dev_err_probe(dev, ret, "failed to read status"); + + on =3D val & pd->local_pwr_cfg; =20 pm_genpd_init(&pd->pd, NULL, !on); ret =3D of_genpd_add_provider_simple(np, &pd->pd); --=20 2.51.0.710.ga91ca5db03-goog From nobody Sun Feb 8 18:09:25 2026 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 DFAC91F4631 for ; Thu, 9 Oct 2025 15:25:10 +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=1760023514; cv=none; b=StSS4LcvbtdDcxhvbhbQo0R46o8o6gRniacoTbOJa9qy6RSBIFPQ2pigRbNrNn5AdUgne4wiOqtCRWrzt0egJRyV97VwUHaK1PNZYLnAfOix2DVum9TbfOYaKkpVgq8QENX4STSsMCzey3MskDX/Oz2yyHraV+uvLkQauN5/rPI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1760023514; c=relaxed/simple; bh=i1nOHrUCe5k8EnZKJDt7L0OKYnEuaY/Gf2nz0HIUrG0=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=VWr9O2rkpGBTJG1kAHzTtl0YmW2XrNxwSDI9PTYApMtmYt94t0lwvvBMxnUCzmfUotw6vWGXhCvkCNZd5Oz66RykCGi/t2665gJRtXbejvnI0zyk/yrJOoRK3ZE7YIdzTnDiur1jHvpBvvhaV83CcP0rA9dldZsT4bhknBHRZY8= 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=nXLgTyXI; 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="nXLgTyXI" Received: by mail-ej1-f51.google.com with SMTP id a640c23a62f3a-b4f323cf89bso194181166b.2 for ; Thu, 09 Oct 2025 08:25:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1760023508; x=1760628308; 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=BpnrETzk7C6oZhvz4jEn6YRTv70n/RyEUTvN5Rj5ca4=; b=nXLgTyXIaewA1g87ifGGL5YXxWWTnpc0gkldBuM7oj8eEF0hA7sAhJ2wlPeWcOo4+q kf9k2a/lLT+f9prpx7JYOoxQ/zhATJhzK0r6n11TfjZ5QZi8u3Il86s8oQtTsbGfUA09 G6ECoZlWLvmSmiDWV6isPcwz0CQgtgfTkGDa4oNQYe5Xw1IusAWYUA5hf6+t/hxNJPHj cyxRPj1RySgnlZ0gEm6E6zD/w9DWie/kK9WK3JmSht2nOvW514Uz4wGhxBGeHLOvVpYc kjlli18ZUNt8xv07FP9t5WTdUECd2qn04P48WH2TTvJQOGs19xcUBvSdaP9BwhmNYVg7 SzrQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1760023508; x=1760628308; 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=BpnrETzk7C6oZhvz4jEn6YRTv70n/RyEUTvN5Rj5ca4=; b=V/eQNCB7i7enN56Y9AUjBtopWdgdTJJ2lI/pH4ZmIUzEih8C2WFS6x+z49lSbBFx6T 1hmSABG1aXrRFDfGC5U7Yf7zqyUPkyvw0BrYmPdIUZaGKJx5mecj6N6SYMmlRGHUd6TK UTeWNhQ9Xl6UrBUWNSmmoR8rRoCI44qOlsnBxP7GuykAZ+znMkLm/xzwWJcHeXQJocRQ E8IHb8osSjYqMrxTsgtwznC+Q9wnse45zzg9AQW8M5au5qU3InO8sSvhZ91+L8GMOgew c6WcYNPRBkdNyOB587wUDaw0gOawgNF6ri1VfBIuauSUKdqIdsXrmYeNEZv2tOBnf1gv qj4g== X-Forwarded-Encrypted: i=1; AJvYcCXw57JJf7nKT0GVH8+CtyfQNiASNhXJ0ik8hgFm/mVX1XSFoVxO3XNxqzEfgBK0jXRyKRUhEVlYIlgfe0o=@vger.kernel.org X-Gm-Message-State: AOJu0Yz52vFWSiyHzn4gaWCCXBv/1XfA9/36nqlIdHD01Wt0SbHKJiap sfBW/4xwQanOanSAgQuhues+nH081T+sG+SzjNndAoWZT65PTOHKExxyBWdFxEgqD+g= X-Gm-Gg: ASbGncuZa2CeAG/AG/uJpOkadKvj5JL/UFb92mIHE1xajIlkViKmLZp6MkVtW4M5Zgg 7pvCPcBmuH8N4nuXDguMAgTAfLz2i1DIBL+vwUI4razEuhgBe9zO9pTO64IA3CEo/A8X3/6/T6W jC4rWeDjqOMq9Y7E2C6pnP69rOBQIgyXSJql6srGXyaC7qeUW6KMKESU6JkWsFZ8HLn4bjYb2GI LyF5JaBev1oJZU8hg451glNQmUIGPGaCiogm7aRMfr4XeAZ87iWw6ksv+c4wRORdIEDvdqepeoq e50PDStR1Gbca8kDSgcDBMtl4xMiKu9QxzaCKtHFsFng4xyngHUTasd4ptxVpieZIg/xbJsQ4YV /686ADt1ynNc7uKE3LaKFRBbkHQxI7qXfbtZaP2BR7L1bZIXXZTbs5cgMB8cuO3n0J86KaFTw7z PzTaH1B5YGrFWysC8eCIJK8sF60g/szELhzrgh8ZWdSNiyaOvY8OY= X-Google-Smtp-Source: AGHT+IFvQJQZp5hIxcQ/kGfkBnVxpXqrxsrxpjhwZEJjbYHGciKRJL502yUl2gppViGVoCmsbV0c/w== X-Received: by 2002:a17:907:1c15:b0:b40:e46e:3e0d with SMTP id a640c23a62f3a-b50abfd6af4mr953221766b.46.1760023508552; Thu, 09 Oct 2025 08:25:08 -0700 (PDT) Received: from puffmais2.c.googlers.com (224.138.204.35.bc.googleusercontent.com. [35.204.138.224]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-b486970b36fsm1908967566b.62.2025.10.09.08.25.08 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 09 Oct 2025 08:25:08 -0700 (PDT) From: =?utf-8?q?Andr=C3=A9_Draszik?= Date: Thu, 09 Oct 2025 16:25:08 +0100 Subject: [PATCH v2 06/10] pmdomain: samsung: convert to regmap_read_poll_timeout() 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: <20251009-gs101-pd-v2-6-3f4a6db2af39@linaro.org> References: <20251009-gs101-pd-v2-0-3f4a6db2af39@linaro.org> In-Reply-To: <20251009-gs101-pd-v2-0-3f4a6db2af39@linaro.org> To: Krzysztof Kozlowski , Alim Akhtar , Rob Herring , Conor Dooley , Krzysztof Kozlowski , Ulf Hansson , Marek Szyprowski Cc: Peter Griffin , Tudor Ambarus , Will McVicker , kernel-team@android.com, linux-arm-kernel@lists.infradead.org, linux-samsung-soc@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-pm@vger.kernel.org, =?utf-8?q?Andr=C3=A9_Draszik?= X-Mailer: b4 0.14.2 Replace the open-coded PD status polling with regmap_read_poll_timeout(). This change simplifies the code without altering functionality. Signed-off-by: Andr=C3=A9 Draszik --- drivers/pmdomain/samsung/exynos-pm-domains.c | 29 ++++++++----------------= ---- 1 file changed, 8 insertions(+), 21 deletions(-) diff --git a/drivers/pmdomain/samsung/exynos-pm-domains.c b/drivers/pmdomai= n/samsung/exynos-pm-domains.c index 383126245811cb8e4dbae3b99ced3f06d3093f35..431548ad9a7e40c0a77ac667208= 1b600c90ddd4e 100644 --- a/drivers/pmdomain/samsung/exynos-pm-domains.c +++ b/drivers/pmdomain/samsung/exynos-pm-domains.c @@ -13,7 +13,6 @@ #include #include #include -#include #include #include #include @@ -35,7 +34,8 @@ struct exynos_pm_domain { static int exynos_pd_power(struct generic_pm_domain *domain, bool power_on) { struct exynos_pm_domain *pd; - u32 timeout, pwr; + unsigned int val; + u32 pwr; int err; =20 pd =3D container_of(domain, struct exynos_pm_domain, pd); @@ -45,25 +45,12 @@ static int exynos_pd_power(struct generic_pm_domain *do= main, bool power_on) if (err) return err; =20 - /* Wait max 1ms */ - timeout =3D 10; - while (timeout-- > 0) { - unsigned int val; - - err =3D regmap_read(pd->regmap, 0x4, &val); - if (err || ((val & pd->local_pwr_cfg) !=3D pwr)) { - cpu_relax(); - usleep_range(80, 100); - continue; - } - - return 0; - } - - if (!err) - err =3D -ETIMEDOUT; - pr_err("Power domain %s %sable failed: %d\n", domain->name, - power_on ? "en" : "dis", err); + err =3D regmap_read_poll_timeout(pd->regmap, 0x4, val, + (val & pd->local_pwr_cfg) =3D=3D pwr, + 100, 1 * USEC_PER_MSEC); + if (err) + pr_err("Power domain %s %sable failed: %d (%#.2x)\n", + domain->name, power_on ? "en" : "dis", err, val); =20 return err; } --=20 2.51.0.710.ga91ca5db03-goog From nobody Sun Feb 8 18:09:25 2026 Received: from mail-ej1-f46.google.com (mail-ej1-f46.google.com [209.85.218.46]) (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 E446B1F790F for ; Thu, 9 Oct 2025 15:25:11 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.218.46 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1760023515; cv=none; b=T8hyM0zwIcRhzAfbMQO/FPPR65TuIDP2kQZ5E1LppujE6kLKBEYhS+r1P233PV9U6yYef+akygSpBpG/E19EH1YWicc2X+FXKfEFrI8fMyr0NYRSYd4cdwZY1katl+nF8zJ5bRWJfJX9VvQprqTcKvrphzgfO++OJrt6VhM3zYA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1760023515; c=relaxed/simple; bh=iZThJdSQjh6h5xEt5L4Z9DubAuP7tX0sVKnmOyDdoGA=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=d1D37oPzwOWNnD1GCk4swMo+SDp/NBy4o67Q0/7NdUXfSsLpdhP5yDAnD3vH1/lcqiw0iBwKPP7GyjPEZKI2R523ncuw2pVxbBTUzC0m85O4/1AtuAr9V7wynDERd4xHSKiDAnPgFNTNNkF0I5hW2ajdiu2eVq2cZQOoMwvSb+g= 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=a6WKLKzW; arc=none smtp.client-ip=209.85.218.46 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="a6WKLKzW" Received: by mail-ej1-f46.google.com with SMTP id a640c23a62f3a-b00a9989633so98126666b.0 for ; Thu, 09 Oct 2025 08:25:11 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1760023509; x=1760628309; 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=If4su5VGSArDtM6ZmAq2TrN2LVZ1m2nsNGX5iG7vCMs=; b=a6WKLKzWkGyx4y8QnyfXSIB8su55lspBNyJeoGocuLHaWDxOBSHx0fGtNYtcv16OuR IH2GSmntSav8c8rL422urHtwI8VCbYdXR3o0ovMk6IaoHPJRteNl6HmUR+mfiPlPqvgg P7QZ8GoW3+UJQYbh9dkAlSFTZLKsbWE7dVAG/r0KiJUXRaW4ovdLreHb1L0I2ObzBjo3 lSGNN3PCL8pfa3YL2F1LCwjdP3oQH7pr47rBqancja7iij1vbK4Kvto5A7IWObtzzEHB xrLrZ8kVabiPKsLCqznnzg7NTDTGesYEB1C56APTcb0lBf/sTHrOWYVHqbFi8uR9huk3 jKYA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1760023509; x=1760628309; 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=If4su5VGSArDtM6ZmAq2TrN2LVZ1m2nsNGX5iG7vCMs=; b=F6Ajxkptf61o1aij5p7jocEL6y81HkTTWlWzrwx3AImy7veE91AwyY7x4y1r0qpWYP BipQJA46Ui+Kc1XYAwHBfDINUVQt+VIdgQbKe89yMGZSBLZTZvNfl1ORnpqmIuD+8Sy0 lfFnrawHh3BfXRephv9prkRWjSEcbnx065a5j0KgoBJxCXoZCGih2KMeuYyzm4fcc5kR UBfYeyGO211JVwBJ+NTlG9KNnuD0UjfhKOrgv+uaUuoy3YMc1BLLx6mOzLEZcV1CPBwc Vtgr/b6Pz8o80Td9n6yc3Vhpd24kDdilXlp0OsAcPn1kTT3PgkLON0iLa5Me3N3k2lTD 3ZkQ== X-Forwarded-Encrypted: i=1; AJvYcCXBo/fnjwUMNAzBdOZ5gzvLqHzeshx4LlV8ym07ctM9H3ZXfHiyR7YfFuvzkcjoGfBAtnQIiERisKk8row=@vger.kernel.org X-Gm-Message-State: AOJu0Yx/PNxaNI+TYtlbP6bphhgwu1vctFP5qpp02OX//m6+dTvXcWFn DZrJCAHpR0XKtifRRwVGQ3FjFMLaXm10oHyDrDPRul6ipcx4TUX9ZqAyHNvOCdtkjPg= X-Gm-Gg: ASbGncv2dxQa1r39Jy0HDqG4KML6kLQ5Ugn+HaPWk58G0B74dRdD79lbZYEx5BgGTC6 vx8KMeNxRu+Rx0bK69BxmYg5Gj9Bb/C6OK1Rrhn6josy0hChDV63gsnqQRY3LTab4wyVMOpDY7R THEoUBZoX0djjFff9F8U1z7K8tENw2ceN25XTeLOu4hFDTC3ACgipanHWBvzluuAvvo+GadRR/E amS0XZkGLy5BSXtdpz3K0ngRnlD/Rk4pD0bpmKAnLNS4xPmJvdV3c+IzK/Yf8N5+e+1rgjXZWNy Kv13fyrpNaBlbT4OvKeQYetz1z6yZTh8GCblZdCQQAaHpWPTvZzMtn2olCEA66s2JD2n7oqYbRP TkRXtW6rGd62Bz1fGqBAz3oeyMr1lJ8LVOZtPScB2eFPzyIIpfHM9o1tnug2sykJiGaTKiLiqVT kAl6tTslCUHtzes3sJ098QdbSExpX5D+5f4hVW080mNAK+/L8YYrM= X-Google-Smtp-Source: AGHT+IGqgJYOgxpScnC7w6lgZwCm7ta9CxHWmpR8whF617JOpHOk3iVVQV+J82lvEfnmp6mQVRG2Mg== X-Received: by 2002:a17:906:d554:b0:aff:1586:14c2 with SMTP id a640c23a62f3a-b50bcbe2790mr1084898366b.4.1760023509102; Thu, 09 Oct 2025 08:25:09 -0700 (PDT) Received: from puffmais2.c.googlers.com (224.138.204.35.bc.googleusercontent.com. [35.204.138.224]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-b486970b36fsm1908967566b.62.2025.10.09.08.25.08 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 09 Oct 2025 08:25:08 -0700 (PDT) From: =?utf-8?q?Andr=C3=A9_Draszik?= Date: Thu, 09 Oct 2025 16:25:09 +0100 Subject: [PATCH v2 07/10] pmdomain: samsung: don't hardcode offset for registers to 0 and 4 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: <20251009-gs101-pd-v2-7-3f4a6db2af39@linaro.org> References: <20251009-gs101-pd-v2-0-3f4a6db2af39@linaro.org> In-Reply-To: <20251009-gs101-pd-v2-0-3f4a6db2af39@linaro.org> To: Krzysztof Kozlowski , Alim Akhtar , Rob Herring , Conor Dooley , Krzysztof Kozlowski , Ulf Hansson , Marek Szyprowski Cc: Peter Griffin , Tudor Ambarus , Will McVicker , kernel-team@android.com, linux-arm-kernel@lists.infradead.org, linux-samsung-soc@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-pm@vger.kernel.org, =?utf-8?q?Andr=C3=A9_Draszik?= X-Mailer: b4 0.14.2 On platforms such as Google gs101, direct mmio register access to the PMU registers doesn't necessarily work and access must happen via a (syscon) regmap created by the PMU driver instead. When such a regmap is used it will cover the complete PMU memory region rather than individual power domains. This means the register offsets for the configuration and status registers will have to take the power domain offsets into account, rather than unconditionally hardcoding 0 and 4 respectively. Update the code to allow that. Signed-off-by: Andr=C3=A9 Draszik --- drivers/pmdomain/samsung/exynos-pm-domains.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/drivers/pmdomain/samsung/exynos-pm-domains.c b/drivers/pmdomai= n/samsung/exynos-pm-domains.c index 431548ad9a7e40c0a77ac6672081b600c90ddd4e..638d286b57f716140b240109241= 5644a6805870e 100644 --- a/drivers/pmdomain/samsung/exynos-pm-domains.c +++ b/drivers/pmdomain/samsung/exynos-pm-domains.c @@ -29,6 +29,8 @@ struct exynos_pm_domain { struct regmap *regmap; struct generic_pm_domain pd; u32 local_pwr_cfg; + u32 configuration_reg; + u32 status_reg; }; =20 static int exynos_pd_power(struct generic_pm_domain *domain, bool power_on) @@ -41,11 +43,11 @@ static int exynos_pd_power(struct generic_pm_domain *do= main, bool power_on) pd =3D container_of(domain, struct exynos_pm_domain, pd); =20 pwr =3D power_on ? pd->local_pwr_cfg : 0; - err =3D regmap_write(pd->regmap, 0, pwr); + err =3D regmap_write(pd->regmap, pd->configuration_reg, pwr); if (err) return err; =20 - err =3D regmap_read_poll_timeout(pd->regmap, 0x4, val, + err =3D regmap_read_poll_timeout(pd->regmap, pd->status_reg, val, (val & pd->local_pwr_cfg) =3D=3D pwr, 100, 1 * USEC_PER_MSEC); if (err) @@ -146,8 +148,10 @@ static int exynos_pd_probe(struct platform_device *pde= v) pd->pd.power_off =3D exynos_pd_power_off; pd->pd.power_on =3D exynos_pd_power_on; pd->local_pwr_cfg =3D pm_domain_cfg->local_pwr_cfg; + pd->configuration_reg +=3D 0; + pd->status_reg +=3D 4; =20 - ret =3D regmap_read(pd->regmap, 0x4, &val); + ret =3D regmap_read(pd->regmap, pd->status_reg, &val); if (ret) return dev_err_probe(dev, ret, "failed to read status"); =20 --=20 2.51.0.710.ga91ca5db03-goog From nobody Sun Feb 8 18:09:25 2026 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 F35131F9F47 for ; Thu, 9 Oct 2025 15:25:11 +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=1760023515; cv=none; b=lNYAcS+t1hEEPzOee/cOtB0cPEQ/RGsKckMt9hhU5i0V5en+0v5m9/O8jT3Upa4owDsaqzhmbxf8xbVZ1BVFBck8v/lRwj3+TGFgOSuIALNvX2TRVy8YY/BdMckW/1LxxoB19cNeb/9O/9yA5kV7RmaUZM2vezEz2JyUDFdyq1o= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1760023515; c=relaxed/simple; bh=0A/EkduQWdAahGq43hrLsndr/J8Gpiy72o41hnq8yS4=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=BJfWmkKFwiJVaJHhglZpZaeMlIGOjao+Tgw5cSuelTpsxFVyWtYpQgkvWyRJocsjEcPvlnnkJCi5+EGydWNvw7SFRVqPeQqkDsjmfXRmKTvENrW65LvurK6jSuj1Gh+EFiWZoCEBtTzd66+8RqV4i5OtNqC7dVHX6RQpFJDZ0Vc= 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=JzbCeriX; 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="JzbCeriX" Received: by mail-ed1-f53.google.com with SMTP id 4fb4d7f45d1cf-6349e3578adso2109178a12.1 for ; Thu, 09 Oct 2025 08:25:11 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1760023510; x=1760628310; 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=L/1/8oovwXsAv5LJCHXYAg1gF9tOSXyOhotyAm6lDms=; b=JzbCeriXQ4WU+Wnl7MRj/pT+e0xUruwBfEUSpI+DHtDCL2rd2rPA+U1o0RrRr2eb/i z9049y81jS0y1oel34WkbNnUwLdDiZziRHcQUgWwrW48YpxKxvY9kdNEJUnoKt3w8aYI HRzlNyjKg/cemMMBj/BNcqbFXuVYaB4LsibCrQcgLOdMLsRU2Hw09QSE8xNBjWuY5RfW r27Ggv/1tVCVgFrTIGtTfCJ40cX3afgR2KyWrGe+OKFjCCbFqrBRRjA1BLuzPvuVxOHO IPoXRjIug5gird4HqlEBoU8Oc1JhTJdeGm7jemWB48YfhTOIIKRzaSG3L7m03KMb/7do ll7Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1760023510; x=1760628310; 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=L/1/8oovwXsAv5LJCHXYAg1gF9tOSXyOhotyAm6lDms=; b=CEcfEYBf23A9mZz48KgVHgoKZRjL4bXmlsyfp9NbWs6sgeSBI/jt2dAU/Way2RnYJ5 wdyz9VEKBJaTBK5VbMdHi6wH75fzOZCHb12wT98TsTkNYQQ7H24IXMjzntZzKHF8nZ6r xZCIiUQTHbCjQcIQPa3t3wH30l1BR+R7RmkmK3P+2DMb8tDHxLwVS6KDJHYsWT2lJh59 BBrNPKj1fyxMi651MlmVbp8B0vB16HrInIzLAsQ3+lWE4mcP+zmKS9E4TrYOOSkzKTI2 apu+eIjcpbhuWEZEjJU1duaj4zMikAYQxSAp77UIb3+j+HJqtaP2nLjM5eJ9LkN5cEXL SJGw== X-Forwarded-Encrypted: i=1; AJvYcCXSL4COLYSIxkr11zakLZni+f9R9gwCLVHwZ2XnpTLkdCFr1/ipaCXR5EAE+dCyLWtXOJ/+QxnMkqc+dyQ=@vger.kernel.org X-Gm-Message-State: AOJu0YwCz4qGjDQxxyhjQYTjkOmJ6Mr4doDmk/2dld9YeeHxGyP93XVZ g9HmN47xO3TSZUQ40fQf9hhnY1k2nWB4XZeEiGYeNGq0vAh2uD5cErmpbQp6/bwqcAc= X-Gm-Gg: ASbGnct47JaxIIJO/tU4EUcJVwFG1V0jXov2XDIpXlqfQQxou1PfdcnxWXx0micQaUL gHwYszlWMn9DCahGKy8mO0ZTcCl9n2g4op8bo+/7t0SXXann7Y622lsTCAjEErqTYiKrBdCkEz9 YmG7Uwmd14j+XpVliLFFdUcg1ctaWeyKC79IqHys/NwsQV2cXffu6HKG5JrsdWhxN3WdpHf8tba 5MkjszbyN1yYccR9m6hhFMo/Xpzif+nYSaJhVSJRArPSiRaVJQnvqCZMbh2xSOppLkF7iaP0/up pl1F58ukRiqXSaUwDyOw0Ll/2sujQl6zcFsvdqGiFcNk4U0FQ6HHgpX4jr6IlGdNpcW0DfkjpDK yaC48pt752QUkH+zvrR6UHnQf1T1fGqoeOYaUGYvrvKo5PTOlNYlomhLqvF2g+iccQGBPkD54eM KitUXqvtC5kQY4J1RRJ3rakOrwyPTdrbMNVEAezkAT X-Google-Smtp-Source: AGHT+IGaGkcuokARZTfmmbCwfalPWL2pX6NDBn0pheQXnCrw092W78kTYfWHrm/WqInuH6GM9reI/w== X-Received: by 2002:a17:906:c149:b0:b41:2209:d35d with SMTP id a640c23a62f3a-b50a9d701b3mr803859766b.1.1760023509699; Thu, 09 Oct 2025 08:25:09 -0700 (PDT) Received: from puffmais2.c.googlers.com (224.138.204.35.bc.googleusercontent.com. [35.204.138.224]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-b486970b36fsm1908967566b.62.2025.10.09.08.25.09 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 09 Oct 2025 08:25:09 -0700 (PDT) From: =?utf-8?q?Andr=C3=A9_Draszik?= Date: Thu, 09 Oct 2025 16:25:10 +0100 Subject: [PATCH v2 08/10] pmdomain: samsung: selectively handle enforced sync_state 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: <20251009-gs101-pd-v2-8-3f4a6db2af39@linaro.org> References: <20251009-gs101-pd-v2-0-3f4a6db2af39@linaro.org> In-Reply-To: <20251009-gs101-pd-v2-0-3f4a6db2af39@linaro.org> To: Krzysztof Kozlowski , Alim Akhtar , Rob Herring , Conor Dooley , Krzysztof Kozlowski , Ulf Hansson , Marek Szyprowski Cc: Peter Griffin , Tudor Ambarus , Will McVicker , kernel-team@android.com, linux-arm-kernel@lists.infradead.org, linux-samsung-soc@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-pm@vger.kernel.org, =?utf-8?q?Andr=C3=A9_Draszik?= X-Mailer: b4 0.14.2 Unconditionally calling of_genpd_sync_state() causes issues on platforms with child domains as the parent domain will be turned off before the child domain was even registered during boot. This in particular is an issue for the upcoming Google gs101 support - all operations on child domains registered after the parent domain misbehave. Add a flag to the probe data to be able to sync_state conditionally only, and enable that flag on the two platforms currently supported by this driver. Signed-off-by: Andr=C3=A9 Draszik --- v2: * use bool for need_early_sync_state (Krzysztof) --- drivers/pmdomain/samsung/exynos-pm-domains.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/drivers/pmdomain/samsung/exynos-pm-domains.c b/drivers/pmdomai= n/samsung/exynos-pm-domains.c index 638d286b57f716140b2401092415644a6805870e..15a1582aa92103a07335eb68160= 0d9415369fefd 100644 --- a/drivers/pmdomain/samsung/exynos-pm-domains.c +++ b/drivers/pmdomain/samsung/exynos-pm-domains.c @@ -20,6 +20,7 @@ struct exynos_pm_domain_config { /* Value for LOCAL_PWR_CFG and STATUS fields for each domain */ u32 local_pwr_cfg; + bool need_early_sync_state; }; =20 /* @@ -69,10 +70,12 @@ static int exynos_pd_power_off(struct generic_pm_domain= *domain) =20 static const struct exynos_pm_domain_config exynos4210_cfg =3D { .local_pwr_cfg =3D 0x7, + .need_early_sync_state =3D true, }; =20 static const struct exynos_pm_domain_config exynos5433_cfg =3D { .local_pwr_cfg =3D 0xf, + .need_early_sync_state =3D true, }; =20 static const struct of_device_id exynos_pm_domain_of_match[] =3D { @@ -179,7 +182,7 @@ static int exynos_pd_probe(struct platform_device *pdev) * reset during boot. As a temporary hack to manage this, let's enforce * a sync_state. */ - if (!ret) + if (pm_domain_cfg->need_early_sync_state && !ret) of_genpd_sync_state(np); =20 pm_runtime_enable(dev); --=20 2.51.0.710.ga91ca5db03-goog From nobody Sun Feb 8 18:09:25 2026 Received: from mail-ej1-f47.google.com (mail-ej1-f47.google.com [209.85.218.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 9BD341FF60A for ; Thu, 9 Oct 2025 15:25:12 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.218.47 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1760023517; cv=none; b=blGkzB/aKacir9Ofz938k4SRQhFaU5nuHI/vhk2a6FpUiuo19QhiXXBTIYivVGSnZF8D0JkESjOASkMLe09Qj7IQFmtIClD7QBjWP0Snlc7kLUNKMhFA0gwKXtOQXmz7UGyA2S6krHVwJ38zQPLNSu8lIzKWkI5XtQZjem01HkA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1760023517; c=relaxed/simple; bh=2ZJZLMl7zXjFcsdeUrNL+qecigOdDpc1M2N0TGNsV+o=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=PgH+4+j8CKMPclQHE4zxBFvbZcx6RHL6rfFqI0y1EUQAotHh46yFgIeqaa5Gy3+7FH5nrgnk2JOP4pObrveK8+Lnl46KpRN4M+8310NDLrCEdbLuwOswMhL1YIp57v+IXsgAqdUNB+dKIOH3o2lvTQdsm4ELBIdK1y6+/6wBvFI= 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=Xnf+tP3/; arc=none smtp.client-ip=209.85.218.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="Xnf+tP3/" Received: by mail-ej1-f47.google.com with SMTP id a640c23a62f3a-b3d80891c6cso335801866b.1 for ; Thu, 09 Oct 2025 08:25:12 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1760023510; x=1760628310; 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=yVAeMZOZRjoK+GVtbAGxhgZ6PYOesgGPyy7xYiTvQkk=; b=Xnf+tP3/FqO3/8VmwayGTD/Qpnf90+qOeDdccac/LGFX+zb5E6dbQu58a4rC1EIRwx 8A3wYpaGNMVyH56NQ5kToIv1WTBwBTmue10r7HPXIKnlKRIKJ4hEGRTwmHycnvDYmp76 eok7bgE6S4qURL4gYwd7OLFQoFVbDE81UjjKEfhmAoVOsZqIzqoiMjnL+s+Mkeqqh8KC W8+gGuhnVRrBIQpFYJnQaTiRt313nzkmfAcx/HPd0HcA/DPebm4nJnnkJ6pC+lw5gC+g Ox7TZj/xO7TRqU+1UIWixtTgQ2+Ll0JSL1j6GojdmiHQtrdP1LlMphupnj9aYrOKP7n+ DsHw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1760023510; x=1760628310; 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=yVAeMZOZRjoK+GVtbAGxhgZ6PYOesgGPyy7xYiTvQkk=; b=uly1e2erznoErpoV27zx2DKCVQqP+S8P3QnxjZ9V+UI4iDZ8DO77CjsGiy5tDAAY0/ yYZEzHQDrMXX9il63Hx6TW/grMPnxpTVF+ITYkdYUFtr31/8/qYfsWu+hrG9gRY370z9 o7CxJwdQgBP2n/75lzUHS5kz7TTljPu2RyDx2234ej4JwsTeFFWJPLrGZONVl91NFBaU yT32YObcaQcGS1i98HNDy+m4bp+0f0EhYgCk8UteeAAgIxmWTHXFyMBEEjS4yQ/xBm9A wngDfVfYOSpiPK/fc9nf0hZCdHIhGQfnArc6tFetAfjFA9ev4kyBFrZ3QLJ0szluDNIp IgPw== X-Forwarded-Encrypted: i=1; AJvYcCX7JkoiFKZWBs9smIXj7rdGpx9Bb3Kv2Rk3Jvz1IZNoCg2YpZ3Cc7KJF3JX0g0Jcg09bEzVfzjS6SABHzY=@vger.kernel.org X-Gm-Message-State: AOJu0YzVLBG5qa2s+zmvQC778lHMT4ClHB5BMV9c89zQZpK/L2Jjk2eN WqWIbSVBkJOai/1xWcsAp9VZL6y/1HSHQ4nGzezkLyjn6rObNpTi+cjhpcP+/NrSPPc= X-Gm-Gg: ASbGncvNdj7LfdUvyWb1YyYC8VblSXtvZCTWWyt6FpMzAld9yy3MJ2B18QCETi9Xlh2 CDRlzBDLZHL4Idpg60oTbkYoNEPVqDOYqiXhZl0rd15tcxVTO9ye+fMMe1l3f6j/XCzM1nTbaXl 6S2n7odGGpIFYahR94TK+WM6AAiS+97WN4nayKMTw84cBgQJBsMwNTdD/Mzbzjjm5MP8HfUKxm+ K4mzDVAdJGdFY15aj9137Hx4+Ejtbd2Rhx1qt3ceqewFQeIfMN7C2sQYCqXvPBuPCUc4wOZ49vn 9luOp3WkOvqP5Du8YYAezgIcGnFc+2PZHLpO1wovHVs1lVxfC7FblWjbfXmL3Qs8/mAXdL0zxy/ dyVGVWOcA99wZMnnhoBSw6sH+Rzx5o4vu2/wzeUwk3hycABP4YWXB/SyxlzI2WmvS2B3wqUzYL+ U8my9zob3ASUx25AHjor6u8pVK/fDQPkcG1XrJhdo9 X-Google-Smtp-Source: AGHT+IHQigChCGbyX9QcN71UtfHBK/a2r2hCK545ETZ555mAVRYH/JS8za+ESngSjBgkhY0CJel3UQ== X-Received: by 2002:a17:907:8991:b0:b33:821f:156e with SMTP id a640c23a62f3a-b4f4116a352mr1495403166b.12.1760023510322; Thu, 09 Oct 2025 08:25:10 -0700 (PDT) Received: from puffmais2.c.googlers.com (224.138.204.35.bc.googleusercontent.com. [35.204.138.224]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-b486970b36fsm1908967566b.62.2025.10.09.08.25.09 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 09 Oct 2025 08:25:09 -0700 (PDT) From: =?utf-8?q?Andr=C3=A9_Draszik?= Date: Thu, 09 Oct 2025 16:25:11 +0100 Subject: [PATCH v2 09/10] pmdomain: samsung: add support for google,gs101-pd 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: <20251009-gs101-pd-v2-9-3f4a6db2af39@linaro.org> References: <20251009-gs101-pd-v2-0-3f4a6db2af39@linaro.org> In-Reply-To: <20251009-gs101-pd-v2-0-3f4a6db2af39@linaro.org> To: Krzysztof Kozlowski , Alim Akhtar , Rob Herring , Conor Dooley , Krzysztof Kozlowski , Ulf Hansson , Marek Szyprowski Cc: Peter Griffin , Tudor Ambarus , Will McVicker , kernel-team@android.com, linux-arm-kernel@lists.infradead.org, linux-samsung-soc@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-pm@vger.kernel.org, =?utf-8?q?Andr=C3=A9_Draszik?= X-Mailer: b4 0.14.2 On Google gs101, direct mmio register access to the PMU registers doesn't work and access must happen via a (syscon) regmap created by the PMU driver instead. Try to obtain this regmap using the parent node in DT in case this PD is a child of the PMU and fall back to the traditional direct mmio regmap otherwise. Additionally, the status is just one bit on gs101. Signed-off-by: Andr=C3=A9 Draszik --- drivers/pmdomain/samsung/exynos-pm-domains.c | 65 +++++++++++++++++++-----= ---- 1 file changed, 45 insertions(+), 20 deletions(-) diff --git a/drivers/pmdomain/samsung/exynos-pm-domains.c b/drivers/pmdomai= n/samsung/exynos-pm-domains.c index 15a1582aa92103a07335eb681600d9415369fefd..a7e55624728a62545eac049c9a5= 1012a229f44c2 100644 --- a/drivers/pmdomain/samsung/exynos-pm-domains.c +++ b/drivers/pmdomain/samsung/exynos-pm-domains.c @@ -12,6 +12,7 @@ #include #include #include +#include #include #include #include @@ -78,8 +79,15 @@ static const struct exynos_pm_domain_config exynos5433_c= fg =3D { .need_early_sync_state =3D true, }; =20 +static const struct exynos_pm_domain_config gs101_cfg =3D { + .local_pwr_cfg =3D BIT(0), +}; + static const struct of_device_id exynos_pm_domain_of_match[] =3D { { + .compatible =3D "google,gs101-pd", + .data =3D &gs101_cfg, + }, { .compatible =3D "samsung,exynos4210-pd", .data =3D &exynos4210_cfg, }, { @@ -107,17 +115,9 @@ static int exynos_pd_probe(struct platform_device *pde= v) struct of_phandle_args child, parent; struct exynos_pm_domain *pd; struct resource *res; - void __iomem *base; unsigned int val; int on, ret; =20 - struct regmap_config reg_config =3D { - .reg_bits =3D 32, - .val_bits =3D 32, - .reg_stride =3D 4, - .use_relaxed_mmio =3D true, - }; - pm_domain_cfg =3D of_device_get_match_data(dev); pd =3D devm_kzalloc(dev, sizeof(*pd), GFP_KERNEL); if (!pd) @@ -128,25 +128,50 @@ static int exynos_pd_probe(struct platform_device *pd= ev) return -ENOMEM; =20 /* - * The resource typically points into the address space of the PMU. + * The resource typically points into the address space of the PMU and + * we have to consider two cases: + * 1) some implementations require a custom syscon regmap + * 2) this driver might map the same addresses as the PMU driver * Therefore, avoid using devm_platform_get_and_ioremap_resource() and - * instead use platform_get_resource() and devm_ioremap() to avoid + * instead use platform_get_resource() here, and below for case 1) use + * syscon_node_to_regmap() while for case 2) use devm_ioremap() to avoid * conflicts due to address space overlap. */ res =3D platform_get_resource(pdev, IORESOURCE_MEM, 0); if (!res) return dev_err_probe(dev, -ENXIO, "missing IO resources"); =20 - base =3D devm_ioremap(dev, res->start, resource_size(res)); - if (!base) - return dev_err_probe(dev, -ENOMEM, - "failed to ioremap PMU registers"); - - reg_config.max_register =3D resource_size(res) - reg_config.reg_stride; - pd->regmap =3D devm_regmap_init_mmio(dev, base, ®_config); - if (IS_ERR(pd->regmap)) - return dev_err_probe(dev, PTR_ERR(base), - "failed to init regmap"); + if (dev->parent && + of_device_is_compatible(dev->parent->of_node, "syscon")) { + pd->regmap =3D syscon_node_to_regmap(dev->parent->of_node); + if (IS_ERR(pd->regmap)) + return dev_err_probe(dev, PTR_ERR(pd->regmap), + "failed to acquire PMU regmap"); + + pd->configuration_reg =3D res->start; + pd->status_reg =3D res->start; + } else { + void __iomem *base; + + const struct regmap_config reg_config =3D { + .reg_bits =3D 32, + .val_bits =3D 32, + .reg_stride =3D 4, + .use_relaxed_mmio =3D true, + .max_register =3D (resource_size(res) + - reg_config.reg_stride), + }; + + base =3D devm_ioremap(dev, res->start, resource_size(res)); + if (!base) + return dev_err_probe(dev, -ENOMEM, + "failed to ioremap PMU registers"); + + pd->regmap =3D devm_regmap_init_mmio(dev, base, ®_config); + if (IS_ERR(pd->regmap)) + return dev_err_probe(dev, PTR_ERR(base), + "failed to init regmap"); + } =20 pd->pd.power_off =3D exynos_pd_power_off; pd->pd.power_on =3D exynos_pd_power_on; --=20 2.51.0.710.ga91ca5db03-goog From nobody Sun Feb 8 18:09:25 2026 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 5E6AB1E1DE5 for ; Thu, 9 Oct 2025 15:25:14 +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=1760023517; cv=none; b=AFOq1yxXWOh610YJYqCaNxWU7GkBvmzBs9ICB3WWgCUJGw1MMXX06adACyNoH1RQOgzLAWRTRQfoUMn68h8axtARsN9pY5lbbliEd6nNS9h3l5ovNcIbi9UDKdAop5vpmk1iDjk/efkSID5OzS3YVKGbVOefvGK5Gs5+R6atSLw= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1760023517; c=relaxed/simple; bh=QW41kS606/q0M1jPNHEOuZDX62lb/ReQ5t7lhOrXCD4=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=lJSt2vzvQMPvas5eXx5xi+C3sFfe9PTEBLjnM1jzeicAnNdd6nDklEyVoANhEMRE9lMLE0jOpWNRAA070B77k+pgYdb/GuouLTw5PLCf1o+MCl9d+4zEANGNpAuQdBuvUzbSSx46ezlE3Unr5Ii3J/cwdryA7ncQEsyt7qJfu+Y= 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=Af1yyeZA; 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="Af1yyeZA" Received: by mail-ej1-f44.google.com with SMTP id a640c23a62f3a-b4aed12cea3so172484966b.1 for ; Thu, 09 Oct 2025 08:25:13 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1760023511; x=1760628311; 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=MC3uJwytBymNcNNUBl3ACIVe5vrNsKsuMCXz3oqIuhI=; b=Af1yyeZAOAqEbOeGgYTym0mDHmPAwMGaoPz1O7eyYQz+Th0zjj+ivDHa0RsntCB4tL wEFlq6qBrVa+eld8SXbwd/ccrNfz9gJt9fPyzShxT9XgMfXKjQkE7lnqvpbX4I8aaNUQ uJeeP/2qDVl2yBHK359MBgqYBescyCVvLFXaL/FWBSYFmVs1smoyfBzcX3Z56QLc5gcM RPlyf+1ZFuEChLJ1shNdr3K8sL8ZvTNiS3Tk90dN4bDLoyNvO4flR9o64PPBMfUXGbYa dVbaFiejbNnYeErTt7svvejGNY983fv0l/z5i1D2YNvJnxZYkcUYUgtRM+Hh/I+0SGtA HqEA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1760023511; x=1760628311; 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=MC3uJwytBymNcNNUBl3ACIVe5vrNsKsuMCXz3oqIuhI=; b=wXz3X+W35JGn9eMepPXz19hljGVvZUqx6csYPVeTrZatnacAWZh7vscbPqrk9z6SEc r5kYgpaCyeCdzrAfUtopxxLe7fqPrfZZvtB6DAxOoLytky2Gj0FJgYstx7J/uZTq68yk cE2Go2mnEFQLjUGu1IWZaE0pfZBh2VNPGjCEuR+EjROVjDTB5Nha8Fx8VQVc5KdT8l0Y xdjgnHQ2xuwaLksyvJUNogbGT+rreZq1hRWTOoVKI6bg4+UxA0YbtZHuqiQyJYg9tAm9 eGcBSJUw16zEB6QYQtPEArZ0QVYKDSqiVEvGLqq2v1rMsKKUcj3CaO8kvLFisO5MgQD2 fRYQ== X-Forwarded-Encrypted: i=1; AJvYcCUZn8kSry1KxUnf+3OI0mo+GHC6J5JNen1MOjOVeV0CuI64SlK1bT3ZiNMbA0Hq9L6lGkwxVbIKz4Wpn2Q=@vger.kernel.org X-Gm-Message-State: AOJu0YxpYxUVBGSLNIIdMN9Gi3DJQVFnZz2yImcSV6Lm+q2iZJSR9Qh9 mnZM4fXfoMd0zmVyLtvlJJ1msJ3CcIxvmMAtzJ3GZuCngV5eCz8KdETXzQH1tP+0Me4= X-Gm-Gg: ASbGncsF9liW9N+KLO95C5WJnlX9BGZbjG84L0tCKnoOSjA4tdipp4JaLzSKUpUoSfw MsCR9VN6xbIAL4jTbTjqsr4TFYAHlQfjivNobOt5RlR0y7ugFyQNspHoJux1IzlQc31qw8x2CZZ G97N8JD/TdILJ+JW41axBp+uXMdXZE6hhJfjBl1MOtwXvzQsMn7Uc9DwrBXFbENlfWl4f1wmPSh eMtBAd7lV4JC7+3h0SLEQAkn0UvKa/cC4JL1eK2HKyDQmwWkx7J+GvEHyQd5l1FP8GdB6IC+r+T xFpfuMgCQ8ck821yV55uxpciMErMgBg0Q0Wd7/F8jA4QpG0UY8BCb2C+rBKZqTikW7RMYhuHi7d 70qTY0WliWAeMKZ5yc9ibNBuUswOROt2VHJ659Skemxhmer/VeY6ijwaCG9GRIlghkwI/UxnUeF 5UT12mtaQiXMRyaLcedHRBM/mq+VlJEXIqXHBren2t X-Google-Smtp-Source: AGHT+IGUCw5TbDsbNDU12n89wz1xnvXjoWKEOoQfEfCs7xti4zjASJ6sSLgSUPyBLFyQO2HMcf/P7g== X-Received: by 2002:a17:907:6e8a:b0:b3d:5088:213d with SMTP id a640c23a62f3a-b50abfd4902mr890576066b.42.1760023511315; Thu, 09 Oct 2025 08:25:11 -0700 (PDT) Received: from puffmais2.c.googlers.com (224.138.204.35.bc.googleusercontent.com. [35.204.138.224]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-b486970b36fsm1908967566b.62.2025.10.09.08.25.10 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 09 Oct 2025 08:25:10 -0700 (PDT) From: =?utf-8?q?Andr=C3=A9_Draszik?= Date: Thu, 09 Oct 2025 16:25:12 +0100 Subject: [PATCH v2 10/10] pmdomain: samsung: use dev_err() instead of pr_err() 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: <20251009-gs101-pd-v2-10-3f4a6db2af39@linaro.org> References: <20251009-gs101-pd-v2-0-3f4a6db2af39@linaro.org> In-Reply-To: <20251009-gs101-pd-v2-0-3f4a6db2af39@linaro.org> To: Krzysztof Kozlowski , Alim Akhtar , Rob Herring , Conor Dooley , Krzysztof Kozlowski , Ulf Hansson , Marek Szyprowski Cc: Peter Griffin , Tudor Ambarus , Will McVicker , kernel-team@android.com, linux-arm-kernel@lists.infradead.org, linux-samsung-soc@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-pm@vger.kernel.org, =?utf-8?q?Andr=C3=A9_Draszik?= , Krzysztof Kozlowski X-Mailer: b4 0.14.2 dev_err() gives us more consistent error messages, which include the device. Switch to using dev_err(). Reviewed-by: Krzysztof Kozlowski Signed-off-by: Andr=C3=A9 Draszik --- drivers/pmdomain/samsung/exynos-pm-domains.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/drivers/pmdomain/samsung/exynos-pm-domains.c b/drivers/pmdomai= n/samsung/exynos-pm-domains.c index a7e55624728a62545eac049c9a51012a229f44c2..387ee1c91caeae4519237af2ec6= 59f56782e7bd7 100644 --- a/drivers/pmdomain/samsung/exynos-pm-domains.c +++ b/drivers/pmdomain/samsung/exynos-pm-domains.c @@ -29,6 +29,7 @@ struct exynos_pm_domain_config { */ struct exynos_pm_domain { struct regmap *regmap; + struct device *dev; struct generic_pm_domain pd; u32 local_pwr_cfg; u32 configuration_reg; @@ -53,8 +54,9 @@ static int exynos_pd_power(struct generic_pm_domain *doma= in, bool power_on) (val & pd->local_pwr_cfg) =3D=3D pwr, 100, 1 * USEC_PER_MSEC); if (err) - pr_err("Power domain %s %sable failed: %d (%#.2x)\n", - domain->name, power_on ? "en" : "dis", err, val); + dev_err(pd->dev, + "Power domain %s %sable failed: %d (%#.2x)\n", + domain->name, power_on ? "en" : "dis", err, val); =20 return err; } @@ -123,6 +125,8 @@ static int exynos_pd_probe(struct platform_device *pdev) if (!pd) return -ENOMEM; =20 + pd->dev =3D dev; + pd->pd.name =3D exynos_get_domain_name(dev, np); if (!pd->pd.name) return -ENOMEM; --=20 2.51.0.710.ga91ca5db03-goog