diff mbox series

[04/10] NTB/msi: Switch MSI descriptor locking to lock guard()

Message ID 20250309084110.394142327@linutronix.de (mailing list archive)
State New
Delegated to: Bjorn Helgaas
Headers show
Series genirq/msi: Spring cleaning | expand

Commit Message

Thomas Gleixner March 9, 2025, 8:41 a.m. UTC
Convert the code to use the new guard(msi_descs_lock).

No functional change intended.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Jon Mason <jdmason@kudzu.us>
Cc: Dave Jiang <dave.jiang@intel.com>
Cc: Allen Hubbe <allenbh@gmail.com>
Cc: ntb@lists.linux.dev
---
 drivers/ntb/msi.c |   22 ++++++++--------------
 1 file changed, 8 insertions(+), 14 deletions(-)

Comments

Dave Jiang March 10, 2025, 3:18 p.m. UTC | #1
On 3/9/25 1:41 AM, Thomas Gleixner wrote:
> Convert the code to use the new guard(msi_descs_lock).
> 
> No functional change intended.
> 
> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
> Cc: Jon Mason <jdmason@kudzu.us>
> Cc: Dave Jiang <dave.jiang@intel.com>
> Cc: Allen Hubbe <allenbh@gmail.com>
> Cc: ntb@lists.linux.dev

Acked-by: Dave Jiang <dave.jiang@intel.com>

> ---
>  drivers/ntb/msi.c |   22 ++++++++--------------
>  1 file changed, 8 insertions(+), 14 deletions(-)
> 
> --- a/drivers/ntb/msi.c
> +++ b/drivers/ntb/msi.c
> @@ -106,10 +106,10 @@ int ntb_msi_setup_mws(struct ntb_dev *nt
>  	if (!ntb->msi)
>  		return -EINVAL;
>  
> -	msi_lock_descs(&ntb->pdev->dev);
> -	desc = msi_first_desc(&ntb->pdev->dev, MSI_DESC_ASSOCIATED);
> -	addr = desc->msg.address_lo + ((uint64_t)desc->msg.address_hi << 32);
> -	msi_unlock_descs(&ntb->pdev->dev);
> +	scoped_guard (msi_descs_lock, &ntb->pdev->dev) {
> +		desc = msi_first_desc(&ntb->pdev->dev, MSI_DESC_ASSOCIATED);
> +		addr = desc->msg.address_lo + ((uint64_t)desc->msg.address_hi << 32);
> +	}
>  
>  	for (peer = 0; peer < ntb_peer_port_count(ntb); peer++) {
>  		peer_widx = ntb_peer_highest_mw_idx(ntb, peer);
> @@ -289,7 +289,7 @@ int ntbm_msi_request_threaded_irq(struct
>  	if (!ntb->msi)
>  		return -EINVAL;
>  
> -	msi_lock_descs(dev);
> +	guard(msi_descs_lock)(dev);
>  	msi_for_each_desc(entry, dev, MSI_DESC_ASSOCIATED) {
>  		if (irq_has_action(entry->irq))
>  			continue;
> @@ -307,17 +307,11 @@ int ntbm_msi_request_threaded_irq(struct
>  		ret = ntbm_msi_setup_callback(ntb, entry, msi_desc);
>  		if (ret) {
>  			devm_free_irq(&ntb->dev, entry->irq, dev_id);
> -			goto unlock;
> +			return ret;
>  		}
> -
> -		ret = entry->irq;
> -		goto unlock;
> +		return entry->irq;
>  	}
> -	ret = -ENODEV;
> -
> -unlock:
> -	msi_unlock_descs(dev);
> -	return ret;
> +	return -ENODEV;
>  }
>  EXPORT_SYMBOL(ntbm_msi_request_threaded_irq);
>  
>
Logan Gunthorpe March 10, 2025, 4:34 p.m. UTC | #2
On 2025-03-09 01:41, Thomas Gleixner wrote:
> Convert the code to use the new guard(msi_descs_lock).
> 
> No functional change intended.
> 
> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
> Cc: Jon Mason <jdmason@kudzu.us>
> Cc: Dave Jiang <dave.jiang@intel.com>
> Cc: Allen Hubbe <allenbh@gmail.com>
> Cc: ntb@lists.linux.dev

Looks really nice to me, thanks.

Reviewed-by: Logan Gunthorpe <logang@deltatee.com>
Jonathan Cameron March 11, 2025, 6:02 p.m. UTC | #3
On Sun,  9 Mar 2025 09:41:48 +0100 (CET)
Thomas Gleixner <tglx@linutronix.de> wrote:

> Convert the code to use the new guard(msi_descs_lock).
> 
> No functional change intended.
> 
> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
> Cc: Jon Mason <jdmason@kudzu.us>
> Cc: Dave Jiang <dave.jiang@intel.com>
> Cc: Allen Hubbe <allenbh@gmail.com>
> Cc: ntb@lists.linux.dev
Reviewed-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
diff mbox series

Patch

--- a/drivers/ntb/msi.c
+++ b/drivers/ntb/msi.c
@@ -106,10 +106,10 @@  int ntb_msi_setup_mws(struct ntb_dev *nt
 	if (!ntb->msi)
 		return -EINVAL;
 
-	msi_lock_descs(&ntb->pdev->dev);
-	desc = msi_first_desc(&ntb->pdev->dev, MSI_DESC_ASSOCIATED);
-	addr = desc->msg.address_lo + ((uint64_t)desc->msg.address_hi << 32);
-	msi_unlock_descs(&ntb->pdev->dev);
+	scoped_guard (msi_descs_lock, &ntb->pdev->dev) {
+		desc = msi_first_desc(&ntb->pdev->dev, MSI_DESC_ASSOCIATED);
+		addr = desc->msg.address_lo + ((uint64_t)desc->msg.address_hi << 32);
+	}
 
 	for (peer = 0; peer < ntb_peer_port_count(ntb); peer++) {
 		peer_widx = ntb_peer_highest_mw_idx(ntb, peer);
@@ -289,7 +289,7 @@  int ntbm_msi_request_threaded_irq(struct
 	if (!ntb->msi)
 		return -EINVAL;
 
-	msi_lock_descs(dev);
+	guard(msi_descs_lock)(dev);
 	msi_for_each_desc(entry, dev, MSI_DESC_ASSOCIATED) {
 		if (irq_has_action(entry->irq))
 			continue;
@@ -307,17 +307,11 @@  int ntbm_msi_request_threaded_irq(struct
 		ret = ntbm_msi_setup_callback(ntb, entry, msi_desc);
 		if (ret) {
 			devm_free_irq(&ntb->dev, entry->irq, dev_id);
-			goto unlock;
+			return ret;
 		}
-
-		ret = entry->irq;
-		goto unlock;
+		return entry->irq;
 	}
-	ret = -ENODEV;
-
-unlock:
-	msi_unlock_descs(dev);
-	return ret;
+	return -ENODEV;
 }
 EXPORT_SYMBOL(ntbm_msi_request_threaded_irq);