Lines Matching +full:irq +full:- +full:push +full:- +full:pull

1 // SPDX-License-Identifier: GPL-2.0+
34 struct wm8994 *wm8994 = wm8994_gpio->wm8994; in wm8994_gpio_request()
36 switch (wm8994->type) { in wm8994_gpio_request()
44 return -EINVAL; in wm8994_gpio_request()
57 struct wm8994 *wm8994 = wm8994_gpio->wm8994; in wm8994_gpio_direction_in()
66 struct wm8994 *wm8994 = wm8994_gpio->wm8994; in wm8994_gpio_get()
83 struct wm8994 *wm8994 = wm8994_gpio->wm8994; in wm8994_gpio_direction_out()
95 struct wm8994 *wm8994 = wm8994_gpio->wm8994; in wm8994_gpio_set()
107 struct wm8994 *wm8994 = wm8994_gpio->wm8994; in wm8994_gpio_set_config()
121 return -ENOTSUPP; in wm8994_gpio_set_config()
127 struct wm8994 *wm8994 = wm8994_gpio->wm8994; in wm8994_gpio_to_irq()
129 return regmap_irq_get_virq(wm8994->irq_data, offset); in wm8994_gpio_to_irq()
138 return "pin-specific"; in wm8994_gpio_fn()
144 return "IRQ"; in wm8994_gpio_fn()
191 struct wm8994 *wm8994 = wm8994_gpio->wm8994; in wm8994_gpio_dbg_show()
194 for (i = 0; i < chip->ngpio; i++) { in wm8994_gpio_dbg_show()
195 int gpio = i + chip->base; in wm8994_gpio_dbg_show()
205 dev_err(wm8994->dev, "Failed to duplicate label\n"); in wm8994_gpio_dbg_show()
209 seq_printf(s, " gpio-%-3d (%-20.20s) ", gpio, in wm8994_gpio_dbg_show()
214 dev_err(wm8994->dev, in wm8994_gpio_dbg_show()
227 seq_printf(s, "pull up "); in wm8994_gpio_dbg_show()
230 seq_printf(s, "pull down "); in wm8994_gpio_dbg_show()
240 seq_printf(s, "push-pull "); in wm8994_gpio_dbg_show()
266 struct wm8994 *wm8994 = dev_get_drvdata(pdev->dev.parent); in wm8994_gpio_probe()
267 struct wm8994_pdata *pdata = dev_get_platdata(wm8994->dev); in wm8994_gpio_probe()
270 wm8994_gpio = devm_kzalloc(&pdev->dev, sizeof(*wm8994_gpio), in wm8994_gpio_probe()
273 return -ENOMEM; in wm8994_gpio_probe()
275 wm8994_gpio->wm8994 = wm8994; in wm8994_gpio_probe()
276 wm8994_gpio->gpio_chip = template_chip; in wm8994_gpio_probe()
277 wm8994_gpio->gpio_chip.ngpio = WM8994_GPIO_MAX; in wm8994_gpio_probe()
278 wm8994_gpio->gpio_chip.parent = &pdev->dev; in wm8994_gpio_probe()
279 if (pdata && pdata->gpio_base) in wm8994_gpio_probe()
280 wm8994_gpio->gpio_chip.base = pdata->gpio_base; in wm8994_gpio_probe()
282 wm8994_gpio->gpio_chip.base = -1; in wm8994_gpio_probe()
284 return devm_gpiochip_add_data(&pdev->dev, &wm8994_gpio->gpio_chip, wm8994_gpio); in wm8994_gpio_probe()
288 .driver.name = "wm8994-gpio",
307 MODULE_ALIAS("platform:wm8994-gpio");