summaryrefslogtreecommitdiff
path: root/drivers/spi
diff options
context:
space:
mode:
authorHerton Ronaldo Krzesinski <herton.krzesinski@canonical.com>2012-05-11 15:29:50 -0700
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2012-06-01 15:18:25 +0800
commit4e799d5e79f04b8099c1bd2ff9dc047d3fefd2c1 (patch)
tree2d833204305d8b1b746a3f728284cb65eb46112d /drivers/spi
parentdc9f6719d012a955d3e87f720c8ed9d03f2b9020 (diff)
downloadlinux-3.10-4e799d5e79f04b8099c1bd2ff9dc047d3fefd2c1.tar.gz
linux-3.10-4e799d5e79f04b8099c1bd2ff9dc047d3fefd2c1.tar.bz2
linux-3.10-4e799d5e79f04b8099c1bd2ff9dc047d3fefd2c1.zip
spi/spi-fsl-spi: reference correct pdata in fsl_spi_cs_control
commit 067aa4815a9bc12a569d8a06afef50ba5773afbf upstream. Commit 178db7d3, "spi: Fix device unregistration when unregistering the bus master", changed spi device initialization of dev.parent pointer to be the master's device pointer instead of his parent. This introduced a bug in spi-fsl-spi, since its usage of spi device pointer was not updated accordingly. This was later fixed by commit 5039a86, "spi/mpc83xx: fix NULL pdata dereference bug", but it missed another spot on fsl_spi_cs_control function where we also need to update usage of spi device pointer. This change address that. Signed-off-by: Herton Ronaldo Krzesinski <herton.krzesinski@canonical.com> Acked-by: Joakim Tjernlund <Joakim.Tjernlund@transmode.se> Signed-off-by: Grant Likely <grant.likely@secretlab.ca> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/spi')
-rw-r--r--drivers/spi/spi-fsl-spi.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/spi/spi-fsl-spi.c b/drivers/spi/spi-fsl-spi.c
index 5f748c0d96b..6a62934ca74 100644
--- a/drivers/spi/spi-fsl-spi.c
+++ b/drivers/spi/spi-fsl-spi.c
@@ -933,7 +933,7 @@ err:
static void fsl_spi_cs_control(struct spi_device *spi, bool on)
{
- struct device *dev = spi->dev.parent;
+ struct device *dev = spi->dev.parent->parent;
struct mpc8xxx_spi_probe_info *pinfo = to_of_pinfo(dev->platform_data);
u16 cs = spi->chip_select;
int gpio = pinfo->gpios[cs];