linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* Need APIs to add regmap in dev
@ 2016-01-13 18:57 Laxman Dewangan
  2016-01-14  1:08 ` Krzysztof Kozlowski
  0 siblings, 1 reply; 3+ messages in thread
From: Laxman Dewangan @ 2016-01-13 18:57 UTC (permalink / raw)
  To: Mark Brown; +Cc: Krzysztof Kozlowski, LKML

Hi Mark,
when working on unification of Max77620, MAX77686 RTC driver, I came to 
need of APIs from regmap to add the device  as devres.

int dev_add_regmap(dev, regmap);

This will add the regmap in the dev resource of device. This will help 
to get the regmap handle from device using dev_get_regmap(). This APIs 
will be different from the regmap_attach_dev() where map->dev is moved 
to new device.

The requirement came from multiple i2c slave address device like MAX77620.
MAX77620 has 2 i2c address 0x3C and 0x68. 0x68 is for RTC IP block.
we register device with 0x3C and create dummy i2c client for 0x68 inside 
driver.
We create two regmap, one from 0x3C i2c client as rmap_0x3c and other 
from 0x68 i2c dummy client rmap_0x68.

Now in RTC driver(mfd device), we have the parent device as dev_0x3c.
When we try to get the regmap handle, we only get one regmap per device 
as we register regmap with different devices.

If I had above API then I can add the rmap_0x68 in the dev_0x3c as 
dev_res. By this I can have two regmap list on dev_0x3c and get rmap 
handle by dev_get_regmap(dev_0x3c, "pmic-slave") and 
dev_get_regmap(dev_0x3c, "rtc-slave");


I like to know your comment on this approach to add the regmap on 
different device resource.

Thanks,
Laxman

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: Need APIs to add regmap in dev
  2016-01-13 18:57 Need APIs to add regmap in dev Laxman Dewangan
@ 2016-01-14  1:08 ` Krzysztof Kozlowski
  2016-01-14 11:47   ` Laxman Dewangan
  0 siblings, 1 reply; 3+ messages in thread
From: Krzysztof Kozlowski @ 2016-01-14  1:08 UTC (permalink / raw)
  To: Laxman Dewangan, Mark Brown; +Cc: LKML

On 14.01.2016 03:57, Laxman Dewangan wrote:
> Hi Mark,
> when working on unification of Max77620, MAX77686 RTC driver, I came to
> need of APIs from regmap to add the device  as devres.
> 
> int dev_add_regmap(dev, regmap);
> 
> This will add the regmap in the dev resource of device. This will help
> to get the regmap handle from device using dev_get_regmap(). This APIs
> will be different from the regmap_attach_dev() where map->dev is moved
> to new device.
> 
> The requirement came from multiple i2c slave address device like MAX77620.
> MAX77620 has 2 i2c address 0x3C and 0x68. 0x68 is for RTC IP block.
> we register device with 0x3C and create dummy i2c client for 0x68 inside
> driver.
> We create two regmap, one from 0x3C i2c client as rmap_0x3c and other
> from 0x68 i2c dummy client rmap_0x68.
> 
> Now in RTC driver(mfd device), we have the parent device as dev_0x3c.
> When we try to get the regmap handle, we only get one regmap per device
> as we register regmap with different devices.
> 
> If I had above API then I can add the rmap_0x68 in the dev_0x3c as
> dev_res. By this I can have two regmap list on dev_0x3c and get rmap
> handle by dev_get_regmap(dev_0x3c, "pmic-slave") and
> dev_get_regmap(dev_0x3c, "rtc-slave");
> 
> 
> I like to know your comment on this approach to add the regmap on
> different device resource.


As I pointed on previous discussions (e.g.
https://lkml.org/lkml/2016/1/11/1158 ) the child should be responsible
for its I2C dummy device and regmap. You ignored that idea previously -
dunno why.

Just don't create the RTC regmap in parent MFD. Let the child manage its
resources. That is the real decoupling.

BR,
Krzysztof

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: Need APIs to add regmap in dev
  2016-01-14  1:08 ` Krzysztof Kozlowski
@ 2016-01-14 11:47   ` Laxman Dewangan
  0 siblings, 0 replies; 3+ messages in thread
From: Laxman Dewangan @ 2016-01-14 11:47 UTC (permalink / raw)
  To: Krzysztof Kozlowski, Mark Brown; +Cc: LKML


On Thursday 14 January 2016 06:38 AM, Krzysztof Kozlowski wrote:
> On 14.01.2016 03:57, Laxman Dewangan wrote:
>> Hi Mark,
>> when working on unification of Max77620, MAX77686 RTC driver, I came to
>> need of APIs from regmap to add the device  as devres.
>>
>> int dev_add_regmap(dev, regmap);
>>
>> This will add the regmap in the dev resource of device. This will help
>> to get the regmap handle from device using dev_get_regmap(). This APIs
>> will be different from the regmap_attach_dev() where map->dev is moved
>> to new device.
>>
>> The requirement came from multiple i2c slave address device like MAX77620.
>> MAX77620 has 2 i2c address 0x3C and 0x68. 0x68 is for RTC IP block.
>> we register device with 0x3C and create dummy i2c client for 0x68 inside
>> driver.
>> We create two regmap, one from 0x3C i2c client as rmap_0x3c and other
>> from 0x68 i2c dummy client rmap_0x68.
>>
>> Now in RTC driver(mfd device), we have the parent device as dev_0x3c.
>> When we try to get the regmap handle, we only get one regmap per device
>> as we register regmap with different devices.
>>
>> If I had above API then I can add the rmap_0x68 in the dev_0x3c as
>> dev_res. By this I can have two regmap list on dev_0x3c and get rmap
>> handle by dev_get_regmap(dev_0x3c, "pmic-slave") and
>> dev_get_regmap(dev_0x3c, "rtc-slave");
>>
>>
>> I like to know your comment on this approach to add the regmap on
>> different device resource.
>
> As I pointed on previous discussions (e.g.
> https://lkml.org/lkml/2016/1/11/1158 ) the child should be responsible
> for its I2C dummy device and regmap. You ignored that idea previously -
> dunno why.

One of discussion, Mark suggested to use dev_get_regmap() and explored 
to get both regmap handle via this call. That's why did not routed to 
create one regmap in mfd and other regmap in the rtc driver.

>
> Just don't create the RTC regmap in parent MFD. Let the child manage its
> resources. That is the real decoupling.

This is also very possible to handle everything on RTC driver.
Will try this route now.

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2016-01-14 11:57 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-01-13 18:57 Need APIs to add regmap in dev Laxman Dewangan
2016-01-14  1:08 ` Krzysztof Kozlowski
2016-01-14 11:47   ` Laxman Dewangan

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).