On 09/07/15 22:51, Hartmut Knaack wrote: > iio_device_register should be the last operation during probe. Therefor > move up interrupt setup code and while at it, change the check for invalid > values of client->irq to be smaller than zero. > Fixes: 3dd477acbdd1 ("iio: light: Add threshold interrupt support for STK3310") > > Signed-off-by: Hartmut Knaack <knaack.h@xxxxxx> Applied to the fixes-togreg branch of iio.git I added some stuff about why this ordering matters. Jonathan > --- > drivers/iio/light/stk3310.c | 14 +++++++------- > 1 file changed, 7 insertions(+), 7 deletions(-) > > diff --git a/drivers/iio/light/stk3310.c b/drivers/iio/light/stk3310.c > index c1a218236be5..e7e6e5a2b1f8 100644 > --- a/drivers/iio/light/stk3310.c > +++ b/drivers/iio/light/stk3310.c > @@ -608,13 +608,7 @@ static int stk3310_probe(struct i2c_client *client, > if (ret < 0) > return ret; > > - ret = iio_device_register(indio_dev); > - if (ret < 0) { > - dev_err(&client->dev, "device_register failed\n"); > - stk3310_set_state(data, STK3310_STATE_STANDBY); > - } > - > - if (client->irq <= 0) > + if (client->irq < 0) > client->irq = stk3310_gpio_probe(client); > > if (client->irq >= 0) { > @@ -629,6 +623,12 @@ static int stk3310_probe(struct i2c_client *client, > client->irq); > } > > + ret = iio_device_register(indio_dev); > + if (ret < 0) { > + dev_err(&client->dev, "device_register failed\n"); > + stk3310_set_state(data, STK3310_STATE_STANDBY); > + } > + > return ret; > } > > -- To unsubscribe from this list: send the line "unsubscribe linux-iio" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html