diff mbox

PCI/MSI: Use irq_get_msi_desc() to simplify code

Message ID 1404463406-3484-1-git-send-email-wangyijing@huawei.com (mailing list archive)
State New, archived
Delegated to: Bjorn Helgaas
Headers show

Commit Message

Yijing Wang July 4, 2014, 8:43 a.m. UTC
Use irq_get_msi_desc() to get MSI irq related msi_desc
directly.

Signed-off-by: Yijing Wang <wangyijing@huawei.com>
---
 drivers/pci/msi.c |   12 +++++-------
 1 files changed, 5 insertions(+), 7 deletions(-)

Comments

Yijing Wang July 8, 2014, 2:11 a.m. UTC | #1
This patch has been integrate into "[PATCH v3 0/6] Cleanup for MSI" patchset.

On 2014/7/4 16:43, Yijing Wang wrote:
> Use irq_get_msi_desc() to get MSI irq related msi_desc
> directly.
> 
> Signed-off-by: Yijing Wang <wangyijing@huawei.com>
> ---
>  drivers/pci/msi.c |   12 +++++-------
>  1 files changed, 5 insertions(+), 7 deletions(-)
> 
> diff --git a/drivers/pci/msi.c b/drivers/pci/msi.c
> index 3bee1ba..f95af2b 100644
> --- a/drivers/pci/msi.c
> +++ b/drivers/pci/msi.c
> @@ -487,7 +487,6 @@ EXPORT_SYMBOL_GPL(pci_restore_msi_state);
>  static ssize_t msi_mode_show(struct device *dev, struct device_attribute *attr,
>  			     char *buf)
>  {
> -	struct pci_dev *pdev = to_pci_dev(dev);
>  	struct msi_desc *entry;
>  	unsigned long irq;
>  	int retval;
> @@ -496,12 +495,11 @@ static ssize_t msi_mode_show(struct device *dev, struct device_attribute *attr,
>  	if (retval)
>  		return retval;
>  
> -	list_for_each_entry(entry, &pdev->msi_list, list) {
> -		if (entry->irq == irq) {
> -			return sprintf(buf, "%s\n",
> -				       entry->msi_attrib.is_msix ? "msix" : "msi");
> -		}
> -	}
> +	entry = irq_get_msi_desc(irq);
> +	if (entry)
> +		return sprintf(buf, "%s\n",
> +				entry->msi_attrib.is_msix ? "msix" : "msi");
> +
>  	return -ENODEV;
>  }
>  
>
diff mbox

Patch

diff --git a/drivers/pci/msi.c b/drivers/pci/msi.c
index 3bee1ba..f95af2b 100644
--- a/drivers/pci/msi.c
+++ b/drivers/pci/msi.c
@@ -487,7 +487,6 @@  EXPORT_SYMBOL_GPL(pci_restore_msi_state);
 static ssize_t msi_mode_show(struct device *dev, struct device_attribute *attr,
 			     char *buf)
 {
-	struct pci_dev *pdev = to_pci_dev(dev);
 	struct msi_desc *entry;
 	unsigned long irq;
 	int retval;
@@ -496,12 +495,11 @@  static ssize_t msi_mode_show(struct device *dev, struct device_attribute *attr,
 	if (retval)
 		return retval;
 
-	list_for_each_entry(entry, &pdev->msi_list, list) {
-		if (entry->irq == irq) {
-			return sprintf(buf, "%s\n",
-				       entry->msi_attrib.is_msix ? "msix" : "msi");
-		}
-	}
+	entry = irq_get_msi_desc(irq);
+	if (entry)
+		return sprintf(buf, "%s\n",
+				entry->msi_attrib.is_msix ? "msix" : "msi");
+
 	return -ENODEV;
 }