Lines Matching +full:irq +full:- +full:push +full:- +full:pull
1 // SPDX-License-Identifier: GPL-2.0+
33 struct wm8994 *wm8994 = wm8994_gpio->wm8994; in wm8994_gpio_request()
35 switch (wm8994->type) { in wm8994_gpio_request()
43 return -EINVAL; in wm8994_gpio_request()
56 struct wm8994 *wm8994 = wm8994_gpio->wm8994; in wm8994_gpio_direction_in()
65 struct wm8994 *wm8994 = wm8994_gpio->wm8994; in wm8994_gpio_get()
82 struct wm8994 *wm8994 = wm8994_gpio->wm8994; in wm8994_gpio_direction_out()
94 struct wm8994 *wm8994 = wm8994_gpio->wm8994; in wm8994_gpio_set()
106 struct wm8994 *wm8994 = wm8994_gpio->wm8994; in wm8994_gpio_set_config()
120 return -ENOTSUPP; in wm8994_gpio_set_config()
126 struct wm8994 *wm8994 = wm8994_gpio->wm8994; in wm8994_gpio_to_irq()
128 return regmap_irq_get_virq(wm8994->irq_data, offset); in wm8994_gpio_to_irq()
137 return "pin-specific"; in wm8994_gpio_fn()
143 return "IRQ"; in wm8994_gpio_fn()
190 struct wm8994 *wm8994 = wm8994_gpio->wm8994; in wm8994_gpio_dbg_show()
193 for (i = 0; i < chip->ngpio; i++) { in wm8994_gpio_dbg_show()
194 int gpio = i + chip->base; in wm8994_gpio_dbg_show()
207 seq_printf(s, " gpio-%-3d (%-20.20s) ", gpio, label); in wm8994_gpio_dbg_show()
211 dev_err(wm8994->dev, in wm8994_gpio_dbg_show()
224 seq_printf(s, "pull up "); in wm8994_gpio_dbg_show()
227 seq_printf(s, "pull down "); in wm8994_gpio_dbg_show()
237 seq_printf(s, "push-pull "); in wm8994_gpio_dbg_show()
263 struct wm8994 *wm8994 = dev_get_drvdata(pdev->dev.parent); in wm8994_gpio_probe()
264 struct wm8994_pdata *pdata = dev_get_platdata(wm8994->dev); in wm8994_gpio_probe()
268 wm8994_gpio = devm_kzalloc(&pdev->dev, sizeof(*wm8994_gpio), in wm8994_gpio_probe()
271 return -ENOMEM; in wm8994_gpio_probe()
273 wm8994_gpio->wm8994 = wm8994; in wm8994_gpio_probe()
274 wm8994_gpio->gpio_chip = template_chip; in wm8994_gpio_probe()
275 wm8994_gpio->gpio_chip.ngpio = WM8994_GPIO_MAX; in wm8994_gpio_probe()
276 wm8994_gpio->gpio_chip.parent = &pdev->dev; in wm8994_gpio_probe()
277 if (pdata && pdata->gpio_base) in wm8994_gpio_probe()
278 wm8994_gpio->gpio_chip.base = pdata->gpio_base; in wm8994_gpio_probe()
280 wm8994_gpio->gpio_chip.base = -1; in wm8994_gpio_probe()
282 ret = devm_gpiochip_add_data(&pdev->dev, &wm8994_gpio->gpio_chip, in wm8994_gpio_probe()
285 dev_err(&pdev->dev, "Could not register gpiochip, %d\n", in wm8994_gpio_probe()
296 .driver.name = "wm8994-gpio",
315 MODULE_ALIAS("platform:wm8994-gpio");