Commit 11475754 authored by Andy Shevchenko's avatar Andy Shevchenko
Browse files

gpio: msic: Remove duplicate check in IRQ handler



There is no need to check for non-zero pending since for_each_set_bit() does it
on the first iteration.

While here, drop redundant assignment.

Signed-off-by: default avatarAndy Shevchenko <andriy.shevchenko@linux.intel.com>
parent 282db906
Loading
Loading
Loading
Loading
+3 −6
Original line number Diff line number Diff line
@@ -237,20 +237,17 @@ static void msic_gpio_irq_handler(struct irq_desc *desc)
	struct msic_gpio *mg = irq_data_get_irq_handler_data(data);
	struct irq_chip *chip = irq_data_get_irq_chip(data);
	struct intel_msic *msic = pdev_to_intel_msic(mg->pdev);
	unsigned long pending;
	int i;
	int bitnr;
	u8 pin;
	unsigned long pending = 0;

	for (i = 0; i < (mg->chip.ngpio / BITS_PER_BYTE); i++) {
		intel_msic_irq_read(msic, INTEL_MSIC_GPIO0LVIRQ + i, &pin);
		pending = pin;

		if (pending) {
		for_each_set_bit(bitnr, &pending, BITS_PER_BYTE)
				generic_handle_irq(mg->irq_base +
						   (i * BITS_PER_BYTE) + bitnr);
		}
			generic_handle_irq(mg->irq_base + i * BITS_PER_BYTE + bitnr);
	}
	chip->irq_eoi(data);
}