|
@@ -342,12 +342,6 @@ static int bcm2835_gpio_get(struct gpio_chip *chip, unsigned offset)
|
|
|
return bcm2835_gpio_get_bit(pc, GPLEV0, offset);
|
|
|
}
|
|
|
|
|
|
-static int bcm2835_gpio_direction_output(struct gpio_chip *chip,
|
|
|
- unsigned offset, int value)
|
|
|
-{
|
|
|
- return pinctrl_gpio_direction_output(chip->base + offset);
|
|
|
-}
|
|
|
-
|
|
|
static void bcm2835_gpio_set(struct gpio_chip *chip, unsigned offset, int value)
|
|
|
{
|
|
|
struct bcm2835_pinctrl *pc = dev_get_drvdata(chip->dev);
|
|
@@ -355,6 +349,13 @@ static void bcm2835_gpio_set(struct gpio_chip *chip, unsigned offset, int value)
|
|
|
bcm2835_gpio_set_bit(pc, value ? GPSET0 : GPCLR0, offset);
|
|
|
}
|
|
|
|
|
|
+static int bcm2835_gpio_direction_output(struct gpio_chip *chip,
|
|
|
+ unsigned offset, int value)
|
|
|
+{
|
|
|
+ bcm2835_gpio_set(chip, offset, value);
|
|
|
+ return pinctrl_gpio_direction_output(chip->base + offset);
|
|
|
+}
|
|
|
+
|
|
|
static int bcm2835_gpio_to_irq(struct gpio_chip *chip, unsigned offset)
|
|
|
{
|
|
|
struct bcm2835_pinctrl *pc = dev_get_drvdata(chip->dev);
|