0 bit shift

valdis.kletnieks at vt.edu valdis.kletnieks at vt.edu
Wed Mar 29 19:57:50 EDT 2017


On Thu, 30 Mar 2017 09:59:44 +1100, "Tobin C. Harding" said:
> What is the reason for the zero bit shift in this code please?
>
> #define SDIO_STATE_PRESENT	(1<<0)		/* present in sysfs */
>
> file: include/linux/mmc/sdio_func.h

Most likely, to indicate that it's a bitmask in the 'unsigned int state'
in the line above, rather than an integer.

See the other 2 uses of the flag in-tree:

[/usr/src/linux-next] git grep SDIO_STATE_PRESENT
include/linux/mmc/sdio_func.h:#define SDIO_STATE_PRESENT        (1<<0)          /* present in sysfs */
include/linux/mmc/sdio_func.h:#define sdio_func_present(f)      ((f)->state & SDIO_STATE_PRESENT)
include/linux/mmc/sdio_func.h:#define sdio_func_set_present(f) ((f)->state |= SDIO_STATE_PRESENT)

-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 484 bytes
Desc: not available
Url : http://lists.kernelnewbies.org/pipermail/kernelnewbies/attachments/20170329/afc9f5c4/attachment.bin 


More information about the Kernelnewbies mailing list