On Fri, Oct 02, 2015 at 05:37:51PM +0100, Marc Zyngier wrote:
> +static inline bool gic_enable_sre(void)
> +{
> +     u64 val;
> +
> +     asm volatile("mrs_s %0, " __stringify(ICC_SRE_EL1) : "=r" (val));
> +     if (val & ICC_SRE_EL1_SRE)
> +             return true;
> +
> +     val |= ICC_SRE_EL1_SRE;
> +     asm volatile("msr_s " __stringify(ICC_SRE_EL1) ", %0" : : "r" (val));
> +     isb();
> +     asm volatile("mrs_s %0, " __stringify(ICC_SRE_EL1) : "=r" (val));
> +
> +     return !!(val & ICC_SRE_EL1_SRE);
> +}

I don't think !! is needed ;). Apparently, from ISO C99: "When any
scalar value is converted to _Bool, the result is 0 if the value
compares equal to 0; otherwise, the result is 1."

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

Reply via email to