]> git.karo-electronics.de Git - karo-tx-linux.git/commit
spi/pl022: Fix chipselects pointer computation
authorRoland Stigge <stigge@antcom.de>
Mon, 3 Sep 2012 08:14:29 +0000 (10:14 +0200)
committerMark Brown <broonie@opensource.wolfsonmicro.com>
Wed, 5 Sep 2012 23:44:10 +0000 (07:44 +0800)
commitb4b8482690d97ea5421acf71e9e397fe0c5a25b8
tree79ea09077400fbe684e9ca99f516837595af80f9
parent38e271cde5ae62b0b94ff8e8e7e1e1395da7dbf5
spi/pl022: Fix chipselects pointer computation

The new chip select handling via GPIO introduced a pointer computation bug:

(int *) pl022 + sizeof(struct pl022)

doesn't point to the data immediately after the actual struct pl022 (as was
intended) but to a multiple of bytes after it because of the (int *) type.

Replacing the kludgy pointer arithmetic with managed memory allocation for the
chip selects.

Reported-by: Shiraz Hashim <shiraz.linux.kernel@gmail.com>
Signed-off-by: Roland Stigge <stigge@antcom.de>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
drivers/spi/spi-pl022.c