Hello,

On 9/1/25 14:07, Andy Shevchenko wrote:
> On Thu, Aug 28, 2025 at 05:34:51PM +0800, Haixu Cui wrote:
>> This is the virtio SPI Linux kernel driver.
> 
> ...
> 
>> +#include <linux/completion.h>
>> +#include <linux/interrupt.h>
>> +#include <linux/io.h>
>> +#include <linux/module.h>
>> +#include <linux/spi/spi.h>
>> +#include <linux/stddef.h>
> 
> A lot of headers are still missing. See below.

The driver should compile with the set of included headers.

> 
> ...
> 
> 
>> +struct virtio_spi_priv {
>> +    /* The virtio device we're associated with */
>> +    struct virtio_device *vdev;
>> +    /* Pointer to the virtqueue */
>> +    struct virtqueue *vq;
>> +    /* Copy of config space mode_func_supported */
>> +    u32 mode_func_supported;
> 
> uXX (in particular u32) is defined in types.h.
> 
>> +    /* Copy of config space max_freq_hz */
>> +    u32 max_freq_hz;
>> +};

u32 is for sure defined in types.h. But looking into another device 
(gpio-virtio.c) I see that there is also u8 and u32 used and I don't see that 
there types.h is included directly in the C file. It must be included 
indirectly as the driver compiles. Same happens here.

I'm not aware of a requirement in the style guide for the Linux kernel that all 
used headers have to be included directly in the C file but this does not mean 
that such a requirement does not exist. Can anyone point my nose on it?

Regards
Harald Mommer


Reply via email to