-----Original Message-----
From: James Bottomley [mailto:james.bottom...@hansenpartnership.com] 
Sent: Monday, June 01, 2015 8:15 AM
To: Rajinikanth Pandurangan
Cc: linux-scsi@vger.kernel.org; aacr...@pmc-sierra.com; Harry Yang; Rich Bono; 
Achim Leubner; Murthy Bhat
Subject: Re: [PATCH 2/9] [SCSI] aacraid: Add Power Management support

On Wed, 2015-05-13 at 17:12 -0700, rajinikanth.panduran...@pmcs.com
wrote:
> diff --git a/drivers/scsi/aacraid/linit.c 
> b/drivers/scsi/aacraid/linit.c index 9eec027..be30e43 100644
> --- a/drivers/scsi/aacraid/linit.c
> +++ b/drivers/scsi/aacraid/linit.c
> @@ -1317,6 +1317,149 @@ static int aac_probe_one(struct pci_dev *pdev, const 
> struct pci_device_id *id)
>       return error;
>  }
>  
> +#if (defined(CONFIG_PM))
> +void aac_release_resources(struct aac_dev *aac) {
> +     int i;
> +
> +     aac_adapter_disable_int(aac);
> +     if (aac->pdev->device == PMC_DEVICE_S6 ||
> +         aac->pdev->device == PMC_DEVICE_S7 ||
> +         aac->pdev->device == PMC_DEVICE_S8 ||
> +         aac->pdev->device == PMC_DEVICE_S9) {
> +             if (aac->max_msix > 1) {
> +                     for (i = 0; i < aac->max_msix; i++)
> +                             free_irq(aac->msixentry[i].vector,
> +                                     &(aac->aac_msix[i]));
> +             } else {
> +                     free_irq(aac->pdev->irq, &(aac->aac_msix[0]));
> +             }
> +     } else {
> +             free_irq(aac->pdev->irq, aac);
> +     }
> +     if (aac->msi)
> +             pci_disable_msi(aac->pdev);
> +     else if (aac->max_msix > 1)
> +             pci_disable_msix(aac->pdev);
> +
> +}
> +
> +static int aac_acquire_resources(struct aac_dev *dev) {
> +     int i, j;
> +     int instance = dev->id;
> +     const char *name = dev->name;
> +     unsigned long status;
> +     /*
> +      *      First clear out all interrupts.  Then enable the one's that we
> +      *      can handle.
> +      */
> +     while (!((status = src_readl(dev, MUnit.OMR)) & KERNEL_UP_AND_RUNNING)
> +             || status == 0xffffffff)
> +                     msleep(1);

checkpatch would warn you not to do this.  Use msleep(20) to keep it quiet.

[RajP] Yes, will change and make it part of next patchset.

> +
> +     aac_adapter_disable_int(dev);
> +     aac_adapter_enable_int(dev);
> +
> +
> +     if ((dev->pdev->device == PMC_DEVICE_S7 ||
> +          dev->pdev->device == PMC_DEVICE_S8 ||
> +          dev->pdev->device == PMC_DEVICE_S9))
> +             aac_define_int_mode(dev);
> +
> +     if (dev->msi_enabled)
> +             aac_src_access_devreg(dev, AAC_ENABLE_MSIX);
> +
> +     if (!dev->sync_mode && dev->msi_enabled && dev->max_msix > 1) {
> +             for (i = 0; i < dev->max_msix; i++) {
> +                     dev->aac_msix[i].vector_no = i;
> +                     dev->aac_msix[i].dev = dev;
> +
> +                     if (request_irq(dev->msixentry[i].vector,
> +                                     dev->a_ops.adapter_intr,
> +                                     0, "aacraid", &(dev->aac_msix[i]))) {
> +                             printk(KERN_ERR "%s%d: Failed to register IRQ 
> for vector %d.\n",
> +                                             name, instance, i);
> +                             for (j = 0 ; j < i ; j++)
> +                                     free_irq(dev->msixentry[j].vector,
> +                                              &(dev->aac_msix[j]));
> +                             pci_disable_msix(dev->pdev);
> +                             goto error_iounmap;
> +                     }
> +             }
> +     } else {
> +             dev->aac_msix[0].vector_no = 0;
> +             dev->aac_msix[0].dev = dev;
> +
> +             if (request_irq(dev->pdev->irq, dev->a_ops.adapter_intr,
> +                     IRQF_SHARED|IRQF_DISABLED, "aacraid",
> +                     &(dev->aac_msix[0])) < 0) {

And this won't compile:

drivers/scsi/aacraid/linit.c: In function ‘aac_acquire_resources’:
drivers/scsi/aacraid/linit.c:1395:16: error: ‘IRQF_DISABLED’ undeclared (first 
use in this function)
    IRQF_SHARED|IRQF_DISABLED, "aacraid",

Please run checkpatch and compile against the kernel you're submitting for.  
The reason for this failure is that IRQF_DISABLED got eliminated from the 
kernel somewhere in the 3.x series.

[RajP] Yes, I had compiled against the kernel 4.0.0-rc2+ and did not get any 
compile error.  In fact, checkpatch didn't warn either.  Am I missing something?

James


Reply via email to