lkml.org 
[lkml]   [2022]   [Jul]   [19]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH v2 1/2] asm-generic: Remove pci.h copying remaining code to x86
    On Mon, Jul 18, 2022 at 10:40:34AM +0200, Arnd Bergmann wrote:
    > On Mon, Jul 18, 2022 at 6:33 AM Christoph Hellwig <hch@infradead.org> wrote:
    > >
    > > On Sun, Jul 17, 2022 at 12:34:52PM +0900, Stafford Horne wrote:
    > > > The generic pci.h header now only provides a definition of
    > > > pci_get_legacy_ide_irq which is used by architectures that support PNP.
    > > > Of the architectures that use asm-generic/pci.h this is only x86.
    > >
    > > Please move this into a separate header, ike legacy-ide.h. It doens't
    > > have anyting to do with actual PCI support.
    >
    > It looks like asm/libata-portmap.h is meant to have this information already,
    > and this is what libata uses, while drivers/ide used the
    > pci_get_legacy_ide_irq()
    > function for the same purpose.
    >
    > Only ia64 and powerpc have interesting definitions of both, and they
    > return the same thing, so I think this is sufficient to remove the last caller:
    >
    > diff --git a/drivers/pnp/resource.c b/drivers/pnp/resource.c
    > index 2fa0f7d55259..d7a6250589d6 100644
    > --- a/drivers/pnp/resource.c
    > +++ b/drivers/pnp/resource.c
    > @@ -16,7 +16,7 @@
    > #include <asm/io.h>
    > #include <asm/dma.h>
    > #include <asm/irq.h>
    > -#include <linux/pci.h>
    > +#include <linux/libata.h>
    > #include <linux/ioport.h>
    > #include <linux/init.h>
    >
    > @@ -322,8 +322,8 @@ static int pci_dev_uses_irq(struct pnp_dev *pnp,
    > struct pci_dev *pci,
    > * treat the compatibility IRQs as busy.
    > */
    > if ((progif & 0x5) != 0x5)
    > - if (pci_get_legacy_ide_irq(pci, 0) == irq ||
    > - pci_get_legacy_ide_irq(pci, 1) == irq) {
    > + if (ATA_PRIMARY_IRQ(pci) == irq ||
    > + ATA_SECONDARY_IRQ(pci) == irq) {
    > pnp_dbg(&pnp->dev, " legacy IDE device %s "
    > "using irq %d\n", pci_name(pci), irq);
    > return 1;
    >
    > This is fine on the architectures that currently return an error from
    > pci_get_legacy_ide_irq() but will change to returning 15/14 instead,
    > because they do not support ISA devices, so pci_dev_uses_irq()
    > will never be called either.

    I like this, I didn't know about the ATA_PRIMARY_IRQ/ATA_SECONDARY_IRQ macro.
    Let me add this to the series before 1/2. I will keep you as the author via
    Signed-off-by annotation.

    -Stafford

    \
     
     \ /
      Last update: 2022-07-19 12:53    [W:6.581 / U:0.068 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site