[PATCH v2 09/22] arm64: dts: qcom: pmk8350: allow overriding the label

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



sc8280xp-pmics.dtsi incorporates a copy of pmk8350, but the dts files
use labels following the markings found in the schematics. Allow
overriding the labels in pmk8350.dtsi.

Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@xxxxxxxxxx>
---
 arch/arm64/boot/dts/qcom/pmic-dyn-footer.dtsi | 13 +++++++++
 arch/arm64/boot/dts/qcom/pmic-dyn-header.dtsi | 14 ++++++++++
 arch/arm64/boot/dts/qcom/pmk8350.dtsi         | 28 +++++++++++--------
 3 files changed, 44 insertions(+), 11 deletions(-)
 create mode 100644 arch/arm64/boot/dts/qcom/pmic-dyn-footer.dtsi
 create mode 100644 arch/arm64/boot/dts/qcom/pmic-dyn-header.dtsi

diff --git a/arch/arm64/boot/dts/qcom/pmic-dyn-footer.dtsi b/arch/arm64/boot/dts/qcom/pmic-dyn-footer.dtsi
new file mode 100644
index 000000000000..1c81269f0783
--- /dev/null
+++ b/arch/arm64/boot/dts/qcom/pmic-dyn-footer.dtsi
@@ -0,0 +1,13 @@
+// SPDX-License-Identifier: BSD-3-Clause
+/*
+ * Copyright (c) 2023, Linaro Limited
+ */
+
+/* cleanly revert the effects pmic-dyn-header.dtsi */
+
+#undef LABEL
+#undef _LABEL
+#undef __LABEL
+
+#undef PMIC_SID
+#undef PMIC_LABEL
diff --git a/arch/arm64/boot/dts/qcom/pmic-dyn-header.dtsi b/arch/arm64/boot/dts/qcom/pmic-dyn-header.dtsi
new file mode 100644
index 000000000000..75f0448568bd
--- /dev/null
+++ b/arch/arm64/boot/dts/qcom/pmic-dyn-header.dtsi
@@ -0,0 +1,14 @@
+// SPDX-License-Identifier: BSD-3-Clause
+/*
+ * Copyright (c) 2023, Linaro Limited
+ */
+
+/*
+ * Preprocessor symbols to assist in describing PMICs which have configurable
+ * SID. All effects of this header (or its parameters) must be reverted in
+ * pmic-dyn-footer.dtsi.
+ */
+
+#define LABEL(name) _LABEL(PMIC_LABEL, name)
+#define _LABEL(pmic, name) __LABEL(pmic, name)
+#define __LABEL(pmic, name) pmic ## _ ## name
diff --git a/arch/arm64/boot/dts/qcom/pmk8350.dtsi b/arch/arm64/boot/dts/qcom/pmk8350.dtsi
index 02e7518ab57b..f26ff3daf119 100644
--- a/arch/arm64/boot/dts/qcom/pmk8350.dtsi
+++ b/arch/arm64/boot/dts/qcom/pmk8350.dtsi
@@ -13,33 +13,39 @@
 	#define PMIC_SID 0
 #endif
 
+#ifndef PMIC_LABEL
+#define PMIC_LABEL pmk8350
+#endif
+
+#include "pmic-dyn-header.dtsi"
+
 &spmi_bus {
-	pmk8350: pmic@PMIC_SID {
+	PMIC_LABEL: pmic@PMIC_SID {
 		compatible = "qcom,pmk8350", "qcom,spmi-pmic";
 		reg = <PMIC_SID SPMI_USID>;
 		#address-cells = <1>;
 		#size-cells = <0>;
 
-		pmk8350_pon: pon@1300 {
+		LABEL(pon): pon@1300 {
 			compatible = "qcom,pmk8350-pon";
 			reg = <0x1300>, <0x800>;
 			reg-names = "hlos", "pbs";
 
-			pmk8350_pon_pwrkey: pwrkey {
+			LABEL(pon_pwrkey): pwrkey {
 				compatible = "qcom,pmk8350-pwrkey";
 				interrupts = <PMIC_SID 0x13 0x7 IRQ_TYPE_EDGE_BOTH>;
 				linux,code = <KEY_POWER>;
 				status = "disabled";
 			};
 
-			pmk8350_pon_resin: resin {
+			LABEL(pon_resin): resin {
 				compatible = "qcom,pmk8350-resin";
 				interrupts = <PMIC_SID 0x13 0x6 IRQ_TYPE_EDGE_BOTH>;
 				status = "disabled";
 			};
 		};
 
-		pmk8350_vadc: adc@3100 {
+		LABEL(vadc): adc@3100 {
 			compatible = "qcom,spmi-adc7";
 			reg = <0x3100>;
 			#address-cells = <1>;
@@ -48,7 +54,7 @@ pmk8350_vadc: adc@3100 {
 			#io-channel-cells = <1>;
 		};
 
-		pmk8350_adc_tm: adc-tm@3400 {
+		LABEL(adc_tm): adc-tm@3400 {
 			compatible = "qcom,adc-tm7";
 			reg = <0x3400>;
 			interrupts = <PMIC_SID 0x34 0x0 IRQ_TYPE_EDGE_RISING>;
@@ -58,7 +64,7 @@ pmk8350_adc_tm: adc-tm@3400 {
 			status = "disabled";
 		};
 
-		pmk8350_rtc: rtc@6100 {
+		LABEL(rtc): rtc@6100 {
 			compatible = "qcom,pmk8350-rtc";
 			reg = <0x6100>, <0x6200>;
 			reg-names = "rtc", "alarm";
@@ -66,7 +72,7 @@ pmk8350_rtc: rtc@6100 {
 			status = "disabled";
 		};
 
-		pmk8350_sdam_6: nvram@8500 {
+		LABEL(sdam_6): nvram@8500 {
 			compatible = "qcom,spmi-sdam";
 			reg = <0x8500>;
 			#address-cells = <1>;
@@ -75,11 +81,11 @@ pmk8350_sdam_6: nvram@8500 {
 			status = "disabled";
 		};
 
-		pmk8350_gpios: gpio@b000 {
+		LABEL(gpios): gpio@b000 {
 			compatible = "qcom,pmk8350-gpio", "qcom,spmi-gpio";
 			reg = <0xb000>;
 			gpio-controller;
-			gpio-ranges = <&pmk8350_gpios 0 0 4>;
+			gpio-ranges = <&LABEL(gpios) 0 0 4>;
 			#gpio-cells = <2>;
 			interrupt-controller;
 			#interrupt-cells = <2>;
@@ -87,4 +93,4 @@ pmk8350_gpios: gpio@b000 {
 	};
 };
 
-#undef PMIC_SID
+#include "pmic-dyn-footer.dtsi"
-- 
2.30.2




[Index of Archives]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Input]     [Linux Kernel]     [Linux SCSI]     [X.org]

  Powered by Linux