diff mbox

[linux,dev-4.7] drivers: fsi: scom: Remove scom reset before every putscom

Message ID 1490637256-10584-1-git-send-email-eajames@linux.vnet.ibm.com
State Accepted, archived
Headers show

Commit Message

Eddie James March 27, 2017, 5:54 p.m. UTC
From: "Edward A. James" <eajames@us.ibm.com>

Reset was causing PIB I2C master issues.

Signed-off-by: Edward A. James <eajames@us.ibm.com>
---
 drivers/fsi/fsi-scom.c | 10 ++++------
 1 file changed, 4 insertions(+), 6 deletions(-)

Comments

Christopher Bostic March 27, 2017, 6:05 p.m. UTC | #1
On 3/27/17 12:54 PM, Eddie James wrote:
> From: "Edward A. James" <eajames@us.ibm.com>
>
> Reset was causing PIB I2C master issues.
>
> Signed-off-by: Edward A. James <eajames@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);
>   }
>
Looks good to me.

Acked by Christopher Bostic <cbostic@linux.vnet.ibm.com>
Joel Stanley March 28, 2017, 5:07 a.m. UTC | #2
On Tue, Mar 28, 2017 at 4:35 AM, Christopher Bostic
<cbostic@linux.vnet.ibm.com> wrote:
>
>
> On 3/27/17 12:54 PM, Eddie James wrote:
>>
>> From: "Edward A. James" <eajames@us.ibm.com>
>>
>> Reset was causing PIB I2C master issues.
>>
>> Signed-off-by: Edward A. James <eajames@us.ibm.com>

> Looks good to me.
>
> Acked by Christopher Bostic <cbostic@linux.vnet.ibm.com>
>

For patchwork to recognise your review, it needs to be in the form
"Acked-by: ". Otherwise it ignores it.

I fixed it up for you this time.

Applied to dev-4.7.

Cheers,

Joel
diff mbox

Patch

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);
 }