]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
NFC: nxp-nci: allow GPIOs to sleep
authorIan Ray <ian.ray@gehealthcare.com>
Tue, 17 Mar 2026 08:53:36 +0000 (10:53 +0200)
committerJakub Kicinski <kuba@kernel.org>
Thu, 19 Mar 2026 00:20:51 +0000 (17:20 -0700)
Allow the firmware and enable GPIOs to sleep.

This fixes a `WARN_ON' and allows the driver to operate GPIOs which are
connected to I2C GPIO expanders.

-- >8 --
kernel: WARNING: CPU: 3 PID: 2636 at drivers/gpio/gpiolib.c:3880 gpiod_set_value+0x88/0x98
-- >8 --

Fixes: 43201767b44c ("NFC: nxp-nci: Convert to use GPIO descriptor")
Cc: stable@vger.kernel.org
Signed-off-by: Ian Ray <ian.ray@gehealthcare.com>
Link: https://patch.msgid.link/20260317085337.146545-1-ian.ray@gehealthcare.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/nfc/nxp-nci/i2c.c

index 6a5ce8ff91f0b58ca3a8c81d80cf6c9084818de9..b3d34433bd14a01eb87839ea0f93006c6000a3c2 100644 (file)
@@ -47,8 +47,8 @@ static int nxp_nci_i2c_set_mode(void *phy_id,
 {
        struct nxp_nci_i2c_phy *phy = (struct nxp_nci_i2c_phy *) phy_id;
 
-       gpiod_set_value(phy->gpiod_fw, (mode == NXP_NCI_MODE_FW) ? 1 : 0);
-       gpiod_set_value(phy->gpiod_en, (mode != NXP_NCI_MODE_COLD) ? 1 : 0);
+       gpiod_set_value_cansleep(phy->gpiod_fw, (mode == NXP_NCI_MODE_FW) ? 1 : 0);
+       gpiod_set_value_cansleep(phy->gpiod_en, (mode != NXP_NCI_MODE_COLD) ? 1 : 0);
        usleep_range(10000, 15000);
 
        if (mode == NXP_NCI_MODE_COLD)