[alsa-devel] [PATCH 1/2] ASoC: rt5645: fix error handling for gpio detection
Pierre-Louis Bossart
pierre-louis.bossart at linux.intel.com
Thu Feb 2 06:41:38 CET 2017
>> 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/gpio/devres.c#n185
>
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.
More information about the Alsa-devel
mailing list