Lines Matching full:controller

3  * GPIO controller in LSI ZEVIO SoCs.
79 struct zevio_gpio *controller = gpiochip_get_data(chip); in zevio_gpio_get() local
82 spin_lock(&controller->lock); in zevio_gpio_get()
83 dir = zevio_gpio_port_get(controller, pin, ZEVIO_GPIO_DIRECTION); in zevio_gpio_get()
85 val = zevio_gpio_port_get(controller, pin, ZEVIO_GPIO_INPUT); in zevio_gpio_get()
87 val = zevio_gpio_port_get(controller, pin, ZEVIO_GPIO_OUTPUT); in zevio_gpio_get()
88 spin_unlock(&controller->lock); in zevio_gpio_get()
95 struct zevio_gpio *controller = gpiochip_get_data(chip); in zevio_gpio_set() local
98 spin_lock(&controller->lock); in zevio_gpio_set()
99 val = zevio_gpio_port_get(controller, pin, ZEVIO_GPIO_OUTPUT); in zevio_gpio_set()
105 zevio_gpio_port_set(controller, pin, ZEVIO_GPIO_OUTPUT, val); in zevio_gpio_set()
106 spin_unlock(&controller->lock); in zevio_gpio_set()
111 struct zevio_gpio *controller = gpiochip_get_data(chip); in zevio_gpio_direction_input() local
114 spin_lock(&controller->lock); in zevio_gpio_direction_input()
116 val = zevio_gpio_port_get(controller, pin, ZEVIO_GPIO_DIRECTION); in zevio_gpio_direction_input()
118 zevio_gpio_port_set(controller, pin, ZEVIO_GPIO_DIRECTION, val); in zevio_gpio_direction_input()
120 spin_unlock(&controller->lock); in zevio_gpio_direction_input()
128 struct zevio_gpio *controller = gpiochip_get_data(chip); in zevio_gpio_direction_output() local
131 spin_lock(&controller->lock); in zevio_gpio_direction_output()
132 val = zevio_gpio_port_get(controller, pin, ZEVIO_GPIO_OUTPUT); in zevio_gpio_direction_output()
138 zevio_gpio_port_set(controller, pin, ZEVIO_GPIO_OUTPUT, val); in zevio_gpio_direction_output()
139 val = zevio_gpio_port_get(controller, pin, ZEVIO_GPIO_DIRECTION); in zevio_gpio_direction_output()
141 zevio_gpio_port_set(controller, pin, ZEVIO_GPIO_DIRECTION, val); in zevio_gpio_direction_output()
143 spin_unlock(&controller->lock); in zevio_gpio_direction_output()
172 struct zevio_gpio *controller; in zevio_gpio_probe() local
175 controller = devm_kzalloc(&pdev->dev, sizeof(*controller), GFP_KERNEL); in zevio_gpio_probe()
176 if (!controller) in zevio_gpio_probe()
180 controller->chip = zevio_gpio_chip; in zevio_gpio_probe()
181 controller->chip.parent = &pdev->dev; in zevio_gpio_probe()
183 controller->regs = devm_platform_ioremap_resource(pdev, 0); in zevio_gpio_probe()
184 if (IS_ERR(controller->regs)) in zevio_gpio_probe()
185 return dev_err_probe(&pdev->dev, PTR_ERR(controller->regs), in zevio_gpio_probe()
188 status = devm_gpiochip_add_data(&pdev->dev, &controller->chip, controller); in zevio_gpio_probe()
194 spin_lock_init(&controller->lock); in zevio_gpio_probe()
197 for (i = 0; i < controller->chip.ngpio; i += 8) in zevio_gpio_probe()
198 zevio_gpio_port_set(controller, i, ZEVIO_GPIO_INT_MASK, 0xFF); in zevio_gpio_probe()
200 dev_dbg(controller->chip.parent, "ZEVIO GPIO controller set up!\n"); in zevio_gpio_probe()