The SMD driver is reading and writing chunks of data to iomem, and there's an __iowrite32_copy() function for the writing part, but no __ioread32_copy() function for the reading part. This series adds __ioread32_copy() and uses it in two places. This is a respin with some small fixes found with soaking in -next. Andrew, the patches should apply cleanly to linux-next, so I hope you can pick them up directly now, instead of the previous plan where they would go through Andy's tree. Changes from v2: * Make bcm patch actually compile * Add new patch for frv to avoid warnings Cc: Hauke Mehrtens <hauke@xxxxxxxxxx> Cc: Rafał Miłecki <zajec5@xxxxxxxxx> Cc: Paul Walmsley <paul@xxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: David Howells <dhowells@xxxxxxxxxx> Cc: linux-soc@xxxxxxxxxxxxxxx Stephen Boyd (4): frv: io: Accept const void pointers for read{b,w,l}() lib: iomap_copy: Add __ioread32_copy() soc: qcom: smd: Use __ioread32_copy() instead of open-coding it FIRMWARE: bcm47xx_nvram: Use __ioread32_copy() instead of open-coding arch/frv/include/asm/io.h | 17 ++++++++++++++--- drivers/firmware/broadcom/bcm47xx_nvram.c | 11 +++-------- drivers/soc/qcom/smd.c | 13 ++++--------- include/linux/io.h | 1 + lib/iomap_copy.c | 21 +++++++++++++++++++++ 5 files changed, 43 insertions(+), 20 deletions(-) -- The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, a Linux Foundation Collaborative Project