regmap: cache Fix regcache-rbtree sync

The last register block, which falls into the specified range, is not handled
correctly. The formula which calculates the number of register which should be
synced is inverse (and off by one). E.g. if all registers in that block should
be synced only one is synced, and if only one should be synced all (but one) are
synced. To calculate the number of registers that need to be synced we need to
subtract the number of the first register in the block from the max register
number and add one. This patch updates the code accordingly.

The issue was introduced in commit ac8d91c ("regmap: Supply ranges to the sync
operations").

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Cc: stable@vger.kernel.org
Merge remote-tracking branch 'github/xcomm_zynq' into xcomm_zynq
Remove __dev* annotations

Those will be gone in upstream soon

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
arm: zynq: Do not use PHYS_OFFSET for multi platfrom kernel

CONFIG_ARM_PATCH_PHYS_VIRT is always yes that's why
CONFIG_PHYS_OFFSET is not setup anymore.

Detect where kernel runs and if runs from zero then
reserve memory which is not DMAable.

This patch also fix the problem with rootfs on MMC card
where this fault is report:
mmc0: Timeout waiting for hardware interrupt.
mmcblk0: error -110 transferring data, sector 1574716, nr 136,
 cmd response 0x900, card status 0xb00
mmcblk0: retrying using single block read

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Update usb devicetree entries

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>