lkml.org 
[lkml]   [2012]   [Nov]   [23]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
Date
SubjectRE: [Patch v3 3/7] rtc: DA9055 RTC driver
> -----Original Message-----
> From: linux-kernel-owner@vger.kernel.org [mailto:linux-kernel-
> owner@vger.kernel.org] On Behalf Of Ashish Jangam
> Sent: Friday, November 23, 2012 3:41 PM
> To: akpm@linux-foundation.org
> Cc: linux-kernel@vger.kernel.org; sameo@linux.intel.com;
> p_gortmaker@yahoo.com; dchen@diasemi.com; rtc-
> linux@googlegroups.com; Alessandro Zummo
> Subject: Re: [Patch v3 3/7] rtc: DA9055 RTC driver
>
> Any comments on this patch.
> On Tue, 2012-10-23 at 15:33 +0530, Ashish Jangam wrote:
> > Does this patch looks good?
> > On Thu, 2012-10-11 at 16:10 +0530, Ashish Jangam wrote:
> > > This is the RTC patch for the DA9055 PMIC. This patch has got
> dependency on
> > > the DA9055 MFD core.
> > >
> > > This patch is functionally tested on Samsung SMDKV6410.
> > >
> > > Signed-off-by: David Dajun Chen <dchen@diasemi.com>
> > > Signed-off-by: Ashish Jangam <ashish.jangam@kpitcummins.com>
> > > ---
> > > changes since version v3:
> > > - use of module_platform_driver macro
> > > - add the regmap virtual irq map API.
> > > changes since version v2:
> > > - Use of devm_request_threaded_irq API
> > > ---
> > > drivers/rtc/Kconfig | 10 +
> > > drivers/rtc/Makefile | 1 +
> > > drivers/rtc/rtc-da9055.c | 413
> ++++++++++++++++++++++++++++++++++++++++++++++
> > > 3 files changed, 424 insertions(+), 0 deletions(-)
> > > mode change 100644 => 100755 drivers/rtc/Kconfig
> > > create mode 100644 drivers/rtc/rtc-da9055.c
> > >

> > > +static int da9055_set_alarm(struct da9055 *da9055, struct rtc_time
> *rtc_tm)
> > > +{
> > > + int ret;
> > > + uint8_t v[2];
> > > +
> > > + rtc_tm->tm_year -= 100;
> > > + rtc_tm->tm_mon += 1;
> > > +
> > > + ret = da9055_reg_update(da9055, DA9055_REG_ALARM_MI,
> > > + DA9055_RTC_ALM_MIN, rtc_tm->tm_min);
> > > + if (ret != 0) {
> > > + dev_err(da9055->dev, "Failed to write ALRM MIN: %d\n",
> ret);
> > > + return ret;
> > > + }
> > > +
> > > + v[0] = rtc_tm->tm_hour;
> > > + v[1] = rtc_tm->tm_mday;
> > > +
> > > + ret = da9055_group_write(da9055, DA9055_REG_ALARM_H, 2, v);

Why don't you write all registers at once using single multi byte
write command as you already used in da9055_rtc_set_time() ?

> > > + if (ret < 0)
> > > + return ret;
> > > +
> > > + ret = da9055_reg_update(da9055, DA9055_REG_ALARM_MO,
> > > + DA9055_RTC_ALM_MONTH, rtc_tm-
> >tm_mon);
> > > + if (ret < 0)
> > > + dev_err(da9055->dev, "Failed to write ALM Month:%d\n",
> ret);

> > > +
> > > +static int da9055_rtc_set_time(struct device *dev, struct rtc_time *tm)
> > > +{
> > > + struct da9055_rtc *rtc;
> > > + uint8_t v[6];
> > > +
> > > + rtc = dev_get_drvdata(dev);
> > > +
> > > + v[0] = tm->tm_sec;
> > > + v[1] = tm->tm_min;
> > > + v[2] = tm->tm_hour;
> > > + v[3] = tm->tm_mday;
> > > + v[4] = tm->tm_mon + 1;
> > > + v[5] = tm->tm_year - 100;
> > > +
> > > + return da9055_group_write(rtc->da9055, DA9055_REG_COUNT_S, 6,
> v);
> > > +}
> > > +
\
 
 \ /
  Last update: 2012-11-23 12:41    [W:0.236 / U:0.152 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site