From: Andy Shevchenko <andriy.shevche...@linux.intel.com>

commit b91b0d397c3b35a039867ca0f43f1a0d5965cad6 upstream.

On Intel Galileo boards the GPIO expander is connected to i2c bus. Moreover it
is able to generate interrupt, but interrupt line is connected to GPIO. That's
why we have to have GPIO driver in place when we will probe i2c host with
device connected to it.

Acked-by: Lee Jones <lee.jo...@linaro.org>
Signed-off-by: Andy Shevchenko <andriy.shevche...@linux.intel.com>
Signed-off-by: Wolfram Sang <w...@the-dreams.de>
(cherry picked from commit 236fd469f4d1beb59a47875fa3f222d514173ad0)
---
 drivers/mfd/intel_quark_i2c_gpio.c | 19 +++++++++----------
 1 file changed, 9 insertions(+), 10 deletions(-)

diff --git a/drivers/mfd/intel_quark_i2c_gpio.c 
b/drivers/mfd/intel_quark_i2c_gpio.c
index 1ce1603..958c134 100644
--- a/drivers/mfd/intel_quark_i2c_gpio.c
+++ b/drivers/mfd/intel_quark_i2c_gpio.c
@@ -90,19 +90,19 @@ static struct resource intel_quark_gpio_res[] = {
 
 static struct mfd_cell intel_quark_mfd_cells[] = {
        {
-               .id = MFD_I2C_BAR,
-               .name = "i2c_designware",
-               .num_resources = ARRAY_SIZE(intel_quark_i2c_res),
-               .resources = intel_quark_i2c_res,
-               .ignore_resource_conflicts = true,
-       },
-       {
                .id = MFD_GPIO_BAR,
                .name = "gpio-dwapb",
                .num_resources = ARRAY_SIZE(intel_quark_gpio_res),
                .resources = intel_quark_gpio_res,
                .ignore_resource_conflicts = true,
        },
+       {
+               .id = MFD_I2C_BAR,
+               .name = "i2c_designware",
+               .num_resources = ARRAY_SIZE(intel_quark_i2c_res),
+               .resources = intel_quark_i2c_res,
+               .ignore_resource_conflicts = true,
+       },
 };
 
 static const struct pci_device_id intel_quark_mfd_ids[] = {
@@ -248,12 +248,11 @@ static int intel_quark_mfd_probe(struct pci_dev *pdev,
 
        dev_set_drvdata(&pdev->dev, quark_mfd);
 
-       ret = intel_quark_i2c_setup(pdev, &intel_quark_mfd_cells[MFD_I2C_BAR]);
+       ret = intel_quark_i2c_setup(pdev, &intel_quark_mfd_cells[1]);
        if (ret)
                return ret;
 
-       ret = intel_quark_gpio_setup(pdev,
-                                    &intel_quark_mfd_cells[MFD_GPIO_BAR]);
+       ret = intel_quark_gpio_setup(pdev, &intel_quark_mfd_cells[0]);
        if (ret)
                return ret;
 
-- 
2.5.0

-- 
_______________________________________________
linux-yocto mailing list
linux-yocto@yoctoproject.org
https://lists.yoctoproject.org/listinfo/linux-yocto

Reply via email to