On Monday 13 August 2012 15:49:07 John Baldwin wrote: > On Friday, August 10, 2012 11:02:50 am Hans Petter Selasky wrote: > > Author: hselasky > > Date: Fri Aug 10 15:02:49 2012 > > New Revision: 239178 > > URL: http://svn.freebsd.org/changeset/base/239178 > > > > Log: > > Add new device method to free the automatically > > allocated softc structure which is returned by > > device_get_softc(). This method can be used to > > easily implement softc refcounting. This can be > > desirable when the softc has memory references > > which are controlled by userspace handles for > > example. > > Why do you need a new method? If you want to manage your own softc, you > are free to do so by using a size of 0 in your driver_t. You can then use > device_set_softc() to set the softc during your attach routine. New-bus > won't free it during detach leaving you to free it instead. That is what > you should have done here instead of polluting device_if.m. Note that > DF_EXTERNALSOFTC is an internal flag to explicitly handle this case, but > you've now made it possible for a device to try to do special free logic > but haven't made DF_EXTERNALSOFTC visible to that driver. This is why I > think new-bus already let you do what you wanted (via device_set_softc()) > and think you should just do that and back this out.
Hi, I don't need to pollute device_if.m. Would device_steal_softc() be OK, to say that we want newbus to allocate the softc, but not free it? Thanks for your comments. --HPS _______________________________________________ [email protected] mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "[email protected]"
