On Fri, Jul 01, 2016 at 11:04:13AM +0200, Ingo Molnar wrote:

...

> So the most robust way to define such bitfields is via a pattern like this:
> 
> enum devkmsg_log_bits {
>       __DEVKMSG_LOG_BIT_ON,
>       __DEVKMSG_LOG_BIT_OFF,
>       __DEVKMSG_LOG_BIT_LOCK,
> };
> 
> enum devkmsg_log_masks {
>       DEVKMSG_LOG_MASK_ON             = BIT(__DEVKMSG_LOG_BIT_ON),
>       DEVKMSG_LOG_MASK_OFF            = BIT(__DEVKMSG_LOG_BIT_OFF),
>       DEVKMSG_LOG_MASK_LOCK           = BIT(__DEVKMSG_LOG_BIT_LOCK),

Agreed with so far, I'd only drop the "_MASK" thing and make it even
easier on the eyes:

enum devkmsg_log_state {
        DEVKMSG_LOG_ON          = BIT(__DEVKMSG_LOG_BIT_ON),
        DEVKMSG_LOG_OFF         = BIT(__DEVKMSG_LOG_BIT_OFF),
        DEVKMSG_LOCK            = BIT(__DEVKMSG_LOG_BIT_LOCK),
};

Now this makes the checking code even more readable!

        if (devkmsg_log & DEVKMSG_LOCK) {

and

        if (devkmsg_log & DEVKMSG_LOG_OFF)

and

        if ((system_state != SYSTEM_BOOTING) && (!(devkmsg_log & 
DEVKMSG_LOG_ON)) {


And this way you can read it straight-away as english text.

:-)))

Thanks.

-- 
Regards/Gruss,
    Boris.

ECO tip #101: Trim your mails when you reply.

Reply via email to