incompatibility due to change in bitops.h

Willem Riede (wriede@monmouth.com)
Tue, 27 May 1997 20:31:18 -0400


I was trying to upgrade to 2.1.40 (from 2.1.32) and ran into trouble
compiling the ethernet boomerang driver 3c59x.c:
("3c900.c:v0.39 4/1/97 becker@cesdis.gsfc.nasa.gov\n")

It uses set_bit from <asm/bitops.h> and uses the result value.

Kernel 2.1.37 changed the definition of set_bit to return void rather than int.

This breaks 3c59x.c :-(

Please advise how to handle this. Does the new code really not return a value?
Note that the comment:

* These have to be done with inline assembly: that way the bit-setting
* is guaranteed to be atomic. All bit operations return 0 if the bit
* was cleared before the operation and != 0 if it was not.

is still present in the file!

Thanks. Willem Riede.