[PATCH v5] mfd: da9063: Support SMBus and I2C mode

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Lee,

> Code looks good to me now, thanks.
> 
> However, this doesn't look like it would pass checkpatch.
> 
> Have you tried to build with W=1 and checkpatch?

Yes, we used checkpatch.pl.

    $ ./scripts/checkpatch.pl 0001-mfd-da9063-Support-SMBus-and-I2C-mode.v5
    total: 0 errors, 0 warnings, 25 lines checked

    0001-mfd-da9063-Support-SMBus-and-I2C-mode.v5 has no obvious style problems and is ready for submission.

Using the option --strict we get a check hint that the broken line of the regmap_clear_bits() is not aligned. We tried but were not able to make the tool happy. This matches our experience with this check hint and previous patches.
 
Also compiling Linux 5.10.14 with our patch and W=1 does not yield a warning.

    $ make W=1
      CALL    scripts/checksyscalls.sh
      CALL    scripts/atomic/check-atomics.sh
      CHK     include/generated/compile.h
      CC [M]  drivers/mfd/da9063-i2c.o
      LD [M]  drivers/mfd/da9063.o
      Kernel: arch/arm/boot/Image is ready
      Kernel: arch/arm/boot/zImage is ready
      MODPOST Module.symvers
      LD [M]  drivers/mfd/da9063.ko

> > diff --git a/drivers/mfd/da9063-i2c.c b/drivers/mfd/da9063-i2c.c index
> > 3781d0bb7786..e8a022e697c5 100644
> > --- a/drivers/mfd/da9063-i2c.c
> > +++ b/drivers/mfd/da9063-i2c.c
> > @@ -442,6 +442,16 @@ static int da9063_i2c_probe(struct i2c_client *i2c,
> >  		return ret;
> >  	}
> >
> > +	/* If SMBus is not available and only I2C is possible, enter I2C mode */
> > +	if (i2c_check_functionality(i2c->adapter, I2C_FUNC_I2C)) {
> > +		ret = regmap_clear_bits(da9063->regmap,
> DA9063_REG_CONFIG_J,
> > +			  DA9063_TWOWIRE_TO);
> > +		if (ret < 0) {
> > +			dev_err(da9063->dev, "Failed to set Two-Wire Bus
> Mode.\n");
> > +			return -EIO;
> > +		}
> > +	}
> > +
> >  	return da9063_device_init(da9063, i2c->irq);  }
> >
> > diff --git a/include/linux/mfd/da9063/registers.h
> > b/include/linux/mfd/da9063/registers.h
> > index 1dbabf1b3cb8..6e0f66a2e727 100644
> > --- a/include/linux/mfd/da9063/registers.h
> > +++ b/include/linux/mfd/da9063/registers.h
> > @@ -1037,6 +1037,9 @@
> >  #define		DA9063_NONKEY_PIN_AUTODOWN	0x02
> >  #define		DA9063_NONKEY_PIN_AUTOFLPRT	0x03
> >
> > +/* DA9063_REG_CONFIG_J (addr=0x10F) */
> > +#define DA9063_TWOWIRE_TO			0x40
> > +
> >  /* DA9063_REG_MON_REG_5 (addr=0x116) */
> >  #define DA9063_MON_A8_IDX_MASK			0x07
> >  #define		DA9063_MON_A8_IDX_NONE		0x00

Cheers,
Mark




[Index of Archives]     [Linux GPIO]     [Linux SPI]     [Linux Hardward Monitoring]     [LM Sensors]     [Linux USB Devel]     [Linux Media]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux