I split the semaphore simplification work out from my first patch series [0] because as although the changes came out of that effort, in the end this set of patches are slightly orthogonal to the goal behind that series and this ended up being mostly a cleanup with mild bike shedding exercise. As revealed from the first series, there is some tribal knowledge around why some binary semaphores are not just mutexes, so we cannot just convert them all to mutex. So I've extended Peter's patch with some of that tribal knowledge. Changes on this v2: o split this series up into its own o adopt Peter's patch and extend it with some documentation as to why some folks stick to binary semaphores over mutexes o modify kmod.c to use the preferred declaration This goes boot tested. [0] https://lkml.kernel.org/r/20230329053149.3976378-1-mcgrof@kernel.orgsemaphore Luis Chamberlain (1): modules/kmod: replace implementation with a sempahore Peter Zijlstra (1): Change DEFINE_SEMAPHORE() to take a number argument arch/mips/cavium-octeon/setup.c | 2 +- arch/x86/kernel/cpu/intel.c | 2 +- drivers/firmware/efi/runtime-wrappers.c | 2 +- drivers/firmware/efi/vars.c | 2 +- drivers/macintosh/adb.c | 2 +- .../net/ethernet/broadcom/bnx2x/bnx2x_main.c | 2 +- drivers/platform/x86/intel/ifs/sysfs.c | 2 +- drivers/scsi/esas2r/esas2r_ioctl.c | 2 +- .../interface/vchiq_arm/vchiq_arm.c | 2 +- include/linux/semaphore.h | 11 ++++++-- kernel/module/kmod.c | 26 +++++-------------- kernel/printk/printk.c | 2 +- net/rxrpc/call_object.c | 6 ++--- 13 files changed, 28 insertions(+), 35 deletions(-) -- 2.39.2