[PATCH linux dev-4.7] drivers: fsi: scom: Remove scom reset before every putscom
Eddie James
eajames at linux.vnet.ibm.com
Tue Mar 28 04:54:16 AEDT 2017
From: "Edward A. James" <eajames at us.ibm.com>
Reset was causing PIB I2C master issues.
Signed-off-by: Edward A. James <eajames at us.ibm.com>
---
drivers/fsi/fsi-scom.c | 10 ++++------
1 file changed, 4 insertions(+), 6 deletions(-)
diff --git a/drivers/fsi/fsi-scom.c b/drivers/fsi/fsi-scom.c
index 9216467..57eab1d4 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);
}
--
1.8.3.1
More information about the openbmc
mailing list