summaryrefslogtreecommitdiff
path: root/include/linux/property.h
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2025-10-02 01:11:00 +0300
committerLinus Torvalds <torvalds@linux-foundation.org>2025-10-02 01:11:00 +0300
commitcf8da11679ec4e54e2dd3cb147fb310a2230be52 (patch)
tree1b3b27ba6282fd40a8d587b754ce8c2448c22fbf /include/linux/property.h
parent5fb024931949f3475260c84a0e4b0997af9c5530 (diff)
parentcb3005d4c490fe2489accd5408592683d705b455 (diff)
downloadlinux-cf8da11679ec4e54e2dd3cb147fb310a2230be52.tar.xz
Merge tag 'i2c-for-6.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux
Pull i2c updates from Wolfram Sang: "Mostly DT bindings additions this time because Andi was super busy and I also could only partly cover it. - new ids for qcom-cci, mt65xx, exynos5, apple, tegra20, k1, i801 - drop support for already removed S3C2410 - introduce and use fwnode_for_each_child_node_scoped() - mmt65xx: improve write-then-read transactions - k1: various fixes around bus errors and resets - usual share of cleanups, minor improvements, PM fixes... at24 updates: - add the compatible for Giantec GT24C256C to the device-tree bindings" * tag 'i2c-for-6.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux: (33 commits) i2c: i801: Add support for Intel Wildcat Lake-U dt-bindings: i2c: i2c-mt65xx: Add MediaTek MT8196/6991 compatibles i2c: designware: Add disabling clocks when probe fails i2c: designware: Fix clock issue when PM is disabled i2c: busses: Fix some spelling errors i2c: mux: Simplify boolean assignment in i2c_mux_alloc i2c: designware: use dev_err_probe() when probing platform device i2c: designware: convert to dev_err_probe() on request IRQ error i2c: spacemit: ensure SDA is released after bus reset i2c: spacemit: check SDA instead of SCL after bus reset i2c: spacemit: disable SDA glitch fix to avoid restart delay i2c: spacemit: remove stop function to avoid bus error i2c: spacemit: ensure bus release check runs when wait_bus_idle() fails i2c: mediatek: fix potential incorrect use of I2C_MASTER_WRRD i2c: boardinfo: Annotate code used in init phase only dt-bindings: i2c: i2c-mt65xx: Document MediaTek MT6878 I2C dt-bindings: i2c: samsung,s3c2410-i2c: Drop S3C2410 i2c: s3c2410: Drop S3C2410 OF support dt-bindings: i2c: spacemit,k1-i2c: Minor whitespace cleanup in example dt-bindings: i2c: exynos5: add samsung,exynos8890-hsi2c compatible ...
Diffstat (limited to 'include/linux/property.h')
-rw-r--r--include/linux/property.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/include/linux/property.h b/include/linux/property.h
index d1e80b3c9918..50b26589dd70 100644
--- a/include/linux/property.h
+++ b/include/linux/property.h
@@ -176,6 +176,16 @@ struct fwnode_handle *fwnode_get_next_available_child_node(
for (child = fwnode_get_next_available_child_node(fwnode, NULL); child;\
child = fwnode_get_next_available_child_node(fwnode, child))
+#define fwnode_for_each_child_node_scoped(fwnode, child) \
+ for (struct fwnode_handle *child __free(fwnode_handle) = \
+ fwnode_get_next_child_node(fwnode, NULL); \
+ child; child = fwnode_get_next_child_node(fwnode, child))
+
+#define fwnode_for_each_available_child_node_scoped(fwnode, child) \
+ for (struct fwnode_handle *child __free(fwnode_handle) = \
+ fwnode_get_next_available_child_node(fwnode, NULL); \
+ child; child = fwnode_get_next_available_child_node(fwnode, child))
+
struct fwnode_handle *device_get_next_child_node(const struct device *dev,
struct fwnode_handle *child);