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

Gedare Bloom gedare at rtems.org
Fri Apr 14 08:48:29 UTC 2017


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.

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.

> I prefer to see `(regs->cfg & GPTIMER_CFG_SI) == 0`.
>
> Chris
> _______________________________________________
> devel mailing list
> devel at rtems.org
> http://lists.rtems.org/mailman/listinfo/devel



More information about the devel mailing list