diff options
Diffstat (limited to 'drivers/gpio/74x164.c')
-rw-r--r-- | drivers/gpio/74x164.c | 27 |
1 files changed, 11 insertions, 16 deletions
diff --git a/drivers/gpio/74x164.c b/drivers/gpio/74x164.c index 84e070219839..7fb60b6bf523 100644 --- a/drivers/gpio/74x164.c +++ b/drivers/gpio/74x164.c | |||
@@ -16,9 +16,6 @@ | |||
16 | #include <linux/gpio.h> | 16 | #include <linux/gpio.h> |
17 | #include <linux/slab.h> | 17 | #include <linux/slab.h> |
18 | 18 | ||
19 | #define GEN_74X164_GPIO_COUNT 8 | ||
20 | |||
21 | |||
22 | struct gen_74x164_chip { | 19 | struct gen_74x164_chip { |
23 | struct spi_device *spi; | 20 | struct spi_device *spi; |
24 | struct gpio_chip gpio_chip; | 21 | struct gpio_chip gpio_chip; |
@@ -26,8 +23,6 @@ struct gen_74x164_chip { | |||
26 | u8 port_config; | 23 | u8 port_config; |
27 | }; | 24 | }; |
28 | 25 | ||
29 | static void gen_74x164_set_value(struct gpio_chip *, unsigned, int); | ||
30 | |||
31 | static struct gen_74x164_chip *gpio_to_chip(struct gpio_chip *gc) | 26 | static struct gen_74x164_chip *gpio_to_chip(struct gpio_chip *gc) |
32 | { | 27 | { |
33 | return container_of(gc, struct gen_74x164_chip, gpio_chip); | 28 | return container_of(gc, struct gen_74x164_chip, gpio_chip); |
@@ -39,13 +34,6 @@ static int __gen_74x164_write_config(struct gen_74x164_chip *chip) | |||
39 | &chip->port_config, sizeof(chip->port_config)); | 34 | &chip->port_config, sizeof(chip->port_config)); |
40 | } | 35 | } |
41 | 36 | ||
42 | static int gen_74x164_direction_output(struct gpio_chip *gc, | ||
43 | unsigned offset, int val) | ||
44 | { | ||
45 | gen_74x164_set_value(gc, offset, val); | ||
46 | return 0; | ||
47 | } | ||
48 | |||
49 | static int gen_74x164_get_value(struct gpio_chip *gc, unsigned offset) | 37 | static int gen_74x164_get_value(struct gpio_chip *gc, unsigned offset) |
50 | { | 38 | { |
51 | struct gen_74x164_chip *chip = gpio_to_chip(gc); | 39 | struct gen_74x164_chip *chip = gpio_to_chip(gc); |
@@ -73,6 +61,13 @@ static void gen_74x164_set_value(struct gpio_chip *gc, | |||
73 | mutex_unlock(&chip->lock); | 61 | mutex_unlock(&chip->lock); |
74 | } | 62 | } |
75 | 63 | ||
64 | static int gen_74x164_direction_output(struct gpio_chip *gc, | ||
65 | unsigned offset, int val) | ||
66 | { | ||
67 | gen_74x164_set_value(gc, offset, val); | ||
68 | return 0; | ||
69 | } | ||
70 | |||
76 | static int __devinit gen_74x164_probe(struct spi_device *spi) | 71 | static int __devinit gen_74x164_probe(struct spi_device *spi) |
77 | { | 72 | { |
78 | struct gen_74x164_chip *chip; | 73 | struct gen_74x164_chip *chip; |
@@ -104,12 +99,12 @@ static int __devinit gen_74x164_probe(struct spi_device *spi) | |||
104 | 99 | ||
105 | chip->spi = spi; | 100 | chip->spi = spi; |
106 | 101 | ||
107 | chip->gpio_chip.label = GEN_74X164_DRIVER_NAME, | 102 | chip->gpio_chip.label = spi->modalias; |
108 | chip->gpio_chip.direction_output = gen_74x164_direction_output; | 103 | chip->gpio_chip.direction_output = gen_74x164_direction_output; |
109 | chip->gpio_chip.get = gen_74x164_get_value; | 104 | chip->gpio_chip.get = gen_74x164_get_value; |
110 | chip->gpio_chip.set = gen_74x164_set_value; | 105 | chip->gpio_chip.set = gen_74x164_set_value; |
111 | chip->gpio_chip.base = pdata->base; | 106 | chip->gpio_chip.base = pdata->base; |
112 | chip->gpio_chip.ngpio = GEN_74X164_GPIO_COUNT; | 107 | chip->gpio_chip.ngpio = 8; |
113 | chip->gpio_chip.can_sleep = 1; | 108 | chip->gpio_chip.can_sleep = 1; |
114 | chip->gpio_chip.dev = &spi->dev; | 109 | chip->gpio_chip.dev = &spi->dev; |
115 | chip->gpio_chip.owner = THIS_MODULE; | 110 | chip->gpio_chip.owner = THIS_MODULE; |
@@ -157,7 +152,7 @@ static int __devexit gen_74x164_remove(struct spi_device *spi) | |||
157 | 152 | ||
158 | static struct spi_driver gen_74x164_driver = { | 153 | static struct spi_driver gen_74x164_driver = { |
159 | .driver = { | 154 | .driver = { |
160 | .name = GEN_74X164_DRIVER_NAME, | 155 | .name = "74x164", |
161 | .owner = THIS_MODULE, | 156 | .owner = THIS_MODULE, |
162 | }, | 157 | }, |
163 | .probe = gen_74x164_probe, | 158 | .probe = gen_74x164_probe, |