Message ID | 1346834457-6257-3-git-send-email-maxime.ripard@free-electrons.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Wednesday 05 September 2012 10:40:52 Maxime Ripard wrote: > Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com> No, please don't do it that way, rather check if the platform_data pointer is null, and if it is, fall-back to dynamic gpio base assignment. There is a currently out of tree user of this for which it matters to be able to set a specific gpio base numbering. > --- > drivers/gpio/gpio-74x164.c | 10 +--------- > include/linux/spi/74x164.h | 9 --------- > 2 files changed, 1 insertion(+), 18 deletions(-) > delete mode 100644 include/linux/spi/74x164.h > > diff --git a/drivers/gpio/gpio-74x164.c b/drivers/gpio/gpio-74x164.c > index 604b998..24cfe4c 100644 > --- a/drivers/gpio/gpio-74x164.c > +++ b/drivers/gpio/gpio-74x164.c > @@ -12,7 +12,6 @@ > #include <linux/init.h> > #include <linux/mutex.h> > #include <linux/spi/spi.h> > -#include <linux/spi/74x164.h> > #include <linux/gpio.h> > #include <linux/slab.h> > #include <linux/module.h> > @@ -72,15 +71,8 @@ static int gen_74x164_direction_output(struct gpio_chip *gc, > static int __devinit gen_74x164_probe(struct spi_device *spi) > { > struct gen_74x164_chip *chip; > - struct gen_74x164_chip_platform_data *pdata; > int ret; > > - pdata = spi->dev.platform_data; > - if (!pdata || !pdata->base) { > - dev_dbg(&spi->dev, "incorrect or missing platform data\n"); > - return -EINVAL; > - } > - > /* > * bits_per_word cannot be configured in platform data > */ > @@ -104,7 +96,7 @@ static int __devinit gen_74x164_probe(struct spi_device *spi) > chip->gpio_chip.direction_output = gen_74x164_direction_output; > chip->gpio_chip.get = gen_74x164_get_value; > chip->gpio_chip.set = gen_74x164_set_value; > - chip->gpio_chip.base = pdata->base; > + chip->gpio_chip.base = -1; > chip->gpio_chip.ngpio = 8; > chip->gpio_chip.can_sleep = 1; > chip->gpio_chip.dev = &spi->dev; > diff --git a/include/linux/spi/74x164.h b/include/linux/spi/74x164.h > deleted file mode 100644 > index 0aa6acc..0000000 > --- a/include/linux/spi/74x164.h > +++ /dev/null > @@ -1,9 +0,0 @@ > -#ifndef LINUX_SPI_74X164_H > -#define LINUX_SPI_74X164_H > - > -struct gen_74x164_chip_platform_data { > - /* number assigned to the first GPIO */ > - unsigned base; > -}; > - > -#endif > -- > 1.7.9.5 > > > _______________________________________________ > linux-arm-kernel mailing list > linux-arm-kernel@lists.infradead.org > http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
Le Wed, 05 Sep 2012 10:48:14 +0200, Florian Fainelli <florian@openwrt.org> a écrit : > On Wednesday 05 September 2012 10:40:52 Maxime Ripard wrote: > > Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com> > > No, please don't do it that way, rather check if the platform_data pointer is > null, and if it is, fall-back to dynamic gpio base assignment. There is a > currently out of tree user of this for which it matters to be able to set a > specific gpio base numbering. Do we care about out of tree users? Thomas
Le Wed, 5 Sep 2012 10:40:52 +0200,
Maxime Ripard <maxime.ripard@free-electrons.com> a écrit :
> Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
You should probably explicitly mention that the platform_data thing is
removed because it has no users in-tree.
Thomas
diff --git a/drivers/gpio/gpio-74x164.c b/drivers/gpio/gpio-74x164.c index 604b998..24cfe4c 100644 --- a/drivers/gpio/gpio-74x164.c +++ b/drivers/gpio/gpio-74x164.c @@ -12,7 +12,6 @@ #include <linux/init.h> #include <linux/mutex.h> #include <linux/spi/spi.h> -#include <linux/spi/74x164.h> #include <linux/gpio.h> #include <linux/slab.h> #include <linux/module.h> @@ -72,15 +71,8 @@ static int gen_74x164_direction_output(struct gpio_chip *gc, static int __devinit gen_74x164_probe(struct spi_device *spi) { struct gen_74x164_chip *chip; - struct gen_74x164_chip_platform_data *pdata; int ret; - pdata = spi->dev.platform_data; - if (!pdata || !pdata->base) { - dev_dbg(&spi->dev, "incorrect or missing platform data\n"); - return -EINVAL; - } - /* * bits_per_word cannot be configured in platform data */ @@ -104,7 +96,7 @@ static int __devinit gen_74x164_probe(struct spi_device *spi) chip->gpio_chip.direction_output = gen_74x164_direction_output; chip->gpio_chip.get = gen_74x164_get_value; chip->gpio_chip.set = gen_74x164_set_value; - chip->gpio_chip.base = pdata->base; + chip->gpio_chip.base = -1; chip->gpio_chip.ngpio = 8; chip->gpio_chip.can_sleep = 1; chip->gpio_chip.dev = &spi->dev; diff --git a/include/linux/spi/74x164.h b/include/linux/spi/74x164.h deleted file mode 100644 index 0aa6acc..0000000 --- a/include/linux/spi/74x164.h +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef LINUX_SPI_74X164_H -#define LINUX_SPI_74X164_H - -struct gen_74x164_chip_platform_data { - /* number assigned to the first GPIO */ - unsigned base; -}; - -#endif
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com> --- drivers/gpio/gpio-74x164.c | 10 +--------- include/linux/spi/74x164.h | 9 --------- 2 files changed, 1 insertion(+), 18 deletions(-) delete mode 100644 include/linux/spi/74x164.h