it87_gpio
struct it87_gpio *it87_gpio = gpiochip_get_data(chip);
spin_lock(&it87_gpio->lock);
if (group < it87_gpio->simple_size)
superio_set_mask(mask, group + it87_gpio->simple_base);
superio_clear_mask(mask, group + it87_gpio->output_base);
spin_unlock(&it87_gpio->lock);
struct it87_gpio *it87_gpio = gpiochip_get_data(chip);
reg = (gpio_num / 8) + it87_gpio->io_base;
struct it87_gpio *it87_gpio = gpiochip_get_data(chip);
spin_lock(&it87_gpio->lock);
superio_clear_mask(mask, group + it87_gpio->output_base);
spin_unlock(&it87_gpio->lock);
struct it87_gpio *it87_gpio = gpiochip_get_data(chip);
reg = (gpio_num / 8) + it87_gpio->io_base;
struct it87_gpio *it87_gpio = gpiochip_get_data(chip);
guard(spinlock)(&it87_gpio->lock);
superio_set_mask(mask, group + it87_gpio->output_base);
struct it87_gpio *it87_gpio = &it87_gpio_chip;
it87_gpio->chip = it87_template_chip;
it87_gpio->io_size = 8; /* it8613 only needs 6, use 8 for alignment */
it87_gpio->output_base = 0xc8;
it87_gpio->simple_base = 0xc0;
it87_gpio->simple_size = 6;
it87_gpio->chip.ngpio = 64; /* has 48, use 64 for convenient calc */
it87_gpio->io_size = 11;
it87_gpio->output_base = 0xc8;
it87_gpio->simple_size = 0;
it87_gpio->chip.ngpio = 64;
it87_gpio->io_size = 8;
it87_gpio->output_base = 0xc8;
it87_gpio->simple_base = 0xc0;
it87_gpio->simple_size = 5;
it87_gpio->chip.ngpio = 64;
it87_gpio->io_size = 4;
it87_gpio->output_base = 0xf0;
it87_gpio->simple_size = 0;
it87_gpio->chip.ngpio = 16;
it87_gpio->io_base = superio_inw(gpio_ba_reg);
chip_type, chip_rev, it87_gpio->chip.ngpio,
it87_gpio->io_base);
if (!request_region(it87_gpio->io_base, it87_gpio->io_size,
labels = kcalloc(it87_gpio->chip.ngpio, sizeof("it87_gpXY"),
labels_table = kcalloc(it87_gpio->chip.ngpio, sizeof(const char *),
for (i = 0; i < it87_gpio->chip.ngpio; i++) {
it87_gpio->chip.names = (const char *const*)labels_table;
rc = gpiochip_add_data(&it87_gpio->chip, it87_gpio);
release_region(it87_gpio->io_base, it87_gpio->io_size);
struct it87_gpio *it87_gpio = &it87_gpio_chip;
gpiochip_remove(&it87_gpio->chip);
release_region(it87_gpio->io_base, it87_gpio->io_size);
kfree(it87_gpio->chip.names[0]);
kfree(it87_gpio->chip.names);
static struct it87_gpio it87_gpio_chip = {