mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-11 04:18:39 +08:00
ARM: SAMSUNG: Add GPIO configuration for a range of pins
Add s3c_gpio_cfgpin_range() to configure a range of pins to the given value. This is useful for a number of blocks where the pins are in order and saves multiple calls to s3c_gpio_cfgpin(). Signed-off-by: Ben Dooks <ben-linux@fluff.org> Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
This commit is contained in:
parent
fe0cdec8ba
commit
4b46fbba60
@ -41,6 +41,21 @@ int s3c_gpio_cfgpin(unsigned int pin, unsigned int config)
|
||||
}
|
||||
EXPORT_SYMBOL(s3c_gpio_cfgpin);
|
||||
|
||||
int s3c_gpio_cfgpin_range(unsigned int start, unsigned int nr,
|
||||
unsigned int cfg)
|
||||
{
|
||||
int ret;
|
||||
|
||||
for (; nr > 0; nr--, start++) {
|
||||
ret = s3c_gpio_cfgpin(start, cfg);
|
||||
if (ret != 0)
|
||||
return ret;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(s3c_gpio_cfgpin_range);
|
||||
|
||||
unsigned s3c_gpio_getcfg(unsigned int pin)
|
||||
{
|
||||
struct s3c_gpio_chip *chip = s3c_gpiolib_getchip(pin);
|
||||
|
@ -108,6 +108,19 @@ extern int s3c_gpio_cfgpin(unsigned int pin, unsigned int to);
|
||||
*/
|
||||
extern unsigned s3c_gpio_getcfg(unsigned int pin);
|
||||
|
||||
/**
|
||||
* s3c_gpio_cfgpin_range() - Change the GPIO function for configuring pin range
|
||||
* @start: The pin number to start at
|
||||
* @nr: The number of pins to configure from @start.
|
||||
* @cfg: The configuration for the pin's function
|
||||
*
|
||||
* Call s3c_gpio_cfgpin() for the @nr pins starting at @start.
|
||||
*
|
||||
* @sa s3c_gpio_cfgpin.
|
||||
*/
|
||||
extern int s3c_gpio_cfgpin_range(unsigned int start, unsigned int nr,
|
||||
unsigned int cfg);
|
||||
|
||||
/* Define values for the pull-{up,down} available for each gpio pin.
|
||||
*
|
||||
* These values control the state of the weak pull-{up,down} resistors
|
||||
|
Loading…
Reference in New Issue
Block a user