brcm47xx: add gpio_request_one()
This fixes a compile error with kernel 3.3. SVN-Revision: 31635
This commit is contained in:
		| @@ -0,0 +1,51 @@ | |||||||
|  | --- a/arch/mips/bcm47xx/gpio.c | ||||||
|  | +++ b/arch/mips/bcm47xx/gpio.c | ||||||
|  | @@ -7,6 +7,7 @@ | ||||||
|  |   */ | ||||||
|  |   | ||||||
|  |  #include <linux/export.h> | ||||||
|  | +#include <linux/gpio.h> | ||||||
|  |  #include <linux/ssb/ssb.h> | ||||||
|  |  #include <linux/ssb/ssb_driver_chipcommon.h> | ||||||
|  |  #include <linux/ssb/ssb_driver_extif.h> | ||||||
|  | @@ -100,3 +101,30 @@ int gpio_to_irq(unsigned gpio) | ||||||
|  |  	return -EINVAL; | ||||||
|  |  } | ||||||
|  |  EXPORT_SYMBOL_GPL(gpio_to_irq); | ||||||
|  | + | ||||||
|  | +/** | ||||||
|  | + * gpio_request_one - request a single GPIO with initial configuration | ||||||
|  | + * @gpio:	the GPIO number | ||||||
|  | + * @flags:	GPIO configuration as specified by GPIOF_* | ||||||
|  | + * @label:	a literal description string of this GPIO | ||||||
|  | + */ | ||||||
|  | +int gpio_request_one(unsigned gpio, unsigned long flags, const char *label) | ||||||
|  | +{ | ||||||
|  | +	int err; | ||||||
|  | + | ||||||
|  | +	err = gpio_request(gpio, label); | ||||||
|  | +	if (err) | ||||||
|  | +		return err; | ||||||
|  | + | ||||||
|  | +	if (flags & GPIOF_DIR_IN) | ||||||
|  | +		err = gpio_direction_input(gpio); | ||||||
|  | +	else | ||||||
|  | +		err = gpio_direction_output(gpio, | ||||||
|  | +				(flags & GPIOF_INIT_HIGH) ? 1 : 0); | ||||||
|  | + | ||||||
|  | +	if (err) | ||||||
|  | +		gpio_free(gpio); | ||||||
|  | + | ||||||
|  | +	return err; | ||||||
|  | +} | ||||||
|  | +EXPORT_SYMBOL_GPL(gpio_request_one); | ||||||
|  | --- a/arch/mips/include/asm/mach-bcm47xx/gpio.h | ||||||
|  | +++ b/arch/mips/include/asm/mach-bcm47xx/gpio.h | ||||||
|  | @@ -19,6 +19,7 @@ | ||||||
|  |  extern int gpio_request(unsigned gpio, const char *label); | ||||||
|  |  extern void gpio_free(unsigned gpio); | ||||||
|  |  extern int gpio_to_irq(unsigned gpio); | ||||||
|  | +extern int gpio_request_one(unsigned gpio, unsigned long flags, const char *label); | ||||||
|  |   | ||||||
|  |  static inline int gpio_get_value(unsigned gpio) | ||||||
|  |  { | ||||||
		Reference in New Issue
	
	Block a user
	 Hauke Mehrtens
					Hauke Mehrtens