Re: [PATCH v7 1/5] powerpc/85xx: implement hardware timebase sync

From: Zhao Chenhui
Date: Tue Jul 03 2012 - 23:28:25 EST


On Tue, Jul 03, 2012 at 07:46:24AM -0500, Tabi Timur-B04825 wrote:
> On Tue, Jul 3, 2012 at 5:21 AM, Zhao Chenhui <chenhui.zhao@xxxxxxxxxxxxx> wrote:
>
> > + np = of_find_matching_node(NULL, mpc85xx_smp_guts_ids);
> > + if (np) {
> > + guts = of_iomap(np, 0);
> > + of_node_put(np);
> > + if (!guts) {
> > + pr_err("%s: Could not map guts node address\n",
> > + __func__);
> > + return;
> > + }
> > + smp_85xx_ops.give_timebase = mpc85xx_give_timebase;
> > + smp_85xx_ops.take_timebase = mpc85xx_take_timebase;
> > + }
>
> I had this in mind:
>
> guts = of_iomap(np, 0);
> of_node_put(np);
> if (guts) {
> smp_85xx_ops.give_timebase = mpc85xx_give_timebase;
> smp_85xx_ops.take_timebase = mpc85xx_take_timebase;
> } else {
> pr_err("%s: Could not map guts node address\n",
> __func__);
> }
>
> That way, a missing GUTS node does not break everything.
>

If the guts variable is NULL, it indicates there is error in dts or kernel.
We should fix the error, rather than ignore it.

Moreover, if smp_85xx_ops.give/take_timebase is NULL, kernel can not do the timebase sync.

-Chenhui

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/