drivers/fsi/scom: Remove reset before every putscom
PATCH 1/1 drivers/fsi/scom: Remove reset before every putscom
From: "Edward A. James" <[email protected]>
Reset causes problems for operations requiring multiple scoms (e.g. i2c over scom). Instead, reset scom engine during probe.
Signed-off-by Edward A. James <[email protected]>
--- drivers/fsi/fsi-scom.c | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-)
drivers/fsi/fsi-scom.c +4 -6
@@ -57,12 +57,6 @@ static int put_scom(struct scom_device *scom_dev, uint64_t value,int rc;uint32_t data; - data =cpu_to_be32 (SCOM_RESET_CMD ); - rc =fsi_device_write (scom_dev->fsi_dev,SCOM_RESET_REG , &data, -sizeof (uint32_t )); -if (rc) -return rc; - data =cpu_to_be32 ((value >>32 ) &0xffffffff ); rc =fsi_device_write (scom_dev->fsi_dev,SCOM_DATA0_REG , &data,sizeof (uint32_t ));
@@ -186,6 +180,7 @@ static loff_t scom_llseek(struct file *file, loff_t offset, int whence)static int scom_probe (struct device *dev) { +uint32_t data;struct fsi_device *fsi_dev =to_fsi_dev (dev);struct scom_device *scom;
@@ -202,6 +197,9 @@ static int scom_probe(struct device *dev) scom->mdev.parent = dev;list_add (&scom->link, &scom_devices); + data =cpu_to_be32 (SCOM_RESET_CMD ); +fsi_device_write (fsi_dev,SCOM_RESET_REG , &data,sizeof (uint32_t )); +return misc_register (&scom->mdev); }
Signature · 1 line
1.8.3.1