Messages in this thread | | | Date | Tue, 27 May 2014 08:48:58 +0800 | From | "Zhu, Lejun" <> | Subject | Re: [PATCH RESEND v2 1/4] mfd: intel_soc_pmic: Core driver |
| |
On 5/26/2014 10:51 PM, Mark Brown wrote: > On Mon, May 26, 2014 at 02:01:11PM +0800, Zhu, Lejun wrote: >> On 5/24/2014 1:49 AM, Mark Brown wrote: > >>> There should also be no need to add extra locking around regmap calls, >>> the regmap API has locking as standard. > >> Actually it also protects the pmic variable, so it won't be set to NULL >> while there's ongoing read/write. > > Righ, but there is no clear need for the pmic variable to exist in the > first place. > >>> It's also not clear why this API exists at all, surely all the >>> interaction with the device happens from the core or function drivers >>> for the device which ought to be able to get a direct reference to the >>> regmap anyway and only be instantiated when one is present. > >> We created these names to hide the implementation of how read/write is >> done from other platform specific patches interacting with this driver. >> So when we change the implementation, e.g. from I2C read/write to >> regmap, we don't have to touch all these patches. > > This sort of HAL is frowned upon in the upstream kernel.
We want to do what other MFD drivers' been doing, and make it easier for the callers. A couple of similar examples are intel_msic_reg_read() and lp3943_read_byte(). We want to do the same with intel_soc_pmic_readb(), and I don't think it's too odd.
Best Regards Lejun
| |