On Fri, Aug 09, 2013 at 11:12:36AM +0200, Krzysztof Hałasa wrote: > Hi, > > I'm trying to understand why the struct device contains a pointer to > dma_mask and not the actual dma_mask: > > struct device { > ... > > u64 *dma_mask; /* dma mask (if dma'able device) */ > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
"If dma-able device" gives a clue. It is now the case that the DMA API refuses DMA (via dma_supported) if the DMA mask pointer is NULL. So, we're now in the situation where this conveys information, and merely getting rid of the indirection loses information which may be (and probably is) relied upon by drivers. However, placing the storage for the dma_mask pointer into struct device is something which I've recently discussed with Greg, and is something he'd like to see happen, so I'll be adding that to my DMA masks patch series in the very near future. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/