Merge tag 'pidfd-updates-v5.3' of git://git.kernel.org/pub/scm/linux/kernel/git/braun...
[linux-2.6-microblaze.git] / drivers / gpio / gpio-davinci.c
index 3bbf580..fc494a8 100644 (file)
@@ -297,7 +297,7 @@ static int davinci_gpio_probe(struct platform_device *pdev)
 static void gpio_irq_disable(struct irq_data *d)
 {
        struct davinci_gpio_regs __iomem *g = irq2regs(d);
-       u32 mask = (u32) irq_data_get_irq_handler_data(d);
+       uintptr_t mask = (uintptr_t)irq_data_get_irq_handler_data(d);
 
        writel_relaxed(mask, &g->clr_falling);
        writel_relaxed(mask, &g->clr_rising);
@@ -306,7 +306,7 @@ static void gpio_irq_disable(struct irq_data *d)
 static void gpio_irq_enable(struct irq_data *d)
 {
        struct davinci_gpio_regs __iomem *g = irq2regs(d);
-       u32 mask = (u32) irq_data_get_irq_handler_data(d);
+       uintptr_t mask = (uintptr_t)irq_data_get_irq_handler_data(d);
        unsigned status = irqd_get_trigger_type(d);
 
        status &= IRQ_TYPE_EDGE_FALLING | IRQ_TYPE_EDGE_RISING;
@@ -447,7 +447,7 @@ davinci_gpio_irq_map(struct irq_domain *d, unsigned int irq,
                                "davinci_gpio");
        irq_set_irq_type(irq, IRQ_TYPE_NONE);
        irq_set_chip_data(irq, (__force void *)g);
-       irq_set_handler_data(irq, (void *)__gpio_mask(hw));
+       irq_set_handler_data(irq, (void *)(uintptr_t)__gpio_mask(hw));
 
        return 0;
 }
@@ -632,6 +632,7 @@ done:
 
 static const struct of_device_id davinci_gpio_ids[] = {
        { .compatible = "ti,keystone-gpio", keystone_gpio_get_irq_chip},
+       { .compatible = "ti,am654-gpio", keystone_gpio_get_irq_chip},
        { .compatible = "ti,dm6441-gpio", davinci_gpio_get_irq_chip},
        { /* sentinel */ },
 };