On Thu, Jan 26, 2017 at 02:09:42PM -0600, Pierre-Louis Bossart wrote: > Optional gpio handling should not cause an error status > and prevent probing. > Remove error return and move error message to dev_info > @@ -3660,8 +3660,7 @@ static int rt5645_i2c_probe(struct i2c_client *i2c, > GPIOD_IN); > > if (IS_ERR(rt5645->gpiod_hp_det)) { > - dev_err(&i2c->dev, "failed to initialize gpiod\n"); > - return PTR_ERR(rt5645->gpiod_hp_det); > + dev_info(&i2c->dev, "failed to initialize gpiod\n"); > } I'd expect this to depend on what the error is - the normal pattern is to check for whatever the error code for "this doesn't exist" is and ignore that while treating other things (especially -EPROBE_DEFER but also other things) as errors.