Signed-off-by: Alexander Shiyan <[email protected]>
---
 drivers/gpio/gpio-generic.c | 16 +++++++++-------
 1 file changed, 9 insertions(+), 7 deletions(-)

diff --git a/drivers/gpio/gpio-generic.c b/drivers/gpio/gpio-generic.c
index d815dd2..b5dff9e 100644
--- a/drivers/gpio/gpio-generic.c
+++ b/drivers/gpio/gpio-generic.c
@@ -488,7 +488,7 @@ static int bgpio_pdev_probe(struct platform_device *pdev)
        void __iomem *dirout;
        void __iomem *dirin;
        unsigned long sz;
-       unsigned long flags = 0;
+       unsigned long flags = pdev->id_entry->driver_data;
        int err;
        struct bgpio_chip *bgc;
        struct bgpio_pdata *pdata = dev_get_platdata(dev);
@@ -519,9 +519,6 @@ static int bgpio_pdev_probe(struct platform_device *pdev)
        if (err)
                return err;
 
-       if (!strcmp(platform_get_device_id(pdev)->name, "basic-mmio-gpio-be"))
-               flags |= BGPIOF_BIG_ENDIAN;
-
        bgc = devm_kzalloc(&pdev->dev, sizeof(*bgc), GFP_KERNEL);
        if (!bgc)
                return -ENOMEM;
@@ -551,9 +548,14 @@ static int bgpio_pdev_remove(struct platform_device *pdev)
 }
 
 static const struct platform_device_id bgpio_id_table[] = {
-       { "basic-mmio-gpio", },
-       { "basic-mmio-gpio-be", },
-       {},
+       {
+               .name           = "basic-mmio-gpio",
+               .driver_data    = 0,
+       }, {
+               .name           = "basic-mmio-gpio-be",
+               .driver_data    = BGPIOF_BIG_ENDIAN,
+       },
+       { }
 };
 MODULE_DEVICE_TABLE(platform, bgpio_id_table);
 
-- 
1.8.3.2

--
To unsubscribe from this list: send the line "unsubscribe linux-gpio" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to