ACPI / property: Extend fwnode_property_* to data-only subnodes
Modify is_acpi_node() to return "true" for ACPI data-only subnodes as well as for ACPI device objects and change the name of to_acpi_node() to to_acpi_device_node() so it is clear that it covers ACPI device objects only. Accordingly, introduce to_acpi_data_node() to cover data-only subnodes in an analogous way. With that, make the fwnode_property_* family of functions work with ACPI data-only subnodes introduced previously. Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com> Tested-by: Mika Westerberg <mika.westerberg@linux.intel.com>
This commit is contained in:
@@ -424,16 +424,33 @@ static inline bool acpi_check_dma(struct acpi_device *adev, bool *coherent)
|
||||
}
|
||||
|
||||
static inline bool is_acpi_node(struct fwnode_handle *fwnode)
|
||||
{
|
||||
return fwnode && (fwnode->type == FWNODE_ACPI
|
||||
|| fwnode->type == FWNODE_ACPI_DATA);
|
||||
}
|
||||
|
||||
static inline bool is_acpi_device_node(struct fwnode_handle *fwnode)
|
||||
{
|
||||
return fwnode && fwnode->type == FWNODE_ACPI;
|
||||
}
|
||||
|
||||
static inline struct acpi_device *to_acpi_node(struct fwnode_handle *fwnode)
|
||||
static inline struct acpi_device *to_acpi_device_node(struct fwnode_handle *fwnode)
|
||||
{
|
||||
return is_acpi_node(fwnode) ?
|
||||
return is_acpi_device_node(fwnode) ?
|
||||
container_of(fwnode, struct acpi_device, fwnode) : NULL;
|
||||
}
|
||||
|
||||
static inline bool is_acpi_data_node(struct fwnode_handle *fwnode)
|
||||
{
|
||||
return fwnode && fwnode->type == FWNODE_ACPI_DATA;
|
||||
}
|
||||
|
||||
static inline struct acpi_data_node *to_acpi_data_node(struct fwnode_handle *fwnode)
|
||||
{
|
||||
return is_acpi_data_node(fwnode) ?
|
||||
container_of(fwnode, struct acpi_data_node, fwnode) : NULL;
|
||||
}
|
||||
|
||||
static inline struct fwnode_handle *acpi_fwnode_handle(struct acpi_device *adev)
|
||||
{
|
||||
return &adev->fwnode;
|
||||
|
Reference in New Issue
Block a user