[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <0604781786e540b5baa98a07d0809c92@BY2PR03MB505.namprd03.prod.outlook.com>
Date: Fri, 18 Apr 2014 03:47:22 +0000
From: "Li.Xiubo@...escale.com" <Li.Xiubo@...escale.com>
To: Daniel Lezcano <daniel.lezcano@...aro.org>,
"tglx@...utronix.de" <tglx@...utronix.de>,
"shawn.guo@...aro.org" <shawn.guo@...aro.org>,
Jingchang Lu <jingchang.lu@...escale.com>,
"Jason.Jin@...escale.com" <Jason.Jin@...escale.com>,
"Dongsheng.Wang@...escale.com" <Dongsheng.Wang@...escale.com>
CC: "devicetree@...r.kernel.org" <devicetree@...r.kernel.org>,
"linux-arm-kernel@...ts.infradead.org"
<linux-arm-kernel@...ts.infradead.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>
Subject: RE: [RFC][PATCH 3/3] clocksource: Add Freescale FlexTimer Module
(FTM) timer support
> > Here using the FTM0 as clock event device and the FTM1 as clock
> > source device.
>
> As it is a new driver, please add a more elaborated description of the
> timer.
>
Please see the next version.
> > +#include <linux/clk.h>
> > +#include <linux/clockchips.h>
> > +#include <linux/clocksource.h>
> > +#include <linux/err.h>
> > +#include <linux/interrupt.h>
> > +#include <linux/io.h>
> > +#include <linux/kernel.h>
> > +#include <linux/module.h>
> > +#include <linux/of_address.h>
> > +#include <linux/of_irq.h>
> > +#include <linux/sched_clock.h>
>
> Could you check all these headers are effectively needed ?
>
Yes, I will.
> > +#define FTM_OFFSET(n) (0x1000 * n)
> > +
> > +#define FTM_SC 0x00
> > +#define FTM_SC_CLK_SHIFT 3
> > +#define FTM_SC_CLK_MASK (0x3 << FTM_SC_CLK_SHIFT)
> > +#define FTM_SC_CLK(c) ((c) << FTM_SC_CLK_SHIFT)
> > +#define FTM_SC_PS_MASK 0x7
> > +#define FTM_SC_TOIE BIT(6)
> > +#define FTM_SC_TOF BIT(7)
> > +
> > +#define FTM_CNT 0x04
> > +#define FTM_MOD 0x08
> > +
> > +#define FTM_CSC_BASE 0x0C
> > +#define FTM_CSC_MSB BIT(5)
> > +#define FTM_CSC_MSA BIT(4)
> > +#define FTM_CSC_ELSB BIT(3)
> > +#define FTM_CSC_ELSA BIT(2)
> > +
> > +#define FTM_CV_BASE 0x10
> > +#define FTM_CNTIN 0x4C
> > +#define FTM_STATUS 0x50
> > +
> > +#define FTM_MODE 0x54
> > +#define FTM_MODE_FTMEN BIT(0)
> > +#define FTM_MODE_WPDIS BIT(2)
> > +#define FTM_MODE_PWMSYNC BIT(3)
> > +
> > +#define FTM_SYNC 0x58
> > +#define FTM_OUTINIT 0x5C
> > +#define FTM_OUTMASK 0x60
> > +#define FTM_COMBINE 0x64
> > +#define FTM_DEADTIME 0x68
> > +#define FTM_EXTTRIG 0x6C
> > +#define FTM_POL 0x70
> > +#define FTM_FMS 0x74
> > +#define FTM_FILTER 0x78
> > +#define FTM_FLTCTRL 0x7C
> > +#define FTM_QDCTRL 0x80
> > +#define FTM_CONF 0x84
> > +#define FTM_FLTPOL 0x88
> > +#define FTM_SYNCONF 0x8C
> > +#define FTM_INVCTRL 0x90
> > +#define FTM_SWOCTRL 0x94
> > +#define FTM_PWMLOAD 0x98
>
> Please remove the unused macros.
>
Okay.
> > +
> > + freq = clk_get_rate(ftm_clk);
> > +
> > + calc_closest_cound_cyc(freq);
> > +
> > + BUG_ON(ftm_clocksource_init(freq));
> > +
> > + BUG_ON(ftm_clockevent_init(freq, irq));
> > +}
> > +CLOCKSOURCE_OF_DECLARE(vf610, "fsl,vf610-ftm-timer", ftm_timer_init);
>
>
> I am not a big fan of those BUG_ON every line. Could you please replace
> it by dev_err().
>
> That is also not in the logic of a single zImage.
>
Yes, if so, I will revise this.
Thanks,
BRs
Xiubo
Powered by blists - more mailing lists