Lines Matching refs:controller
83 struct zevio_gpio *controller = to_zevio_gpio(chip); in zevio_gpio_get() local
86 spin_lock(&controller->lock); in zevio_gpio_get()
87 dir = zevio_gpio_port_get(controller, pin, ZEVIO_GPIO_DIRECTION); in zevio_gpio_get()
89 val = zevio_gpio_port_get(controller, pin, ZEVIO_GPIO_INPUT); in zevio_gpio_get()
91 val = zevio_gpio_port_get(controller, pin, ZEVIO_GPIO_OUTPUT); in zevio_gpio_get()
92 spin_unlock(&controller->lock); in zevio_gpio_get()
99 struct zevio_gpio *controller = to_zevio_gpio(chip); in zevio_gpio_set() local
102 spin_lock(&controller->lock); in zevio_gpio_set()
103 val = zevio_gpio_port_get(controller, pin, ZEVIO_GPIO_OUTPUT); in zevio_gpio_set()
109 zevio_gpio_port_set(controller, pin, ZEVIO_GPIO_OUTPUT, val); in zevio_gpio_set()
110 spin_unlock(&controller->lock); in zevio_gpio_set()
115 struct zevio_gpio *controller = to_zevio_gpio(chip); in zevio_gpio_direction_input() local
118 spin_lock(&controller->lock); in zevio_gpio_direction_input()
120 val = zevio_gpio_port_get(controller, pin, ZEVIO_GPIO_DIRECTION); in zevio_gpio_direction_input()
122 zevio_gpio_port_set(controller, pin, ZEVIO_GPIO_DIRECTION, val); in zevio_gpio_direction_input()
124 spin_unlock(&controller->lock); in zevio_gpio_direction_input()
132 struct zevio_gpio *controller = to_zevio_gpio(chip); in zevio_gpio_direction_output() local
135 spin_lock(&controller->lock); in zevio_gpio_direction_output()
136 val = zevio_gpio_port_get(controller, pin, ZEVIO_GPIO_OUTPUT); in zevio_gpio_direction_output()
142 zevio_gpio_port_set(controller, pin, ZEVIO_GPIO_OUTPUT, val); in zevio_gpio_direction_output()
143 val = zevio_gpio_port_get(controller, pin, ZEVIO_GPIO_DIRECTION); in zevio_gpio_direction_output()
145 zevio_gpio_port_set(controller, pin, ZEVIO_GPIO_DIRECTION, val); in zevio_gpio_direction_output()
147 spin_unlock(&controller->lock); in zevio_gpio_direction_output()
177 struct zevio_gpio *controller; in zevio_gpio_probe() local
180 controller = devm_kzalloc(&pdev->dev, sizeof(*controller), GFP_KERNEL); in zevio_gpio_probe()
181 if (!controller) in zevio_gpio_probe()
184 platform_set_drvdata(pdev, controller); in zevio_gpio_probe()
187 controller->chip.gc = zevio_gpio_chip; in zevio_gpio_probe()
188 controller->chip.gc.dev = &pdev->dev; in zevio_gpio_probe()
190 status = of_mm_gpiochip_add(pdev->dev.of_node, &(controller->chip)); in zevio_gpio_probe()
196 spin_lock_init(&controller->lock); in zevio_gpio_probe()
199 for (i = 0; i < controller->chip.gc.ngpio; i += 8) in zevio_gpio_probe()
200 zevio_gpio_port_set(controller, i, ZEVIO_GPIO_INT_MASK, 0xFF); in zevio_gpio_probe()
202 dev_dbg(controller->chip.gc.dev, "ZEVIO GPIO controller set up!\n"); in zevio_gpio_probe()
209 struct zevio_gpio *controller = platform_get_drvdata(pdev); in zevio_gpio_remove() local
211 of_mm_gpiochip_remove(&controller->chip); in zevio_gpio_remove()