gpio-wcove.c (3a37471551cd3b287ce7f02ed25bcf8ec37a191d) | gpio-wcove.c (7c2d176fe3f8dce632b948f79c7e89916ffe2c70) |
---|---|
1/* 2 * Intel Whiskey Cove PMIC GPIO Driver 3 * 4 * This driver is written based on gpio-crystalcove.c 5 * 6 * Copyright (C) 2016 Intel Corporation. All rights reserved. 7 * 8 * This program is free software; you can redistribute it and/or --- 303 unchanged lines hidden (view full) --- 312 pending = p[0] | (p[1] << 8); 313 if (!pending) 314 return IRQ_NONE; 315 316 /* Iterate until no interrupt is pending */ 317 while (pending) { 318 /* One iteration is for all pending bits */ 319 for_each_set_bit(gpio, (const unsigned long *)&pending, | 1/* 2 * Intel Whiskey Cove PMIC GPIO Driver 3 * 4 * This driver is written based on gpio-crystalcove.c 5 * 6 * Copyright (C) 2016 Intel Corporation. All rights reserved. 7 * 8 * This program is free software; you can redistribute it and/or --- 303 unchanged lines hidden (view full) --- 312 pending = p[0] | (p[1] << 8); 313 if (!pending) 314 return IRQ_NONE; 315 316 /* Iterate until no interrupt is pending */ 317 while (pending) { 318 /* One iteration is for all pending bits */ 319 for_each_set_bit(gpio, (const unsigned long *)&pending, |
320 GROUP0_NR_IRQS) { | 320 WCOVE_GPIO_NUM) { |
321 offset = (gpio > GROUP0_NR_IRQS) ? 1 : 0; 322 mask = (offset == 1) ? BIT(gpio - GROUP0_NR_IRQS) : 323 BIT(gpio); 324 virq = irq_find_mapping(wg->chip.irqdomain, gpio); 325 handle_nested_irq(virq); 326 regmap_update_bits(wg->regmap, IRQ_STATUS_BASE + offset, 327 mask, mask); 328 } --- 143 unchanged lines hidden --- | 321 offset = (gpio > GROUP0_NR_IRQS) ? 1 : 0; 322 mask = (offset == 1) ? BIT(gpio - GROUP0_NR_IRQS) : 323 BIT(gpio); 324 virq = irq_find_mapping(wg->chip.irqdomain, gpio); 325 handle_nested_irq(virq); 326 regmap_update_bits(wg->regmap, IRQ_STATUS_BASE + offset, 327 mask, mask); 328 } --- 143 unchanged lines hidden --- |