lkml.org 
[lkml]   [2021]   [Feb]   [9]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH v6 7/7] gpio: ep93xx: refactor base IRQ number
    Date
    - use predefined constants instead of plain numbers
    - use provided bank IRQ number instead of defined constant
    for port F

    Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
    Reviewed-by: Alexander Sverdlin <alexander.sverdlin@gmail.com>
    Signed-off-by: Nikita Shubin <nikita.shubin@maquefel.me>
    ---
    drivers/gpio/gpio-ep93xx.c | 12 +++++++-----
    1 file changed, 7 insertions(+), 5 deletions(-)

    diff --git a/drivers/gpio/gpio-ep93xx.c b/drivers/gpio/gpio-ep93xx.c
    index 56ddf6b9baba..ef148b26b587 100644
    --- a/drivers/gpio/gpio-ep93xx.c
    +++ b/drivers/gpio/gpio-ep93xx.c
    @@ -31,6 +31,8 @@
    /* Maximum value for irq capable line identifiers */
    #define EP93XX_GPIO_LINE_MAX_IRQ 23

    +#define EP93XX_GPIO_A_IRQ_BASE 64
    +#define EP93XX_GPIO_B_IRQ_BASE 72
    /*
    * Static mapping of GPIO bank F IRQS:
    * F0..F7 (16..24) to irq 80..87.
    @@ -292,14 +294,14 @@ struct ep93xx_gpio_bank {

    static struct ep93xx_gpio_bank ep93xx_gpio_banks[] = {
    /* Bank A has 8 IRQs */
    - EP93XX_GPIO_BANK("A", 0x00, 0x10, 0x90, 0, true, false, 64),
    + EP93XX_GPIO_BANK("A", 0x00, 0x10, 0x90, 0, true, false, EP93XX_GPIO_A_IRQ_BASE),
    /* Bank B has 8 IRQs */
    - EP93XX_GPIO_BANK("B", 0x04, 0x14, 0xac, 8, true, false, 72),
    + EP93XX_GPIO_BANK("B", 0x04, 0x14, 0xac, 8, true, false, EP93XX_GPIO_B_IRQ_BASE),
    EP93XX_GPIO_BANK("C", 0x08, 0x18, 0x00, 40, false, false, 0),
    EP93XX_GPIO_BANK("D", 0x0c, 0x1c, 0x00, 24, false, false, 0),
    EP93XX_GPIO_BANK("E", 0x20, 0x24, 0x00, 32, false, false, 0),
    /* Bank F has 8 IRQs */
    - EP93XX_GPIO_BANK("F", 0x30, 0x34, 0x4c, 16, false, true, 0),
    + EP93XX_GPIO_BANK("F", 0x30, 0x34, 0x4c, 16, false, true, EP93XX_GPIO_F_IRQ_BASE),
    EP93XX_GPIO_BANK("G", 0x38, 0x3c, 0x00, 48, false, false, 0),
    EP93XX_GPIO_BANK("H", 0x40, 0x44, 0x00, 56, false, false, 0),
    };
    @@ -400,7 +402,7 @@ static int ep93xx_gpio_add_bank(struct ep93xx_gpio_chip *egc,
    /* Pick resources 1..8 for these IRQs */
    for (i = 0; i < girq->num_parents; i++) {
    girq->parents[i] = platform_get_irq(pdev, i + 1);
    - gpio_irq = EP93XX_GPIO_F_IRQ_BASE + i;
    + gpio_irq = bank->irq_base + i;
    irq_set_chip_data(gpio_irq, &epg->gc[5]);
    irq_set_chip_and_handler(gpio_irq,
    girq->chip,
    @@ -409,7 +411,7 @@ static int ep93xx_gpio_add_bank(struct ep93xx_gpio_chip *egc,
    }
    girq->default_type = IRQ_TYPE_NONE;
    girq->handler = handle_level_irq;
    - girq->first = EP93XX_GPIO_F_IRQ_BASE;
    + girq->first = bank->irq_base;
    }

    return devm_gpiochip_add_data(dev, gc, epg);
    --
    2.26.2
    \
     
     \ /
      Last update: 2021-02-09 14:35    [W:2.091 / U:24.912 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site