Hi Martin, This patch series moves the existing {get,put}_unaligned_[bl]e24() definitions into include/linux/unaligned/generic.h and also replaces some open-coded implementations of these functions with calls to these functions. Please consider this patch series for kernel version v5.7. Thanks, Bart. Changes compared to v2: - Declared 'val' arguments 'const'. - Added more Reviewed-by tags. - See also https://lore.kernel.org/linux-scsi/20200313023718.21830-1-bvanassche@xxxxxxx/. Changes compared to v1: - Left out the drivers/iio, arm/ecard, IB/qib and ASoC/fsl_spdif patches. - Dropped the sign_extend_24_to_32(), get_unaligned_signed_be24() and get_unaligned_signed_le24() functions. - See also https://lore.kernel.org/lkml/20191028200700.213753-1-bvanassche@xxxxxxx/. Bart Van Assche (5): linux/unaligned/byteshift.h: Remove superfluous casts c6x: Include <linux/unaligned/generic.h> instead of duplicating it treewide: Consolidate {get,put}_unaligned_[bl]e24() definitions scsi/st: Use get_unaligned_be24() and sign_extend32() scsi/trace: Use get_unaligned_be24() arch/c6x/include/asm/unaligned.h | 65 +------------------- drivers/nvme/host/rdma.c | 8 --- drivers/nvme/target/rdma.c | 6 -- drivers/scsi/scsi_trace.c | 6 +- drivers/scsi/st.c | 4 +- drivers/usb/gadget/function/f_mass_storage.c | 1 + drivers/usb/gadget/function/storage_common.h | 5 -- include/linux/unaligned/be_byteshift.h | 6 +- include/linux/unaligned/generic.h | 46 ++++++++++++++ include/linux/unaligned/le_byteshift.h | 6 +- include/target/target_core_backend.h | 6 -- 11 files changed, 58 insertions(+), 101 deletions(-)