Lines Matching refs:gpio
48 static struct xilinx_gpio_priv *gpio_get_controller(unsigned gpio) in gpio_get_controller() argument
55 if (gpio >= priv->gpio_min && gpio <= priv->gpio_max) { in gpio_get_controller()
66 static char *get_name(unsigned gpio) in get_name() argument
73 priv = gpio_get_controller(gpio); in get_name()
75 gpio_priv = gpio - priv->gpio_min; in get_name()
84 static int gpio_get_output_value(unsigned gpio) in gpio_get_output_value() argument
87 struct xilinx_gpio_priv *priv = gpio_get_controller(gpio); in gpio_get_output_value()
90 gpio_priv = gpio - priv->gpio_min; in gpio_get_output_value()
101 static int gpio_get_input_value(unsigned gpio) in gpio_get_input_value() argument
105 struct xilinx_gpio_priv *priv = gpio_get_controller(gpio); in gpio_get_input_value()
109 gpio_priv = gpio - priv->gpio_min; in gpio_get_input_value()
121 static int gpio_set_direction(unsigned gpio, enum gpio_direction direction) in gpio_set_direction() argument
125 struct xilinx_gpio_priv *priv = gpio_get_controller(gpio); in gpio_set_direction()
131 gpio_priv = gpio - priv->gpio_min; in gpio_set_direction()
148 static int gpio_get_direction(unsigned gpio) in gpio_get_direction() argument
152 struct xilinx_gpio_priv *priv = gpio_get_controller(gpio); in gpio_get_direction()
156 gpio_priv = gpio - priv->gpio_min; in gpio_get_direction()
173 int gpio_get_value(unsigned gpio) in gpio_get_value() argument
177 if (gpio_get_direction(gpio) == GPIO_DIRECTION_OUT) in gpio_get_value()
178 val = gpio_get_output_value(gpio); in gpio_get_value()
180 val = gpio_get_input_value(gpio); in gpio_get_value()
186 static int gpio_set_output_value(unsigned gpio, int value) in gpio_set_output_value() argument
190 struct xilinx_gpio_priv *priv = gpio_get_controller(gpio); in gpio_set_output_value()
194 gpio_priv = gpio - priv->gpio_min; in gpio_set_output_value()
212 int gpio_set_value(unsigned gpio, int value) in gpio_set_value() argument
214 if (gpio_get_direction(gpio) == GPIO_DIRECTION_OUT) in gpio_set_value()
215 return gpio_set_output_value(gpio, value); in gpio_set_value()
221 int gpio_direction_input(unsigned gpio) in gpio_direction_input() argument
224 return gpio_set_direction(gpio, GPIO_DIRECTION_IN); in gpio_direction_input()
228 int gpio_direction_output(unsigned gpio, int value) in gpio_direction_output() argument
230 int ret = gpio_set_direction(gpio, GPIO_DIRECTION_OUT); in gpio_direction_output()
237 return gpio_set_output_value(gpio, value); in gpio_direction_output()
243 unsigned gpio; in gpio_info() local
253 for (gpio = priv->gpio_min; gpio <= priv->gpio_max; gpio++) { in gpio_info()
254 printf("GPIO_%d:\t%s is an ", gpio, get_name(gpio)); in gpio_info()
255 if (gpio_get_direction(gpio) == GPIO_DIRECTION_OUT) in gpio_info()
257 gpio_get_output_value(gpio)); in gpio_info()
260 gpio_get_input_value(gpio)); in gpio_info()
265 int gpio_request(unsigned gpio, const char *label) in gpio_request() argument
270 if (gpio >= xilinx_gpio_max) in gpio_request()
273 priv = gpio_get_controller(gpio); in gpio_request()
275 gpio_priv = gpio - priv->gpio_min; in gpio_request()
289 int gpio_free(unsigned gpio) in gpio_free() argument
294 if (gpio >= xilinx_gpio_max) in gpio_free()
297 priv = gpio_get_controller(gpio); in gpio_free()
299 gpio_priv = gpio - priv->gpio_min; in gpio_free()