[PATCH] linux/types.h: enable endian checks for all sparse builds

Bart Van Assche
Thu, 08 Dec 2016 06:38:11 -0000

On 12/07/16 21:54, Michael S. Tsirkin wrote:
> On Thu, Dec 08, 2016 at 05:21:47AM +0000, Bart Van Assche wrote:
>> Additionally, there are notable exceptions to the rule that most
drivers
>> are endian-clean, e.g. drivers/scsi/qla2xxx. I would appreciate it if
it
>> would remain possible to check such drivers with sparse without
enabling
>> endianness checks. Have you considered to change #ifdef
__CHECK_ENDIAN__
>> into e.g. #ifndef __DONT_CHECK_ENDIAN__?
>
> The right thing is probably just to fix these, isn't it?
> Until then, why not just ignore the warnings?

Neither option is realistic. With endian-checking enabled the qla2xxx
driver triggers so many warnings that it becomes a real challenge to
filter the non-endian warnings out manually:

$ for f in "" CF=-D__CHECK_ENDIAN__; do make M=drivers/scsi/qla2xxx
C=2\
     $f | &grep -c ': warning:'; done
4
752

If you think it would be easy to fix the endian warnings triggered by
the qla2xxx driver, you are welcome to try to fix these.

Bart.