public inbox for linux-acpi@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH 00/14] Align availability checks on fwnode child node enumeration
@ 2025-09-16 16:01 Sakari Ailus
  2025-09-16 16:01 ` [PATCH 01/14] ACPI: property: Use ACPI functions in acpi_graph_get_next_endpoint() only Sakari Ailus
                   ` (14 more replies)
  0 siblings, 15 replies; 27+ messages in thread
From: Sakari Ailus @ 2025-09-16 16:01 UTC (permalink / raw)
  To: linux-acpi
  Cc: Rafael J. Wysocki, Len Brown, Andy Shevchenko, Daniel Scally,
	Heikki Krogerus, Danilo Krummrich

Hello everyone,

Historically the fwnode property API has enumerated only available device
nodes on OF whereas on ACPI, also nodes that haven't been present in the
system have been provided. Both OF and ACPI have similar concepts of node
availbility, on OF it's the "status" property present on device nodes and
on ACPI the _STA object evaluates to device present, enabled and
functional bits, of which the present and functional bits are currently
being used to determine whether to enumerate a device.

Two additional functions, fwnode_get_next_available_child_node() and
fwnode_for_each_available_child_node(), have been provided to enumerate
the available nodes only on ACPI, whereas on OF the implementation has
been the same on the non-available variants. The motivation for providing
these has very likely been to provide fwnode variants of the similarly
named functions but the difference isn't justifiable from API consistency
viewpoint.

This set switches the users away from the "available" fwnode API functions
and later on removes them, aligning the functionality on all fwnode
backends.

I'm posting this to linux-acpi and a small set of reviewers for now and
once we're happy with the ACPI / fwnode changes, to the full list.

Sakari Ailus (14):
  ACPI: property: Use ACPI functions in acpi_graph_get_next_endpoint()
    only
  ACPI: property: Make acpi_get_next_subnode() static
  ACPI: property: Return present device nodes only on fwnode interface
  property: Drop DEVICE_DISABLED flag in
    fwnode_graph_get_endpoint_by_id()
  property: Drop DEVICE_DISABLED flag in
    fwnode_graph_get_endpoint_count()
  property: Document that fwnode API returns available nodes
  driver core: Use fwnode_for_each_child_node() instead
  net: lan966x: Use fwnode_for_each_child_node() instead
  Input: touch-overlay - Use fwnode_for_each_child_node() instead
  media: thp7312: Use fwnode_for_each_child_node() instead
  leds: Use fwnode_for_each_child_node() instead
  leds: Use fwnode_get_next_child_node() instead
  property: Drop functions operating on "available" child nodes
  spi: cadence: Remove explicit device node availability check

 drivers/acpi/property.c                       | 34 ++++++++---
 drivers/base/core.c                           | 10 ++--
 drivers/base/property.c                       | 56 +++----------------
 drivers/input/touch-overlay.c                 |  2 +-
 drivers/leds/flash/leds-rt4505.c              |  2 +-
 drivers/leds/flash/leds-rt8515.c              |  2 +-
 drivers/leds/flash/leds-sgm3140.c             |  3 +-
 drivers/leds/flash/leds-tps6131x.c            |  2 +-
 drivers/leds/leds-max5970.c                   |  2 +-
 drivers/leds/leds-max77705.c                  |  2 +-
 drivers/leds/rgb/leds-ktd202x.c               |  4 +-
 drivers/leds/rgb/leds-ncp5623.c               |  2 +-
 drivers/media/i2c/thp7312.c                   |  2 +-
 .../ethernet/microchip/lan966x/lan966x_main.c |  2 +-
 drivers/spi/spi-cadence-xspi.c                |  3 -
 include/linux/acpi.h                          | 10 ----
 include/linux/property.h                      | 14 +----
 17 files changed, 54 insertions(+), 98 deletions(-)

-- 
2.47.3


^ permalink raw reply	[flat|nested] 27+ messages in thread

end of thread, other threads:[~2025-09-23  8:29 UTC | newest]

Thread overview: 27+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-09-16 16:01 [PATCH 00/14] Align availability checks on fwnode child node enumeration Sakari Ailus
2025-09-16 16:01 ` [PATCH 01/14] ACPI: property: Use ACPI functions in acpi_graph_get_next_endpoint() only Sakari Ailus
2025-09-17  7:17   ` Andy Shevchenko
2025-09-17 11:50     ` Sakari Ailus
2025-09-16 16:01 ` [PATCH 02/14] ACPI: property: Make acpi_get_next_subnode() static Sakari Ailus
2025-09-17  7:18   ` Andy Shevchenko
2025-09-16 16:01 ` [PATCH 03/14] ACPI: property: Return present device nodes only on fwnode interface Sakari Ailus
2025-09-17  7:58   ` Andy Shevchenko
2025-09-16 16:01 ` [PATCH 04/14] property: Drop DEVICE_DISABLED flag in fwnode_graph_get_endpoint_by_id() Sakari Ailus
2025-09-17  8:39   ` Andy Shevchenko
2025-09-17 12:19     ` Sakari Ailus
2025-09-16 16:01 ` [PATCH 05/14] property: Drop DEVICE_DISABLED flag in fwnode_graph_get_endpoint_count() Sakari Ailus
2025-09-18 19:23   ` Andy Shevchenko
2025-09-16 16:01 ` [PATCH 06/14] property: Document that fwnode API returns available nodes Sakari Ailus
2025-09-22  8:03   ` Andy Shevchenko
2025-09-16 16:01 ` [PATCH 07/14] driver core: Use fwnode_for_each_child_node() instead Sakari Ailus
2025-09-23  5:43   ` Andy Shevchenko
2025-09-16 16:01 ` [PATCH 08/14] net: lan966x: " Sakari Ailus
2025-09-16 16:01 ` [PATCH 09/14] Input: touch-overlay - " Sakari Ailus
2025-09-16 16:01 ` [PATCH 10/14] media: thp7312: " Sakari Ailus
2025-09-16 16:01 ` [PATCH 11/14] leds: " Sakari Ailus
2025-09-16 16:01 ` [PATCH 12/14] leds: Use fwnode_get_next_child_node() instead Sakari Ailus
2025-09-23  5:46   ` Andy Shevchenko
2025-09-23  8:29     ` Sakari Ailus
2025-09-16 16:01 ` [PATCH 13/14] property: Drop functions operating on "available" child nodes Sakari Ailus
2025-09-16 16:01 ` [PATCH 14/14] spi: cadence: Remove explicit device node availability check Sakari Ailus
2025-09-17  7:07 ` [PATCH 00/14] Align availability checks on fwnode child node enumeration Andy Shevchenko

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox