Messages in this thread | | | Date | Tue, 05 Aug 2008 18:26:20 +0400 | From | Sergei Shtylyov <> | Subject | Re: [PATCH 1/2] pata_legacy: export functionality to ide |
| |
Hello.
Borislav Petkov wrote:
> Avoid probing the io-ports in case an IDE PCI controller is present and it uses > the legacy iobases. If we still want to enforce the probing, we do
> ide_generic.probe_mask=0x3f
> on the kernel command line. The iobase checking code is adapted from > drivers/ata/pata_legacy.c
> Signed-off-by: Borislav Petkov <petkovbb@gmail.com>
> diff --git a/drivers/ide/ide-generic.c b/drivers/ide/ide-generic.c > index 8fe8b5b..e9b7b69 100644 > --- a/drivers/ide/ide-generic.c > +++ b/drivers/ide/ide-generic.c [...] > @@ -100,19 +100,71 @@ static const u16 legacy_bases[] = { 0x1f0, 0x170, 0x1e8, 0x168, 0x1e0, 0x160 }; > static const int legacy_irqs[] = { 14, 15, 11, 10, 8, 12 }; > #endif > > +
Extra newline...
> +static void ide_generic_check_pci_legacy_iobases(int *primary, int *secondary) > +{ > + struct pci_dev *p = NULL; > + u16 val; > + > + for_each_pci_dev(p) { > + int r; > + > + for (r = 0; r < 6; r++) { > + if (pci_resource_start(p, r) == 0x1f0) > + *primary = 1; > + if (pci_resource_start(p, r) == 0x170) > + *secondary = 1; > + } > + > + /* Cyrix CS5510 pre SFF MWDMA ATA on the bridge */ > + if (p->vendor == 0x1078 && p->device == 0x0000) > + *primary = *secondary = 1; > + > + /* Cyrix CS5520 pre SFF MWDMA ATA on the bridge */ > + if (p->vendor == 0x1078 && p->device == 0x0002) > + *primary = *secondary = 1;
I think the above two if statements should be collapsed into a single one.
> + > + /* Intel MPIIX - PIO ATA on non PCI side of bridge */ > + if (p->vendor == 0x8086 && p->device == 0x1234) {
Also, perhaps it makes sense to #include <linux/pci_ids.h> and use the macros defined there...
MBR, Sergei
| |