mirror of https://gitee.com/openkylin/linux.git
Merge branches 'acpi-pmic', 'acpi-bus', 'acpi-wdat' and 'acpi-properties'
* acpi-pmic: ACPI / PMIC: Add code reviewers to MAINTAINERS * acpi-bus: ACPI / bus: Make ACPI_HANDLE() work for non-GPL code again * acpi-wdat: ACPI / watchdog: properly initialize resources * acpi-properties: ACPI: properties: Return _DSD hierarchical extension (data) sub-nodes correctly
This commit is contained in:
commit
672d0e4502
|
@ -66,7 +66,7 @@ void __init acpi_watchdog_init(void)
|
|||
for (i = 0; i < wdat->entries; i++) {
|
||||
const struct acpi_generic_address *gas;
|
||||
struct resource_entry *rentry;
|
||||
struct resource res;
|
||||
struct resource res = {};
|
||||
bool found;
|
||||
|
||||
gas = &entries[i].register_region;
|
||||
|
|
|
@ -908,11 +908,12 @@ struct fwnode_handle *acpi_get_next_subnode(const struct fwnode_handle *fwnode,
|
|||
struct fwnode_handle *child)
|
||||
{
|
||||
const struct acpi_device *adev = to_acpi_device_node(fwnode);
|
||||
struct acpi_device *child_adev = NULL;
|
||||
const struct list_head *head;
|
||||
struct list_head *next;
|
||||
|
||||
if (!child || is_acpi_device_node(child)) {
|
||||
struct acpi_device *child_adev;
|
||||
|
||||
if (adev)
|
||||
head = &adev->children;
|
||||
else
|
||||
|
@ -922,8 +923,8 @@ struct fwnode_handle *acpi_get_next_subnode(const struct fwnode_handle *fwnode,
|
|||
goto nondev;
|
||||
|
||||
if (child) {
|
||||
child_adev = to_acpi_device_node(child);
|
||||
next = child_adev->node.next;
|
||||
adev = to_acpi_device_node(child);
|
||||
next = adev->node.next;
|
||||
if (next == head) {
|
||||
child = NULL;
|
||||
goto nondev;
|
||||
|
@ -941,8 +942,8 @@ struct fwnode_handle *acpi_get_next_subnode(const struct fwnode_handle *fwnode,
|
|||
const struct acpi_data_node *data = to_acpi_data_node(fwnode);
|
||||
struct acpi_data_node *dn;
|
||||
|
||||
if (child_adev)
|
||||
head = &child_adev->data.subnodes;
|
||||
if (adev)
|
||||
head = &adev->data.subnodes;
|
||||
else if (data)
|
||||
head = &data->data.subnodes;
|
||||
else
|
||||
|
@ -1293,3 +1294,16 @@ static int acpi_fwnode_graph_parse_endpoint(const struct fwnode_handle *fwnode,
|
|||
DECLARE_ACPI_FWNODE_OPS(acpi_device_fwnode_ops);
|
||||
DECLARE_ACPI_FWNODE_OPS(acpi_data_fwnode_ops);
|
||||
const struct fwnode_operations acpi_static_fwnode_ops;
|
||||
|
||||
bool is_acpi_device_node(const struct fwnode_handle *fwnode)
|
||||
{
|
||||
return !IS_ERR_OR_NULL(fwnode) &&
|
||||
fwnode->ops == &acpi_device_fwnode_ops;
|
||||
}
|
||||
EXPORT_SYMBOL(is_acpi_device_node);
|
||||
|
||||
bool is_acpi_data_node(const struct fwnode_handle *fwnode)
|
||||
{
|
||||
return !IS_ERR_OR_NULL(fwnode) && fwnode->ops == &acpi_data_fwnode_ops;
|
||||
}
|
||||
EXPORT_SYMBOL(is_acpi_data_node);
|
||||
|
|
|
@ -399,17 +399,12 @@ extern const struct fwnode_operations acpi_device_fwnode_ops;
|
|||
extern const struct fwnode_operations acpi_data_fwnode_ops;
|
||||
extern const struct fwnode_operations acpi_static_fwnode_ops;
|
||||
|
||||
bool is_acpi_device_node(const struct fwnode_handle *fwnode);
|
||||
bool is_acpi_data_node(const struct fwnode_handle *fwnode);
|
||||
|
||||
static inline bool is_acpi_node(const struct fwnode_handle *fwnode)
|
||||
{
|
||||
return !IS_ERR_OR_NULL(fwnode) &&
|
||||
(fwnode->ops == &acpi_device_fwnode_ops
|
||||
|| fwnode->ops == &acpi_data_fwnode_ops);
|
||||
}
|
||||
|
||||
static inline bool is_acpi_device_node(const struct fwnode_handle *fwnode)
|
||||
{
|
||||
return !IS_ERR_OR_NULL(fwnode) &&
|
||||
fwnode->ops == &acpi_device_fwnode_ops;
|
||||
return (is_acpi_device_node(fwnode) || is_acpi_data_node(fwnode));
|
||||
}
|
||||
|
||||
#define to_acpi_device_node(__fwnode) \
|
||||
|
@ -422,11 +417,6 @@ static inline bool is_acpi_device_node(const struct fwnode_handle *fwnode)
|
|||
NULL; \
|
||||
})
|
||||
|
||||
static inline bool is_acpi_data_node(const struct fwnode_handle *fwnode)
|
||||
{
|
||||
return !IS_ERR_OR_NULL(fwnode) && fwnode->ops == &acpi_data_fwnode_ops;
|
||||
}
|
||||
|
||||
#define to_acpi_data_node(__fwnode) \
|
||||
({ \
|
||||
typeof(__fwnode) __to_acpi_data_node_fwnode = __fwnode; \
|
||||
|
|
Loading…
Reference in New Issue