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

Gedare Bloom gedare at rtems.org
Sat Apr 15 00:51:30 UTC 2017


On Fri, Apr 14, 2017 at 6:05 PM, Chris Johns <chrisj at rtems.org> wrote:
> 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

I have added a new rule to the coding conventions.



More information about the devel mailing list