Re: [RFC] embedded struct device Re: [patch] IDE driver model update

Patrick Mochel
2002-10-08T21:48:53Z

> That would be nice, if it worked that way. As it is we have
>
> driver allocates foo
> driver grabs a reference to foo->dev
> ....
> somebody else grabs/drops temporary references to foo->dev
> ....
> driver call put_device(&foo->dev)
> driver frees structures refered from foo.
> driver frees foo.
>
> _IF_ the last two steps were done by ->release(), your arguments would
> work. Actually they are done by driver right after the put_device() call.
>
> If you are willing to change that (== move all destruction into ->release()) -
> yeah, then embedded struct device will work. It's a hell of a work though.

Yes, and we're willing to do a lot of it.

That's been the intention the whole time, and would have been done sooner,
but it's taken a freakin' long time to figure out what assumptions to make
in the core. And of course, they're not always right. ;) Which means
there's more work to be done there. The feedback is greatly appreciated,
and I'm always open to more..

Thanks,

-pat