linux/drivers/base
Herve Codina 3b62449da4 driver core: Introduce device_{add,remove}_of_node()
An of_node can be set to a device using device_set_node(), which does not
prevent any of_node and/or fwnode overwrites.

When adding an of_node on an already present device, the following
operations need to be done:

  - Attach the of_node only if no of_node is already attached

  - Attach the of_node as a fwnode if no fwnode were already attached

This is the purpose of device_add_of_node().  device_remove_of_node()
reverts the operations done by device_add_of_node().

Link: https://lore.kernel.org/r/20250224141356.36325-2-herve.codina@bootlin.com
Signed-off-by: Herve Codina <herve.codina@bootlin.com>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Reviewed-by: Rob Herring (Arm) <robh@kernel.org>
Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2025-02-28 15:12:58 -06:00
..
firmware_loader Summary: 2025-01-29 10:35:40 -08:00
power PM: sleep: core: Synchronize runtime PM status of parents and children 2025-01-29 11:50:33 +01:00
regmap Expand SoundWire MBQ register map support 2025-01-07 23:28:07 +00:00
test drivers: base: test: Add ...find_device_by...(... NULL) tests 2024-12-24 09:48:09 +01:00
arch_numa.c arch_numa: Restore nid checks before registering a memblock with a node 2024-12-01 22:04:52 +02:00
arch_topology.c ACPI: processor: Move arch_init_invariance_cppc() call later 2024-11-06 21:31:36 +01:00
attribute_container.c driver core: attribute_container: Remove unused functions 2024-09-13 15:41:42 +02:00
auxiliary_sysfs.c driver core: auxiliary bus: show auxiliary device IRQs 2024-07-11 14:17:03 -07:00
auxiliary.c driver core: auxiliary bus: Spelling s/pecific/specific/ 2024-11-04 01:58:10 +01:00
base.h Revert "driver core: shut down devices asynchronously" 2024-09-25 11:01:27 +02:00
bus.c driver core: Introduce device_iter_t for device iterating APIs 2025-01-10 15:26:12 +01:00
cacheinfo.c cacheinfo: Allocate memory during CPU hotplug if not done from the primary CPU 2024-12-06 13:07:47 +01:00
class.c drivers: core: remove device_link argument from class_compat_[create|remove]_link 2025-01-10 15:42:20 +01:00
component.c driver core: component: fix spellos 2024-01-30 15:58:06 -08:00
container.c
core.c driver core: Introduce device_{add,remove}_of_node() 2025-02-28 15:12:58 -06:00
cpu.c riscv: Add ghostwrite vulnerability 2025-01-18 12:33:39 -08:00
dd.c Driver core update for 6.12-rc1 2024-09-27 08:48:37 -07:00
devcoredump.c devcoredump: Constify 'struct bin_attribute' 2025-01-15 18:30:58 +01:00
devres.c devres: add devm_remove_action_nowarn() 2025-01-10 15:49:06 +01:00
devtmpfs.c
driver.c driver core: Introduce device_iter_t for device iterating APIs 2025-01-10 15:26:12 +01:00
firmware.c
hypervisor.c
init.c
isa.c driver core: have match() callback in struct bus_type take a const * 2024-07-03 15:16:54 +02:00
Kconfig arch_numa: switch over to numa_memblks 2024-09-03 21:15:32 -07:00
Makefile driver core: auxiliary bus: show auxiliary device IRQs 2024-07-11 14:17:03 -07:00
map.c
memory.c mm: add build-time option for hotplug memory default online type 2025-01-25 20:22:21 -08:00
module.c Revert "driver core: Fix uevent_show() vs driver detach race" 2024-10-29 01:23:43 +01:00
node.c driver core: Constify bin_attribute definitions 2024-11-15 19:29:16 +01:00
physical_location.c ACPI: bus: change the prototype for acpi_get_physical_device_location 2024-12-19 20:59:35 +01:00
physical_location.h
pinctrl.c
platform-msi.c genirq/msi: Remove platform MSI leftovers 2024-07-18 20:31:21 +02:00
platform.c platform: Make platform_bus_type constant 2024-09-03 13:00:50 +02:00
property.c device property: Split property reading bool and presence test ops 2025-01-13 17:47:29 -06:00
soc.c
swnode.c device property: Split property reading bool and presence test ops 2025-01-13 17:47:29 -06:00
syscore.c
topology.c topology: Keep the cpumask unchanged when printing cpumap 2025-01-07 17:58:08 +01:00
trace.c
trace.h devres: Fix page faults when tracing devres from unloaded modules 2024-10-14 08:21:09 +02:00
transport_class.c