[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <alpine.DEB.2.11.1508262052260.15006@nanos>
Date: Wed, 26 Aug 2015 20:54:21 +0200 (CEST)
From: Thomas Gleixner <tglx@...utronix.de>
To: Shenwei Wang <Shenwei.Wang@...escale.com>
cc: "shawn.guo@...aro.org" <shawn.guo@...aro.org>,
"jason@...edaemon.net" <jason@...edaemon.net>,
"sudeep.holla@....com" <sudeep.holla@....com>,
"linux-arm-kernel@...ts.infradead.org"
<linux-arm-kernel@...ts.infradead.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
Huang Anson <Anson.Huang@...escale.com>
Subject: RE: [PATCH 1/1] irqchip: imx-gpcv2: Simplify the implemenation
On Wed, 26 Aug 2015, Shenwei Wang wrote:
> > From: Thomas Gleixner [mailto:tglx@...utronix.de]
> > > + cd = imx_gpcv2_instance;
> > > + if (!cd)
> > > return 0;
> > >
> > > + for (i = 0; i < IMR_NUM; i++) {
> > > + reg = cd->gpc_base + cd->cpu2wakeup + i * 4;
> > > + cd->wakeup_sources[i] = readl_relaxed(reg);
> > > + }
> > > +
> > > if (sources)
> > > - *sources = imx_gpcv2_instance->wakeup_sources;
> > > + *sources = cd->wakeup_sources;
> > >
> > > return IMR_NUM;
> >
> > You do not need the intermediate storage at all.
> >
> > u32 imx_gpcv2_get_wakeup_source(u32 *sources) {
> > if (sources) {
> > for (i = 0; i < IMR_NUM; i++) {
> > reg = cd->gpc_base + cd->cpu2wakeup + i * 4;
> > sources[i] = readl_relaxed(reg);
> > }
> > }
> > ....
>
> Using the intermediate storage here can make the caller a little easier,
> because the caller does not need to malloc the memory before the call.
> Especially the caller does not even know how many memory to allocate
> In the beginning.
Fair enough, but why do you need that case where sources can be NULL
just to return IMR_NUM?
Thanks,
tglx
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists