[linux-yocto] [PATCH 2/2] valleyisland-io: add patch for Valley Island SPI controller support in ACPI mode
rebecca.swee.fun.chang at intel.com
rebecca.swee.fun.chang at intel.com
Mon Dec 2 18:09:51 PST 2013
From: "Chang, Rebecca Swee Fun" <rebecca.swee.fun.chang at intel.com>
spidev: Enable SPI support in ACPI mode.
Signed-off-by: Chang, Rebecca Swee Fun <rebecca.swee.fun.chang at intel.com>
---
...d-support-for-SPI-controller-in-ACPI-mode.patch | 69 ++++++++++++++++++++
1 file changed, 69 insertions(+)
create mode 100644 meta/cfg/kernel-cache/features/valleyisland-io/0018-spidev-add-support-for-SPI-controller-in-ACPI-mode.patch
diff --git a/meta/cfg/kernel-cache/features/valleyisland-io/0018-spidev-add-support-for-SPI-controller-in-ACPI-mode.patch b/meta/cfg/kernel-cache/features/valleyisland-io/0018-spidev-add-support-for-SPI-controller-in-ACPI-mode.patch
new file mode 100644
index 0000000..72754f2
--- /dev/null
+++ b/meta/cfg/kernel-cache/features/valleyisland-io/0018-spidev-add-support-for-SPI-controller-in-ACPI-mode.patch
@@ -0,0 +1,69 @@
+spidev: add support for SPI controller in ACPI mode
+
+Code changes are specific to Valley Island platform.
+
+Signed-off-by: Chang, Rebecca Swee Fun <rebecca.swee.fun.chang at intel.com>
+---
+ drivers/spi/spidev.c | 13 +++++++++++++
+ 1 file changed, 13 insertions(+)
+
+diff --git a/drivers/spi/spidev.c b/drivers/spi/spidev.c
+index 2e0655d..10e7cc4 100644
+--- a/drivers/spi/spidev.c
++++ b/drivers/spi/spidev.c
+@@ -33,6 +33,7 @@
+ #include <linux/compat.h>
+ #include <linux/of.h>
+ #include <linux/of_device.h>
++#include <linux/acpi.h>
+
+ #include <linux/spi/spi.h>
+ #include <linux/spi/spidev.h>
+@@ -579,6 +580,8 @@ static int spidev_probe(struct spi_device *spi)
+ int status;
+ unsigned long minor;
+
++ printk("%s:enter spidev_probe\n", __func__);
++
+ /* Allocate driver data */
+ spidev = kzalloc(sizeof(*spidev), GFP_KERNEL);
+ if (!spidev)
+@@ -597,6 +600,7 @@ static int spidev_probe(struct spi_device *spi)
+ mutex_lock(&device_list_lock);
+ minor = find_first_zero_bit(minors, N_SPI_MINORS);
+ if (minor < N_SPI_MINORS) {
++ printk("%s:enter 1. bus_num %d, chipselect %d\n", __func__, spi->master->bus_num, spi->chip_select);
+ struct device *dev;
+
+ spidev->devt = MKDEV(SPIDEV_MAJOR, minor);
+@@ -605,6 +609,7 @@ static int spidev_probe(struct spi_device *spi)
+ spi->master->bus_num, spi->chip_select);
+ status = IS_ERR(dev) ? PTR_ERR(dev) : 0;
+ } else {
++ printk("%s:no minor num available\n");
+ dev_dbg(&spi->dev, "no minor number available!\n");
+ status = -ENODEV;
+ }
+@@ -651,11 +656,19 @@ static const struct of_device_id spidev_dt_ids[] = {
+
+ MODULE_DEVICE_TABLE(of, spidev_dt_ids);
+
++static struct acpi_device_id spidev_acpi_match[] = {
++ { "AUTH2750", 0 },
++ { "SPI1001", 0 },
++ {},
++};
++MODULE_DEVICE_TABLE(acpi, spidev_acpi_match);
++
+ static struct spi_driver spidev_spi_driver = {
+ .driver = {
+ .name = "spidev",
+ .owner = THIS_MODULE,
+ .of_match_table = of_match_ptr(spidev_dt_ids),
++ .acpi_match_table = ACPI_PTR(spidev_acpi_match),
+ },
+ .probe = spidev_probe,
+ .remove = spidev_remove,
+--
+1.7.10.4
+
--
1.7.10.4
More information about the linux-yocto
mailing list