Re: [PATCH v7 1/5] powerpc/85xx: implement hardware timebase sync
From: Zhao Chenhui <hidden>
Date: 2012-07-04 03:28:27
Also in:
lkml
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 [off-list ref] wrote:quoted
+ 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