Re: [PATCH] kfifo: don't include dma-mapping.h in kfifo.h

Jiri Slaby
2024-10-15T08:19:08Z

On 15. 10. 24, 9:56, Christoph Hellwig wrote:
> On Tue, Oct 15, 2024 at 09:53:52AM +0200, Jiri Slaby wrote:
>>> DMA_MAPPING_ERROR is never used by kfifo.h itself. It is used
>>> by user of the header that instanciate one of the macros that use
>>> it.
>>
>> Well, I don't understand. Looking at:
>> #define kfifo_dma_in_prepare(fifo, sgl, nents, len) \
>> kfifo_dma_in_prepare_mapped(fifo, sgl, nents, len,
>> DMA_MAPPING_ERROR)
>>
>> You'd have to include dma-mapping.h if you used this macro.
>
> Yes, obviously.
>
>> Even though you
>> do not explicitly use any other def from the dma header.
>
> Sure.
>
>> Well, this is not a definition of self-containment.
>
> Yes, it is the exact definition of it.

Then it depends on which one, apparently.

So I disagree, but I don't mind either (meaning: I don't oppose to the
patch any longer either).

>> If you use every macro
>> from a header and it does not need any other include, then it is
>> self-contained.
>
> No, that goes way beyond the self containedness. In fact these days
> the main reason to use macros is exactly to avoid these kinds of
> dependencies.

--
js
suse labs