Lines Matching refs:proxy

27 gpio_shared_proxy_set_unlocked(struct gpio_shared_proxy_data *proxy,  in gpio_shared_proxy_set_unlocked()  argument
31 struct gpio_shared_desc *shared_desc = proxy->shared_desc; in gpio_shared_proxy_set_unlocked()
39 if (proxy->voted_high) in gpio_shared_proxy_set_unlocked()
55 proxy->voted_high = true; in gpio_shared_proxy_set_unlocked()
61 if (!proxy->voted_high) in gpio_shared_proxy_set_unlocked()
74 proxy->voted_high = false; in gpio_shared_proxy_set_unlocked()
78 dev_dbg(proxy->dev, in gpio_shared_proxy_set_unlocked()
82 dev_dbg(proxy->dev, "Voted for value 'low', effective value is 'low'\n"); in gpio_shared_proxy_set_unlocked()
89 struct gpio_shared_proxy_data *proxy = gpiochip_get_data(gc); in gpio_shared_proxy_request() local
90 struct gpio_shared_desc *shared_desc = proxy->shared_desc; in gpio_shared_proxy_request()
94 proxy->shared_desc->usecnt++; in gpio_shared_proxy_request()
96 dev_dbg(proxy->dev, "Shared GPIO requested, number of users: %u\n", in gpio_shared_proxy_request()
97 proxy->shared_desc->usecnt); in gpio_shared_proxy_request()
104 struct gpio_shared_proxy_data *proxy = gpiochip_get_data(gc); in gpio_shared_proxy_free() local
105 struct gpio_shared_desc *shared_desc = proxy->shared_desc; in gpio_shared_proxy_free()
109 proxy->shared_desc->usecnt--; in gpio_shared_proxy_free()
111 dev_dbg(proxy->dev, "Shared GPIO freed, number of users: %u\n", in gpio_shared_proxy_free()
112 proxy->shared_desc->usecnt); in gpio_shared_proxy_free()
118 struct gpio_shared_proxy_data *proxy = gpiochip_get_data(gc); in gpio_shared_proxy_set_config() local
119 struct gpio_shared_desc *shared_desc = proxy->shared_desc; in gpio_shared_proxy_set_config()
127 dev_dbg(proxy->dev, in gpio_shared_proxy_set_config()
130 dev_dbg(proxy->dev, "Equal config requested, nothing to do\n"); in gpio_shared_proxy_set_config()
146 struct gpio_shared_proxy_data *proxy = gpiochip_get_data(gc); in gpio_shared_proxy_direction_input() local
147 struct gpio_shared_desc *shared_desc = proxy->shared_desc; in gpio_shared_proxy_direction_input()
154 dev_dbg(proxy->dev, in gpio_shared_proxy_direction_input()
165 dev_dbg(proxy->dev, in gpio_shared_proxy_direction_input()
176 struct gpio_shared_proxy_data *proxy = gpiochip_get_data(gc); in gpio_shared_proxy_direction_output() local
177 struct gpio_shared_desc *shared_desc = proxy->shared_desc; in gpio_shared_proxy_direction_output()
184 dev_dbg(proxy->dev, in gpio_shared_proxy_direction_output()
193 proxy->voted_high = true; in gpio_shared_proxy_direction_output()
196 proxy->voted_high = false; in gpio_shared_proxy_direction_output()
208 dev_dbg(proxy->dev, in gpio_shared_proxy_direction_output()
213 return gpio_shared_proxy_set_unlocked(proxy, gpiod_direction_output, value); in gpio_shared_proxy_direction_output()
218 struct gpio_shared_proxy_data *proxy = gpiochip_get_data(gc); in gpio_shared_proxy_get() local
220 return gpiod_get_value(proxy->shared_desc->desc); in gpio_shared_proxy_get()
226 struct gpio_shared_proxy_data *proxy = gpiochip_get_data(gc); in gpio_shared_proxy_get_cansleep() local
228 return gpiod_get_value_cansleep(proxy->shared_desc->desc); in gpio_shared_proxy_get_cansleep()
231 static int gpio_shared_proxy_do_set(struct gpio_shared_proxy_data *proxy, in gpio_shared_proxy_do_set() argument
235 guard(gpio_shared_desc_lock)(proxy->shared_desc); in gpio_shared_proxy_do_set()
237 return gpio_shared_proxy_set_unlocked(proxy, set_func, value); in gpio_shared_proxy_do_set()
243 struct gpio_shared_proxy_data *proxy = gpiochip_get_data(gc); in gpio_shared_proxy_set() local
245 return gpio_shared_proxy_do_set(proxy, gpiod_set_value, value); in gpio_shared_proxy_set()
251 struct gpio_shared_proxy_data *proxy = gpiochip_get_data(gc); in gpio_shared_proxy_set_cansleep() local
253 return gpio_shared_proxy_do_set(proxy, gpiod_set_value_cansleep, value); in gpio_shared_proxy_set_cansleep()
259 struct gpio_shared_proxy_data *proxy = gpiochip_get_data(gc); in gpio_shared_proxy_get_direction() local
261 return gpiod_get_direction(proxy->shared_desc->desc); in gpio_shared_proxy_get_direction()
266 struct gpio_shared_proxy_data *proxy = gpiochip_get_data(gc); in gpio_shared_proxy_to_irq() local
268 return gpiod_to_irq(proxy->shared_desc->desc); in gpio_shared_proxy_to_irq()
274 struct gpio_shared_proxy_data *proxy; in gpio_shared_proxy_probe() local
283 proxy = devm_kzalloc(dev, sizeof(*proxy), GFP_KERNEL); in gpio_shared_proxy_probe()
284 if (!proxy) in gpio_shared_proxy_probe()
287 proxy->shared_desc = shared_desc; in gpio_shared_proxy_probe()
288 proxy->dev = dev; in gpio_shared_proxy_probe()
290 gc = &proxy->gc; in gpio_shared_proxy_probe()
313 return devm_gpiochip_add_data(dev, &proxy->gc, proxy); in gpio_shared_proxy_probe()