]> git.proxmox.com Git - mirror_ubuntu-artful-kernel.git/commitdiff
gpio: generic: Use platform_device_id->driver_data field for driver flags
authorAlexander Shiyan <shc_work@mail.ru>
Sun, 16 Mar 2014 05:10:34 +0000 (09:10 +0400)
committerLinus Walleij <linus.walleij@linaro.org>
Tue, 18 Mar 2014 08:28:31 +0000 (09:28 +0100)
Signed-off-by: Alexander Shiyan <shc_work@mail.ru>
Reviewed-by: Alexandre Courbot <acourbot@nvidia.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
drivers/gpio/gpio-generic.c

index d815dd25eb4712a98188427c75a2f4245ea5b3b3..b5dff9e742f846e65660ea046ebb6f402cca4763 100644 (file)
@@ -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);