lkml.org 
[lkml]   [2020]   [Mar]   [24]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH v6 3/8] mfd: sm501: Use GPIO_LOOKUP_IDX() helper macro
    Date
    i801_add_mux() fills in the GPIO lookup table by manually populating an
    array of gpiod_lookup structures. Use the existing GPIO_LOOKUP_IDX()
    helper macro instead, to relax a dependency on the gpiod_lookup
    structure's member names.

    Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
    Cc: Lee Jones <lee.jones@linaro.org>
    ---
    While this patch is a dependency for "[PATCH v6 4/8] gpiolib: Add
    support for GPIO lookup by line name", it can be applied independently.
    But an Acked-by would be nice, too.

    Cover letter and full series at
    https://lore.kernel.org/r/20200324135328.5796-1-geert+renesas@glider.be/

    v6:
    - New.
    ---
    drivers/mfd/sm501.c | 24 ++++++++----------------
    1 file changed, 8 insertions(+), 16 deletions(-)

    diff --git a/drivers/mfd/sm501.c b/drivers/mfd/sm501.c
    index e49787e6bb93e5c8..ccd62b963952814e 100644
    --- a/drivers/mfd/sm501.c
    +++ b/drivers/mfd/sm501.c
    @@ -1145,22 +1145,14 @@ static int sm501_register_gpio_i2c_instance(struct sm501_devdata *sm,
    return -ENOMEM;

    lookup->dev_id = "i2c-gpio";
    - if (iic->pin_sda < 32)
    - lookup->table[0].chip_label = "SM501-LOW";
    - else
    - lookup->table[0].chip_label = "SM501-HIGH";
    - lookup->table[0].chip_hwnum = iic->pin_sda % 32;
    - lookup->table[0].con_id = NULL;
    - lookup->table[0].idx = 0;
    - lookup->table[0].flags = GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN;
    - if (iic->pin_scl < 32)
    - lookup->table[1].chip_label = "SM501-LOW";
    - else
    - lookup->table[1].chip_label = "SM501-HIGH";
    - lookup->table[1].chip_hwnum = iic->pin_scl % 32;
    - lookup->table[1].con_id = NULL;
    - lookup->table[1].idx = 1;
    - lookup->table[1].flags = GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN;
    + lookup->table[0] = (struct gpiod_lookup)
    + GPIO_LOOKUP_IDX(iic->pin_sda < 32 ? "SM501-LOW" : "SM501-HIGH",
    + iic->pin_sda % 32, NULL, 0,
    + GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN);
    + lookup->table[1] = (struct gpiod_lookup)
    + GPIO_LOOKUP_IDX(iic->pin_scl < 32 ? "SM501-LOW" : "SM501-HIGH",
    + iic->pin_scl % 32, NULL, 1,
    + GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN);
    gpiod_add_lookup_table(lookup);

    icd = dev_get_platdata(&pdev->dev);
    --
    2.17.1
    \
     
     \ /
      Last update: 2020-03-24 14:57    [W:4.074 / U:0.568 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site