• Iustin Pop's avatar
    scsi: st: osst: Remove negative constant left-shifts · 6f46f718
    Iustin Pop authored
    Negative constant left-shift is undefined behaviour in the C standard, and
    as such newer versions of clang (at least) warn against it. GCC supports it
    for a long time, but it would be better to remove it and rely on defined
    behaviour.
    
    My understanding is "~(-1 << N)" in 2's complement is intended to generate
    a bit pattern of zeroes ending with N '1' bits. The same can be achieved by
    "(1 << N) - 1" in a well-defined way, so switch to it to remove the
    warning.
    
    Tested: building a kernel with generic SCSI tape, and checking basic
    operations (mt status, mt eject) on a real LTO unit. Cannot test the osst
    driver.
    Signed-off-by: default avatarIustin Pop <iustin@k1024.org>
    Reviewed-by: default avatarLee Duncan <lduncan@suse.com>
    Signed-off-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
    6f46f718
st.c 130 KB