On Mon, 2015-06-01 at 21:16 +0000, Rajinikanth Pandurangan wrote: > -----Original Message----- > From: James Bottomley [mailto:James.Bottomley@xxxxxxxxxxxxxxxxxxxxx] > Sent: Monday, June 01, 2015 8:15 AM > To: Rajinikanth Pandurangan > Cc: linux-scsi@xxxxxxxxxxxxxxx; aacraid@xxxxxxxxxxxxxx; 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.pandurangan@xxxxxxxx > 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? Yes, this: commit d8bf368d0631d4bc2612d8bf2e4e8e74e620d0cc Author: Valentin Rothberg <valentinrothberg@xxxxxxxxx> Date: Thu Mar 5 15:23:08 2015 +0100 genirq: Remove the deprecated 'IRQF_DISABLED' request_irq() flag entirely It went in in the merge window for 4.1. However, IRQF_DISABLED has been deprecated for long enough that you shouldn't have been using it anyway. James -- To unsubscribe from this list: send the line "unsubscribe linux-scsi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html