Searched refs:ichx_priv (Results 1 - 1 of 1) sorted by relevance
/linux-4.4.14/drivers/gpio/ |
H A D | gpio-ich.c | 109 } ichx_priv; variable in typeref:struct:__anon3971 124 spin_lock_irqsave(&ichx_priv.lock, flags); ichx_write_bit() 126 if (reg == GPIO_LVL && ichx_priv.desc->use_outlvl_cache) ichx_write_bit() 127 data = ichx_priv.outlvl_cache[reg_nr]; ichx_write_bit() 129 data = ICHX_READ(ichx_priv.desc->regs[reg][reg_nr], ichx_write_bit() 130 ichx_priv.gpio_base); ichx_write_bit() 136 ICHX_WRITE(data, ichx_priv.desc->regs[reg][reg_nr], ichx_write_bit() 137 ichx_priv.gpio_base); ichx_write_bit() 138 if (reg == GPIO_LVL && ichx_priv.desc->use_outlvl_cache) ichx_write_bit() 139 ichx_priv.outlvl_cache[reg_nr] = data; ichx_write_bit() 141 tmp = ICHX_READ(ichx_priv.desc->regs[reg][reg_nr], ichx_write_bit() 142 ichx_priv.gpio_base); ichx_write_bit() 146 spin_unlock_irqrestore(&ichx_priv.lock, flags); ichx_write_bit() 158 spin_lock_irqsave(&ichx_priv.lock, flags); ichx_read_bit() 160 data = ICHX_READ(ichx_priv.desc->regs[reg][reg_nr], ichx_read_bit() 161 ichx_priv.gpio_base); ichx_read_bit() 163 if (reg == GPIO_LVL && ichx_priv.desc->use_outlvl_cache) ichx_read_bit() 164 data = ichx_priv.outlvl_cache[reg_nr] | data; ichx_read_bit() 166 spin_unlock_irqrestore(&ichx_priv.lock, flags); ichx_read_bit() 173 return !!(ichx_priv.use_gpio & (1 << (nr / 32))); ichx_gpio_check_available() 197 if (nr < 32 && ichx_priv.desc->have_blink) ichx_gpio_direction_output() 228 if (!ichx_priv.pm_base) ich6_gpio_get() 231 spin_lock_irqsave(&ichx_priv.lock, flags); ich6_gpio_get() 234 ICHX_WRITE(1 << (16 + nr), 0, ichx_priv.pm_base); ich6_gpio_get() 235 data = ICHX_READ(0, ichx_priv.pm_base); ich6_gpio_get() 237 spin_unlock_irqrestore(&ichx_priv.lock, flags); ich6_gpio_get() 256 if (ichx_priv.desc->use_sel_ignore[nr / 32] & (1 << (nr & 0x1f))) ichx_gpio_request() 285 chip->dev = &ichx_priv.dev->dev; ichx_gpiolib_setup() 288 chip->request = ichx_priv.desc->request ? ichx_gpiolib_setup() 289 ichx_priv.desc->request : ichx_gpio_request; ichx_gpiolib_setup() 290 chip->get = ichx_priv.desc->get ? ichx_gpiolib_setup() 291 ichx_priv.desc->get : ichx_gpio_get; ichx_gpiolib_setup() 298 chip->ngpio = ichx_priv.desc->ngpio; ichx_gpiolib_setup() 395 for (i = 0; i < ARRAY_SIZE(ichx_priv.desc->regs[0]); i++) { ichx_gpio_request_regions() 399 res_base->start + ichx_priv.desc->regs[0][i], ichx_gpio_request_regions() 400 ichx_priv.desc->reglen[i], name)) ichx_gpio_request_regions() 410 release_region(res_base->start + ichx_priv.desc->regs[0][i], ichx_gpio_request_regions() 411 ichx_priv.desc->reglen[i]); ichx_gpio_request_regions() 420 for (i = 0; i < ARRAY_SIZE(ichx_priv.desc->regs[0]); i++) { ichx_gpio_release_regions() 423 release_region(res_base->start + ichx_priv.desc->regs[0][i], ichx_gpio_release_regions() 424 ichx_priv.desc->reglen[i]); ichx_gpio_release_regions() 437 ichx_priv.dev = pdev; ichx_gpio_probe() 441 ichx_priv.desc = &i3100_desc; ichx_gpio_probe() 444 ichx_priv.desc = &intel5_desc; ichx_gpio_probe() 447 ichx_priv.desc = &ich6_desc; ichx_gpio_probe() 450 ichx_priv.desc = &ich7_desc; ichx_gpio_probe() 453 ichx_priv.desc = &ich9_desc; ichx_gpio_probe() 456 ichx_priv.desc = &ich10_corp_desc; ichx_gpio_probe() 459 ichx_priv.desc = &ich10_cons_desc; ichx_gpio_probe() 462 ichx_priv.desc = &avoton_desc; ichx_gpio_probe() 468 spin_lock_init(&ichx_priv.lock); ichx_gpio_probe() 470 ichx_priv.use_gpio = ich_info->use_gpio; ichx_gpio_probe() 472 ichx_priv.use_gpio); ichx_gpio_probe() 476 ichx_priv.gpio_base = res_base; ichx_gpio_probe() 483 if (!ichx_priv.desc->uses_gpe0) ichx_gpio_probe() 498 ichx_priv.pm_base = res_pm; ichx_gpio_probe() 501 ichx_gpiolib_setup(&ichx_priv.chip); ichx_gpio_probe() 502 err = gpiochip_add(&ichx_priv.chip); ichx_gpio_probe() 508 pr_info("GPIO from %d to %d on %s\n", ichx_priv.chip.base, ichx_gpio_probe() 509 ichx_priv.chip.base + ichx_priv.chip.ngpio - 1, DRV_NAME); ichx_gpio_probe() 514 ichx_gpio_release_regions(ichx_priv.gpio_base, ichx_priv.use_gpio); ichx_gpio_probe() 515 if (ichx_priv.pm_base) ichx_gpio_probe() 516 release_region(ichx_priv.pm_base->start, ichx_gpio_probe() 517 resource_size(ichx_priv.pm_base)); ichx_gpio_probe() 523 gpiochip_remove(&ichx_priv.chip); ichx_gpio_remove() 525 ichx_gpio_release_regions(ichx_priv.gpio_base, ichx_priv.use_gpio); ichx_gpio_remove() 526 if (ichx_priv.pm_base) ichx_gpio_remove() 527 release_region(ichx_priv.pm_base->start, ichx_gpio_remove() 528 resource_size(ichx_priv.pm_base)); ichx_gpio_remove()
|
Completed in 33 milliseconds