Hi Frank, Liam, and sound maintainers.
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:
/* stop no dev release warning */ static void soc_ac97_device_release(struct device *dev){}
....
static void rtd_release(struct device *dev) {}
As per the documentation in the kernel tree[1], I now get to publicly mock you for thinking you know better than the driver model.
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.
But, by you trying to be "smart", you just proved that your code was incorrect and buggy.
Please fix this for the 3.3 kernel release.
Yes, I know it's been there for a number of years, but that still doesn't make it correct. Especially as stuff like this tends to get cut-and-pasted over time.
thanks,
greg k-h
[1] Documentation/kobject.txt