]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
platform: cznic: use ffs() instead of __bf_shf()
authorArnd Bergmann <arnd@arndb.de>
Mon, 24 Mar 2025 16:11:11 +0000 (17:11 +0100)
committerArnd Bergmann <arnd@arndb.de>
Fri, 4 Apr 2025 14:02:59 +0000 (16:02 +0200)
__bf_shf() on a 64-bit variable causes a link failure during
compile-testing:

drivers-platform-cznic-turris-omnia-mcu-gpio.c:(.text):undefined-reference-to-__ffsdi2

Open-code this using ffs()-1, which has the same result but avoids
the library call.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
drivers/platform/cznic/turris-omnia-mcu-gpio.c

index 932383f7491a31db9ab7fee9e5481ec5e534111a..c2df24ea8686782c18b7cbdc62e3ff6aecd9503a 100644 (file)
@@ -1104,7 +1104,7 @@ int omnia_mcu_request_irq(struct omnia_mcu *mcu, u32 spec,
        if (!spec)
                return -EINVAL;
 
-       irq_idx = omnia_int_to_gpio_idx[__bf_shf(spec)];
+       irq_idx = omnia_int_to_gpio_idx[ffs(spec) - 1];
        irq = gpiod_to_irq(gpio_device_get_desc(mcu->gc.gpiodev, irq_idx));
        if (irq < 0)
                return irq;