[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20240613082449.197397-1-ubizjak@gmail.com>
Date: Thu, 13 Jun 2024 10:24:24 +0200
From: Uros Bizjak <ubizjak@...il.com>
To: linux-pci@...r.kernel.org,
linux-kernel@...r.kernel.org
Cc: Uros Bizjak <ubizjak@...il.com>,
Bjorn Helgaas <bhelgaas@...gle.com>
Subject: [PATCH] PCI: hotplug: Use atomic_{fetch_}andnot() where appropriate
Use atomic_{fetch_}andnot(i, v) instead of atomic_{fetch_}and(~i, v).
No functional changes intended.
Cc: Bjorn Helgaas <bhelgaas@...gle.com>
Signed-off-by: Uros Bizjak <ubizjak@...il.com>
---
drivers/pci/hotplug/pciehp_ctrl.c | 4 ++--
drivers/pci/hotplug/pciehp_hpc.c | 8 ++++----
2 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/drivers/pci/hotplug/pciehp_ctrl.c b/drivers/pci/hotplug/pciehp_ctrl.c
index dcdbfcf404dd..7c775d9a6599 100644
--- a/drivers/pci/hotplug/pciehp_ctrl.c
+++ b/drivers/pci/hotplug/pciehp_ctrl.c
@@ -121,8 +121,8 @@ static void remove_board(struct controller *ctrl, bool safe_removal)
msleep(1000);
/* Ignore link or presence changes caused by power off */
- atomic_and(~(PCI_EXP_SLTSTA_DLLSC | PCI_EXP_SLTSTA_PDC),
- &ctrl->pending_events);
+ atomic_andnot(PCI_EXP_SLTSTA_DLLSC | PCI_EXP_SLTSTA_PDC,
+ &ctrl->pending_events);
}
pciehp_set_indicators(ctrl, PCI_EXP_SLTCTL_PWR_IND_OFF,
diff --git a/drivers/pci/hotplug/pciehp_hpc.c b/drivers/pci/hotplug/pciehp_hpc.c
index b1d0a1b3917d..6d192f64ea19 100644
--- a/drivers/pci/hotplug/pciehp_hpc.c
+++ b/drivers/pci/hotplug/pciehp_hpc.c
@@ -307,8 +307,8 @@ int pciehp_check_link_status(struct controller *ctrl)
/* ignore link or presence changes up to this point */
if (found)
- atomic_and(~(PCI_EXP_SLTSTA_DLLSC | PCI_EXP_SLTSTA_PDC),
- &ctrl->pending_events);
+ atomic_andnot(PCI_EXP_SLTSTA_DLLSC | PCI_EXP_SLTSTA_PDC,
+ &ctrl->pending_events);
pcie_capability_read_word(pdev, PCI_EXP_LNKSTA, &lnk_status);
ctrl_dbg(ctrl, "%s: lnk_status = %x\n", __func__, lnk_status);
@@ -568,7 +568,7 @@ static void pciehp_ignore_dpc_link_change(struct controller *ctrl,
* Could be several if DPC triggered multiple times consecutively.
*/
synchronize_hardirq(irq);
- atomic_and(~PCI_EXP_SLTSTA_DLLSC, &ctrl->pending_events);
+ atomic_andnot(PCI_EXP_SLTSTA_DLLSC, &ctrl->pending_events);
if (pciehp_poll_mode)
pcie_capability_write_word(pdev, PCI_EXP_SLTSTA,
PCI_EXP_SLTSTA_DLLSC);
@@ -702,7 +702,7 @@ static irqreturn_t pciehp_ist(int irq, void *dev_id)
pci_config_pm_runtime_get(pdev);
/* rerun pciehp_isr() if the port was inaccessible on interrupt */
- if (atomic_fetch_and(~RERUN_ISR, &ctrl->pending_events) & RERUN_ISR) {
+ if (atomic_fetch_andnot(RERUN_ISR, &ctrl->pending_events) & RERUN_ISR) {
ret = pciehp_isr(irq, dev_id);
enable_irq(irq);
if (ret != IRQ_WAKE_THREAD)
--
2.45.2
Powered by blists - more mailing lists