adnp               36 drivers/gpio/gpio-adnp.c static int adnp_read(struct adnp *adnp, unsigned offset, uint8_t *value)
adnp               40 drivers/gpio/gpio-adnp.c 	err = i2c_smbus_read_byte_data(adnp->client, offset);
adnp               42 drivers/gpio/gpio-adnp.c 		dev_err(adnp->gpio.parent, "%s failed: %d\n",
adnp               51 drivers/gpio/gpio-adnp.c static int adnp_write(struct adnp *adnp, unsigned offset, uint8_t value)
adnp               55 drivers/gpio/gpio-adnp.c 	err = i2c_smbus_write_byte_data(adnp->client, offset, value);
adnp               57 drivers/gpio/gpio-adnp.c 		dev_err(adnp->gpio.parent, "%s failed: %d\n",
adnp               67 drivers/gpio/gpio-adnp.c 	struct adnp *adnp = gpiochip_get_data(chip);
adnp               68 drivers/gpio/gpio-adnp.c 	unsigned int reg = offset >> adnp->reg_shift;
adnp               73 drivers/gpio/gpio-adnp.c 	err = adnp_read(adnp, GPIO_PLR(adnp) + reg, &value);
adnp               80 drivers/gpio/gpio-adnp.c static void __adnp_gpio_set(struct adnp *adnp, unsigned offset, int value)
adnp               82 drivers/gpio/gpio-adnp.c 	unsigned int reg = offset >> adnp->reg_shift;
adnp               87 drivers/gpio/gpio-adnp.c 	err = adnp_read(adnp, GPIO_PLR(adnp) + reg, &val);
adnp               96 drivers/gpio/gpio-adnp.c 	adnp_write(adnp, GPIO_PLR(adnp) + reg, val);
adnp              101 drivers/gpio/gpio-adnp.c 	struct adnp *adnp = gpiochip_get_data(chip);
adnp              103 drivers/gpio/gpio-adnp.c 	mutex_lock(&adnp->i2c_lock);
adnp              104 drivers/gpio/gpio-adnp.c 	__adnp_gpio_set(adnp, offset, value);
adnp              105 drivers/gpio/gpio-adnp.c 	mutex_unlock(&adnp->i2c_lock);
adnp              110 drivers/gpio/gpio-adnp.c 	struct adnp *adnp = gpiochip_get_data(chip);
adnp              111 drivers/gpio/gpio-adnp.c 	unsigned int reg = offset >> adnp->reg_shift;
adnp              116 drivers/gpio/gpio-adnp.c 	mutex_lock(&adnp->i2c_lock);
adnp              118 drivers/gpio/gpio-adnp.c 	err = adnp_read(adnp, GPIO_DDR(adnp) + reg, &value);
adnp              124 drivers/gpio/gpio-adnp.c 	err = adnp_write(adnp, GPIO_DDR(adnp) + reg, value);
adnp              128 drivers/gpio/gpio-adnp.c 	err = adnp_read(adnp, GPIO_DDR(adnp) + reg, &value);
adnp              140 drivers/gpio/gpio-adnp.c 	mutex_unlock(&adnp->i2c_lock);
adnp              147 drivers/gpio/gpio-adnp.c 	struct adnp *adnp = gpiochip_get_data(chip);
adnp              148 drivers/gpio/gpio-adnp.c 	unsigned int reg = offset >> adnp->reg_shift;
adnp              153 drivers/gpio/gpio-adnp.c 	mutex_lock(&adnp->i2c_lock);
adnp              155 drivers/gpio/gpio-adnp.c 	err = adnp_read(adnp, GPIO_DDR(adnp) + reg, &val);
adnp              161 drivers/gpio/gpio-adnp.c 	err = adnp_write(adnp, GPIO_DDR(adnp) + reg, val);
adnp              165 drivers/gpio/gpio-adnp.c 	err = adnp_read(adnp, GPIO_DDR(adnp) + reg, &val);
adnp              174 drivers/gpio/gpio-adnp.c 	__adnp_gpio_set(adnp, offset, value);
adnp              178 drivers/gpio/gpio-adnp.c 	mutex_unlock(&adnp->i2c_lock);
adnp              184 drivers/gpio/gpio-adnp.c 	struct adnp *adnp = gpiochip_get_data(chip);
adnp              185 drivers/gpio/gpio-adnp.c 	unsigned int num_regs = 1 << adnp->reg_shift, i, j;
adnp              191 drivers/gpio/gpio-adnp.c 		mutex_lock(&adnp->i2c_lock);
adnp              193 drivers/gpio/gpio-adnp.c 		err = adnp_read(adnp, GPIO_DDR(adnp) + i, &ddr);
adnp              197 drivers/gpio/gpio-adnp.c 		err = adnp_read(adnp, GPIO_PLR(adnp) + i, &plr);
adnp              201 drivers/gpio/gpio-adnp.c 		err = adnp_read(adnp, GPIO_IER(adnp) + i, &ier);
adnp              205 drivers/gpio/gpio-adnp.c 		err = adnp_read(adnp, GPIO_ISR(adnp) + i, &isr);
adnp              209 drivers/gpio/gpio-adnp.c 		mutex_unlock(&adnp->i2c_lock);
adnp              212 drivers/gpio/gpio-adnp.c 			unsigned int bit = (i << adnp->reg_shift) + j;
adnp              238 drivers/gpio/gpio-adnp.c 	mutex_unlock(&adnp->i2c_lock);
adnp              241 drivers/gpio/gpio-adnp.c static int adnp_gpio_setup(struct adnp *adnp, unsigned int num_gpios)
adnp              243 drivers/gpio/gpio-adnp.c 	struct gpio_chip *chip = &adnp->gpio;
adnp              246 drivers/gpio/gpio-adnp.c 	adnp->reg_shift = get_count_order(num_gpios) - 3;
adnp              259 drivers/gpio/gpio-adnp.c 	chip->label = adnp->client->name;
adnp              260 drivers/gpio/gpio-adnp.c 	chip->parent = &adnp->client->dev;
adnp              264 drivers/gpio/gpio-adnp.c 	err = devm_gpiochip_add_data(&adnp->client->dev, chip, adnp);
adnp              273 drivers/gpio/gpio-adnp.c 	struct adnp *adnp = data;
adnp              276 drivers/gpio/gpio-adnp.c 	num_regs = 1 << adnp->reg_shift;
adnp              279 drivers/gpio/gpio-adnp.c 		unsigned int base = i << adnp->reg_shift, bit;
adnp              284 drivers/gpio/gpio-adnp.c 		mutex_lock(&adnp->i2c_lock);
adnp              286 drivers/gpio/gpio-adnp.c 		err = adnp_read(adnp, GPIO_PLR(adnp) + i, &level);
adnp              288 drivers/gpio/gpio-adnp.c 			mutex_unlock(&adnp->i2c_lock);
adnp              292 drivers/gpio/gpio-adnp.c 		err = adnp_read(adnp, GPIO_ISR(adnp) + i, &isr);
adnp              294 drivers/gpio/gpio-adnp.c 			mutex_unlock(&adnp->i2c_lock);
adnp              298 drivers/gpio/gpio-adnp.c 		err = adnp_read(adnp, GPIO_IER(adnp) + i, &ier);
adnp              300 drivers/gpio/gpio-adnp.c 			mutex_unlock(&adnp->i2c_lock);
adnp              304 drivers/gpio/gpio-adnp.c 		mutex_unlock(&adnp->i2c_lock);
adnp              307 drivers/gpio/gpio-adnp.c 		changed = level ^ adnp->irq_level[i];
adnp              310 drivers/gpio/gpio-adnp.c 		pending = changed & ((adnp->irq_fall[i] & ~level) |
adnp              311 drivers/gpio/gpio-adnp.c 				     (adnp->irq_rise[i] & level));
adnp              314 drivers/gpio/gpio-adnp.c 		pending |= (adnp->irq_high[i] & level) |
adnp              315 drivers/gpio/gpio-adnp.c 			   (adnp->irq_low[i] & ~level);
adnp              322 drivers/gpio/gpio-adnp.c 			child_irq = irq_find_mapping(adnp->gpio.irq.domain,
adnp              334 drivers/gpio/gpio-adnp.c 	struct adnp *adnp = gpiochip_get_data(gc);
adnp              335 drivers/gpio/gpio-adnp.c 	unsigned int reg = d->hwirq >> adnp->reg_shift;
adnp              338 drivers/gpio/gpio-adnp.c 	adnp->irq_enable[reg] &= ~BIT(pos);
adnp              344 drivers/gpio/gpio-adnp.c 	struct adnp *adnp = gpiochip_get_data(gc);
adnp              345 drivers/gpio/gpio-adnp.c 	unsigned int reg = d->hwirq >> adnp->reg_shift;
adnp              348 drivers/gpio/gpio-adnp.c 	adnp->irq_enable[reg] |= BIT(pos);
adnp              354 drivers/gpio/gpio-adnp.c 	struct adnp *adnp = gpiochip_get_data(gc);
adnp              355 drivers/gpio/gpio-adnp.c 	unsigned int reg = d->hwirq >> adnp->reg_shift;
adnp              359 drivers/gpio/gpio-adnp.c 		adnp->irq_rise[reg] |= BIT(pos);
adnp              361 drivers/gpio/gpio-adnp.c 		adnp->irq_rise[reg] &= ~BIT(pos);
adnp              364 drivers/gpio/gpio-adnp.c 		adnp->irq_fall[reg] |= BIT(pos);
adnp              366 drivers/gpio/gpio-adnp.c 		adnp->irq_fall[reg] &= ~BIT(pos);
adnp              369 drivers/gpio/gpio-adnp.c 		adnp->irq_high[reg] |= BIT(pos);
adnp              371 drivers/gpio/gpio-adnp.c 		adnp->irq_high[reg] &= ~BIT(pos);
adnp              374 drivers/gpio/gpio-adnp.c 		adnp->irq_low[reg] |= BIT(pos);
adnp              376 drivers/gpio/gpio-adnp.c 		adnp->irq_low[reg] &= ~BIT(pos);
adnp              384 drivers/gpio/gpio-adnp.c 	struct adnp *adnp = gpiochip_get_data(gc);
adnp              386 drivers/gpio/gpio-adnp.c 	mutex_lock(&adnp->irq_lock);
adnp              392 drivers/gpio/gpio-adnp.c 	struct adnp *adnp = gpiochip_get_data(gc);
adnp              393 drivers/gpio/gpio-adnp.c 	unsigned int num_regs = 1 << adnp->reg_shift, i;
adnp              395 drivers/gpio/gpio-adnp.c 	mutex_lock(&adnp->i2c_lock);
adnp              398 drivers/gpio/gpio-adnp.c 		adnp_write(adnp, GPIO_IER(adnp) + i, adnp->irq_enable[i]);
adnp              400 drivers/gpio/gpio-adnp.c 	mutex_unlock(&adnp->i2c_lock);
adnp              401 drivers/gpio/gpio-adnp.c 	mutex_unlock(&adnp->irq_lock);
adnp              413 drivers/gpio/gpio-adnp.c static int adnp_irq_setup(struct adnp *adnp)
adnp              415 drivers/gpio/gpio-adnp.c 	unsigned int num_regs = 1 << adnp->reg_shift, i;
adnp              416 drivers/gpio/gpio-adnp.c 	struct gpio_chip *chip = &adnp->gpio;
adnp              419 drivers/gpio/gpio-adnp.c 	mutex_init(&adnp->irq_lock);
adnp              429 drivers/gpio/gpio-adnp.c 	adnp->irq_enable = devm_kcalloc(chip->parent, num_regs, 6,
adnp              431 drivers/gpio/gpio-adnp.c 	if (!adnp->irq_enable)
adnp              434 drivers/gpio/gpio-adnp.c 	adnp->irq_level = adnp->irq_enable + (num_regs * 1);
adnp              435 drivers/gpio/gpio-adnp.c 	adnp->irq_rise = adnp->irq_enable + (num_regs * 2);
adnp              436 drivers/gpio/gpio-adnp.c 	adnp->irq_fall = adnp->irq_enable + (num_regs * 3);
adnp              437 drivers/gpio/gpio-adnp.c 	adnp->irq_high = adnp->irq_enable + (num_regs * 4);
adnp              438 drivers/gpio/gpio-adnp.c 	adnp->irq_low = adnp->irq_enable + (num_regs * 5);
adnp              445 drivers/gpio/gpio-adnp.c 		err = adnp_read(adnp, GPIO_PLR(adnp) + i, &adnp->irq_level[i]);
adnp              450 drivers/gpio/gpio-adnp.c 		err = adnp_write(adnp, GPIO_IER(adnp) + i, 0);
adnp              454 drivers/gpio/gpio-adnp.c 		adnp->irq_enable[i] = 0x00;
adnp              457 drivers/gpio/gpio-adnp.c 	err = devm_request_threaded_irq(chip->parent, adnp->client->irq,
adnp              460 drivers/gpio/gpio-adnp.c 					dev_name(chip->parent), adnp);
adnp              463 drivers/gpio/gpio-adnp.c 			adnp->client->irq, err);
adnp              478 drivers/gpio/gpio-adnp.c 	gpiochip_set_nested_irqchip(chip, &adnp_irq_chip, adnp->client->irq);
adnp              487 drivers/gpio/gpio-adnp.c 	struct adnp *adnp;
adnp              499 drivers/gpio/gpio-adnp.c 	adnp = devm_kzalloc(&client->dev, sizeof(*adnp), GFP_KERNEL);
adnp              500 drivers/gpio/gpio-adnp.c 	if (!adnp)
adnp              503 drivers/gpio/gpio-adnp.c 	mutex_init(&adnp->i2c_lock);
adnp              504 drivers/gpio/gpio-adnp.c 	adnp->client = client;
adnp              506 drivers/gpio/gpio-adnp.c 	err = adnp_gpio_setup(adnp, num_gpios);
adnp              511 drivers/gpio/gpio-adnp.c 		err = adnp_irq_setup(adnp);
adnp              516 drivers/gpio/gpio-adnp.c 	i2c_set_clientdata(client, adnp);