On Fri, Jan 06, 2012 at 11:40:52AM -0800, Greg KH wrote:
It was recently pointed out to me that the sound/soc/soc-core.c is flagrantly abusing the driver model by providing "empty" release functions, just to keep the kernel from complaining:
Come on people, do you think that I wrote the code in the kernel that produces those errors just for fun? It was telling you to fix your code by providing a function to free the structure that is being released, not to try to trick the kernel because you think you know better. The kernel was trying to help you out here, to get the programming model correct, in a place that was commonly misunderstood.
The problem is that due to the entertaining nature of AC'97 support in Linux we don't actually have anything to free at this point - we'd need to redo the whole infrastructure, not just this code.
You really need to find someone with an ongoing interest in AC'97 and convince them that it's worth overhauling the bus, the whole thing is just too much of a can of worms to touch. Fixing this for 3.3 seems completely insane, we're already in the merge window and there's too many skeletons.
I'm not even sure I have any AC'97 hardware any more myself.