qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH v7 2/6] mfd: sm501: Use GPIO_LOOKUP_IDX() helper macro


From: Geert Uytterhoeven
Subject: [PATCH v7 2/6] mfd: sm501: Use GPIO_LOOKUP_IDX() helper macro
Date: Mon, 11 May 2020 16:52:53 +0200

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 <address@hidden>
Acked-by: Lee Jones <address@hidden>
---
v7:
  - Add Acked-by,

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




reply via email to

[Prev in Thread] Current Thread [Next in Thread]