On Sun, Mar 16, 2014 at 2:10 PM, Alexander Shiyan <shc_work@xxxxxxx> wrote: > Signed-off-by: Alexander Shiyan <shc_work@xxxxxxx> > --- > 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); Agreed that this kind of setup ought to be data-oriented. Reviewed-by: Alexandre Courbot <acourbot@xxxxxxxxxx> -- To unsubscribe from this list: send the line "unsubscribe linux-gpio" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html