7ef4087f99
We have a better idea why the Yoga patches are affecting one touchpad. Bring them back so everyone can benefit from Yoga.
70 lines
2.1 KiB
Diff
70 lines
2.1 KiB
Diff
From 4d215cabc784990df11fbcca7af70adf53c9ff17 Mon Sep 17 00:00:00 2001
|
|
From: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
|
|
Date: Mon, 30 Nov 2015 17:11:40 +0200
|
|
Subject: [PATCH 12/16] mfd: core: propagate device properties to sub devices
|
|
drivers
|
|
|
|
In the similar way like we do for the platform data we propagate the device
|
|
properties. For example, in case of Intel LPSS drivers we may provide a
|
|
specific property to tell the actual device driver an additional information
|
|
such as platform name.
|
|
|
|
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
|
|
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
|
|
---
|
|
drivers/mfd/mfd-core.c | 7 +++++++
|
|
include/linux/mfd/core.h | 5 +++++
|
|
2 files changed, 12 insertions(+)
|
|
|
|
diff --git a/drivers/mfd/mfd-core.c b/drivers/mfd/mfd-core.c
|
|
index 60b60dc..88bd1b1 100644
|
|
--- a/drivers/mfd/mfd-core.c
|
|
+++ b/drivers/mfd/mfd-core.c
|
|
@@ -14,6 +14,7 @@
|
|
#include <linux/kernel.h>
|
|
#include <linux/platform_device.h>
|
|
#include <linux/acpi.h>
|
|
+#include <linux/property.h>
|
|
#include <linux/mfd/core.h>
|
|
#include <linux/pm_runtime.h>
|
|
#include <linux/slab.h>
|
|
@@ -192,6 +193,12 @@ static int mfd_add_device(struct device *parent, int id,
|
|
goto fail_alias;
|
|
}
|
|
|
|
+ if (cell->pset) {
|
|
+ ret = platform_device_add_properties(pdev, cell->pset);
|
|
+ if (ret)
|
|
+ goto fail_alias;
|
|
+ }
|
|
+
|
|
ret = mfd_platform_add_cell(pdev, cell, usage_count);
|
|
if (ret)
|
|
goto fail_alias;
|
|
diff --git a/include/linux/mfd/core.h b/include/linux/mfd/core.h
|
|
index 27dac3f..bc6f7e0 100644
|
|
--- a/include/linux/mfd/core.h
|
|
+++ b/include/linux/mfd/core.h
|
|
@@ -17,6 +17,7 @@
|
|
#include <linux/platform_device.h>
|
|
|
|
struct irq_domain;
|
|
+struct property_set;
|
|
|
|
/* Matches ACPI PNP id, either _HID or _CID, or ACPI _ADR */
|
|
struct mfd_cell_acpi_match {
|
|
@@ -44,6 +45,10 @@ struct mfd_cell {
|
|
/* platform data passed to the sub devices drivers */
|
|
void *platform_data;
|
|
size_t pdata_size;
|
|
+
|
|
+ /* device properties passed to the sub devices drivers */
|
|
+ const struct property_set *pset;
|
|
+
|
|
/*
|
|
* Device Tree compatible string
|
|
* See: Documentation/devicetree/usage-model.txt Chapter 2.2 for details
|
|
--
|
|
2.5.0
|
|
|