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

From: Bart Van Assche
Date: Thu Dec 08 2016 - 01:38:23 EST

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

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.