Merge tag 'gpio-for-linus' of git://git.secretlab.ca/git/linux-2.6
gpio bug fixes for v3.3 * tag 'gpio-for-linus' of git://git.secretlab.ca/git/linux-2.6: gpio: tps65910: Use correct offset for gpio initialization gpio/it8761e: Restrict it8761e gpio driver to x86. gpio-ml-ioh: cleanup __iomem annotation usage gpio-ml-ioh: cleanup NULL pointer checking gpio-pch: cleanup __iomem annotation usage gpio-pch: cleanup NULL pointer checking
This commit is contained in:
@@ -87,6 +87,7 @@ config GPIO_GENERIC_PLATFORM
|
|||||||
|
|
||||||
config GPIO_IT8761E
|
config GPIO_IT8761E
|
||||||
tristate "IT8761E GPIO support"
|
tristate "IT8761E GPIO support"
|
||||||
|
depends on X86 # unconditional access to IO space.
|
||||||
help
|
help
|
||||||
Say yes here to support GPIO functionality of IT8761E super I/O chip.
|
Say yes here to support GPIO functionality of IT8761E super I/O chip.
|
||||||
|
|
||||||
|
@@ -248,7 +248,7 @@ static void ioh_gpio_setup(struct ioh_gpio *chip, int num_port)
|
|||||||
static int ioh_irq_type(struct irq_data *d, unsigned int type)
|
static int ioh_irq_type(struct irq_data *d, unsigned int type)
|
||||||
{
|
{
|
||||||
u32 im;
|
u32 im;
|
||||||
u32 *im_reg;
|
void __iomem *im_reg;
|
||||||
u32 ien;
|
u32 ien;
|
||||||
u32 im_pos;
|
u32 im_pos;
|
||||||
int ch;
|
int ch;
|
||||||
@@ -412,7 +412,7 @@ static int __devinit ioh_gpio_probe(struct pci_dev *pdev,
|
|||||||
int i, j;
|
int i, j;
|
||||||
struct ioh_gpio *chip;
|
struct ioh_gpio *chip;
|
||||||
void __iomem *base;
|
void __iomem *base;
|
||||||
void __iomem *chip_save;
|
void *chip_save;
|
||||||
int irq_base;
|
int irq_base;
|
||||||
|
|
||||||
ret = pci_enable_device(pdev);
|
ret = pci_enable_device(pdev);
|
||||||
@@ -428,7 +428,7 @@ static int __devinit ioh_gpio_probe(struct pci_dev *pdev,
|
|||||||
}
|
}
|
||||||
|
|
||||||
base = pci_iomap(pdev, 1, 0);
|
base = pci_iomap(pdev, 1, 0);
|
||||||
if (base == 0) {
|
if (!base) {
|
||||||
dev_err(&pdev->dev, "%s : pci_iomap failed", __func__);
|
dev_err(&pdev->dev, "%s : pci_iomap failed", __func__);
|
||||||
ret = -ENOMEM;
|
ret = -ENOMEM;
|
||||||
goto err_iomap;
|
goto err_iomap;
|
||||||
@@ -521,7 +521,7 @@ static void __devexit ioh_gpio_remove(struct pci_dev *pdev)
|
|||||||
int err;
|
int err;
|
||||||
int i;
|
int i;
|
||||||
struct ioh_gpio *chip = pci_get_drvdata(pdev);
|
struct ioh_gpio *chip = pci_get_drvdata(pdev);
|
||||||
void __iomem *chip_save;
|
void *chip_save;
|
||||||
|
|
||||||
chip_save = chip;
|
chip_save = chip;
|
||||||
|
|
||||||
|
@@ -231,7 +231,7 @@ static void pch_gpio_setup(struct pch_gpio *chip)
|
|||||||
static int pch_irq_type(struct irq_data *d, unsigned int type)
|
static int pch_irq_type(struct irq_data *d, unsigned int type)
|
||||||
{
|
{
|
||||||
u32 im;
|
u32 im;
|
||||||
u32 *im_reg;
|
u32 __iomem *im_reg;
|
||||||
u32 ien;
|
u32 ien;
|
||||||
u32 im_pos;
|
u32 im_pos;
|
||||||
int ch;
|
int ch;
|
||||||
@@ -376,7 +376,7 @@ static int __devinit pch_gpio_probe(struct pci_dev *pdev,
|
|||||||
}
|
}
|
||||||
|
|
||||||
chip->base = pci_iomap(pdev, 1, 0);
|
chip->base = pci_iomap(pdev, 1, 0);
|
||||||
if (chip->base == 0) {
|
if (!chip->base) {
|
||||||
dev_err(&pdev->dev, "%s : pci_iomap FAILED", __func__);
|
dev_err(&pdev->dev, "%s : pci_iomap FAILED", __func__);
|
||||||
ret = -ENOMEM;
|
ret = -ENOMEM;
|
||||||
goto err_iomap;
|
goto err_iomap;
|
||||||
|
@@ -52,7 +52,7 @@ static int tps65910_gpio_output(struct gpio_chip *gc, unsigned offset,
|
|||||||
struct tps65910 *tps65910 = container_of(gc, struct tps65910, gpio);
|
struct tps65910 *tps65910 = container_of(gc, struct tps65910, gpio);
|
||||||
|
|
||||||
/* Set the initial value */
|
/* Set the initial value */
|
||||||
tps65910_gpio_set(gc, 0, value);
|
tps65910_gpio_set(gc, offset, value);
|
||||||
|
|
||||||
return tps65910_set_bits(tps65910, TPS65910_GPIO0 + offset,
|
return tps65910_set_bits(tps65910, TPS65910_GPIO0 + offset,
|
||||||
GPIO_CFG_MASK);
|
GPIO_CFG_MASK);
|
||||||
|
Reference in New Issue
Block a user