On 12.01.2016 02:07, Laxman Dewangan wrote:
On Monday 11 January 2016 09:34 PM, Alexandre Belloni wrote:Lexman,
On 11/01/2016 at 18:47:34 +0530, Laxman Dewangan wrote :
On Friday 08 January 2016 07:06 PM, Laxman Dewangan wrote:
On Friday 08 January 2016 07:06 PM, Mark Brown wrote:I came with one of issue when doing this.
* PGP Signed by an unknown keyI think it should work with named regmap. mfd whould init regmap
On Fri, Jan 08, 2016 at 06:34:29PM +0530, Laxman Dewangan wrote:
If we get the parent device, regmap handle and interrupt number fromParent device is just dev->parent, you can use dev_get_regmap() to
mfd
core independent of the PMIC (MAX77620 or MAX77686), then same driver
can be
used here.
Two way which I can think of here:
get a
regmap given a struct device and you can use platform resources to
pass
the interrupts to the children from the MFD (there's some examples,
wm831x is one).
with name
and rtc driver should ask with same name.
I saw three drivers which looks same:
rtc-max77620.c (new from me) and already available rtc-max77686.c,
rtc-max77802.c
Seems I can develop IP based rtc driver as rtc-max77xxx.c
The RTC driver parent is not the same parent for which i2c slave
address get
registered.
There is two slave address from max77620, 0x3C (for general) and 0x68
for
RTC.
In max77620 mfd driver, we make dummy i2c client for 0x68 and initialize
regmap with this address.
Now on mfd_add_devices, we pass the device for 0x3c and hence the RTC
driver
treat the parent as the 0x3c device but actually it should be 0x68 to
get
the proper regmap.
Two approach:
1. If we add the option to pass parent_dev when adding cells form
mfd_add_devices and select the parent device based on this option
then it
can be easily handle.
Add parent_dev structure in struct mfd_cell and then change the
parent
in mfd_add_device() if cells has parent device.
2. Register the RTC driver with different mfd_add_devices with dummy i2c
client device.
So two times mfd_add_devices.
I don't quite get the problem. This looks exactly the same as for
max77686. What is the difference? I don't see any need to change the
mfd_cell for current drivers...