On Mon, 2017-10-09 at 20:42 +0300, Michael S. Tsirkin wrote: > On Mon, Oct 09, 2017 at 03:07:42PM +0000, Bart Van Assche wrote: > > On Mon, 2017-10-09 at 16:22 +0300, Michael S. Tsirkin wrote: > > > On Fri, Oct 06, 2017 at 10:23:53AM -0700, Bart Van Assche wrote: > > > > The purpose of patch "linux/types.h: enable endian checks for all > > > > sparse builds" was to encourage driver authors to annotate > > > > endianness correctly in their drivers. However, since that patch > > > > went upstream no endianness annotations in drivers have been fixed. > > > > I think that this shows that the followed approach does not work, > > > > probably because several driver authors do not use sparse. Restore > > > > the ability to disable sparse endianness checks such that it > > > > becomes again easy to review other sparse diagnostics for people > > > > who want to analyze drivers they are not the author of. > > > > > > > > References: commit 05de97003c77 ("linux/types.h: enable endian checks > > > > for all sparse builds") > > > > Signed-off-by: Bart Van Assche <bart.vanass...@wdc.com> > > > > Cc: Christoph Hellwig <h...@lst.de> > > > > Cc: Linus Torvalds <torva...@linux-foundation.org> > > > > > > I still think the new default is good. You probably want ability to > > > disable these checks selectively for the specific drivers though. Makes > > > it easier to spot what needs to be fixed. > > > > I agree with what you wrote. And what you described is what my patch > > implements > > - keep endianness checking enabled by default and make it possible to > > disable it > > selectively. Does that mean that you agree with the patch I posted? > > I just mean I'd expect a patchset setting the flag for the broken > drivers. Presumably this will help trigger some action.
Hello MST, If I would add something like ccflags-y += -D__CHECK_ENDIAN__=0 to the Makefile of drivers that are not endianness clean then that would make it easier for driver authors to ignore endianness warnings reported by sparse. I prefer that they have to add CF=-D__CHECK_ENDIAN__=0 to the command line when verifying a driver with sparse to get rid of the sparse endianness warnings. Do you agree with this? Thanks, Bart.