Lines Matching +full:device +full:- +full:handle
1 /*-
2 * Copyright (c) 2013-2014 Rui Paulo <rpaulo@FreeBSD.org>
41 char device[16]; in gpio_open() local
43 snprintf(device, sizeof(device), "/dev/gpioc%u", unit); in gpio_open()
45 return (gpio_open_device(device)); in gpio_open()
49 gpio_open_device(const char *device) in gpio_open_device() argument
54 fd = open(device, O_RDONLY); in gpio_open_device()
71 gpio_close(gpio_handle_t handle) in gpio_close() argument
73 close(handle); in gpio_close()
77 gpio_pin_list(gpio_handle_t handle, gpio_config_t **pcfgs) in gpio_pin_list() argument
83 if (ioctl(handle, GPIOMAXPIN, &maxpins) < 0) in gpio_pin_list()
84 return (-1); in gpio_pin_list()
88 return (-1); in gpio_pin_list()
92 return (-1); in gpio_pin_list()
95 gpio_pin_config(handle, &cfgs[i]); in gpio_pin_list()
103 gpio_pin_config(gpio_handle_t handle, gpio_config_t *cfg) in gpio_pin_config() argument
108 return (-1); in gpio_pin_config()
109 gppin.gp_pin = cfg->g_pin; in gpio_pin_config()
110 if (ioctl(handle, GPIOGETCONFIG, &gppin) < 0) in gpio_pin_config()
111 return (-1); in gpio_pin_config()
112 strlcpy(cfg->g_name, gppin.gp_name, GPIOMAXNAME); in gpio_pin_config()
113 cfg->g_caps = gppin.gp_caps; in gpio_pin_config()
114 cfg->g_flags = gppin.gp_flags; in gpio_pin_config()
120 gpio_pin_set_name(gpio_handle_t handle, gpio_pin_t pin, char *name) in gpio_pin_set_name() argument
125 return (-1); in gpio_pin_set_name()
129 if (ioctl(handle, GPIOSETNAME, &gppin) < 0) in gpio_pin_set_name()
130 return (-1); in gpio_pin_set_name()
136 gpio_pin_set_flags(gpio_handle_t handle, gpio_config_t *cfg) in gpio_pin_set_flags() argument
141 return (-1); in gpio_pin_set_flags()
142 gppin.gp_pin = cfg->g_pin; in gpio_pin_set_flags()
143 gppin.gp_flags = cfg->g_flags; in gpio_pin_set_flags()
144 if (ioctl(handle, GPIOSETCONFIG, &gppin) < 0) in gpio_pin_set_flags()
145 return (-1); in gpio_pin_set_flags()
151 gpio_pin_get(gpio_handle_t handle, gpio_pin_t pin) in gpio_pin_get() argument
157 if (ioctl(handle, GPIOGET, &gpreq) < 0) in gpio_pin_get()
164 gpio_pin_set(gpio_handle_t handle, gpio_pin_t pin, gpio_value_t value) in gpio_pin_set() argument
169 return (-1); in gpio_pin_set()
173 if (ioctl(handle, GPIOSET, &gpreq) < 0) in gpio_pin_set()
174 return (-1); in gpio_pin_set()
180 gpio_pin_toggle(gpio_handle_t handle, gpio_pin_t pin) in gpio_pin_toggle() argument
186 if (ioctl(handle, GPIOTOGGLE, &gpreq) < 0) in gpio_pin_toggle()
187 return (-1); in gpio_pin_toggle()
193 gpio_pin_low(gpio_handle_t handle, gpio_pin_t pin) in gpio_pin_low() argument
195 return (gpio_pin_set(handle, pin, GPIO_VALUE_LOW)); in gpio_pin_low()
199 gpio_pin_high(gpio_handle_t handle, gpio_pin_t pin) in gpio_pin_high() argument
201 return (gpio_pin_set(handle, pin, GPIO_VALUE_HIGH)); in gpio_pin_high()
205 gpio_pin_set_flag(gpio_handle_t handle, gpio_pin_t pin, uint32_t flag) in gpio_pin_set_flag() argument
211 if (gpio_pin_config(handle, &cfg) < 0) in gpio_pin_set_flag()
212 return (-1); in gpio_pin_set_flag()
215 return (gpio_pin_set_flags(handle, &cfg)); in gpio_pin_set_flag()
219 gpio_pin_input(gpio_handle_t handle, gpio_pin_t pin) in gpio_pin_input() argument
221 return (gpio_pin_set_flag(handle, pin, GPIO_PIN_INPUT)); in gpio_pin_input()
225 gpio_pin_output(gpio_handle_t handle, gpio_pin_t pin) in gpio_pin_output() argument
227 return (gpio_pin_set_flag(handle, pin, GPIO_PIN_OUTPUT)); in gpio_pin_output()
231 gpio_pin_opendrain(gpio_handle_t handle, gpio_pin_t pin) in gpio_pin_opendrain() argument
233 return (gpio_pin_set_flag(handle, pin, GPIO_PIN_OPENDRAIN)); in gpio_pin_opendrain()
237 gpio_pin_pushpull(gpio_handle_t handle, gpio_pin_t pin) in gpio_pin_pushpull() argument
239 return (gpio_pin_set_flag(handle, pin, GPIO_PIN_PUSHPULL)); in gpio_pin_pushpull()
243 gpio_pin_tristate(gpio_handle_t handle, gpio_pin_t pin) in gpio_pin_tristate() argument
245 return (gpio_pin_set_flag(handle, pin, GPIO_PIN_TRISTATE)); in gpio_pin_tristate()
249 gpio_pin_pullup(gpio_handle_t handle, gpio_pin_t pin) in gpio_pin_pullup() argument
251 return (gpio_pin_set_flag(handle, pin, GPIO_PIN_PULLUP)); in gpio_pin_pullup()
255 gpio_pin_pulldown(gpio_handle_t handle, gpio_pin_t pin) in gpio_pin_pulldown() argument
257 return (gpio_pin_set_flag(handle, pin, GPIO_PIN_PULLDOWN)); in gpio_pin_pulldown()
261 gpio_pin_invin(gpio_handle_t handle, gpio_pin_t pin) in gpio_pin_invin() argument
263 return (gpio_pin_set_flag(handle, pin, GPIO_PIN_INVIN)); in gpio_pin_invin()
267 gpio_pin_invout(gpio_handle_t handle, gpio_pin_t pin) in gpio_pin_invout() argument
269 return (gpio_pin_set_flag(handle, pin, GPIO_PIN_INVOUT)); in gpio_pin_invout()
273 gpio_pin_pulsate(gpio_handle_t handle, gpio_pin_t pin) in gpio_pin_pulsate() argument
275 return (gpio_pin_set_flag(handle, pin, GPIO_PIN_PULSATE)); in gpio_pin_pulsate()