Lines Matching refs:stmpe_gpio

30 struct stmpe_gpio {  struct
43 struct stmpe_gpio *stmpe_gpio = gpiochip_get_data(chip); in stmpe_gpio_get() argument
44 struct stmpe *stmpe = stmpe_gpio->stmpe; in stmpe_gpio_get()
58 struct stmpe_gpio *stmpe_gpio = gpiochip_get_data(chip); in stmpe_gpio_set() local
59 struct stmpe *stmpe = stmpe_gpio->stmpe; in stmpe_gpio_set()
77 struct stmpe_gpio *stmpe_gpio = gpiochip_get_data(chip); in stmpe_gpio_get_direction() local
78 struct stmpe *stmpe = stmpe_gpio->stmpe; in stmpe_gpio_get_direction()
96 struct stmpe_gpio *stmpe_gpio = gpiochip_get_data(chip); in stmpe_gpio_direction_output() local
97 struct stmpe *stmpe = stmpe_gpio->stmpe; in stmpe_gpio_direction_output()
109 struct stmpe_gpio *stmpe_gpio = gpiochip_get_data(chip); in stmpe_gpio_direction_input() local
110 struct stmpe *stmpe = stmpe_gpio->stmpe; in stmpe_gpio_direction_input()
119 struct stmpe_gpio *stmpe_gpio = gpiochip_get_data(chip); in stmpe_gpio_request() local
120 struct stmpe *stmpe = stmpe_gpio->stmpe; in stmpe_gpio_request()
122 if (stmpe_gpio->norequest_mask & BIT(offset)) in stmpe_gpio_request()
143 struct stmpe_gpio *stmpe_gpio = gpiochip_get_data(gc); in stmpe_gpio_irq_set_type() local
152 if (stmpe_gpio->stmpe->partnum == STMPE801 || in stmpe_gpio_irq_set_type()
153 stmpe_gpio->stmpe->partnum == STMPE1600) in stmpe_gpio_irq_set_type()
157 stmpe_gpio->regs[REG_RE][regoffset] |= mask; in stmpe_gpio_irq_set_type()
159 stmpe_gpio->regs[REG_RE][regoffset] &= ~mask; in stmpe_gpio_irq_set_type()
162 stmpe_gpio->regs[REG_FE][regoffset] |= mask; in stmpe_gpio_irq_set_type()
164 stmpe_gpio->regs[REG_FE][regoffset] &= ~mask; in stmpe_gpio_irq_set_type()
172 struct stmpe_gpio *stmpe_gpio = gpiochip_get_data(gc); in stmpe_gpio_irq_lock() local
174 mutex_lock(&stmpe_gpio->irq_lock); in stmpe_gpio_irq_lock()
180 struct stmpe_gpio *stmpe_gpio = gpiochip_get_data(gc); in stmpe_gpio_irq_sync_unlock() local
181 struct stmpe *stmpe = stmpe_gpio->stmpe; in stmpe_gpio_irq_sync_unlock()
214 u8 old = stmpe_gpio->oldregs[i][j]; in stmpe_gpio_irq_sync_unlock()
215 u8 new = stmpe_gpio->regs[i][j]; in stmpe_gpio_irq_sync_unlock()
220 stmpe_gpio->oldregs[i][j] = new; in stmpe_gpio_irq_sync_unlock()
225 mutex_unlock(&stmpe_gpio->irq_lock); in stmpe_gpio_irq_sync_unlock()
231 struct stmpe_gpio *stmpe_gpio = gpiochip_get_data(gc); in stmpe_gpio_irq_mask() local
236 stmpe_gpio->regs[REG_IE][regoffset] &= ~mask; in stmpe_gpio_irq_mask()
242 struct stmpe_gpio *stmpe_gpio = gpiochip_get_data(gc); in stmpe_gpio_irq_unmask() local
247 stmpe_gpio->regs[REG_IE][regoffset] |= mask; in stmpe_gpio_irq_unmask()
254 struct stmpe_gpio *stmpe_gpio = gpiochip_get_data(gc); in stmpe_dbg_show_one() local
255 struct stmpe *stmpe = stmpe_gpio->stmpe; in stmpe_dbg_show_one()
373 struct stmpe_gpio *stmpe_gpio = dev; in stmpe_gpio_irq() local
374 struct stmpe *stmpe = stmpe_gpio->stmpe; in stmpe_gpio_irq()
399 int bank = (stmpe_gpio->stmpe->partnum == STMPE1600) ? i : in stmpe_gpio_irq()
401 unsigned int enabled = stmpe_gpio->regs[REG_IE][bank]; in stmpe_gpio_irq()
411 int child_irq = irq_find_mapping(stmpe_gpio->chip.irq.domain, in stmpe_gpio_irq()
439 struct stmpe_gpio *stmpe_gpio = gpiochip_get_data(gc); in stmpe_init_irq_valid_mask() local
442 if (!stmpe_gpio->norequest_mask) in stmpe_init_irq_valid_mask()
447 if (stmpe_gpio->norequest_mask & BIT(i)) in stmpe_init_irq_valid_mask()
456 struct stmpe_gpio *stmpe_gpio; in stmpe_gpio_probe() local
464 stmpe_gpio = kzalloc(sizeof(*stmpe_gpio), GFP_KERNEL); in stmpe_gpio_probe()
465 if (!stmpe_gpio) in stmpe_gpio_probe()
468 mutex_init(&stmpe_gpio->irq_lock); in stmpe_gpio_probe()
470 stmpe_gpio->dev = &pdev->dev; in stmpe_gpio_probe()
471 stmpe_gpio->stmpe = stmpe; in stmpe_gpio_probe()
472 stmpe_gpio->chip = template_chip; in stmpe_gpio_probe()
473 stmpe_gpio->chip.ngpio = stmpe->num_gpios; in stmpe_gpio_probe()
474 stmpe_gpio->chip.parent = &pdev->dev; in stmpe_gpio_probe()
475 stmpe_gpio->chip.of_node = np; in stmpe_gpio_probe()
476 stmpe_gpio->chip.base = -1; in stmpe_gpio_probe()
485 stmpe_gpio->chip.irq.init_valid_mask = stmpe_init_irq_valid_mask; in stmpe_gpio_probe()
488 stmpe_gpio->chip.dbg_show = stmpe_dbg_show; in stmpe_gpio_probe()
491 &stmpe_gpio->norequest_mask); in stmpe_gpio_probe()
508 "stmpe-gpio", stmpe_gpio); in stmpe_gpio_probe()
514 girq = &stmpe_gpio->chip.irq; in stmpe_gpio_probe()
525 ret = gpiochip_add_data(&stmpe_gpio->chip, stmpe_gpio); in stmpe_gpio_probe()
531 platform_set_drvdata(pdev, stmpe_gpio); in stmpe_gpio_probe()
537 gpiochip_remove(&stmpe_gpio->chip); in stmpe_gpio_probe()
539 kfree(stmpe_gpio); in stmpe_gpio_probe()