mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-04 08:13:54 -06:00
Convert (ffs(val) - 1) to ctz32(val)
This commit was generated mechanically by coccinelle from the following semantic patch: @@ expression val; @@ - (ffs(val) - 1) + ctz32(val) The call sites have been audited to ensure the ffs(0) - 1 == -1 case never occurs (due to input validation, asserts, etc). Therefore we don't need to worry about the fact that ctz32(0) == 32. Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com> Message-id: 1427124571-28598-5-git-send-email-stefanha@redhat.com Signed-off-by: Kevin Wolf <kwolf@redhat.com>
This commit is contained in:
parent
5863d374a3
commit
786a4ea82e
22 changed files with 50 additions and 50 deletions
|
@ -61,7 +61,7 @@
|
|||
/* Same slot state masks are used for command and status registers */
|
||||
#define SHPC_SLOT_STATE_MASK 0x03
|
||||
#define SHPC_SLOT_STATE_SHIFT \
|
||||
(ffs(SHPC_SLOT_STATE_MASK) - 1)
|
||||
ctz32(SHPC_SLOT_STATE_MASK)
|
||||
|
||||
#define SHPC_STATE_NO 0x0
|
||||
#define SHPC_STATE_PWRONLY 0x1
|
||||
|
@ -70,10 +70,10 @@
|
|||
|
||||
#define SHPC_SLOT_PWR_LED_MASK 0xC
|
||||
#define SHPC_SLOT_PWR_LED_SHIFT \
|
||||
(ffs(SHPC_SLOT_PWR_LED_MASK) - 1)
|
||||
ctz32(SHPC_SLOT_PWR_LED_MASK)
|
||||
#define SHPC_SLOT_ATTN_LED_MASK 0x30
|
||||
#define SHPC_SLOT_ATTN_LED_SHIFT \
|
||||
(ffs(SHPC_SLOT_ATTN_LED_MASK) - 1)
|
||||
ctz32(SHPC_SLOT_ATTN_LED_MASK)
|
||||
|
||||
#define SHPC_LED_NO 0x0
|
||||
#define SHPC_LED_ON 0x1
|
||||
|
@ -136,7 +136,7 @@ static int roundup_pow_of_two(int x)
|
|||
static uint16_t shpc_get_status(SHPCDevice *shpc, int slot, uint16_t msk)
|
||||
{
|
||||
uint8_t *status = shpc->config + SHPC_SLOT_STATUS(slot);
|
||||
return (pci_get_word(status) & msk) >> (ffs(msk) - 1);
|
||||
return (pci_get_word(status) & msk) >> ctz32(msk);
|
||||
}
|
||||
|
||||
static void shpc_set_status(SHPCDevice *shpc,
|
||||
|
@ -144,7 +144,7 @@ static void shpc_set_status(SHPCDevice *shpc,
|
|||
{
|
||||
uint8_t *status = shpc->config + SHPC_SLOT_STATUS(slot);
|
||||
pci_word_test_and_clear_mask(status, msk);
|
||||
pci_word_test_and_set_mask(status, value << (ffs(msk) - 1));
|
||||
pci_word_test_and_set_mask(status, value << ctz32(msk));
|
||||
}
|
||||
|
||||
static void shpc_interrupt_update(PCIDevice *d)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue