On Tue, Jul 16, 2013 at 09:17:27AM +0800, Shawn Guo wrote:
It fixes the regression on imx28 since commit 9e13f34 (ASoC: sgtl5000: Let the codec acquire its clock).
Looking at the code the race has always been there, the same issue exists in the old code in the machine driver. But I guess there may have been some (surprising given that we now wait for an I2C device to be registered) reordering.
I'm still not going to fix this regression during -rc at clock core level with the risk of breaking clock API users and being yelled by clock maintainer.
I'd be much happier with this if there were at least some effort being made to discuss the issue at a generic level. If we were adding a new API for deferring clocks (which was the suggestion) then there'd be no risk to existing users...
/* Defer the probe to see if the clk will be provided later */
if (ret == -ENOENT)
return -EPROBE_DEFER;
What's magic about -ENOENT here?