Lines Matching refs:controller
77 struct zevio_gpio *controller = gpiochip_get_data(chip); in zevio_gpio_get() local
80 spin_lock(&controller->lock); in zevio_gpio_get()
81 dir = zevio_gpio_port_get(controller, pin, ZEVIO_GPIO_DIRECTION); in zevio_gpio_get()
83 val = zevio_gpio_port_get(controller, pin, ZEVIO_GPIO_INPUT); in zevio_gpio_get()
85 val = zevio_gpio_port_get(controller, pin, ZEVIO_GPIO_OUTPUT); in zevio_gpio_get()
86 spin_unlock(&controller->lock); in zevio_gpio_get()
93 struct zevio_gpio *controller = gpiochip_get_data(chip); in zevio_gpio_set() local
96 spin_lock(&controller->lock); in zevio_gpio_set()
97 val = zevio_gpio_port_get(controller, pin, ZEVIO_GPIO_OUTPUT); in zevio_gpio_set()
103 zevio_gpio_port_set(controller, pin, ZEVIO_GPIO_OUTPUT, val); in zevio_gpio_set()
104 spin_unlock(&controller->lock); in zevio_gpio_set()
109 struct zevio_gpio *controller = gpiochip_get_data(chip); in zevio_gpio_direction_input() local
112 spin_lock(&controller->lock); in zevio_gpio_direction_input()
114 val = zevio_gpio_port_get(controller, pin, ZEVIO_GPIO_DIRECTION); in zevio_gpio_direction_input()
116 zevio_gpio_port_set(controller, pin, ZEVIO_GPIO_DIRECTION, val); in zevio_gpio_direction_input()
118 spin_unlock(&controller->lock); in zevio_gpio_direction_input()
126 struct zevio_gpio *controller = gpiochip_get_data(chip); in zevio_gpio_direction_output() local
129 spin_lock(&controller->lock); in zevio_gpio_direction_output()
130 val = zevio_gpio_port_get(controller, pin, ZEVIO_GPIO_OUTPUT); in zevio_gpio_direction_output()
136 zevio_gpio_port_set(controller, pin, ZEVIO_GPIO_OUTPUT, val); in zevio_gpio_direction_output()
137 val = zevio_gpio_port_get(controller, pin, ZEVIO_GPIO_DIRECTION); in zevio_gpio_direction_output()
139 zevio_gpio_port_set(controller, pin, ZEVIO_GPIO_DIRECTION, val); in zevio_gpio_direction_output()
141 spin_unlock(&controller->lock); in zevio_gpio_direction_output()
171 struct zevio_gpio *controller; in zevio_gpio_probe() local
174 controller = devm_kzalloc(&pdev->dev, sizeof(*controller), GFP_KERNEL); in zevio_gpio_probe()
175 if (!controller) in zevio_gpio_probe()
178 platform_set_drvdata(pdev, controller); in zevio_gpio_probe()
181 controller->chip.gc = zevio_gpio_chip; in zevio_gpio_probe()
182 controller->chip.gc.parent = &pdev->dev; in zevio_gpio_probe()
185 &(controller->chip), in zevio_gpio_probe()
186 controller); in zevio_gpio_probe()
192 spin_lock_init(&controller->lock); in zevio_gpio_probe()
195 for (i = 0; i < controller->chip.gc.ngpio; i += 8) in zevio_gpio_probe()
196 zevio_gpio_port_set(controller, i, ZEVIO_GPIO_INT_MASK, 0xFF); in zevio_gpio_probe()
198 dev_dbg(controller->chip.gc.parent, "ZEVIO GPIO controller set up!\n"); in zevio_gpio_probe()