diff options
author | Edward A. James <eajames@us.ibm.com> | 2017-03-27 20:54:16 +0300 |
---|---|---|
committer | Joel Stanley <joel@jms.id.au> | 2017-03-28 07:47:52 +0300 |
commit | 6786cab8778ba96d84d89c7aec34374b5f4f1968 (patch) | |
tree | f52902597b17b987f627f7b6f07accc0db529f51 | |
parent | e9ea27cca39262bebfbe207a345ed701a35b986b (diff) | |
download | linux-6786cab8778ba96d84d89c7aec34374b5f4f1968.tar.xz |
drivers: fsi: scom: Remove scom reset before every putscom
Reset was causing PIB I2C master issues.
Signed-off-by: Edward A. James <eajames@us.ibm.com>
Acked-by: Christopher Bostic <cbostic@linux.vnet.ibm.com>
Signed-off-by: Joel Stanley <joel@jms.id.au>
-rw-r--r-- | drivers/fsi/fsi-scom.c | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/drivers/fsi/fsi-scom.c b/drivers/fsi/fsi-scom.c index 92164677da9f..57eab1d49bc7 100644 --- a/drivers/fsi/fsi-scom.c +++ b/drivers/fsi/fsi-scom.c @@ -55,12 +55,7 @@ static int put_scom(struct scom_device *scom_dev, uint64_t value, uint32_t addr) { int rc; - uint32_t data = SCOM_RESET_CMD; - - rc = fsi_device_write(scom_dev->fsi_dev, SCOM_RESET_REG, &data, - sizeof(uint32_t)); - if (rc) - return rc; + uint32_t data; data = (value >> 32) & 0xffffffff; rc = fsi_device_write(scom_dev->fsi_dev, SCOM_DATA0_REG, &data, @@ -185,6 +180,7 @@ static const struct file_operations scom_fops = { static int scom_probe(struct device *dev) { + u32 data = SCOM_RESET_CMD; struct fsi_device *fsi_dev = to_fsi_dev(dev); struct scom_device *scom; @@ -202,6 +198,8 @@ static int scom_probe(struct device *dev) scom->mdev.parent = dev; list_add(&scom->link, &scom_devices); + fsi_device_write(fsi_dev, SCOM_RESET_REG, &data, sizeof(u32)); + return misc_register(&scom->mdev); } |