diff options
Diffstat (limited to 'freed-ora/current/f24/0013-mfd-intel-lpss-Add-support-for-passing-device-proper.patch')
-rw-r--r-- | freed-ora/current/f24/0013-mfd-intel-lpss-Add-support-for-passing-device-proper.patch | 112 |
1 files changed, 0 insertions, 112 deletions
diff --git a/freed-ora/current/f24/0013-mfd-intel-lpss-Add-support-for-passing-device-proper.patch b/freed-ora/current/f24/0013-mfd-intel-lpss-Add-support-for-passing-device-proper.patch deleted file mode 100644 index 5160053b9..000000000 --- a/freed-ora/current/f24/0013-mfd-intel-lpss-Add-support-for-passing-device-proper.patch +++ /dev/null @@ -1,112 +0,0 @@ -From e15ad2154b6166804fc04487e0398c9aef9e7c97 Mon Sep 17 00:00:00 2001 -From: Mika Westerberg <mika.westerberg@linux.intel.com> -Date: Mon, 30 Nov 2015 17:11:41 +0200 -Subject: [PATCH 13/16] mfd: intel-lpss: Add support for passing device - properties - -If the boot firmware does not support ACPI we need a way to pass device -configuration information to the drivers. The unified device properties API -already supports passing platform data via properties so let's take -advantage of that and allow probe drivers to pass set of properties to the -host controller driver. - -In order to do that we need to be able to modify the MFD cell corresponding -the host controller, so make the core driver to take copy of the cell -instead of using it directly. Then we can assign info->pset to the -resulting copy of a cell and let the MFD core to assign that to the -resulting device. - -Signed-off-by: Mika Westerberg <mika.westerberg@linux.intel.com> -Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> -Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com> ---- - drivers/mfd/intel-lpss.c | 16 ++++++++++++---- - drivers/mfd/intel-lpss.h | 2 ++ - 2 files changed, 14 insertions(+), 4 deletions(-) - -diff --git a/drivers/mfd/intel-lpss.c b/drivers/mfd/intel-lpss.c -index 6255513..1743788 100644 ---- a/drivers/mfd/intel-lpss.c -+++ b/drivers/mfd/intel-lpss.c -@@ -24,6 +24,7 @@ - #include <linux/mfd/core.h> - #include <linux/pm_qos.h> - #include <linux/pm_runtime.h> -+#include <linux/property.h> - #include <linux/seq_file.h> - #include <linux/io-64-nonatomic-lo-hi.h> - -@@ -72,7 +73,7 @@ struct intel_lpss { - enum intel_lpss_dev_type type; - struct clk *clk; - struct clk_lookup *clock; -- const struct mfd_cell *cell; -+ struct mfd_cell *cell; - struct device *dev; - void __iomem *priv; - int devid; -@@ -217,6 +218,7 @@ static void intel_lpss_ltr_hide(struct intel_lpss *lpss) - - static int intel_lpss_assign_devs(struct intel_lpss *lpss) - { -+ const struct mfd_cell *cell; - unsigned int type; - - type = lpss->caps & LPSS_PRIV_CAPS_TYPE_MASK; -@@ -224,18 +226,22 @@ static int intel_lpss_assign_devs(struct intel_lpss *lpss) - - switch (type) { - case LPSS_DEV_I2C: -- lpss->cell = &intel_lpss_i2c_cell; -+ cell = &intel_lpss_i2c_cell; - break; - case LPSS_DEV_UART: -- lpss->cell = &intel_lpss_uart_cell; -+ cell = &intel_lpss_uart_cell; - break; - case LPSS_DEV_SPI: -- lpss->cell = &intel_lpss_spi_cell; -+ cell = &intel_lpss_spi_cell; - break; - default: - return -ENODEV; - } - -+ lpss->cell = devm_kmemdup(lpss->dev, cell, sizeof(*cell), GFP_KERNEL); -+ if (!lpss->cell) -+ return -ENOMEM; -+ - lpss->type = type; - - return 0; -@@ -401,6 +407,8 @@ int intel_lpss_probe(struct device *dev, - if (ret) - return ret; - -+ lpss->cell->pset = info->pset; -+ - intel_lpss_init_dev(lpss); - - lpss->devid = ida_simple_get(&intel_lpss_devid_ida, 0, 0, GFP_KERNEL); -diff --git a/drivers/mfd/intel-lpss.h b/drivers/mfd/intel-lpss.h -index 2c7f8d7..0dcea9e 100644 ---- a/drivers/mfd/intel-lpss.h -+++ b/drivers/mfd/intel-lpss.h -@@ -16,12 +16,14 @@ - - struct device; - struct resource; -+struct property_set; - - struct intel_lpss_platform_info { - struct resource *mem; - int irq; - unsigned long clk_rate; - const char *clk_con_id; -+ struct property_set *pset; - }; - - int intel_lpss_probe(struct device *dev, --- -2.5.0 - |