2 Feb
2017
2 Feb
'17
6:41 a.m.
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");ret = PTR_ERR(rt5645->gpiod_hp_det);/** Continue if optional gpiod is missing, bail for all other* errors, including -EPROBE_DEFER*/if (ret != -ENOENT)return ret;}
for (i = 0; i < ARRAY_SIZE(rt5645->supplies); i++)
(sound/soc/codecs/rt5645.c) rt5645_i2c_probe() (drivers/gpio/devres.c) ->devm_gpiod_get_optional() ->devm_gpiod_get_index_optional()
As long as seeing current implementation of 'devm_gpiod_get_index_optional()', this function never returns ENOENT. In this case, it returns NULL. https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/drivers...
Thanks for pointing this out, I didn't see it and naively thought that everyone followed the same conventions. Oh well. I'll respin a v2.