• Home
  • Raw
  • Download

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

26 #include <linux/mfd/wm831x/irq.h>
36 struct wm831x *wm831x = wm831x_gpio->wm831x; in wm831x_gpio_direction_in()
39 if (wm831x->has_gpio_ena) in wm831x_gpio_direction_in()
50 struct wm831x *wm831x = wm831x_gpio->wm831x; in wm831x_gpio_get()
66 struct wm831x *wm831x = wm831x_gpio->wm831x; in wm831x_gpio_set()
76 struct wm831x *wm831x = wm831x_gpio->wm831x; in wm831x_gpio_direction_out()
80 if (wm831x->has_gpio_ena) in wm831x_gpio_direction_out()
98 struct wm831x *wm831x = wm831x_gpio->wm831x; in wm831x_gpio_to_irq()
100 return irq_create_mapping(wm831x->irq_domain, in wm831x_gpio_to_irq()
120 return -EBUSY; in wm831x_gpio_set_debounce()
128 return -EINVAL; in wm831x_gpio_set_debounce()
137 struct wm831x *wm831x = wm831x_gpio->wm831x; in wm831x_set_config()
154 return -ENOTSUPP; in wm831x_set_config()
161 struct wm831x *wm831x = wm831x_gpio->wm831x; in wm831x_gpio_dbg_show()
164 for (i = 0; i < chip->ngpio; i++) { in wm831x_gpio_dbg_show()
165 int gpio = i + chip->base; in wm831x_gpio_dbg_show()
167 const char *label, *pull, *powerdomain; in wm831x_gpio_dbg_show() local
178 seq_printf(s, " gpio-%-3d (%-20.20s) ", gpio, label); in wm831x_gpio_dbg_show()
182 dev_err(wm831x->dev, in wm831x_gpio_dbg_show()
191 pull = "nopull"; in wm831x_gpio_dbg_show()
194 pull = "pulldown"; in wm831x_gpio_dbg_show()
197 pull = "pullup"; in wm831x_gpio_dbg_show()
200 pull = "INVALID PULL"; in wm831x_gpio_dbg_show()
231 if (wm831x->has_gpio_ena) in wm831x_gpio_dbg_show()
238 pull, in wm831x_gpio_dbg_show()
241 reg & WM831X_GPN_OD ? "open-drain" : "push-pull", in wm831x_gpio_dbg_show()
265 struct wm831x *wm831x = dev_get_drvdata(pdev->dev.parent); in wm831x_gpio_probe()
266 struct wm831x_pdata *pdata = &wm831x->pdata; in wm831x_gpio_probe()
270 wm831x_gpio = devm_kzalloc(&pdev->dev, sizeof(*wm831x_gpio), in wm831x_gpio_probe()
273 return -ENOMEM; in wm831x_gpio_probe()
275 wm831x_gpio->wm831x = wm831x; in wm831x_gpio_probe()
276 wm831x_gpio->gpio_chip = template_chip; in wm831x_gpio_probe()
277 wm831x_gpio->gpio_chip.ngpio = wm831x->num_gpio; in wm831x_gpio_probe()
278 wm831x_gpio->gpio_chip.parent = &pdev->dev; in wm831x_gpio_probe()
279 if (pdata && pdata->gpio_base) in wm831x_gpio_probe()
280 wm831x_gpio->gpio_chip.base = pdata->gpio_base; in wm831x_gpio_probe()
282 wm831x_gpio->gpio_chip.base = -1; in wm831x_gpio_probe()
284 wm831x_gpio->gpio_chip.of_node = wm831x->dev->of_node; in wm831x_gpio_probe()
287 ret = devm_gpiochip_add_data(&pdev->dev, &wm831x_gpio->gpio_chip, in wm831x_gpio_probe()
290 dev_err(&pdev->dev, "Could not register gpiochip, %d\n", ret); in wm831x_gpio_probe()
300 .driver.name = "wm831x-gpio",
319 MODULE_ALIAS("platform:wm831x-gpio");