mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-29 11:11:45 -04:00
Merge branch 'device-properties'
* device-properties: ACPI / property: Fix subnode lookup scope for data-only subnodes acpi-dma: Add support for "dma-names" device property device property: Add fwnode_property_match_string() ACPI / property: Extend device_get_next_child_node() to data-only nodes ACPI / gpio: Split acpi_get_gpiod_by_index() ACPI / property: Extend fwnode_property_* to data-only subnodes ACPI / property: Expose data-only subnodes via sysfs ACPI / property: Add support for data-only subnodes ACPI / property: Add routine for extraction of _DSD properties
This commit is contained in:
commit
ab736d7dc1
12 changed files with 760 additions and 194 deletions
|
|
@ -21,6 +21,7 @@
|
|||
#include <linux/ioport.h>
|
||||
#include <linux/acpi.h>
|
||||
#include <linux/acpi_dma.h>
|
||||
#include <linux/property.h>
|
||||
|
||||
static LIST_HEAD(acpi_dma_list);
|
||||
static DEFINE_MUTEX(acpi_dma_lock);
|
||||
|
|
@ -413,21 +414,29 @@ EXPORT_SYMBOL_GPL(acpi_dma_request_slave_chan_by_index);
|
|||
* translate the names "tx" and "rx" here based on the most common case where
|
||||
* the first FixedDMA descriptor is TX and second is RX.
|
||||
*
|
||||
* If the device has "dma-names" property the FixedDMA descriptor indices
|
||||
* are retrieved based on those. Otherwise the function falls back using
|
||||
* hardcoded indices.
|
||||
*
|
||||
* Return:
|
||||
* Pointer to appropriate dma channel on success or an error pointer.
|
||||
*/
|
||||
struct dma_chan *acpi_dma_request_slave_chan_by_name(struct device *dev,
|
||||
const char *name)
|
||||
{
|
||||
size_t index;
|
||||
int index;
|
||||
|
||||
if (!strcmp(name, "tx"))
|
||||
index = 0;
|
||||
else if (!strcmp(name, "rx"))
|
||||
index = 1;
|
||||
else
|
||||
return ERR_PTR(-ENODEV);
|
||||
index = device_property_match_string(dev, "dma-names", name);
|
||||
if (index < 0) {
|
||||
if (!strcmp(name, "tx"))
|
||||
index = 0;
|
||||
else if (!strcmp(name, "rx"))
|
||||
index = 1;
|
||||
else
|
||||
return ERR_PTR(-ENODEV);
|
||||
}
|
||||
|
||||
dev_dbg(dev, "found DMA channel \"%s\" at index %d\n", name, index);
|
||||
return acpi_dma_request_slave_chan_by_index(dev, index);
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(acpi_dma_request_slave_chan_by_name);
|
||||
|
|
|
|||
Loading…
Reference in a new issue