diff options
author | Daniel Drake <dsd@laptop.org> | 2010-10-01 00:55:36 +0400 |
---|---|---|
committer | Samuel Ortiz <sameo@linux.intel.com> | 2010-10-29 02:29:48 +0400 |
commit | 5f2545fa156f3d4d327038d7664608e146809a3c (patch) | |
tree | 82794cb7ca41816463a35bcf27a4f18af0633730 | |
parent | 2d95ae3bbffe54b2e73e0d291e1d67e09d5e448f (diff) | |
download | linux-5f2545fa156f3d4d327038d7664608e146809a3c.tar.xz |
mfd: Allow for bypass of cell resource conflict check
The upcoming VIA VX855 MFD driver needs to communicate resources
to subdevices where the resources may be claimed by ACPI.
Add a flag to mfd_cell to request that resources are not policed.
Signed-off-by: Daniel Drake <dsd@laptop.org>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
-rw-r--r-- | drivers/mfd/mfd-core.c | 8 | ||||
-rw-r--r-- | include/linux/mfd/core.h | 3 |
2 files changed, 8 insertions, 3 deletions
diff --git a/drivers/mfd/mfd-core.c b/drivers/mfd/mfd-core.c index 1823a57b7d8f..d1c8605d4ed4 100644 --- a/drivers/mfd/mfd-core.c +++ b/drivers/mfd/mfd-core.c @@ -65,9 +65,11 @@ static int mfd_add_device(struct device *parent, int id, res[r].end = cell->resources[r].end; } - ret = acpi_check_resource_conflict(res); - if (ret) - goto fail_res; + if (!cell->ignore_resource_conflicts) { + ret = acpi_check_resource_conflict(res); + if (ret) + goto fail_res; + } } ret = platform_device_add_resources(pdev, res, cell->num_resources); diff --git a/include/linux/mfd/core.h b/include/linux/mfd/core.h index 11d740b8831d..cb93d80aa642 100644 --- a/include/linux/mfd/core.h +++ b/include/linux/mfd/core.h @@ -44,6 +44,9 @@ struct mfd_cell { */ int num_resources; const struct resource *resources; + + /* don't check for resource conflicts */ + bool ignore_resource_conflicts; }; extern int mfd_add_devices(struct device *parent, int id, |