On Mon, 3 Apr 2023 at 13:14, Konrad Dybcio <konrad.dybcio@xxxxxxxxxx> wrote: > > > > On 2.04.2023 00:07, Dmitry Baryshkov wrote: > > 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 > #define PMIC_LABEL pmk8350 > #define LABEL(name) PMIC_LABEL##_##name This doesn't work. Using LABEL(test) results in PMIC_LABEL_test. > > ? > > Konrad > > 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" -- With best wishes Dmitry