Merge tag 'devicetree-for-6.9' of git://git.kernel.org/pub/scm/linux/kernel/git/robh...
authorLinus Torvalds <torvalds@linux-foundation.org>
Fri, 15 Mar 2024 19:37:59 +0000 (12:37 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Fri, 15 Mar 2024 19:37:59 +0000 (12:37 -0700)
Pull devicetree updates from Rob Herring:
 "DT core:

   - Add cleanup.h based auto release of struct device_node pointers via
     __free marking and new for_each_child_of_node_scoped() iterator to
     use it.

   - Always create a base skeleton DT when CONFIG_OF is enabled. This
     supports several usecases of adding DT data on non-DT booted
     systems.

   - Move around some /reserved-memory code in preparation for further
     improvements

   - Add a stub for_each_property_of_node() for !OF

   - Adjust the printk levels on some messages

   - Fix __be32 sparse warning

   - Drop RESERVEDMEM_OF_DECLARE usage from Freescale qbman driver
     (currently orphaned)

   - Add Saravana Kannan and drop Frank Rowand as DT maintainers

  DT bindings:

   - Convert Mediatek timer, Mediatek sysirq, fsl,imx6ul-tsc,
     fsl,imx6ul-pinctrl, Atmel AIC, Atmel HLCDC, FPGA region, and
     xlnx,sd-fec to DT schemas

   - Add existing, but undocumented fsl,imx-anatop binding

   - Add bunch of undocumented vendor prefixes used in compatible
     strings

   - Drop obsolete brcm,bcm2835-pm-wdt binding

   - Drop obsolete i2c.txt which as been replaced with schema in
     dtschema

   - Add DPS310 device and sort trivial-devices.yaml

   - Enable undocumented compatible checks on DT binding examples

   - More QCom maintainer fixes/updates

   - Updates to writing-schema.rst and DT submitting-patches.rst to
     cover some frequent review comments

   - Clean-up SPDX tags to use 'OR' rather than 'or'"

* tag 'devicetree-for-6.9' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux: (56 commits)
  dt-bindings: soc: imx: fsl,imx-anatop: add imx6q regulators
  of: unittest: Use for_each_child_of_node_scoped()
  of: Introduce for_each_*_child_of_node_scoped() to automate of_node_put() handling
  of: Add cleanup.h based auto release via __free(device_node) markings
  of: Move all FDT reserved-memory handling into of_reserved_mem.c
  of: Add KUnit test to confirm DTB is loaded
  of: unittest: treat missing of_root as error instead of fixing up
  x86/of: Unconditionally call unflatten_and_copy_device_tree()
  um: Unconditionally call unflatten_device_tree()
  of: Create of_root if no dtb provided by firmware
  of: Always unflatten in unflatten_and_copy_device_tree()
  dt-bindings: timer: mediatek: Convert to json-schema
  dt-bindings: interrupt-controller: fsl,intmux: Include power-domains support
  soc: fsl: qbman: Remove RESERVEDMEM_OF_DECLARE usage
  dt-bindings: fsl-imx-sdma: fix HDMI audio index
  dt-bindings: soc: imx: fsl,imx-iomuxc-gpr: add imx6
  dt-bindings: soc: imx: fsl,imx-anatop: add binding
  dt-bindings: input: touchscreen: fsl,imx6ul-tsc convert to YAML
  dt-bindings: pinctrl: fsl,imx6ul-pinctrl: convert to YAML
  of: make for_each_property_of_node() available to to !OF
  ...

1  2 
Documentation/devicetree/bindings/Makefile
Documentation/devicetree/bindings/trivial-devices.yaml
Documentation/devicetree/bindings/vendor-prefixes.yaml
MAINTAINERS
arch/x86/kernel/devicetree.c
drivers/of/base.c
drivers/of/property.c
drivers/of/unittest.c
include/linux/of.h

index 2210964faaf69b4a1844dfcb971a536073d022b5,41982a41398ad0b85f859252c40031140a7f1f5e..e07be7bf8395f7dd29f59e1028ce87311b90b19c
@@@ -47,10 -48,10 +48,12 @@@ properties
            - adi,lt7182s
              # AMS iAQ-Core VOC Sensor
            - ams,iaq-core
 +            # Temperature monitoring of Astera Labs PT5161L PCIe retimer
 +          - asteralabs,pt5161l
              # i2c serial eeprom (24cxx)
            - at,24c08
+             # i2c h/w elliptic curve crypto module
+           - atmel,atecc508a
              # ATSHA204 - i2c h/w symmetric crypto module
            - atmel,atsha204
              # ATSHA204A - i2c h/w symmetric crypto module
            - ibm,cffps1
              # IBM Common Form Factor Power Supply Versions 2
            - ibm,cffps2
+             # Infineon barometric pressure and temperature sensor
+           - infineon,dps310
              # Infineon IR36021 digital POL buck controller
            - infineon,ir36021
 -            # Infineon IR38060 Voltage Regulator
 -          - infineon,ir38060
 -            # Infineon IR38064 Voltage Regulator
 -          - infineon,ir38064
 -            # Infineon IR38164 Voltage Regulator
 -          - infineon,ir38164
 -            # Infineon IR38263 Voltage Regulator
 -          - infineon,ir38263
              # Infineon IRPS5401 Voltage Regulator (PMIC)
            - infineon,irps5401
              # Infineon TLV493D-A1B6 I2C 3D Magnetic Sensor
            - miramems,da280
              # MiraMEMS DA311 3-axis 12-bit digital accelerometer
            - miramems,da311
+             # Monolithic Power Systems Inc. multi-phase controller mp2856
+           - mps,mp2856
+             # Monolithic Power Systems Inc. multi-phase controller mp2857
+           - mps,mp2857
+             # Monolithic Power Systems Inc. multi-phase controller mp2888
+           - mps,mp2888
+             # Monolithic Power Systems Inc. multi-phase controller mp2971
+           - mps,mp2971
+             # Monolithic Power Systems Inc. multi-phase controller mp2973
+           - mps,mp2973
+             # Monolithic Power Systems Inc. multi-phase controller mp2975
+           - mps,mp2975
+             # Monolithic Power Systems Inc. multi-phase hot-swap controller mp5990
+           - mps,mp5990
++            # Monolithic Power Systems Inc. synchronous step-down converter mpq8785
++          - mps,mpq8785
              # Temperature sensor with integrated fan control
            - national,lm63
              # Serial Interface ACPI-Compatible Microprocessor System Hardware Monitor
diff --cc MAINTAINERS
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
index 331e05918f11f9edfa436c810e7c46037b179c45,4677e50d52b7e4d09675785d9af31e6064367133..4f24e33d67a602570306659bf1984e0863f2274f
@@@ -1439,10 -1430,13 +1438,16 @@@ static inline int of_property_read_s32(
  #define for_each_available_child_of_node(parent, child) \
        for (child = of_get_next_available_child(parent, NULL); child != NULL; \
             child = of_get_next_available_child(parent, child))
 +#define for_each_reserved_child_of_node(parent, child)                        \
 +      for (child = of_get_next_reserved_child(parent, NULL); child != NULL; \
 +           child = of_get_next_reserved_child(parent, child))
  
+ #define for_each_available_child_of_node_scoped(parent, child) \
+       for (struct device_node *child __free(device_node) =            \
+            of_get_next_available_child(parent, NULL);                 \
+            child != NULL;                                             \
+            child = of_get_next_available_child(parent, child))
  #define for_each_of_cpu_node(cpu) \
        for (cpu = of_get_next_cpu_node(NULL); cpu != NULL; \
             cpu = of_get_next_cpu_node(cpu))