On Thu, Sep 30, 2010 at 10:51:32AM +0100, Dimitris Papastamos wrote:
On Wed, 2010-09-29 at 10:43 -0700, Mark Brown wrote:
It's better to restructure the code so that the compiler is able to follow the control flow and see that there's no uninitialised access - this sort of change will just shut up legitimate warnings as well. Some of the other CODEC drivers (wm8400 is one) have had similar changes which seem to do the trick.
My version of GCC (4.5.1) does not seem to have a problem figuring out the flow of execution. It is just that some of the people who use this code and have an older version of GCC get these warnings. I agree this is not the way to fix it as it silences legitimate warnings. However I can't really test any changes I make in an attempt to fixing this due to not having an older version of gcc.
Yes, there's some particular version of GCC that has trouble with this. Whatever the WM8400 did to avoid the issue should work when applied to this driver, it's a very common pattern in the Wolfson drivers.