[PATCH 0/3] of: Reimplement of_(bus_)?n_(size|addr)_cells()

From: Rob Herring (Arm)
Date: Thu May 30 2024 - 21:03:41 EST


This series reworks the of_(bus_)?n_(size|addr)_cells() functions. They
fail to hold the DT spinlock while accessing 'parent' pointer and don't
hold a reference to the parent node. Neither is likely a real issue as
most nodes are static.

With these issues fixed, we can then replace the open coded version in
of_irq_parse_raw().

This series depends on the fixes from this series[1].

Rob

[1] https://lore.kernel.org/lkml/20240529-dt-interrupt-map-fix-v2-0-ef86dc5bcd2a@xxxxxxxxxx/

---
Rob Herring (Arm) (3):
of: Add an iterator to walk up parent nodes
of: Add missing locking to of_(bus_)?n_(size|addr)_cells()
of/irq: Use of_bus_n_addr_cells() to retrieve "#address-cells"

drivers/of/base.c | 18 ++++++++----------
drivers/of/irq.c | 15 +++------------
include/linux/of.h | 5 +++++
3 files changed, 16 insertions(+), 22 deletions(-)
---
base-commit: e7985f43609c782132f8f5794ee6cc4cdb66ca75
change-id: 20240530-dt-interrupt-map-fix-6946101b1391

Best regards,
--
Rob Herring (Arm) <robh@xxxxxxxxxx>