Re: [PATCH 1/2] ASoC: rt5645: fix error handling for gpio detection

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




     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.

_______________________________________________
Alsa-devel mailing list
Alsa-devel@xxxxxxxxxxxxxxxx
http://mailman.alsa-project.org/mailman/listinfo/alsa-devel



[Index of Archives]     [ALSA User]     [Linux Audio Users]     [Kernel Archive]     [Asterisk PBX]     [Photo Sharing]     [Linux Sound]     [Video 4 Linux]     [Gimp]     [Yosemite News]

  Powered by Linux