| Date | Fri, 10 Jun 2016 16:49:47 +0200 | From | "Luis R. Rodriguez" <> | Subject | Re: [PATCH v4 01/44] dma-mapping: Use unsigned long for dma_attrs |
| |
On Fri, Jun 10, 2016 at 12:11:18PM +0200, Krzysztof Kozlowski wrote: > The dma-mapping core and the implementations do not change the > DMA attributes passed by pointer. Thus the pointer can point to const > data. However the attributes do not have to be a bitfield. Instead > unsigned long will do fine: > > 1. This is just simpler. Both in terms of reading the code and setting > attributes. Instead of initializing local attributes on the stack > and passing pointer to it to dma_set_attr(), just set the bits. > > 2. It brings safeness and checking for const correctness because the > attributes are passed by value.
Do we not expect the number of argument to grow ? This "cleanup" would do away with such possibilities, and then require adding the API later, and this requiring a full set of collateral evolutions again when this is needed. What was the original motivation for using this instead of the approach you are suggesting ?
If the concern is the const data, why not require const struct dma_attr for the APIs that we know can and should use const ?
Luis
|