#define pr_fmt(fmt) …
#include <linux/acpi.h>
#include <linux/device.h>
#include <linux/export.h>
#include "internal.h"
static int acpi_data_get_property_array(const struct acpi_device_data *data,
const char *name,
acpi_object_type type,
const union acpi_object **obj);
static const guid_t prp_guids[] = …;
static const guid_t ads_guid = …;
static const guid_t buffer_prop_guid = …;
static bool acpi_enumerate_nondev_subnodes(acpi_handle scope,
union acpi_object *desc,
struct acpi_device_data *data,
struct fwnode_handle *parent);
static bool acpi_extract_properties(acpi_handle handle,
union acpi_object *desc,
struct acpi_device_data *data);
static bool acpi_nondev_subnode_extract(union acpi_object *desc,
acpi_handle handle,
const union acpi_object *link,
struct list_head *list,
struct fwnode_handle *parent)
{ … }
static bool acpi_nondev_subnode_data_ok(acpi_handle handle,
const union acpi_object *link,
struct list_head *list,
struct fwnode_handle *parent)
{ … }
static bool acpi_nondev_subnode_ok(acpi_handle scope,
const union acpi_object *link,
struct list_head *list,
struct fwnode_handle *parent)
{ … }
static bool acpi_add_nondev_subnodes(acpi_handle scope,
union acpi_object *links,
struct list_head *list,
struct fwnode_handle *parent)
{ … }
static bool acpi_enumerate_nondev_subnodes(acpi_handle scope,
union acpi_object *desc,
struct acpi_device_data *data,
struct fwnode_handle *parent)
{ … }
static bool acpi_property_value_ok(const union acpi_object *value)
{ … }
static bool acpi_properties_format_valid(const union acpi_object *properties)
{ … }
static void acpi_init_of_compatible(struct acpi_device *adev)
{ … }
static bool acpi_is_property_guid(const guid_t *guid)
{ … }
struct acpi_device_properties *
acpi_data_add_props(struct acpi_device_data *data, const guid_t *guid,
union acpi_object *properties)
{ … }
static void acpi_nondev_subnode_tag(acpi_handle handle, void *context)
{ … }
static void acpi_untie_nondev_subnodes(struct acpi_device_data *data)
{ … }
static bool acpi_tie_nondev_subnodes(struct acpi_device_data *data)
{ … }
static void acpi_data_add_buffer_props(acpi_handle handle,
struct acpi_device_data *data,
union acpi_object *properties)
{ … }
static bool acpi_extract_properties(acpi_handle scope, union acpi_object *desc,
struct acpi_device_data *data)
{ … }
void acpi_init_properties(struct acpi_device *adev)
{ … }
static void acpi_free_device_properties(struct list_head *list)
{ … }
static void acpi_destroy_nondev_subnodes(struct list_head *list)
{ … }
void acpi_free_properties(struct acpi_device *adev)
{ … }
static int acpi_data_get_property(const struct acpi_device_data *data,
const char *name, acpi_object_type type,
const union acpi_object **obj)
{ … }
int acpi_dev_get_property(const struct acpi_device *adev, const char *name,
acpi_object_type type, const union acpi_object **obj)
{ … }
EXPORT_SYMBOL_GPL(…);
static const struct acpi_device_data *
acpi_device_data_of_node(const struct fwnode_handle *fwnode)
{ … }
int acpi_node_prop_get(const struct fwnode_handle *fwnode,
const char *propname, void **valptr)
{ … }
static int acpi_data_get_property_array(const struct acpi_device_data *data,
const char *name,
acpi_object_type type,
const union acpi_object **obj)
{ … }
static struct fwnode_handle *
acpi_fwnode_get_named_child_node(const struct fwnode_handle *fwnode,
const char *childname)
{ … }
static int acpi_get_ref_args(struct fwnode_reference_args *args,
struct fwnode_handle *ref_fwnode,
const union acpi_object **element,
const union acpi_object *end, size_t num_args)
{ … }
static struct fwnode_handle *acpi_parse_string_ref(const struct fwnode_handle *fwnode,
const char *refstring)
{ … }
int __acpi_node_get_property_reference(const struct fwnode_handle *fwnode,
const char *propname, size_t index, size_t num_args,
struct fwnode_reference_args *args)
{ … }
EXPORT_SYMBOL_GPL(…);
static int acpi_data_prop_read_single(const struct acpi_device_data *data,
const char *propname,
enum dev_prop_type proptype, void *val)
{ … }
#define acpi_copy_property_array_uint(items, val, nval) …
static int acpi_copy_property_array_string(const union acpi_object *items,
char **val, size_t nval)
{ … }
static int acpi_data_prop_read(const struct acpi_device_data *data,
const char *propname,
enum dev_prop_type proptype,
void *val, size_t nval)
{ … }
static int acpi_node_prop_read(const struct fwnode_handle *fwnode,
const char *propname, enum dev_prop_type proptype,
void *val, size_t nval)
{ … }
static int stop_on_next(struct acpi_device *adev, void *data)
{ … }
struct fwnode_handle *acpi_get_next_subnode(const struct fwnode_handle *fwnode,
struct fwnode_handle *child)
{ … }
static struct fwnode_handle *
acpi_node_get_parent(const struct fwnode_handle *fwnode)
{ … }
static bool is_acpi_graph_node(struct fwnode_handle *fwnode,
const char *str)
{ … }
static struct fwnode_handle *acpi_graph_get_next_endpoint(
const struct fwnode_handle *fwnode, struct fwnode_handle *prev)
{ … }
static struct fwnode_handle *acpi_graph_get_child_prop_value(
const struct fwnode_handle *fwnode, const char *prop_name,
unsigned int val)
{ … }
static struct fwnode_handle *
acpi_graph_get_remote_endpoint(const struct fwnode_handle *__fwnode)
{ … }
static bool acpi_fwnode_device_is_available(const struct fwnode_handle *fwnode)
{ … }
static const void *
acpi_fwnode_device_get_match_data(const struct fwnode_handle *fwnode,
const struct device *dev)
{ … }
static bool acpi_fwnode_device_dma_supported(const struct fwnode_handle *fwnode)
{ … }
static enum dev_dma_attr
acpi_fwnode_device_get_dma_attr(const struct fwnode_handle *fwnode)
{ … }
static bool acpi_fwnode_property_present(const struct fwnode_handle *fwnode,
const char *propname)
{ … }
static int
acpi_fwnode_property_read_int_array(const struct fwnode_handle *fwnode,
const char *propname,
unsigned int elem_size, void *val,
size_t nval)
{ … }
static int
acpi_fwnode_property_read_string_array(const struct fwnode_handle *fwnode,
const char *propname, const char **val,
size_t nval)
{ … }
static int
acpi_fwnode_get_reference_args(const struct fwnode_handle *fwnode,
const char *prop, const char *nargs_prop,
unsigned int args_count, unsigned int index,
struct fwnode_reference_args *args)
{ … }
static const char *acpi_fwnode_get_name(const struct fwnode_handle *fwnode)
{ … }
static const char *
acpi_fwnode_get_name_prefix(const struct fwnode_handle *fwnode)
{ … }
static struct fwnode_handle *
acpi_fwnode_get_parent(struct fwnode_handle *fwnode)
{ … }
static int acpi_fwnode_graph_parse_endpoint(const struct fwnode_handle *fwnode,
struct fwnode_endpoint *endpoint)
{ … }
static int acpi_fwnode_irq_get(const struct fwnode_handle *fwnode,
unsigned int index)
{ … }
#define DECLARE_ACPI_FWNODE_OPS(ops) …
DECLARE_ACPI_FWNODE_OPS(…);
DECLARE_ACPI_FWNODE_OPS(…);
const struct fwnode_operations acpi_static_fwnode_ops;
bool is_acpi_device_node(const struct fwnode_handle *fwnode)
{ … }
EXPORT_SYMBOL(…);
bool is_acpi_data_node(const struct fwnode_handle *fwnode)
{ … }
EXPORT_SYMBOL(…);