diff --git a/drivers/gpio/gpio-generic.c b/drivers/gpio/gpio-generic.c
index 231714d..9f8b5c6 100644
--- a/drivers/gpio/gpio-generic.c
+++ b/drivers/gpio/gpio-generic.c
@@ -398,7 +398,10 @@ int __devinit bgpio_init(struct bgpio_chip *bgc,
if (ret)
return ret;
- bgc->data = bgc->read_reg(bgc->reg_dat);
+ if (bgc->reg_set)
+ bgc->data = bgc->read_reg(bgc->reg_set);
On most of the gpio controllers that I've seen, the 'set' register
isn't something that you can actually read. I don't think this is
something that can be done for all gpio controllers.
g.Sebastian