Re: [PATCH v3 02/15] Driver core: Unified device properties interface for platform firmware
From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Date: 2014-10-02 00:04:23
Also in:
linux-acpi, lkml
On Wed, Oct 01, 2014 at 04:10:03AM +0200, Rafael J. Wysocki wrote:
From: "Rafael J. Wysocki" <redacted> Add a uniform interface by which device drivers can request device properties from the platform firmware by providing a property name and the corresponding data type. The purpose of it is to help to write portable code that won't depend on any particular platform firmware interface. Three general helper functions, device_get_property(), device_read_property() and device_read_property_array() are provided. The first one allows the raw value of a given device property to be accessed. The remaining two allow the value of a numeric or string property and multiple numeric or string values of one array property to be acquired, respectively. Static inline wrappers are also provided for the various property data types that can be passed to device_read_property() or device_read_property_array() for extra type checking. In addition to that, new generic routines are provided for retrieving properties from device description objects in the platform firmware in case a device driver needs/wants to access properties of a child object of a given device object. There are cases in which there is no struct device representation of such child objects and this additional API is useful then. Again, three functions are provided, device_get_child_property(), device_read_child_property(), device_read_child_property_array(), in analogy with device_get_property(), device_read_property() and device_read_property_array() described above, respectively, along with static inline wrappers for all of the propery data types that can be used. For all of them, the first argument is a struct device pointer to the parent device object and the second argument is a (void *) pointer to the child description provided by the platform firmware (either ACPI or FDT). Finally, device_for_each_child_node() is added for iterating over the children of the device description object associated with a given device. The interface covers both ACPI and Device Trees. This change set includes material from Mika Westerberg and Aaron Lu. Signed-off-by: Aaron Lu <redacted> Signed-off-by: Mika Westerberg <mika.westerberg@linux.intel.com> Signed-off-by: Rafael J. Wysocki <redacted> --- Greg, please let me know if you're fine with this one.
Looks good to me: Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>