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