![]() | ||||||||||
Messages in this thread |
James Bottomley wrote: > OK, the attached is a sketch of an implementation of bus_type operations. Quick reaction .... Those signatures look more or less right, at a quick glance, except that allocating N bytes should pass a __GFP_WAIT flag. (And of course, allocating a mapping needs a failure return.) That bus_dma_ops is more of a "vtable" approach, and I confess I'd been thinking of hanging some object that had internal state as well as method pointers. (Call it a "whatsit" for the moment.) That'd make it possible for layered busses like USB and SCSI to just reference the "whatsit" from the parent bus in their layered "struct device" objects. [1] In many cases that'd just end up being a ref to the "platform whatsit", eliminating a conditional test from the hot path from your sketch as well as an entire set of new "platform_*()" APIs. - Dave [1] That is, resembling what Benjamin Herrenschmidt suggested: http://marc.theaimsgroup.com/?l=linux-kernel&m=102389432006266&w=2 - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/ | |||||||||
| Last update: 2005-03-22 12:31 [from the cache] ©2003-2008 | ||||||||||