Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1304523

Re: [rtc-linux] [PATCH 5/6] rtc: max77620: add support for max77620/max20024 RTC driver

From Laxman Dewangan <ldewangan@nvidia.com>
Newsgroups linux.kernel
Subject Re: [rtc-linux] [PATCH 5/6] rtc: max77620: add support for max77620/max20024 RTC driver
Date 2016-01-08 14:20 +0100
Message-ID <qOF7s-7eQ-23@gated-at.bofh.it> (permalink)
References <qOk30-YY-11@gated-at.bofh.it> <qOk31-YY-53@gated-at.bofh.it> <qOuF4-8n1-13@gated-at.bofh.it> <qOCCC-5pr-39@gated-at.bofh.it> <qOEO6-6QV-27@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


On Friday 08 January 2016 06:21 PM, Mark Brown wrote:
> * PGP Signed by an unknown key
>
> On Fri, Jan 08, 2016 at 03:50:46PM +0530, Laxman Dewangan wrote:
>
>> Yaah, that is the issue on IP based PMIC system and it happen with the Maxim
>> and TI.
>> The MFD and its sub module drivers are too much couped  and hence dificult
>> to use the IP driver across PMIC. For almost all Maxim PMIC, we end up of
>> same type of RTC driver.
>> Probably, we need to enhance the mfd sub system to allow sub module driver
>> to decoupe from its APIs.
> Could you be more specific about the issues here please?  I can't think
> of any barriers and you've not mentioned any barriers...
>

I took MAX77686 and MAX77620. They are almost same IP on both PMIC and I 
think it can be used if we decouple it. Typical codes are same as 
follows: (I posted here for quick reference, excuse me if it is long).


If we get the parent device, regmap handle and interrupt number from mfd 
core independent of the PMIC (MAX77620 or MAX77686), then same driver 
can be used here.
Two way which I can think of here:

1: We need to make independent maxim RTC IP driver which may be platform 
driver and get above information from the platform data.

This way both mfd driver can pass the platform data with required 
information and decoupled.

2. Other way is that rtc driver will register as independent platform 
driver and pass the mfd dt handle to this driver. Later maxim rtc driver 
can query for getting the regmap, interrupt number etc.

Any other approach are welcome.


sample code:
************************8
Typical function from max77686:

static int max77686_rtc_set_time(struct device *dev, struct rtc_time *tm)
{
         struct max77686_rtc_info *info = dev_get_drvdata(dev);
         u8 data[RTC_NR_TIME];
         int ret;

         ret = max77686_rtc_tm_to_data(tm, data);
         if (ret < 0)
                 return ret;

         mutex_lock(&info->lock);

         ret = regmap_bulk_write(info->max77686->rtc_regmap,
                                  MAX77686_RTC_SEC, data, RTC_NR_TIME);
         if (ret < 0) {
                 dev_err(info->dev, "%s: fail to write time reg(%d)\n", 
__func__,
                                 ret);
                 goto out;
         }

         ret = max77686_rtc_update(info, MAX77686_RTC_WRITE);

out:
         mutex_unlock(&info->lock);
         return ret;
}


static int max77620_rtc_set_time(struct device *dev, struct rtc_time *tm)
{
         struct max77620_rtc *rtc = dev_get_drvdata(dev);
         struct device *parent = max77620_to_parent(rtc);
         u8 buf[RTC_NR];
         int ret;

         ret = max77620_rtc_tm_to_reg(rtc, buf, tm, 0);
         if (ret < 0)
                 return ret;

         mutex_lock(&rtc->io_lock);

         ret = max77620_reg_writes(parent, MAX77620_RTC_SLAVE, addr, 
len, vals);
         if (ret < 0) {
                 dev_err(rtc->dev, "Reg 0x%02x write failed: %d\n", 
addr, ret);
                 goto out;
         }

         ret = max77620_rtc_update_buffer(rtc, 1);

out:
         mutex_unlock(&rtc->io_lock);

         return ret;
}

Back to linux.kernel | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

[PATCH 0/6] Add support for MAXIM MAX77620/MAX20024 PMIC Laxman Dewangan <ldewangan@nvidia.com> - 2016-01-07 15:50 +0100
  [PATCH 5/6] rtc: max77620: add support for max77620/max20024 RTC driver Laxman Dewangan <ldewangan@nvidia.com> - 2016-01-07 15:50 +0100
    Re: [PATCH 5/6] rtc: max77620: add support for max77620/max20024 RTC  driver Linux Kernel <linuxkernelmails@gmail.com> - 2016-01-08 02:10 +0100
      Re: [PATCH 5/6] rtc: max77620: add support for max77620/max20024 RTC  driver Lee Jones <lee.jones@linaro.org> - 2016-01-11 06:50 +0100
        Re: [PATCH 5/6] rtc: max77620: add support for max77620/max20024 RTC driver Linus Walleij <linus.walleij@linaro.org> - 2016-01-14 10:10 +0100
    Re: [rtc-linux] [PATCH 5/6] rtc: max77620: add support for  max77620/max20024 RTC driver Krzysztof Kozlowski <k.kozlowski@samsung.com> - 2016-01-08 03:10 +0100
      Re: [rtc-linux] [PATCH 5/6] rtc: max77620: add support for max77620/max20024  RTC driver Laxman Dewangan <ldewangan@nvidia.com> - 2016-01-08 11:40 +0100
        Re: [rtc-linux] [PATCH 5/6] rtc: max77620: add support for  max77620/max20024 RTC driver Mark Brown <broonie@kernel.org> - 2016-01-08 14:00 +0100
          Re: [rtc-linux] [PATCH 5/6] rtc: max77620: add support for max77620/max20024  RTC driver Laxman Dewangan <ldewangan@nvidia.com> - 2016-01-08 14:20 +0100
            Re: [rtc-linux] [PATCH 5/6] rtc: max77620: add support for  max77620/max20024 RTC driver Mark Brown <broonie@kernel.org> - 2016-01-08 14:40 +0100
              Re: [rtc-linux] [PATCH 5/6] rtc: max77620: add support for max77620/max20024  RTC driver Laxman Dewangan <ldewangan@nvidia.com> - 2016-01-08 14:50 +0100
                Re: [rtc-linux] [PATCH 5/6] rtc: max77620: add support for max77620/max20024  RTC driver Laxman Dewangan <ldewangan@nvidia.com> - 2016-01-11 14:30 +0100
                Re: [rtc-linux] [PATCH 5/6] rtc: max77620: add support for  max77620/max20024 RTC driver Alexandre Belloni <alexandre.belloni@free-electrons.com> - 2016-01-11 17:10 +0100
                Re: [rtc-linux] [PATCH 5/6] rtc: max77620: add support for max77620/max20024  RTC driver Laxman Dewangan <ldewangan@nvidia.com> - 2016-01-11 18:20 +0100
                Re: [rtc-linux] [PATCH 5/6] rtc: max77620: add support for  max77620/max20024 RTC driver Krzysztof Kozlowski <k.kozlowski@samsung.com> - 2016-01-12 01:20 +0100
                Re: [rtc-linux] [PATCH 5/6] rtc: max77620: add support for max77620/max20024  RTC driver Laxman Dewangan <ldewangan@nvidia.com> - 2016-01-12 03:50 +0100
                Re: [rtc-linux] [PATCH 5/6] rtc: max77620: add support for  max77620/max20024 RTC driver Krzysztof Kozlowski <k.kozlowski@samsung.com> - 2016-01-12 05:00 +0100
        Re: [rtc-linux] [PATCH 5/6] rtc: max77620: add support for  max77620/max20024 RTC driver Krzysztof Kozlowski <k.kozlowski@samsung.com> - 2016-01-08 14:10 +0100
          Re: [rtc-linux] [PATCH 5/6] rtc: max77620: add support for max77620/max20024  RTC driver Laxman Dewangan <ldewangan@nvidia.com> - 2016-01-08 14:30 +0100
  [PATCH 6/6] regulator: max77620: add regulator driver for max77620/max20024 Laxman Dewangan <ldewangan@nvidia.com> - 2016-01-07 16:00 +0100
    Re: [PATCH 6/6] regulator: max77620: add regulator driver for  max77620/max20024 Mark Brown <broonie@kernel.org> - 2016-01-10 13:50 +0100
      Re: [PATCH 6/6] regulator: max77620: add regulator driver for max77620/max20024 Laxman Dewangan <ldewangan@nvidia.com> - 2016-01-11 11:30 +0100
  [PATCH 1/6] DT: mfd: add device-tree binding doc fro PMIC max77620/max20024 Laxman Dewangan <ldewangan@nvidia.com> - 2016-01-07 16:00 +0100
    Re: [PATCH 1/6] DT: mfd: add device-tree binding doc fro PMIC  max77620/max20024 Rob Herring <robh@kernel.org> - 2016-01-08 00:20 +0100
      Re: [PATCH 1/6] DT: mfd: add device-tree binding doc fro PMIC max77620/max20024 Laxman Dewangan <ldewangan@nvidia.com> - 2016-01-08 07:20 +0100
        Re: [PATCH 1/6] DT: mfd: add device-tree binding doc fro PMIC max77620/max20024 Rob Herring <robh@kernel.org> - 2016-01-08 15:30 +0100
  Re: [rtc-linux] [PATCH 2/6] mfd: max77620: add core driver for MAX77620/MAX20024 Laxman Dewangan <ldewangan@nvidia.com> - 2016-01-08 10:30 +0100
    Re: [rtc-linux] [PATCH 2/6] mfd: max77620: add core driver for  MAX77620/MAX20024 Krzysztof Kozlowski <k.kozlowski@samsung.com> - 2016-01-08 14:20 +0100
      Re: [rtc-linux] [PATCH 2/6] mfd: max77620: add core driver for MAX77620/MAX20024 Laxman Dewangan <ldewangan@nvidia.com> - 2016-01-08 14:30 +0100
        Re: [rtc-linux] [PATCH 2/6] mfd: max77620: add core driver for MAX77620/MAX20024 Krzysztof Kozlowski <k.kozlowski@samsung.com> - 2016-01-08 14:40 +0100
  Re: [rtc-linux] [PATCH 2/6] mfd: max77620: add core driver for  MAX77620/MAX20024 Lee Jones <lee.jones@linaro.org> - 2016-01-11 06:50 +0100
    Re: [rtc-linux] [PATCH 2/6] mfd: max77620: add core driver for  MAX77620/MAX20024 Krzysztof Kozlowski <k.kozlowski@samsung.com> - 2016-01-11 07:30 +0100
      Re: [rtc-linux] [PATCH 2/6] mfd: max77620: add core driver for  MAX77620/MAX20024 Lee Jones <lee.jones@linaro.org> - 2016-01-11 10:10 +0100

csiph-web