Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 336360
b: refs/heads/master
c: 165adc9
h: refs/heads/master
v: v3
  • Loading branch information
Linus Walleij committed Nov 11, 2012
1 parent 680ce59 commit 516990e
Show file tree
Hide file tree
Showing 4 changed files with 30 additions and 12 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 33dfc41461b77e2b38673ec1b5622b1d9340324d
refs/heads/master: 165adc9c1734a3f3bdbc6dc7c7a29bbefb424006
10 changes: 5 additions & 5 deletions trunk/drivers/gpio/gpiolib.c
Original file line number Diff line number Diff line change
Expand Up @@ -1185,6 +1185,7 @@ struct gpio_chip *gpiochip_find(void *data,
EXPORT_SYMBOL_GPL(gpiochip_find);

#ifdef CONFIG_PINCTRL

void gpiochip_add_pin_range(struct gpio_chip *chip, const char *pinctl_name,
unsigned int pin_base, unsigned int npins)
{
Expand All @@ -1206,6 +1207,7 @@ void gpiochip_add_pin_range(struct gpio_chip *chip, const char *pinctl_name,

list_add_tail(&pin_range->node, &chip->pin_ranges);
}
EXPORT_SYMBOL_GPL(gpiochip_add_pin_range);

void gpiochip_remove_pin_ranges(struct gpio_chip *chip)
{
Expand All @@ -1217,11 +1219,9 @@ void gpiochip_remove_pin_ranges(struct gpio_chip *chip)
&pin_range->range);
}
}
#else
void gpiochip_add_pin_range(struct gpio_chip *chip, const char *pinctl_name,
unsigned int pin_base, unsigned int npins) {}
void gpiochip_remove_pin_ranges(struct gpio_chip *chip) {}
#endif
EXPORT_SYMBOL_GPL(gpiochip_remove_pin_ranges);

#endif /* CONFIG_PINCTRL */

/* These "optional" allocation calls help prevent drivers from stomping
* on each other, and help provide better diagnostics in debugfs.
Expand Down
6 changes: 6 additions & 0 deletions trunk/include/asm-generic/gpio.h
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,7 @@ struct module;
struct device_node;

#ifdef CONFIG_PINCTRL

/**
* struct gpio_pin_range - pin range controlled by a gpio chip
* @head: list for maintaining set of pin ranges, used internally
Expand All @@ -61,6 +62,11 @@ struct gpio_pin_range {
struct pinctrl_dev *pctldev;
struct pinctrl_gpio_range range;
};

void gpiochip_add_pin_range(struct gpio_chip *chip, const char *pinctl_name,
unsigned int pin_base, unsigned int npins);
void gpiochip_remove_pin_ranges(struct gpio_chip *chip);

#endif

/**
Expand Down
24 changes: 18 additions & 6 deletions trunk/include/linux/gpio.h
Original file line number Diff line number Diff line change
Expand Up @@ -72,9 +72,9 @@ static inline int irq_to_gpio(unsigned int irq)
return -EINVAL;
}

#endif
#endif /* ! CONFIG_ARCH_HAVE_CUSTOM_GPIO_H */

#else
#else /* ! CONFIG_GENERIC_GPIO */

#include <linux/kernel.h>
#include <linux/types.h>
Expand Down Expand Up @@ -231,9 +231,21 @@ static inline int irq_to_gpio(unsigned irq)
return -EINVAL;
}

void gpiochip_add_pin_range(struct gpio_chip *chip, const char *pinctl_name,
unsigned int pin_base, unsigned int npins);
void gpiochip_remove_pin_ranges(struct gpio_chip *chip);
#endif
#ifdef CONFIG_PINCTRL

static inline void
gpiochip_add_pin_range(struct gpio_chip *chip, const char *pinctl_name,
unsigned int pin_base, unsigned int npins)
{
}

static inline void
gpiochip_remove_pin_ranges(struct gpio_chip *chip)
{
}

#endif /* CONFIG_PINCTRL */

#endif /* ! CONFIG_GENERIC_GPIO */

#endif /* __LINUX_GPIO_H */

0 comments on commit 516990e

Please sign in to comment.