Lines Matching refs:gpio_ext
39 static void gpio_ext_set_addr(struct netxbig_gpio_ext *gpio_ext, int addr) in gpio_ext_set_addr() argument
43 for (pin = 0; pin < gpio_ext->num_addr; pin++) in gpio_ext_set_addr()
44 gpio_set_value(gpio_ext->addr[pin], (addr >> pin) & 1); in gpio_ext_set_addr()
47 static void gpio_ext_set_data(struct netxbig_gpio_ext *gpio_ext, int data) in gpio_ext_set_data() argument
51 for (pin = 0; pin < gpio_ext->num_data; pin++) in gpio_ext_set_data()
52 gpio_set_value(gpio_ext->data[pin], (data >> pin) & 1); in gpio_ext_set_data()
55 static void gpio_ext_enable_select(struct netxbig_gpio_ext *gpio_ext) in gpio_ext_enable_select() argument
58 gpio_set_value(gpio_ext->enable, 0); in gpio_ext_enable_select()
59 gpio_set_value(gpio_ext->enable, 1); in gpio_ext_enable_select()
62 static void gpio_ext_set_value(struct netxbig_gpio_ext *gpio_ext, in gpio_ext_set_value() argument
68 gpio_ext_set_addr(gpio_ext, addr); in gpio_ext_set_value()
69 gpio_ext_set_data(gpio_ext, value); in gpio_ext_set_value()
70 gpio_ext_enable_select(gpio_ext); in gpio_ext_set_value()
75 struct netxbig_gpio_ext *gpio_ext) in gpio_ext_init() argument
80 if (unlikely(!gpio_ext)) in gpio_ext_init()
84 for (i = 0; i < gpio_ext->num_addr; i++) { in gpio_ext_init()
85 err = devm_gpio_request_one(&pdev->dev, gpio_ext->addr[i], in gpio_ext_init()
92 for (i = 0; i < gpio_ext->num_data; i++) { in gpio_ext_init()
93 err = devm_gpio_request_one(&pdev->dev, gpio_ext->data[i], in gpio_ext_init()
100 err = devm_gpio_request_one(&pdev->dev, gpio_ext->enable, in gpio_ext_init()
114 struct netxbig_gpio_ext *gpio_ext; member
166 gpio_ext_set_value(led_dat->gpio_ext, led_dat->mode_addr, mode_val); in netxbig_led_blink_set()
199 gpio_ext_set_value(led_dat->gpio_ext, led_dat->mode_addr, mode_val); in netxbig_led_set()
207 gpio_ext_set_value(led_dat->gpio_ext, in netxbig_led_set()
252 gpio_ext_set_value(led_dat->gpio_ext, led_dat->mode_addr, mode_val); in netxbig_led_sata_store()
288 led_dat->gpio_ext = pdata->gpio_ext; in create_netxbig_led()
324 struct netxbig_gpio_ext *gpio_ext) in gpio_ext_get_of_pdata() argument
348 gpio_ext->addr = addr; in gpio_ext_get_of_pdata()
349 gpio_ext->num_addr = num_addr; in gpio_ext_get_of_pdata()
368 gpio_ext->data = data; in gpio_ext_get_of_pdata()
369 gpio_ext->num_data = num_data; in gpio_ext_get_of_pdata()
377 gpio_ext->enable = ret; in gpio_ext_get_of_pdata()
388 struct netxbig_gpio_ext *gpio_ext; in netxbig_leds_get_of_pdata() local
403 gpio_ext = devm_kzalloc(dev, sizeof(*gpio_ext), GFP_KERNEL); in netxbig_leds_get_of_pdata()
404 if (!gpio_ext) in netxbig_leds_get_of_pdata()
406 ret = gpio_ext_get_of_pdata(dev, gpio_ext_np, gpio_ext); in netxbig_leds_get_of_pdata()
410 pdata->gpio_ext = gpio_ext; in netxbig_leds_get_of_pdata()
568 ret = gpio_ext_init(pdev, pdata->gpio_ext); in netxbig_led_probe()