March 29, 2017
11:57 p.m.
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)