aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpio
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gpio')
-rw-r--r--drivers/gpio/ab8500-gpio.c7
-rw-r--r--drivers/gpio/janz-ttl.c3
-rw-r--r--drivers/gpio/langwell_gpio.c2
-rw-r--r--drivers/gpio/ml_ioh_gpio.c3
-rw-r--r--drivers/gpio/rdc321x-gpio.c3
-rw-r--r--drivers/gpio/timbgpio.c6
-rw-r--r--drivers/gpio/vx855_gpio.c1
7 files changed, 13 insertions, 12 deletions
diff --git a/drivers/gpio/ab8500-gpio.c b/drivers/gpio/ab8500-gpio.c
index e7b834d054b7..970053c89ff7 100644
--- a/drivers/gpio/ab8500-gpio.c
+++ b/drivers/gpio/ab8500-gpio.c
@@ -482,8 +482,8 @@ static int __devexit ab8500_gpio_remove(struct platform_device *pdev)
482 482
483 ret = gpiochip_remove(&ab8500_gpio->chip); 483 ret = gpiochip_remove(&ab8500_gpio->chip);
484 if (ret < 0) { 484 if (ret < 0) {
485 dev_err(ab8500_gpio->dev, "unable to remove gpiochip:\ 485 dev_err(ab8500_gpio->dev, "unable to remove gpiochip: %d\n",
486 %d\n", ret); 486 ret);
487 return ret; 487 return ret;
488 } 488 }
489 489
@@ -516,7 +516,6 @@ static void __exit ab8500_gpio_exit(void)
516module_exit(ab8500_gpio_exit); 516module_exit(ab8500_gpio_exit);
517 517
518MODULE_AUTHOR("BIBEK BASU <bibek.basu@stericsson.com>"); 518MODULE_AUTHOR("BIBEK BASU <bibek.basu@stericsson.com>");
519MODULE_DESCRIPTION("Driver allows to use AB8500 unused pins\ 519MODULE_DESCRIPTION("Driver allows to use AB8500 unused pins to be used as GPIO");
520 to be used as GPIO");
521MODULE_ALIAS("AB8500 GPIO driver"); 520MODULE_ALIAS("AB8500 GPIO driver");
522MODULE_LICENSE("GPL v2"); 521MODULE_LICENSE("GPL v2");
diff --git a/drivers/gpio/janz-ttl.c b/drivers/gpio/janz-ttl.c
index 2514fb075f4a..813ac077e5d7 100644
--- a/drivers/gpio/janz-ttl.c
+++ b/drivers/gpio/janz-ttl.c
@@ -15,7 +15,6 @@
15#include <linux/interrupt.h> 15#include <linux/interrupt.h>
16#include <linux/delay.h> 16#include <linux/delay.h>
17#include <linux/platform_device.h> 17#include <linux/platform_device.h>
18#include <linux/mfd/core.h>
19#include <linux/io.h> 18#include <linux/io.h>
20#include <linux/gpio.h> 19#include <linux/gpio.h>
21#include <linux/slab.h> 20#include <linux/slab.h>
@@ -150,7 +149,7 @@ static int __devinit ttl_probe(struct platform_device *pdev)
150 struct resource *res; 149 struct resource *res;
151 int ret; 150 int ret;
152 151
153 pdata = mfd_get_data(pdev); 152 pdata = pdev->dev.platform_data;
154 if (!pdata) { 153 if (!pdata) {
155 dev_err(dev, "no platform data\n"); 154 dev_err(dev, "no platform data\n");
156 ret = -ENXIO; 155 ret = -ENXIO;
diff --git a/drivers/gpio/langwell_gpio.c b/drivers/gpio/langwell_gpio.c
index 560ab648cf18..1b06f67e1f69 100644
--- a/drivers/gpio/langwell_gpio.c
+++ b/drivers/gpio/langwell_gpio.c
@@ -122,7 +122,7 @@ static int lnw_gpio_direction_output(struct gpio_chip *chip,
122 lnw_gpio_set(chip, offset, value); 122 lnw_gpio_set(chip, offset, value);
123 spin_lock_irqsave(&lnw->lock, flags); 123 spin_lock_irqsave(&lnw->lock, flags);
124 value = readl(gpdr); 124 value = readl(gpdr);
125 value |= BIT(offset % 32);; 125 value |= BIT(offset % 32);
126 writel(value, gpdr); 126 writel(value, gpdr);
127 spin_unlock_irqrestore(&lnw->lock, flags); 127 spin_unlock_irqrestore(&lnw->lock, flags);
128 return 0; 128 return 0;
diff --git a/drivers/gpio/ml_ioh_gpio.c b/drivers/gpio/ml_ioh_gpio.c
index 0a775f7987c2..1bc621ac3536 100644
--- a/drivers/gpio/ml_ioh_gpio.c
+++ b/drivers/gpio/ml_ioh_gpio.c
@@ -15,6 +15,7 @@
15 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA. 15 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
16 */ 16 */
17#include <linux/kernel.h> 17#include <linux/kernel.h>
18#include <linux/slab.h>
18#include <linux/pci.h> 19#include <linux/pci.h>
19#include <linux/gpio.h> 20#include <linux/gpio.h>
20 21
@@ -138,6 +139,7 @@ static int ioh_gpio_direction_input(struct gpio_chip *gpio, unsigned nr)
138 return 0; 139 return 0;
139} 140}
140 141
142#ifdef CONFIG_PM
141/* 143/*
142 * Save register configuration and disable interrupts. 144 * Save register configuration and disable interrupts.
143 */ 145 */
@@ -157,6 +159,7 @@ static void ioh_gpio_restore_reg_conf(struct ioh_gpio *chip)
157 /* to store contents of PM register */ 159 /* to store contents of PM register */
158 iowrite32(chip->ioh_gpio_reg.pm_reg, &chip->reg->regs[chip->ch].pm); 160 iowrite32(chip->ioh_gpio_reg.pm_reg, &chip->reg->regs[chip->ch].pm);
159} 161}
162#endif
160 163
161static void ioh_gpio_setup(struct ioh_gpio *chip, int num_port) 164static void ioh_gpio_setup(struct ioh_gpio *chip, int num_port)
162{ 165{
diff --git a/drivers/gpio/rdc321x-gpio.c b/drivers/gpio/rdc321x-gpio.c
index a9bda881935a..2762698e0204 100644
--- a/drivers/gpio/rdc321x-gpio.c
+++ b/drivers/gpio/rdc321x-gpio.c
@@ -27,7 +27,6 @@
27#include <linux/pci.h> 27#include <linux/pci.h>
28#include <linux/gpio.h> 28#include <linux/gpio.h>
29#include <linux/mfd/rdc321x.h> 29#include <linux/mfd/rdc321x.h>
30#include <linux/mfd/core.h>
31#include <linux/slab.h> 30#include <linux/slab.h>
32 31
33struct rdc321x_gpio { 32struct rdc321x_gpio {
@@ -136,7 +135,7 @@ static int __devinit rdc321x_gpio_probe(struct platform_device *pdev)
136 struct rdc321x_gpio *rdc321x_gpio_dev; 135 struct rdc321x_gpio *rdc321x_gpio_dev;
137 struct rdc321x_gpio_pdata *pdata; 136 struct rdc321x_gpio_pdata *pdata;
138 137
139 pdata = mfd_get_data(pdev); 138 pdata = pdev->dev.platform_data;
140 if (!pdata) { 139 if (!pdata) {
141 dev_err(&pdev->dev, "no platform data supplied\n"); 140 dev_err(&pdev->dev, "no platform data supplied\n");
142 return -ENODEV; 141 return -ENODEV;
diff --git a/drivers/gpio/timbgpio.c b/drivers/gpio/timbgpio.c
index edbe1eae531f..0265872e57d1 100644
--- a/drivers/gpio/timbgpio.c
+++ b/drivers/gpio/timbgpio.c
@@ -23,7 +23,6 @@
23#include <linux/module.h> 23#include <linux/module.h>
24#include <linux/gpio.h> 24#include <linux/gpio.h>
25#include <linux/platform_device.h> 25#include <linux/platform_device.h>
26#include <linux/mfd/core.h>
27#include <linux/irq.h> 26#include <linux/irq.h>
28#include <linux/io.h> 27#include <linux/io.h>
29#include <linux/timb_gpio.h> 28#include <linux/timb_gpio.h>
@@ -229,7 +228,7 @@ static int __devinit timbgpio_probe(struct platform_device *pdev)
229 struct gpio_chip *gc; 228 struct gpio_chip *gc;
230 struct timbgpio *tgpio; 229 struct timbgpio *tgpio;
231 struct resource *iomem; 230 struct resource *iomem;
232 struct timbgpio_platform_data *pdata = mfd_get_data(pdev); 231 struct timbgpio_platform_data *pdata = pdev->dev.platform_data;
233 int irq = platform_get_irq(pdev, 0); 232 int irq = platform_get_irq(pdev, 0);
234 233
235 if (!pdata || pdata->nr_pins > 32) { 234 if (!pdata || pdata->nr_pins > 32) {
@@ -320,13 +319,14 @@ err_mem:
320static int __devexit timbgpio_remove(struct platform_device *pdev) 319static int __devexit timbgpio_remove(struct platform_device *pdev)
321{ 320{
322 int err; 321 int err;
322 struct timbgpio_platform_data *pdata = pdev->dev.platform_data;
323 struct timbgpio *tgpio = platform_get_drvdata(pdev); 323 struct timbgpio *tgpio = platform_get_drvdata(pdev);
324 struct resource *iomem = platform_get_resource(pdev, IORESOURCE_MEM, 0); 324 struct resource *iomem = platform_get_resource(pdev, IORESOURCE_MEM, 0);
325 int irq = platform_get_irq(pdev, 0); 325 int irq = platform_get_irq(pdev, 0);
326 326
327 if (irq >= 0 && tgpio->irq_base > 0) { 327 if (irq >= 0 && tgpio->irq_base > 0) {
328 int i; 328 int i;
329 for (i = 0; i < tgpio->gpio.ngpio; i++) { 329 for (i = 0; i < pdata->nr_pins; i++) {
330 irq_set_chip(tgpio->irq_base + i, NULL); 330 irq_set_chip(tgpio->irq_base + i, NULL);
331 irq_set_chip_data(tgpio->irq_base + i, NULL); 331 irq_set_chip_data(tgpio->irq_base + i, NULL);
332 } 332 }
diff --git a/drivers/gpio/vx855_gpio.c b/drivers/gpio/vx855_gpio.c
index 8a98ee5d5f6c..ef5aabd8b8b7 100644
--- a/drivers/gpio/vx855_gpio.c
+++ b/drivers/gpio/vx855_gpio.c
@@ -26,6 +26,7 @@
26#include <linux/kernel.h> 26#include <linux/kernel.h>
27#include <linux/module.h> 27#include <linux/module.h>
28#include <linux/gpio.h> 28#include <linux/gpio.h>
29#include <linux/slab.h>
29#include <linux/device.h> 30#include <linux/device.h>
30#include <linux/platform_device.h> 31#include <linux/platform_device.h>
31#include <linux/pci.h> 32#include <linux/pci.h>