Change DEFINE_SEMAPHORE() to take a number argument
authorPeter Zijlstra <peterz@infradead.org>
Wed, 29 Mar 2023 10:14:42 +0000 (12:14 +0200)
committerLuis Chamberlain <mcgrof@kernel.org>
Tue, 18 Apr 2023 18:15:24 +0000 (11:15 -0700)
commit48380368dec14859723b9e3fbd43e042638d9a76
tree9101bd4621e4516b4f84e9c7dda87cb71487ba7a
parent430bb0d1c3376c988982f14bcbe71f917c89e1ab
Change DEFINE_SEMAPHORE() to take a number argument

Fundamentally semaphores are a counted primitive, but
DEFINE_SEMAPHORE() does not expose this and explicitly creates a
binary semaphore.

Change DEFINE_SEMAPHORE() to take a number argument and use that in the
few places that open-coded it using __SEMAPHORE_INITIALIZER().

Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
[mcgrof: add some tribal knowledge about why some folks prefer
 binary sempahores over mutexes]
Reviewed-by: Sergey Senozhatsky <senozhatsky@chromium.org>
Reviewed-by: Davidlohr Bueso <dave@stgolabs.net>
Signed-off-by: Luis Chamberlain <mcgrof@kernel.org>
12 files changed:
arch/mips/cavium-octeon/setup.c
arch/x86/kernel/cpu/intel.c
drivers/firmware/efi/runtime-wrappers.c
drivers/firmware/efi/vars.c
drivers/macintosh/adb.c
drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c
drivers/platform/x86/intel/ifs/sysfs.c
drivers/scsi/esas2r/esas2r_ioctl.c
drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c
include/linux/semaphore.h
kernel/printk/printk.c
net/rxrpc/call_object.c