aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDaniel Drake <dsd@laptop.org>2010-09-30 16:55:36 -0400
committerSamuel Ortiz <sameo@linux.intel.com>2010-10-28 18:29:48 -0400
commit5f2545fa156f3d4d327038d7664608e146809a3c (patch)
tree82794cb7ca41816463a35bcf27a4f18af0633730
parent2d95ae3bbffe54b2e73e0d291e1d67e09d5e448f (diff)
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.c8
-rw-r--r--include/linux/mfd/core.h3
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,
65 res[r].end = cell->resources[r].end; 65 res[r].end = cell->resources[r].end;
66 } 66 }
67 67
68 ret = acpi_check_resource_conflict(res); 68 if (!cell->ignore_resource_conflicts) {
69 if (ret) 69 ret = acpi_check_resource_conflict(res);
70 goto fail_res; 70 if (ret)
71 goto fail_res;
72 }
71 } 73 }
72 74
73 ret = platform_device_add_resources(pdev, res, cell->num_resources); 75 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 {
44 */ 44 */
45 int num_resources; 45 int num_resources;
46 const struct resource *resources; 46 const struct resource *resources;
47
48 /* don't check for resource conflicts */
49 bool ignore_resource_conflicts;
47}; 50};
48 51
49extern int mfd_add_devices(struct device *parent, int id, 52extern int mfd_add_devices(struct device *parent, int id,