On Mon, Nov 18, 2019 at 06:59:23PM +0800, Jason Wang wrote: > +static void mvnet_device_release(struct device *dev) > +{ > + dev_dbg(dev, "mvnet: released\n"); > +} We used to have documentation in the kernel source tree that said that whenever anyone did this, I got to make fun of them. Unfortunately that has been removed. Think about what you did right here. You silenced a kernel runtime warning that said something like "ERROR! NO RELEASE FUNCTION FOUND!" by doing the above because "I am smarter than the kernel, I will silence it by putting an empty release function in there." {sigh} Did you ever think _why_ we took the time and effort to add that warning there? It wasn't just so that people can circumvent it, it is to PREVENT A MAJOR BUG IN YOUR DESIGN! We are trying to be nice here and give people a _chance_ to get things right instead of having you just live with a silent memory leak. After 13 versions of this series, basic things like this are still here? Who is reviewing this thing? {ugh} Also, see the other conversations we are having about a "virtual" bus and devices. I do not want to have two different ways of doing the same thing in the kernel at the same time please. Please work together with the Intel developers to solve this in a unified way, as you both need/want the same thing here. Neither this, nor the other proposal can be accepted until you all agree on the design and implementation. /me goes off to find a nice fruity drink with an umbrella. greg k-h