Smatch complains:
    hif_rx.c:98 hif_wakeup_indication() warn: 'gpiod_get_value(wdev->pdata.gpio_wakeup)' returns positive and negative
    bh.c:24 device_wakeup() warn: 'gpiod_get_value_cansleep(wdev->pdata.gpio_wakeup)' returns positive and negative
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
Link: https://lore.kernel.org/r/20201009171307.864608-7-Jerome.Pouiller@silabs.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
 
        if (!wdev->pdata.gpio_wakeup)
                return;
-       if (gpiod_get_value_cansleep(wdev->pdata.gpio_wakeup))
+       if (gpiod_get_value_cansleep(wdev->pdata.gpio_wakeup) >= 0)
                return;
 
        if (wfx_api_older_than(wdev, 1, 4)) {
 
 static int hif_wakeup_indication(struct wfx_dev *wdev,
                                 const struct hif_msg *hif, const void *buf)
 {
-       if (!wdev->pdata.gpio_wakeup
-           || !gpiod_get_value(wdev->pdata.gpio_wakeup)) {
+       if (!wdev->pdata.gpio_wakeup ||
+           gpiod_get_value(wdev->pdata.gpio_wakeup) == 0) {
                dev_warn(wdev->dev, "unexpected wake-up indication\n");
                return -EIO;
        }