Lines Matching +full:bcm63xx +full:- +full:gpio
7 * Copyright (C) 2008-2011 Florian Fainelli <florian@openwrt.org>
14 #include <linux/gpio/driver.h>
38 static int bcm63xx_gpio_set(struct gpio_chip *chip, unsigned int gpio, int val) in bcm63xx_gpio_set() argument
45 BUG_ON(gpio >= chip->ngpio); in bcm63xx_gpio_set()
47 if (gpio < 32) { in bcm63xx_gpio_set()
49 mask = 1 << gpio; in bcm63xx_gpio_set()
53 mask = 1 << (gpio - 32); in bcm63xx_gpio_set()
68 static int bcm63xx_gpio_get(struct gpio_chip *chip, unsigned gpio) in bcm63xx_gpio_get() argument
73 BUG_ON(gpio >= chip->ngpio); in bcm63xx_gpio_get()
75 if (gpio < 32) { in bcm63xx_gpio_get()
77 mask = 1 << gpio; in bcm63xx_gpio_get()
80 mask = 1 << (gpio - 32); in bcm63xx_gpio_get()
87 unsigned gpio, int dir) in bcm63xx_gpio_set_direction() argument
94 BUG_ON(gpio >= chip->ngpio); in bcm63xx_gpio_set_direction()
96 if (gpio < 32) { in bcm63xx_gpio_set_direction()
98 mask = 1 << gpio; in bcm63xx_gpio_set_direction()
101 mask = 1 << (gpio - 32); in bcm63xx_gpio_set_direction()
116 static int bcm63xx_gpio_direction_input(struct gpio_chip *chip, unsigned gpio) in bcm63xx_gpio_direction_input() argument
118 return bcm63xx_gpio_set_direction(chip, gpio, BCM63XX_GPIO_DIR_IN); in bcm63xx_gpio_direction_input()
122 unsigned gpio, int value) in bcm63xx_gpio_direction_output() argument
124 bcm63xx_gpio_set(chip, gpio, value); in bcm63xx_gpio_direction_output()
125 return bcm63xx_gpio_set_direction(chip, gpio, BCM63XX_GPIO_DIR_OUT); in bcm63xx_gpio_direction_output()
130 .label = "bcm63xx-gpio",