mfd: lpc_sch: Partially revert "Add support for Intel Quark X1000"
authorAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Wed, 3 Mar 2021 16:49:44 +0000 (18:49 +0200)
committerLee Jones <lee.jones@linaro.org>
Wed, 14 Apr 2021 15:06:41 +0000 (16:06 +0100)
The IRQ support for SCH GPIO is not specific to the Intel Quark SoC.
Moreover the IRQ routing is quite interesting there, so while it's
needs a special support, the driver haven't it anyway yet.

Due to above remove basically redundant code of IRQ support.

This reverts commit ec689a8a8155ce8b966bd5d7737a3916f5e48be3.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
drivers/mfd/lpc_sch.c

index f27eb8d..428a526 100644 (file)
@@ -26,9 +26,6 @@
 #define GPIO_IO_SIZE   64
 #define GPIO_IO_SIZE_CENTERTON 128
 
-/* Intel Quark X1000 GPIO IRQ Number */
-#define GPIO_IRQ_QUARK_X1000   9
-
 #define WDTBASE                0x84
 #define WDT_IO_SIZE    64
 
@@ -43,30 +40,25 @@ struct lpc_sch_info {
        unsigned int io_size_smbus;
        unsigned int io_size_gpio;
        unsigned int io_size_wdt;
-       int irq_gpio;
 };
 
 static struct lpc_sch_info sch_chipset_info[] = {
        [LPC_SCH] = {
                .io_size_smbus = SMBUS_IO_SIZE,
                .io_size_gpio = GPIO_IO_SIZE,
-               .irq_gpio = -1,
        },
        [LPC_ITC] = {
                .io_size_smbus = SMBUS_IO_SIZE,
                .io_size_gpio = GPIO_IO_SIZE,
                .io_size_wdt = WDT_IO_SIZE,
-               .irq_gpio = -1,
        },
        [LPC_CENTERTON] = {
                .io_size_smbus = SMBUS_IO_SIZE,
                .io_size_gpio = GPIO_IO_SIZE_CENTERTON,
                .io_size_wdt = WDT_IO_SIZE,
-               .irq_gpio = -1,
        },
        [LPC_QUARK_X1000] = {
                .io_size_gpio = GPIO_IO_SIZE,
-               .irq_gpio = GPIO_IRQ_QUARK_X1000,
                .io_size_wdt = WDT_IO_SIZE,
        },
 };
@@ -113,13 +105,13 @@ static int lpc_sch_get_io(struct pci_dev *pdev, int where, const char *name,
 }
 
 static int lpc_sch_populate_cell(struct pci_dev *pdev, int where,
-                                const char *name, int size, int irq,
-                                int id, struct mfd_cell *cell)
+                                const char *name, int size, int id,
+                                struct mfd_cell *cell)
 {
        struct resource *res;
        int ret;
 
-       res = devm_kcalloc(&pdev->dev, 2, sizeof(*res), GFP_KERNEL);
+       res = devm_kzalloc(&pdev->dev, sizeof(*res), GFP_KERNEL);
        if (!res)
                return -ENOMEM;
 
@@ -135,18 +127,6 @@ static int lpc_sch_populate_cell(struct pci_dev *pdev, int where,
        cell->ignore_resource_conflicts = true;
        cell->id = id;
 
-       /* Check if we need to add an IRQ resource */
-       if (irq < 0)
-               return 0;
-
-       res++;
-
-       res->start = irq;
-       res->end = irq;
-       res->flags = IORESOURCE_IRQ;
-
-       cell->num_resources++;
-
        return 0;
 }
 
@@ -158,7 +138,7 @@ static int lpc_sch_probe(struct pci_dev *dev, const struct pci_device_id *id)
        int ret;
 
        ret = lpc_sch_populate_cell(dev, SMBASE, "isch_smbus",
-                                   info->io_size_smbus, -1,
+                                   info->io_size_smbus,
                                    id->device, &lpc_sch_cells[cells]);
        if (ret < 0)
                return ret;
@@ -166,7 +146,7 @@ static int lpc_sch_probe(struct pci_dev *dev, const struct pci_device_id *id)
                cells++;
 
        ret = lpc_sch_populate_cell(dev, GPIOBASE, "sch_gpio",
-                                   info->io_size_gpio, info->irq_gpio,
+                                   info->io_size_gpio,
                                    id->device, &lpc_sch_cells[cells]);
        if (ret < 0)
                return ret;
@@ -174,7 +154,7 @@ static int lpc_sch_probe(struct pci_dev *dev, const struct pci_device_id *id)
                cells++;
 
        ret = lpc_sch_populate_cell(dev, WDTBASE, "ie6xx_wdt",
-                                   info->io_size_wdt, -1,
+                                   info->io_size_wdt,
                                    id->device, &lpc_sch_cells[cells]);
        if (ret < 0)
                return ret;