[PATCH 27/30] leon, gptimer: fixed probing separate interrupts

Chris Johns chrisj at rtems.org
Fri Apr 14 22:05:08 UTC 2017


On 14/4/17 6:48 pm, Gedare Bloom wrote:
> On Thu, Apr 13, 2017 at 11:19 PM, Chris Johns <chrisj at rtems.org> wrote:
>> On 14/4/17 5:31 am, Daniel Hellstrom wrote:
>>> From: Martin Aberg <maberg at gaisler.com>
>>>
>>> Probing of separate interrupts was done by storing the GPTIMER_CFG_SI bit. But
>>> it was never actually stored since it is bit 8 and the datatype is 8-bit. Now
>>> store the AND result as boolean value instead.
>>> ---
>>>  c/src/lib/libbsp/sparc/shared/timer/gptimer.c | 2 +-
>>>  1 file changed, 1 insertion(+), 1 deletion(-)
>>>
>>> diff --git a/c/src/lib/libbsp/sparc/shared/timer/gptimer.c b/c/src/lib/libbsp/sparc/shared/timer/gptimer.c
>>> index e701211..d26d007 100644
>>> --- a/c/src/lib/libbsp/sparc/shared/timer/gptimer.c
>>> +++ b/c/src/lib/libbsp/sparc/shared/timer/gptimer.c
>>> @@ -293,7 +293,7 @@ int gptimer_init1(struct drvmgr_dev *dev)
>>>        *  B. Each Timer have an individual IRQ. The number is:
>>>        *        BASE_IRQ + timer_index
>>>        */
>>> -     priv->separate_interrupt = regs->cfg & GPTIMER_CFG_SI;
>>> +     priv->separate_interrupt = !!(regs->cfg & GPTIMER_CFG_SI);
>>
>> Is this suppose to be not not?
>>
> The !! is a C pattern to check for a non-zero value.

Yuck.

> 
> Generally it is the same as
> (regs->cfg & GPTIMER_CFG_SI) != 0;
> 
> I would also prefer the more explicit form, since we don't use the !!
> pattern in RTEMS it is a bit confusing for someone to see and
> understand.

Yes the explicit form is much better.

Chris



More information about the devel mailing list