mfd: lpc_sch: Partially revert "Add support for Intel Quark X1000"
[ Upstream commit 922e8ce883e59b52786b2c11656d84dc58ef084a ]
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 ec689a8a81
.
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:

committed by
Greg Kroah-Hartman

parent
52a7e66671
commit
027c44b8c8
@@ -26,9 +26,6 @@
|
|||||||
#define GPIO_IO_SIZE 64
|
#define GPIO_IO_SIZE 64
|
||||||
#define GPIO_IO_SIZE_CENTERTON 128
|
#define GPIO_IO_SIZE_CENTERTON 128
|
||||||
|
|
||||||
/* Intel Quark X1000 GPIO IRQ Number */
|
|
||||||
#define GPIO_IRQ_QUARK_X1000 9
|
|
||||||
|
|
||||||
#define WDTBASE 0x84
|
#define WDTBASE 0x84
|
||||||
#define WDT_IO_SIZE 64
|
#define WDT_IO_SIZE 64
|
||||||
|
|
||||||
@@ -43,30 +40,25 @@ struct lpc_sch_info {
|
|||||||
unsigned int io_size_smbus;
|
unsigned int io_size_smbus;
|
||||||
unsigned int io_size_gpio;
|
unsigned int io_size_gpio;
|
||||||
unsigned int io_size_wdt;
|
unsigned int io_size_wdt;
|
||||||
int irq_gpio;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct lpc_sch_info sch_chipset_info[] = {
|
static struct lpc_sch_info sch_chipset_info[] = {
|
||||||
[LPC_SCH] = {
|
[LPC_SCH] = {
|
||||||
.io_size_smbus = SMBUS_IO_SIZE,
|
.io_size_smbus = SMBUS_IO_SIZE,
|
||||||
.io_size_gpio = GPIO_IO_SIZE,
|
.io_size_gpio = GPIO_IO_SIZE,
|
||||||
.irq_gpio = -1,
|
|
||||||
},
|
},
|
||||||
[LPC_ITC] = {
|
[LPC_ITC] = {
|
||||||
.io_size_smbus = SMBUS_IO_SIZE,
|
.io_size_smbus = SMBUS_IO_SIZE,
|
||||||
.io_size_gpio = GPIO_IO_SIZE,
|
.io_size_gpio = GPIO_IO_SIZE,
|
||||||
.io_size_wdt = WDT_IO_SIZE,
|
.io_size_wdt = WDT_IO_SIZE,
|
||||||
.irq_gpio = -1,
|
|
||||||
},
|
},
|
||||||
[LPC_CENTERTON] = {
|
[LPC_CENTERTON] = {
|
||||||
.io_size_smbus = SMBUS_IO_SIZE,
|
.io_size_smbus = SMBUS_IO_SIZE,
|
||||||
.io_size_gpio = GPIO_IO_SIZE_CENTERTON,
|
.io_size_gpio = GPIO_IO_SIZE_CENTERTON,
|
||||||
.io_size_wdt = WDT_IO_SIZE,
|
.io_size_wdt = WDT_IO_SIZE,
|
||||||
.irq_gpio = -1,
|
|
||||||
},
|
},
|
||||||
[LPC_QUARK_X1000] = {
|
[LPC_QUARK_X1000] = {
|
||||||
.io_size_gpio = GPIO_IO_SIZE,
|
.io_size_gpio = GPIO_IO_SIZE,
|
||||||
.irq_gpio = GPIO_IRQ_QUARK_X1000,
|
|
||||||
.io_size_wdt = WDT_IO_SIZE,
|
.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,
|
static int lpc_sch_populate_cell(struct pci_dev *pdev, int where,
|
||||||
const char *name, int size, int irq,
|
const char *name, int size, int id,
|
||||||
int id, struct mfd_cell *cell)
|
struct mfd_cell *cell)
|
||||||
{
|
{
|
||||||
struct resource *res;
|
struct resource *res;
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
res = devm_kcalloc(&pdev->dev, 2, sizeof(*res), GFP_KERNEL);
|
res = devm_kzalloc(&pdev->dev, sizeof(*res), GFP_KERNEL);
|
||||||
if (!res)
|
if (!res)
|
||||||
return -ENOMEM;
|
return -ENOMEM;
|
||||||
|
|
||||||
@@ -135,18 +127,6 @@ static int lpc_sch_populate_cell(struct pci_dev *pdev, int where,
|
|||||||
cell->ignore_resource_conflicts = true;
|
cell->ignore_resource_conflicts = true;
|
||||||
cell->id = id;
|
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;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -158,7 +138,7 @@ static int lpc_sch_probe(struct pci_dev *dev, const struct pci_device_id *id)
|
|||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
ret = lpc_sch_populate_cell(dev, SMBASE, "isch_smbus",
|
ret = lpc_sch_populate_cell(dev, SMBASE, "isch_smbus",
|
||||||
info->io_size_smbus, -1,
|
info->io_size_smbus,
|
||||||
id->device, &lpc_sch_cells[cells]);
|
id->device, &lpc_sch_cells[cells]);
|
||||||
if (ret < 0)
|
if (ret < 0)
|
||||||
return ret;
|
return ret;
|
||||||
@@ -166,7 +146,7 @@ static int lpc_sch_probe(struct pci_dev *dev, const struct pci_device_id *id)
|
|||||||
cells++;
|
cells++;
|
||||||
|
|
||||||
ret = lpc_sch_populate_cell(dev, GPIOBASE, "sch_gpio",
|
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]);
|
id->device, &lpc_sch_cells[cells]);
|
||||||
if (ret < 0)
|
if (ret < 0)
|
||||||
return ret;
|
return ret;
|
||||||
@@ -174,7 +154,7 @@ static int lpc_sch_probe(struct pci_dev *dev, const struct pci_device_id *id)
|
|||||||
cells++;
|
cells++;
|
||||||
|
|
||||||
ret = lpc_sch_populate_cell(dev, WDTBASE, "ie6xx_wdt",
|
ret = lpc_sch_populate_cell(dev, WDTBASE, "ie6xx_wdt",
|
||||||
info->io_size_wdt, -1,
|
info->io_size_wdt,
|
||||||
id->device, &lpc_sch_cells[cells]);
|
id->device, &lpc_sch_cells[cells]);
|
||||||
if (ret < 0)
|
if (ret < 0)
|
||||||
return ret;
|
return ret;
|
||||||
|
Reference in New Issue
Block a user