static struct gpio_chip template_chip = {
.label = "bcm-kona-gpio",
+ .owner = THIS_MODULE,
.direction_input = bcm_kona_gpio_direction_input,
.get = bcm_kona_gpio_get,
.direction_output = bcm_kona_gpio_direction_output,
while ((sta = readl(reg_base + GPIO_INT_STATUS(bank_id)) &
(~(readl(reg_base + GPIO_INT_MASK(bank_id)))))) {
for_each_set_bit(bit, &sta, 32) {
- int gpio = GPIO_PER_BANK * bank_id + bit;
- int virq = irq_find_mapping(bank->kona_gpio->irq_domain,
- gpio);
+ int hwirq = GPIO_PER_BANK * bank_id + bit;
+ int child_irq =
+ irq_find_mapping(bank->kona_gpio->irq_domain,
+ hwirq);
/*
* Clear interrupt before handler is called so we don't
* miss any interrupt occurred during executing them.
writel(readl(reg_base + GPIO_INT_STATUS(bank_id)) |
BIT(bit), reg_base + GPIO_INT_STATUS(bank_id));
/* Invoke interrupt handler */
- generic_handle_irq(virq);
+ generic_handle_irq(child_irq);
}
}
return 0;
}
-static void bcm_kona_gpio_irq_unmap(struct irq_domain *d, unsigned int virq)
+static void bcm_kona_gpio_irq_unmap(struct irq_domain *d, unsigned int irq)
{
- irq_set_chip_and_handler(virq, NULL, NULL);
- irq_set_chip_data(virq, NULL);
+ irq_set_chip_and_handler(irq, NULL, NULL);
+ irq_set_chip_data(irq, NULL);
}
static struct irq_domain_ops bcm_kona_irq_ops = {
}
}
- dev_info(&pdev->dev, "Setting up Kona GPIO at 0x%p (phys %#x)\n",
- kona_gpio->reg_base, res->start);
+ dev_info(&pdev->dev, "Setting up Kona GPIO\n");
bcm_kona_gpio_reset(kona_gpio);