Messages in this thread | | | From | Gene Chen <> | Date | Fri, 7 Aug 2020 10:16:08 +0800 | Subject | Re: [PATCH 9/9] mfd: mt6360: Merge different sub-devices I2C read/write |
| |
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?
| |