dio48egpio         58 drivers/gpio/gpio-104-dio-48e.c 	struct dio48e_gpio *const dio48egpio = gpiochip_get_data(chip);
dio48egpio         62 drivers/gpio/gpio-104-dio-48e.c 	return !!(dio48egpio->io_state[port] & mask);
dio48egpio         67 drivers/gpio/gpio-104-dio-48e.c 	struct dio48e_gpio *const dio48egpio = gpiochip_get_data(chip);
dio48egpio         70 drivers/gpio/gpio-104-dio-48e.c 	const unsigned control_addr = dio48egpio->base + 3 + control_port*4;
dio48egpio         74 drivers/gpio/gpio-104-dio-48e.c 	raw_spin_lock_irqsave(&dio48egpio->lock, flags);
dio48egpio         80 drivers/gpio/gpio-104-dio-48e.c 			dio48egpio->io_state[io_port] |= 0xF0;
dio48egpio         81 drivers/gpio/gpio-104-dio-48e.c 			dio48egpio->control[control_port] |= BIT(3);
dio48egpio         83 drivers/gpio/gpio-104-dio-48e.c 			dio48egpio->io_state[io_port] |= 0x0F;
dio48egpio         84 drivers/gpio/gpio-104-dio-48e.c 			dio48egpio->control[control_port] |= BIT(0);
dio48egpio         87 drivers/gpio/gpio-104-dio-48e.c 		dio48egpio->io_state[io_port] |= 0xFF;
dio48egpio         89 drivers/gpio/gpio-104-dio-48e.c 			dio48egpio->control[control_port] |= BIT(4);
dio48egpio         91 drivers/gpio/gpio-104-dio-48e.c 			dio48egpio->control[control_port] |= BIT(1);
dio48egpio         94 drivers/gpio/gpio-104-dio-48e.c 	control = BIT(7) | dio48egpio->control[control_port];
dio48egpio         99 drivers/gpio/gpio-104-dio-48e.c 	raw_spin_unlock_irqrestore(&dio48egpio->lock, flags);
dio48egpio        107 drivers/gpio/gpio-104-dio-48e.c 	struct dio48e_gpio *const dio48egpio = gpiochip_get_data(chip);
dio48egpio        111 drivers/gpio/gpio-104-dio-48e.c 	const unsigned control_addr = dio48egpio->base + 3 + control_port*4;
dio48egpio        116 drivers/gpio/gpio-104-dio-48e.c 	raw_spin_lock_irqsave(&dio48egpio->lock, flags);
dio48egpio        122 drivers/gpio/gpio-104-dio-48e.c 			dio48egpio->io_state[io_port] &= 0x0F;
dio48egpio        123 drivers/gpio/gpio-104-dio-48e.c 			dio48egpio->control[control_port] &= ~BIT(3);
dio48egpio        125 drivers/gpio/gpio-104-dio-48e.c 			dio48egpio->io_state[io_port] &= 0xF0;
dio48egpio        126 drivers/gpio/gpio-104-dio-48e.c 			dio48egpio->control[control_port] &= ~BIT(0);
dio48egpio        129 drivers/gpio/gpio-104-dio-48e.c 		dio48egpio->io_state[io_port] &= 0x00;
dio48egpio        131 drivers/gpio/gpio-104-dio-48e.c 			dio48egpio->control[control_port] &= ~BIT(4);
dio48egpio        133 drivers/gpio/gpio-104-dio-48e.c 			dio48egpio->control[control_port] &= ~BIT(1);
dio48egpio        137 drivers/gpio/gpio-104-dio-48e.c 		dio48egpio->out_state[io_port] |= mask;
dio48egpio        139 drivers/gpio/gpio-104-dio-48e.c 		dio48egpio->out_state[io_port] &= ~mask;
dio48egpio        141 drivers/gpio/gpio-104-dio-48e.c 	control = BIT(7) | dio48egpio->control[control_port];
dio48egpio        144 drivers/gpio/gpio-104-dio-48e.c 	outb(dio48egpio->out_state[io_port], dio48egpio->base + out_port);
dio48egpio        149 drivers/gpio/gpio-104-dio-48e.c 	raw_spin_unlock_irqrestore(&dio48egpio->lock, flags);
dio48egpio        156 drivers/gpio/gpio-104-dio-48e.c 	struct dio48e_gpio *const dio48egpio = gpiochip_get_data(chip);
dio48egpio        163 drivers/gpio/gpio-104-dio-48e.c 	raw_spin_lock_irqsave(&dio48egpio->lock, flags);
dio48egpio        166 drivers/gpio/gpio-104-dio-48e.c 	if (!(dio48egpio->io_state[port] & mask)) {
dio48egpio        167 drivers/gpio/gpio-104-dio-48e.c 		raw_spin_unlock_irqrestore(&dio48egpio->lock, flags);
dio48egpio        171 drivers/gpio/gpio-104-dio-48e.c 	port_state = inb(dio48egpio->base + in_port);
dio48egpio        173 drivers/gpio/gpio-104-dio-48e.c 	raw_spin_unlock_irqrestore(&dio48egpio->lock, flags);
dio48egpio        181 drivers/gpio/gpio-104-dio-48e.c 	struct dio48e_gpio *const dio48egpio = gpiochip_get_data(chip);
dio48egpio        214 drivers/gpio/gpio-104-dio-48e.c 		port_state = inb(dio48egpio->base + ports[i]);
dio48egpio        225 drivers/gpio/gpio-104-dio-48e.c 	struct dio48e_gpio *const dio48egpio = gpiochip_get_data(chip);
dio48egpio        231 drivers/gpio/gpio-104-dio-48e.c 	raw_spin_lock_irqsave(&dio48egpio->lock, flags);
dio48egpio        234 drivers/gpio/gpio-104-dio-48e.c 		dio48egpio->out_state[port] |= mask;
dio48egpio        236 drivers/gpio/gpio-104-dio-48e.c 		dio48egpio->out_state[port] &= ~mask;
dio48egpio        238 drivers/gpio/gpio-104-dio-48e.c 	outb(dio48egpio->out_state[port], dio48egpio->base + out_port);
dio48egpio        240 drivers/gpio/gpio-104-dio-48e.c 	raw_spin_unlock_irqrestore(&dio48egpio->lock, flags);
dio48egpio        246 drivers/gpio/gpio-104-dio-48e.c 	struct dio48e_gpio *const dio48egpio = gpiochip_get_data(chip);
dio48egpio        266 drivers/gpio/gpio-104-dio-48e.c 		raw_spin_lock_irqsave(&dio48egpio->lock, flags);
dio48egpio        269 drivers/gpio/gpio-104-dio-48e.c 		dio48egpio->out_state[port] &= ~mask[BIT_WORD(i)];
dio48egpio        270 drivers/gpio/gpio-104-dio-48e.c 		dio48egpio->out_state[port] |= bitmask;
dio48egpio        271 drivers/gpio/gpio-104-dio-48e.c 		outb(dio48egpio->out_state[port], dio48egpio->base + out_port);
dio48egpio        273 drivers/gpio/gpio-104-dio-48e.c 		raw_spin_unlock_irqrestore(&dio48egpio->lock, flags);
dio48egpio        288 drivers/gpio/gpio-104-dio-48e.c 	struct dio48e_gpio *const dio48egpio = gpiochip_get_data(chip);
dio48egpio        296 drivers/gpio/gpio-104-dio-48e.c 	raw_spin_lock_irqsave(&dio48egpio->lock, flags);
dio48egpio        299 drivers/gpio/gpio-104-dio-48e.c 		dio48egpio->irq_mask &= ~BIT(0);
dio48egpio        301 drivers/gpio/gpio-104-dio-48e.c 		dio48egpio->irq_mask &= ~BIT(1);
dio48egpio        303 drivers/gpio/gpio-104-dio-48e.c 	if (!dio48egpio->irq_mask)
dio48egpio        305 drivers/gpio/gpio-104-dio-48e.c 		inb(dio48egpio->base + 0xB);
dio48egpio        307 drivers/gpio/gpio-104-dio-48e.c 	raw_spin_unlock_irqrestore(&dio48egpio->lock, flags);
dio48egpio        313 drivers/gpio/gpio-104-dio-48e.c 	struct dio48e_gpio *const dio48egpio = gpiochip_get_data(chip);
dio48egpio        321 drivers/gpio/gpio-104-dio-48e.c 	raw_spin_lock_irqsave(&dio48egpio->lock, flags);
dio48egpio        323 drivers/gpio/gpio-104-dio-48e.c 	if (!dio48egpio->irq_mask) {
dio48egpio        325 drivers/gpio/gpio-104-dio-48e.c 		outb(0x00, dio48egpio->base + 0xF);
dio48egpio        326 drivers/gpio/gpio-104-dio-48e.c 		outb(0x00, dio48egpio->base + 0xB);
dio48egpio        330 drivers/gpio/gpio-104-dio-48e.c 		dio48egpio->irq_mask |= BIT(0);
dio48egpio        332 drivers/gpio/gpio-104-dio-48e.c 		dio48egpio->irq_mask |= BIT(1);
dio48egpio        334 drivers/gpio/gpio-104-dio-48e.c 	raw_spin_unlock_irqrestore(&dio48egpio->lock, flags);
dio48egpio        361 drivers/gpio/gpio-104-dio-48e.c 	struct dio48e_gpio *const dio48egpio = dev_id;
dio48egpio        362 drivers/gpio/gpio-104-dio-48e.c 	struct gpio_chip *const chip = &dio48egpio->chip;
dio48egpio        363 drivers/gpio/gpio-104-dio-48e.c 	const unsigned long irq_mask = dio48egpio->irq_mask;
dio48egpio        370 drivers/gpio/gpio-104-dio-48e.c 	raw_spin_lock(&dio48egpio->lock);
dio48egpio        372 drivers/gpio/gpio-104-dio-48e.c 	outb(0x00, dio48egpio->base + 0xF);
dio48egpio        374 drivers/gpio/gpio-104-dio-48e.c 	raw_spin_unlock(&dio48egpio->lock);
dio48egpio        401 drivers/gpio/gpio-104-dio-48e.c 	struct dio48e_gpio *dio48egpio;
dio48egpio        405 drivers/gpio/gpio-104-dio-48e.c 	dio48egpio = devm_kzalloc(dev, sizeof(*dio48egpio), GFP_KERNEL);
dio48egpio        406 drivers/gpio/gpio-104-dio-48e.c 	if (!dio48egpio)
dio48egpio        415 drivers/gpio/gpio-104-dio-48e.c 	dio48egpio->chip.label = name;
dio48egpio        416 drivers/gpio/gpio-104-dio-48e.c 	dio48egpio->chip.parent = dev;
dio48egpio        417 drivers/gpio/gpio-104-dio-48e.c 	dio48egpio->chip.owner = THIS_MODULE;
dio48egpio        418 drivers/gpio/gpio-104-dio-48e.c 	dio48egpio->chip.base = -1;
dio48egpio        419 drivers/gpio/gpio-104-dio-48e.c 	dio48egpio->chip.ngpio = DIO48E_NGPIO;
dio48egpio        420 drivers/gpio/gpio-104-dio-48e.c 	dio48egpio->chip.names = dio48e_names;
dio48egpio        421 drivers/gpio/gpio-104-dio-48e.c 	dio48egpio->chip.get_direction = dio48e_gpio_get_direction;
dio48egpio        422 drivers/gpio/gpio-104-dio-48e.c 	dio48egpio->chip.direction_input = dio48e_gpio_direction_input;
dio48egpio        423 drivers/gpio/gpio-104-dio-48e.c 	dio48egpio->chip.direction_output = dio48e_gpio_direction_output;
dio48egpio        424 drivers/gpio/gpio-104-dio-48e.c 	dio48egpio->chip.get = dio48e_gpio_get;
dio48egpio        425 drivers/gpio/gpio-104-dio-48e.c 	dio48egpio->chip.get_multiple = dio48e_gpio_get_multiple;
dio48egpio        426 drivers/gpio/gpio-104-dio-48e.c 	dio48egpio->chip.set = dio48e_gpio_set;
dio48egpio        427 drivers/gpio/gpio-104-dio-48e.c 	dio48egpio->chip.set_multiple = dio48e_gpio_set_multiple;
dio48egpio        428 drivers/gpio/gpio-104-dio-48e.c 	dio48egpio->base = base[id];
dio48egpio        430 drivers/gpio/gpio-104-dio-48e.c 	raw_spin_lock_init(&dio48egpio->lock);
dio48egpio        432 drivers/gpio/gpio-104-dio-48e.c 	err = devm_gpiochip_add_data(dev, &dio48egpio->chip, dio48egpio);
dio48egpio        453 drivers/gpio/gpio-104-dio-48e.c 	err = gpiochip_irqchip_add(&dio48egpio->chip, &dio48e_irqchip, 0,
dio48egpio        461 drivers/gpio/gpio-104-dio-48e.c 		dio48egpio);