[PATCH linux dev-4.7] drivers: fsi: scom: Remove scom reset before every putscom
Christopher Bostic
cbostic at linux.vnet.ibm.com
Tue Mar 28 05:05:16 AEDT 2017
On 3/27/17 12:54 PM, Eddie James wrote:
> 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);
> }
>
Looks good to me.
Acked by Christopher Bostic <cbostic at linux.vnet.ibm.com>
More information about the openbmc
mailing list