Re: [patch] hdaps driver update.

From: Robert Love
Date: Wed Sep 14 2005 - 11:31:38 EST


On Wed, 2005-09-14 at 09:16 -0700, Greg KH wrote:

> But you are reference counting a static object, right? Which
> isn't the nicest thing to have done.

I would not say it is not "the nicest thing", it is just not necessary
to do the reference counting. But we want the ref counting for other
reasons, so it seems sensible.

> Why not just dynamically create it?

Seems silly to dynamically create something that we know a priori we
only have one of. E.g., why dynamically create something that is not
dynamic.

But it is not a big deal. If this is some rule of yours, I can
kmalloc() the device_driver structure and kfree() it in my release()
function. Is that what you want?

> No, if you have that .owner field in your driver, you get a symlink in
> sysfs that points from your driver to the module that controls it. You
> just removed that symlink, which is not what I think you wanted to have
> happen :(

But device release == module unload.

I am not following, sadly.

> I also think you don't get the module reference counting for your
> driver's and devices sysfs files but haven't looked deep enough to see
> if this is true for your code or not. Should be easy for you to test,
> just open a sysfs file for your device and see if the module reference
> is incremented or not.

The module reference counting is fine.

The count is elevated while one of the sysfs files is open, decremented
when it closes.

Robert Love


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/