arch/powerpc/include/asm/swab.h includes some powerpc specific byteswapping functions, which are implemented in terms of powerpc's built in byte reversed load/store instructions. There are two problems with this:
1) They're not necessary - gcc is perfectly capable of generating the byte-reversed load and store instructions when using the normal, generic byteswapping functions (tested with gcc (GCC) 4.8.3 20140911 (Red Hat 4.8.3-9)) 2) They've become poorly named. The ld_le*() and st_le*() functions in fact *always* byteswap, even in a little-endian powerpc kernel build, in which case they'll actually be performing BE accesses. This series removes the existing users of these arch-specific functions, replacing them with calls to the generic byteswappers. 5/5 then removes the function definitions. I've compile tested this series with pmac32_defconfig, mpc512x_defconfig and ppc64_defconfig, and also those configs tweaked to explicitly enable the BT8XX and MXC MMC drivers where possible. I've tested the KVM patch (4/5) with both BE and LE guests, however I don't have hardware to do any real testing of the drivers affected in 1..3/5. David Gibson (5): powerpc: Move Power Macintosh drivers to generic byteswappers powerpc: Remove powerpc specific byteswap from bt8xx DVB driver powerpc: Remove arch specific byteswappers from the MXC MMC driver powerpc: Cleanup KVM emulated load/store endian handling powerpc: Remove unused st_le*() and ld_le* functions arch/powerpc/include/asm/dbdma.h | 12 ++++---- arch/powerpc/include/asm/kvm_host.h | 2 +- arch/powerpc/include/asm/swab.h | 26 ----------------- arch/powerpc/include/asm/vga.h | 4 +-- arch/powerpc/kvm/powerpc.c | 38 ++++++++++++------------ drivers/ata/pata_macio.c | 10 +++---- drivers/block/swim3.c | 12 ++++---- drivers/ide/pmac.c | 10 +++---- drivers/macintosh/rack-meter.c | 30 +++++++++---------- drivers/media/pci/bt8xx/bt878.h | 4 +-- drivers/mmc/host/mxcmmc.c | 2 +- drivers/net/ethernet/apple/bmac.c | 30 +++++++++---------- drivers/net/ethernet/apple/mace.c | 44 ++++++++++++++-------------- drivers/scsi/mac53c94.c | 10 +++---- drivers/scsi/mesh.c | 14 ++++----- drivers/video/fbdev/controlfb.c | 2 +- drivers/video/fbdev/platinumfb.c | 2 +- sound/ppc/pmac.c | 58 ++++++++++++++++++------------------- 18 files changed, 141 insertions(+), 169 deletions(-) -- 2.1.0 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/