Re: [PATCH 9/9] mfd: mt6360: Merge different sub-devices I2C read/write

Lee Jones
2020-08-10T07:08:49Z

On Fri, 07 Aug 2020, Gene Chen wrote:

> Mark Brown <broonie@kernel.org> 於 2020年8月6日 週四 下午8:13寫道：
> >
> > On Thu, Aug 06, 2020 at 11:30:56AM +0800, Gene Chen wrote:
> > > Mark Brown <broonie@kernel.org> 於 2020年8月6日 週四 上午12:10寫道：
> >
> > > > It's not clear why this isn't just done in the device regmap, there's
> > > > exactly one user?
> >
> > > because I use one regmap to access 4 I2C devices,
> >
> > There appears to be only one device here?
> >
> > > I need change the regmap_bus struct to fit I2C read/write with CRC bit
> > > Therefore, MFD reviewer suggests I can move the regmap api to regmap
> > > folder such as regmap-ac97.c
> >
> > AC'97 is an industry standard bus used by a range of devices in
> > different subsystems. You can already have custom operations for a
> > device just in a regular regmap using the reg_read() and reg_write()
> > operations which are there so devices that individual device support
> > doesn't need to be added to the regmap core.
> >
>
> I need use regmap_raw_read to access MT6360 TYPEC part, so we need
> implement bus read control
>
> > You really also need to write a much clearer changelog, I would be hard
> > pressed to tell from the changelog that this was moving things to the
> > regmap core rather than shuffling regmaps within the device.
>
> MT6360 has 4 I2C worker devices
> First, I increase reg_bits from 8 to 16 bits.
> Higher 8 bits, bank, indicated which worker device I want access
> Then, if worker devices is PMIC or LDO part, I need calculate or check
> CRC8 bits when we write or read data.
> CRC8 bits is calculated by 3 parts.
> 1'st part include 1 byte is worker address and R/W in LSB.
> 2'nd part include 1 byte is register address
> 3'nd part include written data or read data from MT6360
> I also need 1 dummy byte when write data
>
> @Lee Jones,
> I found out drivers/iio/chemical/bme680_spi.c implement their own
> regmap_bus too.
> Can I move regmap control back to mt6360-core.c?

Yes, if that is the 'done thing'.

--
Lee Jones [李琼斯]
Senior Technical Lead - Developer Services
Linaro.org │ Open source software for Arm SoCs
Follow Linaro: Facebook | Twitter | Blog