Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
L
linux
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
nexedi
linux
Commits
c22a4e56
Commit
c22a4e56
authored
Aug 22, 2004
by
Deepak Saxena
Browse files
Options
Browse Files
Download
Plain Diff
Merge
bk://linux.bkbits.net/linux-2.5
into plexity.net:/home/dsaxena/src/linux-2.5-bk
parents
26a9b9cf
2a1c4ff5
Changes
48
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
48 changed files
with
251 additions
and
513 deletions
+251
-513
arch/alpha/kernel/pci.c
arch/alpha/kernel/pci.c
+5
-10
arch/arm/kernel/bios32.c
arch/arm/kernel/bios32.c
+7
-32
arch/i386/pci/fixup.c
arch/i386/pci/fixup.c
+18
-111
arch/i386/pci/numa.c
arch/i386/pci/numa.c
+1
-4
arch/ia64/pci/pci.c
arch/ia64/pci/pci.c
+0
-2
arch/m68k/kernel/bios32.c
arch/m68k/kernel/bios32.c
+0
-5
arch/m68knommu/kernel/comempci.c
arch/m68knommu/kernel/comempci.c
+0
-2
arch/mips/pci/fixup-atlas.c
arch/mips/pci/fixup-atlas.c
+2
-8
arch/mips/pci/fixup-au1000.c
arch/mips/pci/fixup-au1000.c
+0
-4
arch/mips/pci/fixup-capcella.c
arch/mips/pci/fixup-capcella.c
+0
-4
arch/mips/pci/fixup-cobalt.c
arch/mips/pci/fixup-cobalt.c
+5
-7
arch/mips/pci/fixup-ddb5074.c
arch/mips/pci/fixup-ddb5074.c
+2
-5
arch/mips/pci/fixup-ddb5477.c
arch/mips/pci/fixup-ddb5477.c
+7
-9
arch/mips/pci/fixup-ip32.c
arch/mips/pci/fixup-ip32.c
+0
-4
arch/mips/pci/fixup-jaguar.c
arch/mips/pci/fixup-jaguar.c
+0
-4
arch/mips/pci/fixup-lasat.c
arch/mips/pci/fixup-lasat.c
+0
-4
arch/mips/pci/fixup-malta.c
arch/mips/pci/fixup-malta.c
+4
-7
arch/mips/pci/fixup-mpc30x.c
arch/mips/pci/fixup-mpc30x.c
+0
-4
arch/mips/pci/fixup-ocelot-c.c
arch/mips/pci/fixup-ocelot-c.c
+0
-4
arch/mips/pci/fixup-ocelot-g.c
arch/mips/pci/fixup-ocelot-g.c
+0
-4
arch/mips/pci/fixup-sni.c
arch/mips/pci/fixup-sni.c
+0
-4
arch/mips/pci/fixup-tb0219.c
arch/mips/pci/fixup-tb0219.c
+0
-4
arch/mips/pci/fixup-tb0226.c
arch/mips/pci/fixup-tb0226.c
+0
-4
arch/mips/pci/fixup-yosemite.c
arch/mips/pci/fixup-yosemite.c
+0
-4
arch/mips/pci/pci-ip27.c
arch/mips/pci/pci-ip27.c
+10
-11
arch/mips/pci/pci-sb1250.c
arch/mips/pci/pci-sb1250.c
+0
-4
arch/mips/pmc-sierra/yosemite/ht.c
arch/mips/pmc-sierra/yosemite/ht.c
+0
-5
arch/parisc/kernel/pci.c
arch/parisc/kernel/pci.c
+0
-9
arch/ppc/kernel/pci.c
arch/ppc/kernel/pci.c
+4
-19
arch/ppc/platforms/pmac_pci.c
arch/ppc/platforms/pmac_pci.c
+5
-0
arch/ppc/platforms/sbc82xx.c
arch/ppc/platforms/sbc82xx.c
+20
-0
arch/ppc64/kernel/iSeries_pci.c
arch/ppc64/kernel/iSeries_pci.c
+0
-4
arch/ppc64/kernel/pSeries_pci.c
arch/ppc64/kernel/pSeries_pci.c
+3
-2
arch/ppc64/kernel/pci.c
arch/ppc64/kernel/pci.c
+2
-20
arch/ppc64/kernel/pmac_pci.c
arch/ppc64/kernel/pmac_pci.c
+1
-0
arch/sh/boards/mpc1211/pci.c
arch/sh/boards/mpc1211/pci.c
+1
-8
arch/sh/boards/overdrive/galileo.c
arch/sh/boards/overdrive/galileo.c
+1
-7
arch/sh/drivers/pci/fixups-dreamcast.c
arch/sh/drivers/pci/fixups-dreamcast.c
+1
-5
arch/sh/drivers/pci/pci-sh7751.c
arch/sh/drivers/pci/pci-sh7751.c
+1
-8
arch/sh/drivers/pci/pci-st40.c
arch/sh/drivers/pci/pci-st40.c
+1
-7
arch/sh64/kernel/pci_sh5.c
arch/sh64/kernel/pci_sh5.c
+1
-6
arch/sparc/kernel/pcic.c
arch/sparc/kernel/pcic.c
+0
-4
arch/sparc64/kernel/pci.c
arch/sparc64/kernel/pci.c
+0
-4
arch/v850/kernel/rte_mb_a_pci.c
arch/v850/kernel/rte_mb_a_pci.c
+0
-2
drivers/parisc/superio.c
drivers/parisc/superio.c
+1
-0
drivers/pci/quirks.c
drivers/pci/quirks.c
+126
-135
include/asm-generic/vmlinux.lds.h
include/asm-generic/vmlinux.lds.h
+10
-0
include/linux/pci.h
include/linux/pci.h
+12
-3
No files found.
arch/alpha/kernel/pci.c
View file @
c22a4e56
...
...
@@ -67,6 +67,7 @@ quirk_isa_bridge(struct pci_dev *dev)
{
dev
->
class
=
PCI_CLASS_BRIDGE_ISA
<<
8
;
}
DECLARE_PCI_FIXUP_HEADER
(
PCI_VENDOR_ID_INTEL
,
PCI_DEVICE_ID_INTEL_82378
,
quirk_isa_bridge
);
static
void
__init
quirk_cypress
(
struct
pci_dev
*
dev
)
...
...
@@ -100,6 +101,7 @@ quirk_cypress(struct pci_dev *dev)
}
}
}
DECLARE_PCI_FIXUP_HEADER
(
PCI_VENDOR_ID_CONTAQ
,
PCI_DEVICE_ID_CONTAQ_82C693
,
quirk_cypress
);
/* Called for each device after PCI setup is done. */
static
void
__init
...
...
@@ -112,17 +114,10 @@ pcibios_fixup_final(struct pci_dev *dev)
isa_bridge
=
dev
;
}
}
DECLARE_PCI_FIXUP_FINAL
(
PCI_ANY_ID
,
PCI_ANY_ID
,
pcibios_fixup_final
);
struct
pci_fixup
pcibios_fixups
[]
__initdata
=
{
{
PCI_FIXUP_HEADER
,
PCI_VENDOR_ID_INTEL
,
PCI_DEVICE_ID_INTEL_82378
,
quirk_isa_bridge
},
{
PCI_FIXUP_HEADER
,
PCI_VENDOR_ID_CONTAQ
,
PCI_DEVICE_ID_CONTAQ_82C693
,
quirk_cypress
},
{
PCI_FIXUP_FINAL
,
PCI_ANY_ID
,
PCI_ANY_ID
,
pcibios_fixup_final
},
{
0
}
};
/* Just declaring that the power-of-ten prefixes are actually the
power-of-two ones doesn't make it true :) */
#define KB 1024
#define MB (1024*KB)
#define GB (1024*MB)
...
...
arch/arm/kernel/bios32.c
View file @
c22a4e56
...
...
@@ -128,12 +128,14 @@ static void __devinit pci_fixup_83c553(struct pci_dev *dev)
pci_write_config_word
(
dev
,
0x44
,
0xb000
);
outb
(
0x08
,
0x4d1
);
}
DECLARE_PCI_FIXUP_HEADER
(
PCI_VENDOR_ID_WINBOND
,
PCI_DEVICE_ID_WINBOND_83C553
,
pci_fixup_83c553
);
static
void
__devinit
pci_fixup_unassign
(
struct
pci_dev
*
dev
)
{
dev
->
resource
[
0
].
end
-=
dev
->
resource
[
0
].
start
;
dev
->
resource
[
0
].
start
=
0
;
}
DECLARE_PCI_FIXUP_HEADER
(
PCI_VENDOR_ID_WINBOND2
,
PCI_DEVICE_ID_WINBOND2_89C940F
,
pci_fixup_unassign
);
/*
* Prevent the PCI layer from seeing the resources allocated to this device
...
...
@@ -154,6 +156,7 @@ static void __devinit pci_fixup_dec21285(struct pci_dev *dev)
}
}
}
DECLARE_PCI_FIXUP_HEADER
(
PCI_VENDOR_ID_DEC
,
PCI_DEVICE_ID_DEC_21285
,
pci_fixup_dec21285
);
/*
* Same as above. The PrPMC800 carrier board for the PrPMC1100
...
...
@@ -178,6 +181,7 @@ static void __devinit pci_fixup_prpmc1100(struct pci_dev *dev)
}
}
}
DECLARE_PCI_FIXUP_HEADER
(
PCI_VENDOR_ID_INTEL
,
PCI_DEVICE_ID_INTEL_IXP4XX
,
pci_fixup_prpmc1100
);
/*
* PCI IDE controllers use non-standard I/O port decoding, respect it.
...
...
@@ -198,6 +202,7 @@ static void __devinit pci_fixup_ide_bases(struct pci_dev *dev)
}
}
}
DECLARE_PCI_FIXUP_HEADER
(
PCI_ANY_ID
,
PCI_ANY_ID
,
pci_fixup_ide_bases
);
/*
* Put the DEC21142 to sleep
...
...
@@ -206,6 +211,7 @@ static void __devinit pci_fixup_dec21142(struct pci_dev *dev)
{
pci_write_config_dword
(
dev
,
0x40
,
0x80000000
);
}
DECLARE_PCI_FIXUP_HEADER
(
PCI_VENDOR_ID_DEC
,
PCI_DEVICE_ID_DEC_21142
,
pci_fixup_dec21142
);
/*
* The CY82C693 needs some rather major fixups to ensure that it does
...
...
@@ -271,38 +277,7 @@ static void __devinit pci_fixup_cy82c693(struct pci_dev *dev)
pci_write_config_byte
(
dev
,
0x45
,
0x03
);
}
}
struct
pci_fixup
pcibios_fixups
[]
=
{
{
PCI_FIXUP_HEADER
,
PCI_VENDOR_ID_CONTAQ
,
PCI_DEVICE_ID_CONTAQ_82C693
,
pci_fixup_cy82c693
},
{
PCI_FIXUP_HEADER
,
PCI_VENDOR_ID_DEC
,
PCI_DEVICE_ID_DEC_21142
,
pci_fixup_dec21142
},
{
PCI_FIXUP_HEADER
,
PCI_VENDOR_ID_DEC
,
PCI_DEVICE_ID_DEC_21285
,
pci_fixup_dec21285
},
{
PCI_FIXUP_HEADER
,
PCI_VENDOR_ID_WINBOND
,
PCI_DEVICE_ID_WINBOND_83C553
,
pci_fixup_83c553
},
{
PCI_FIXUP_HEADER
,
PCI_VENDOR_ID_WINBOND2
,
PCI_DEVICE_ID_WINBOND2_89C940F
,
pci_fixup_unassign
},
{
PCI_FIXUP_HEADER
,
PCI_ANY_ID
,
PCI_ANY_ID
,
pci_fixup_ide_bases
},
{
PCI_FIXUP_HEADER
,
PCI_VENDOR_ID_INTEL
,
PCI_DEVICE_ID_INTEL_IXP4XX
,
pci_fixup_prpmc1100
},
{
0
}
};
DECLARE_PCI_FIXUP_HEADER
(
PCI_VENDOR_ID_CONTAQ
,
PCI_DEVICE_ID_CONTAQ_82C693
,
pci_fixup_cy82c693
);
void
__devinit
pcibios_update_irq
(
struct
pci_dev
*
dev
,
int
irq
)
{
...
...
arch/i386/pci/fixup.c
View file @
c22a4e56
...
...
@@ -29,6 +29,7 @@ static void __devinit pci_fixup_i450nx(struct pci_dev *d)
}
pcibios_last_bus
=
-
1
;
}
DECLARE_PCI_FIXUP_HEADER
(
PCI_VENDOR_ID_INTEL
,
PCI_DEVICE_ID_INTEL_82451NX
,
pci_fixup_i450nx
);
static
void
__devinit
pci_fixup_i450gx
(
struct
pci_dev
*
d
)
{
...
...
@@ -42,6 +43,7 @@ static void __devinit pci_fixup_i450gx(struct pci_dev *d)
pci_scan_bus
(
busno
,
&
pci_root_ops
,
NULL
);
pcibios_last_bus
=
-
1
;
}
DECLARE_PCI_FIXUP_HEADER
(
PCI_VENDOR_ID_INTEL
,
PCI_DEVICE_ID_INTEL_82454GX
,
pci_fixup_i450gx
);
static
void
__devinit
pci_fixup_umc_ide
(
struct
pci_dev
*
d
)
{
...
...
@@ -55,6 +57,7 @@ static void __devinit pci_fixup_umc_ide(struct pci_dev *d)
for
(
i
=
0
;
i
<
4
;
i
++
)
d
->
resource
[
i
].
flags
|=
PCI_BASE_ADDRESS_SPACE_IO
;
}
DECLARE_PCI_FIXUP_HEADER
(
PCI_VENDOR_ID_UMC
,
PCI_DEVICE_ID_UMC_UM8886BF
,
pci_fixup_umc_ide
);
static
void
__devinit
pci_fixup_ncr53c810
(
struct
pci_dev
*
d
)
{
...
...
@@ -67,6 +70,7 @@ static void __devinit pci_fixup_ncr53c810(struct pci_dev *d)
d
->
class
=
PCI_CLASS_STORAGE_SCSI
<<
8
;
}
}
DECLARE_PCI_FIXUP_HEADER
(
PCI_VENDOR_ID_NCR
,
PCI_DEVICE_ID_NCR_53C810
,
pci_fixup_ncr53c810
);
static
void
__devinit
pci_fixup_ide_bases
(
struct
pci_dev
*
d
)
{
...
...
@@ -86,6 +90,7 @@ static void __devinit pci_fixup_ide_bases(struct pci_dev *d)
}
}
}
DECLARE_PCI_FIXUP_HEADER
(
PCI_ANY_ID
,
PCI_ANY_ID
,
pci_fixup_ide_bases
);
static
void
__devinit
pci_fixup_ide_trash
(
struct
pci_dev
*
d
)
{
...
...
@@ -108,6 +113,10 @@ static void __devinit pci_fixup_ide_trash(struct pci_dev *d)
for
(
i
=
0
;
i
<
4
;
i
++
)
d
->
resource
[
i
].
start
=
d
->
resource
[
i
].
end
=
d
->
resource
[
i
].
flags
=
0
;
}
DECLARE_PCI_FIXUP_HEADER
(
PCI_VENDOR_ID_SI
,
PCI_DEVICE_ID_SI_5513
,
pci_fixup_ide_trash
);
DECLARE_PCI_FIXUP_HEADER
(
PCI_VENDOR_ID_INTEL
,
PCI_DEVICE_ID_INTEL_82801CA_10
,
pci_fixup_ide_trash
);
DECLARE_PCI_FIXUP_HEADER
(
PCI_VENDOR_ID_INTEL
,
PCI_DEVICE_ID_INTEL_82801CA_11
,
pci_fixup_ide_trash
);
DECLARE_PCI_FIXUP_HEADER
(
PCI_VENDOR_ID_INTEL
,
PCI_DEVICE_ID_INTEL_82801DB_9
,
pci_fixup_ide_trash
);
static
void
__devinit
pci_fixup_latency
(
struct
pci_dev
*
d
)
{
...
...
@@ -118,6 +127,8 @@ static void __devinit pci_fixup_latency(struct pci_dev *d)
DBG
(
"PCI: Setting max latency to 32
\n
"
);
pcibios_max_latency
=
32
;
}
DECLARE_PCI_FIXUP_HEADER
(
PCI_VENDOR_ID_SI
,
PCI_DEVICE_ID_SI_5597
,
pci_fixup_latency
);
DECLARE_PCI_FIXUP_HEADER
(
PCI_VENDOR_ID_SI
,
PCI_DEVICE_ID_SI_5598
,
pci_fixup_latency
);
static
void
__devinit
pci_fixup_piix4_acpi
(
struct
pci_dev
*
d
)
{
...
...
@@ -126,6 +137,7 @@ static void __devinit pci_fixup_piix4_acpi(struct pci_dev *d)
*/
d
->
irq
=
9
;
}
DECLARE_PCI_FIXUP_HEADER
(
PCI_VENDOR_ID_INTEL
,
PCI_DEVICE_ID_INTEL_82371AB_3
,
pci_fixup_piix4_acpi
);
/*
* Addresses issues with problems in the memory write queue timer in
...
...
@@ -179,6 +191,10 @@ static void __devinit pci_fixup_via_northbridge_bug(struct pci_dev *d)
pci_write_config_byte
(
d
,
where
,
v
);
}
}
DECLARE_PCI_FIXUP_HEADER
(
PCI_VENDOR_ID_VIA
,
PCI_DEVICE_ID_VIA_8363_0
,
pci_fixup_via_northbridge_bug
);
DECLARE_PCI_FIXUP_HEADER
(
PCI_VENDOR_ID_VIA
,
PCI_DEVICE_ID_VIA_8622
,
pci_fixup_via_northbridge_bug
);
DECLARE_PCI_FIXUP_HEADER
(
PCI_VENDOR_ID_VIA
,
PCI_DEVICE_ID_VIA_8361
,
pci_fixup_via_northbridge_bug
);
DECLARE_PCI_FIXUP_HEADER
(
PCI_VENDOR_ID_VIA
,
PCI_DEVICE_ID_VIA_8367_0
,
pci_fixup_via_northbridge_bug
);
/*
* For some reasons Intel decided that certain parts of their
...
...
@@ -195,6 +211,7 @@ static void __devinit pci_fixup_transparent_bridge(struct pci_dev *dev)
(
dev
->
device
&
0xff00
)
==
0x2400
)
dev
->
transparent
=
1
;
}
DECLARE_PCI_FIXUP_HEADER
(
PCI_VENDOR_ID_INTEL
,
PCI_ANY_ID
,
pci_fixup_transparent_bridge
);
/*
* Fixup for C1 Halt Disconnect problem on nForce2 systems.
...
...
@@ -236,115 +253,5 @@ static void __init pci_fixup_nforce2(struct pci_dev *dev)
pci_write_config_dword
(
dev
,
0x6c
,
fixed_val
);
}
}
DECLARE_PCI_FIXUP_HEADER
(
PCI_VENDOR_ID_NVIDIA
,
PCI_DEVICE_ID_NVIDIA_NFORCE2
,
pci_fixup_nforce2
);
struct
pci_fixup
pcibios_fixups
[]
=
{
{
.
pass
=
PCI_FIXUP_HEADER
,
.
vendor
=
PCI_VENDOR_ID_INTEL
,
.
device
=
PCI_DEVICE_ID_INTEL_82451NX
,
.
hook
=
pci_fixup_i450nx
},
{
.
pass
=
PCI_FIXUP_HEADER
,
.
vendor
=
PCI_VENDOR_ID_INTEL
,
.
device
=
PCI_DEVICE_ID_INTEL_82454GX
,
.
hook
=
pci_fixup_i450gx
},
{
.
pass
=
PCI_FIXUP_HEADER
,
.
vendor
=
PCI_VENDOR_ID_UMC
,
.
device
=
PCI_DEVICE_ID_UMC_UM8886BF
,
.
hook
=
pci_fixup_umc_ide
},
{
.
pass
=
PCI_FIXUP_HEADER
,
.
vendor
=
PCI_VENDOR_ID_SI
,
.
device
=
PCI_DEVICE_ID_SI_5513
,
.
hook
=
pci_fixup_ide_trash
},
{
.
pass
=
PCI_FIXUP_HEADER
,
.
vendor
=
PCI_ANY_ID
,
.
device
=
PCI_ANY_ID
,
.
hook
=
pci_fixup_ide_bases
},
{
.
pass
=
PCI_FIXUP_HEADER
,
.
vendor
=
PCI_VENDOR_ID_SI
,
.
device
=
PCI_DEVICE_ID_SI_5597
,
.
hook
=
pci_fixup_latency
},
{
.
pass
=
PCI_FIXUP_HEADER
,
.
vendor
=
PCI_VENDOR_ID_SI
,
.
device
=
PCI_DEVICE_ID_SI_5598
,
.
hook
=
pci_fixup_latency
},
{
.
pass
=
PCI_FIXUP_HEADER
,
.
vendor
=
PCI_VENDOR_ID_INTEL
,
.
device
=
PCI_DEVICE_ID_INTEL_82371AB_3
,
.
hook
=
pci_fixup_piix4_acpi
},
{
.
pass
=
PCI_FIXUP_HEADER
,
.
vendor
=
PCI_VENDOR_ID_INTEL
,
.
device
=
PCI_DEVICE_ID_INTEL_82801CA_10
,
.
hook
=
pci_fixup_ide_trash
},
{
.
pass
=
PCI_FIXUP_HEADER
,
.
vendor
=
PCI_VENDOR_ID_INTEL
,
.
device
=
PCI_DEVICE_ID_INTEL_82801CA_11
,
.
hook
=
pci_fixup_ide_trash
},
{
.
pass
=
PCI_FIXUP_HEADER
,
.
vendor
=
PCI_VENDOR_ID_INTEL
,
.
device
=
PCI_DEVICE_ID_INTEL_82801DB_9
,
.
hook
=
pci_fixup_ide_trash
},
{
.
pass
=
PCI_FIXUP_HEADER
,
.
vendor
=
PCI_VENDOR_ID_VIA
,
.
device
=
PCI_DEVICE_ID_VIA_8363_0
,
.
hook
=
pci_fixup_via_northbridge_bug
},
{
.
pass
=
PCI_FIXUP_HEADER
,
.
vendor
=
PCI_VENDOR_ID_VIA
,
.
device
=
PCI_DEVICE_ID_VIA_8622
,
.
hook
=
pci_fixup_via_northbridge_bug
},
{
.
pass
=
PCI_FIXUP_HEADER
,
.
vendor
=
PCI_VENDOR_ID_VIA
,
.
device
=
PCI_DEVICE_ID_VIA_8361
,
.
hook
=
pci_fixup_via_northbridge_bug
},
{
.
pass
=
PCI_FIXUP_HEADER
,
.
vendor
=
PCI_VENDOR_ID_VIA
,
.
device
=
PCI_DEVICE_ID_VIA_8367_0
,
.
hook
=
pci_fixup_via_northbridge_bug
},
{
.
pass
=
PCI_FIXUP_HEADER
,
.
vendor
=
PCI_VENDOR_ID_NCR
,
.
device
=
PCI_DEVICE_ID_NCR_53C810
,
.
hook
=
pci_fixup_ncr53c810
},
{
.
pass
=
PCI_FIXUP_HEADER
,
.
vendor
=
PCI_VENDOR_ID_INTEL
,
.
device
=
PCI_ANY_ID
,
.
hook
=
pci_fixup_transparent_bridge
},
{
.
pass
=
PCI_FIXUP_HEADER
,
.
vendor
=
PCI_VENDOR_ID_NVIDIA
,
.
device
=
PCI_DEVICE_ID_NVIDIA_NFORCE2
,
.
hook
=
pci_fixup_nforce2
},
{
.
pass
=
0
}
};
arch/i386/pci/numa.c
View file @
c22a4e56
...
...
@@ -100,10 +100,7 @@ static void __devinit pci_fixup_i450nx(struct pci_dev *d)
}
pcibios_last_bus
=
-
1
;
}
struct
pci_fixup
pcibios_fixups
[]
=
{
{
PCI_FIXUP_HEADER
,
PCI_VENDOR_ID_INTEL
,
PCI_DEVICE_ID_INTEL_82451NX
,
pci_fixup_i450nx
},
};
DECLARE_PCI_FIXUP_HEADER
(
PCI_VENDOR_ID_INTEL
,
PCI_DEVICE_ID_INTEL_82451NX
,
pci_fixup_i450nx
);
static
int
__init
pci_numa_init
(
void
)
{
...
...
arch/ia64/pci/pci.c
View file @
c22a4e56
...
...
@@ -46,8 +46,6 @@
#define DBG(x...)
#endif
struct
pci_fixup
pcibios_fixups
[
1
];
/*
* Low-level SAL-based PCI configuration access functions. Note that SAL
* calls are already serialized (via sal_lock), so we don't need another
...
...
arch/m68k/kernel/bios32.c
View file @
c22a4e56
...
...
@@ -77,11 +77,6 @@ static int disable_pci_burst; /* If set do not allow PCI bursts. */
static
unsigned
int
io_base
;
static
unsigned
int
mem_base
;
struct
pci_fixup
pcibios_fixups
[]
=
{
{
0
}
};
/*
* static void disable_dev(struct pci_dev *dev)
*
...
...
arch/m68knommu/kernel/comempci.c
View file @
c22a4e56
...
...
@@ -351,8 +351,6 @@ char *pcibios_setup(char *option)
}
/*****************************************************************************/
struct
pci_fixup
pcibios_fixups
[]
=
{
{
0
}
};
void
pcibios_fixup_bus
(
struct
pci_bus
*
b
)
{
}
...
...
arch/mips/pci/fixup-atlas.c
View file @
c22a4e56
...
...
@@ -60,13 +60,7 @@ static void atlas_saa9730_base_fixup (struct pci_dev *pdev)
printk
(
"saa9730_base = %x
\n
"
,
saa9730_base
);
}
#endif
DECLARE_PCI_FIXUP_HEADER
(
PCI_VENDOR_ID_PHILIPS
,
PCI_DEVICE_ID_PHILIPS_SAA9730
,
atlas_saa9730_base_fixup
);
struct
pci_fixup
pcibios_fixups
[]
__initdata
=
{
#ifdef CONFIG_KGDB
{
PCI_FIXUP_HEADER
,
PCI_VENDOR_ID_PHILIPS
,
PCI_DEVICE_ID_PHILIPS_SAA9730
,
atlas_saa9730_base_fixup
},
#endif
{
0
}
};
arch/mips/pci/fixup-au1000.c
View file @
c22a4e56
...
...
@@ -102,7 +102,3 @@ int __init pcibios_map_irq(struct pci_dev *dev, u8 slot, u8 pin)
{
return
irq_tab_alchemy
[
slot
][
pin
];
}
struct
pci_fixup
pcibios_fixups
[]
__initdata
=
{
{
0
}
};
arch/mips/pci/fixup-capcella.c
View file @
c22a4e56
...
...
@@ -42,7 +42,3 @@ int __init pcibios_map_irq(struct pci_dev *dev, u8 slot, u8 pin)
{
return
irq_tab_capcella
[
slot
][
pin
];
}
struct
pci_fixup
pcibios_fixups
[]
__initdata
=
{
{
.
pass
=
0
,
},
};
arch/mips/pci/fixup-cobalt.c
View file @
c22a4e56
...
...
@@ -41,6 +41,9 @@ static void qube_raq_via_bmIDE_fixup(struct pci_dev *dev)
pci_write_config_byte
(
dev
,
PCI_CACHE_LINE_SIZE
,
7
);
}
DECLARE_PCI_FIXUP_HEADER
(
PCI_VENDOR_ID_VIA
,
PCI_DEVICE_ID_VIA_82C586_1
,
qube_raq_via_bmIDE_fixup
);
static
void
qube_raq_galileo_fixup
(
struct
pci_dev
*
dev
)
{
unsigned
short
galileo_id
;
...
...
@@ -73,13 +76,8 @@ static void qube_raq_galileo_fixup(struct pci_dev *dev)
}
}
struct
pci_fixup
pcibios_fixups
[]
__initdata
=
{
{
PCI_FIXUP_HEADER
,
PCI_VENDOR_ID_VIA
,
PCI_DEVICE_ID_VIA_82C586_1
,
qube_raq_via_bmIDE_fixup
},
{
PCI_FIXUP_HEADER
,
PCI_VENDOR_ID_GALILEO
,
PCI_ANY_ID
,
qube_raq_galileo_fixup
},
0
};
DECLARE_PCI_FIXUP_HEADER
(
PCI_VENDOR_ID_GALILEO
,
PCI_ANY_ID
,
qube_raq_galileo_fixup
);
static
char
irq_tab_cobalt
[]
__initdata
=
{
[
COBALT_PCICONF_CPU
]
=
0
,
...
...
arch/mips/pci/fixup-ddb5074.c
View file @
c22a4e56
...
...
@@ -17,8 +17,5 @@ static void ddb5074_fixup(struct pci_dev *dev)
pci_write_config_byte
(
dev
,
0x7e
,
t8
);
}
struct
pci_fixup
pcibios_fixups
[]
__initdata
=
{
{
PCI_FIXUP_FINAL
,
PCI_VENDOR_ID_AL
,
PCI_DEVICE_ID_AL_M7101
,
ddb5074_fixup
},
{
0
}
};
DECLARE_PCI_FIXUP_FINAL
(
PCI_VENDOR_ID_AL
,
PCI_DEVICE_ID_AL_M7101
,
ddb5074_fixup
);
arch/mips/pci/fixup-ddb5477.c
View file @
c22a4e56
...
...
@@ -41,6 +41,11 @@ static void ddb5477_fixup(struct pci_dev *dev)
pci_write_config_byte
(
dev
,
0x41
,
old
|
0xd0
);
}
DECLARE_PCI_FIXUP_FINAL
(
PCI_VENDOR_ID_AL
,
PCI_DEVICE_ID_AL_M1533
,
ddb5477_fixup
);
DECLARE_PCI_FIXUP_FINAL
(
PCI_VENDOR_ID_AL
,
PCI_DEVICE_ID_AL_M1535
,
ddb5477_fixup
);
/*
* Fixup baseboard AMD chip so that tx does not underflow.
* bcr_18 |= 0x0800
...
...
@@ -69,12 +74,5 @@ static void ddb5477_amd_lance_fixup(struct pci_dev *dev)
outw
(
temp
,
ioaddr
+
PCNET32_WIO_BDP
);
}
struct
pci_fixup
pcibios_fixups
[]
__initdata
=
{
{
PCI_FIXUP_FINAL
,
PCI_VENDOR_ID_AL
,
PCI_DEVICE_ID_AL_M1533
,
ddb5477_fixup
},
{
PCI_FIXUP_FINAL
,
PCI_VENDOR_ID_AL
,
PCI_DEVICE_ID_AL_M1535
,
ddb5477_fixup
},
{
PCI_FIXUP_FINAL
,
PCI_VENDOR_ID_AMD
,
PCI_DEVICE_ID_AMD_LANCE
,
ddb5477_amd_lance_fixup
},
{
0
}
};
DECLARE_PCI_FIXUP_FINAL
(
PCI_VENDOR_ID_AMD
,
PCI_DEVICE_ID_AMD_LANCE
,
ddb5477_amd_lance_fixup
);
arch/mips/pci/fixup-ip32.c
View file @
c22a4e56
...
...
@@ -44,7 +44,3 @@ int __init pcibios_map_irq(struct pci_dev *dev, u8 slot, u8 pin)
{
return
irq_tab_mace
[
slot
][
pin
];
}
struct
pci_fixup
pcibios_fixups
[]
=
{
{
0
}
};
arch/mips/pci/fixup-jaguar.c
View file @
c22a4e56
...
...
@@ -36,7 +36,3 @@ int __init pcibios_map_irq(struct pci_dev *dev, u8 slot, u8 pin)
return
0
;
panic
(
"Whooops in pcibios_map_irq"
);
}
struct
pci_fixup
pcibios_fixups
[]
=
{
{
0
}
};
arch/mips/pci/fixup-lasat.c
View file @
c22a4e56
...
...
@@ -4,7 +4,3 @@
void
__init
pcibios_fixup_irqs
(
void
)
{
}
struct
pci_fixup
pcibios_fixups
[]
__initdata
=
{
{
0
}
};
arch/mips/pci/fixup-malta.c
View file @
c22a4e56
...
...
@@ -79,6 +79,8 @@ static void __init malta_piix_func0_fixup(struct pci_dev *pdev)
}
}
DECLARE_PCI_FIXUP_HEADER
(
PCI_VENDOR_ID_INTEL
,
PCI_DEVICE_ID_INTEL_82371AB_0
,
malta_piix_func0_fixup
);
static
void
__init
malta_piix_func1_fixup
(
struct
pci_dev
*
pdev
)
{
...
...
@@ -96,10 +98,5 @@ static void __init malta_piix_func1_fixup(struct pci_dev *pdev)
}
}
struct
pci_fixup
pcibios_fixups
[]
__initdata
=
{
{
PCI_FIXUP_HEADER
,
PCI_VENDOR_ID_INTEL
,
PCI_DEVICE_ID_INTEL_82371AB_0
,
malta_piix_func0_fixup
},
{
PCI_FIXUP_HEADER
,
PCI_VENDOR_ID_INTEL
,
PCI_DEVICE_ID_INTEL_82371AB
,
malta_piix_func1_fixup
},
{
0
}
};
DECLARE_PCI_FIXUP_HEADER
(
PCI_VENDOR_ID_INTEL
,
PCI_DEVICE_ID_INTEL_82371AB
,
malta_piix_func1_fixup
);
arch/mips/pci/fixup-mpc30x.c
View file @
c22a4e56
...
...
@@ -42,7 +42,3 @@ int __init pcibios_map_irq(struct pci_dev *dev, u8 slot, u8 pin)
return
irq_tab_mpc30x
[
slot
];
}
struct
pci_fixup
pcibios_fixups
[]
__initdata
=
{
{
.
pass
=
0
,
},
};
arch/mips/pci/fixup-ocelot-c.c
View file @
c22a4e56
...
...
@@ -33,7 +33,3 @@ int __init pcibios_map_irq(struct pci_dev *dev, u8 slot, u8 pin)
return
0
;
panic
(
"Whooops in pcibios_map_irq"
);
}
struct
pci_fixup
pcibios_fixups
[]
=
{
{
0
}
};
arch/mips/pci/fixup-ocelot-g.c
View file @
c22a4e56
...
...
@@ -29,7 +29,3 @@ int __init pcibios_map_irq(struct pci_dev *dev, u8 slot, u8 pin)
return
-
1
;
}
struct
pci_fixup
pcibios_fixups
[]
=
{
{
0
}
};
arch/mips/pci/fixup-sni.c
View file @
c22a4e56
...
...
@@ -82,7 +82,3 @@ int __init pcibios_map_irq(struct pci_dev *dev, u8 slot, u8 pin)
return
irq_tab_rm200
[
slot
][
pin
];
}
struct
pci_fixup
pcibios_fixups
[]
=
{
{
0
}
};
arch/mips/pci/fixup-tb0219.c
View file @
c22a4e56
...
...
@@ -58,7 +58,3 @@ int __init pcibios_map_irq(struct pci_dev *dev, u8 slot, u8 pin)
return
irq
;
}
struct
pci_fixup
pcibios_fixups
[]
__initdata
=
{
{
.
pass
=
0
,
},
};
arch/mips/pci/fixup-tb0226.c
View file @
c22a4e56
...
...
@@ -77,7 +77,3 @@ int __init pcibios_map_irq(struct pci_dev *dev, u8 slot, u8 pin)
return
irq
;
}
struct
pci_fixup
pcibios_fixups
[]
__initdata
=
{
{
.
pass
=
0
,
},
};
arch/mips/pci/fixup-yosemite.c
View file @
c22a4e56
...
...
@@ -33,7 +33,3 @@ int __init pcibios_map_irq(struct pci_dev *dev, u8 slot, u8 pin)
return
3
;
/* Everything goes to one irq bit */
}
struct
pci_fixup
pcibios_fixups
[]
=
{
{
0
}
};
arch/mips/pci/pci-ip27.c
View file @
c22a4e56
...
...
@@ -329,6 +329,9 @@ static void __init pci_fixup_ioc3(struct pci_dev *d)
pci_disable_swapping
(
d
);
}
DECLARE_PCI_FIXUP_HEADER
(
PCI_VENDOR_ID_SGI
,
PCI_DEVICE_ID_SGI_IOC3
,
pci_fixup_ioc3
);
static
void
__init
pci_fixup_isp1020
(
struct
pci_dev
*
d
)
{
struct
bridge_controller
*
bc
=
BRIDGE_CONTROLLER
(
d
->
bus
);
...
...
@@ -353,6 +356,9 @@ static void __init pci_fixup_isp1020(struct pci_dev *d)
pci_enable_swapping
(
d
);
}
DECLARE_PCI_FIXUP_HEADER
(
PCI_VENDOR_ID_QLOGIC
,
PCI_DEVICE_ID_QLOGIC_ISP1020
,
pci_fixup_isp1020
);
static
void
__init
pci_fixup_isp2x00
(
struct
pci_dev
*
d
)
{
struct
bridge_controller
*
bc
=
BRIDGE_CONTROLLER
(
d
->
bus
);
...
...
@@ -427,14 +433,7 @@ static void __init pci_fixup_isp2x00(struct pci_dev *d)
/*d->resource[1].flags |= 1; */
}
struct
pci_fixup
pcibios_fixups
[]
=
{
{
PCI_FIXUP_HEADER
,
PCI_VENDOR_ID_SGI
,
PCI_DEVICE_ID_SGI_IOC3
,
pci_fixup_ioc3
},
{
PCI_FIXUP_HEADER
,
PCI_VENDOR_ID_QLOGIC
,
PCI_DEVICE_ID_QLOGIC_ISP1020
,
pci_fixup_isp1020
},
{
PCI_FIXUP_HEADER
,
PCI_VENDOR_ID_QLOGIC
,
PCI_DEVICE_ID_QLOGIC_ISP2100
,
pci_fixup_isp2x00
},
{
PCI_FIXUP_HEADER
,
PCI_VENDOR_ID_QLOGIC
,
PCI_DEVICE_ID_QLOGIC_ISP2200
,
pci_fixup_isp2x00
},
{
0
}
};
DECLARE_PCI_FIXUP_HEADER
(
PCI_VENDOR_ID_QLOGIC
,
PCI_DEVICE_ID_QLOGIC_ISP2100
,
pci_fixup_isp2x00
);
DECLARE_PCI_FIXUP_HEADER
(
PCI_VENDOR_ID_QLOGIC
,
PCI_DEVICE_ID_QLOGIC_ISP2200
,
pci_fixup_isp2x00
);
arch/mips/pci/pci-sb1250.c
View file @
c22a4e56
...
...
@@ -279,7 +279,3 @@ static int __init sb1250_pcibios_init(void)
return
0
;
}
arch_initcall
(
sb1250_pcibios_init
);
struct
pci_fixup
pcibios_fixups
[]
=
{
{
0
}
};
arch/mips/pmc-sierra/yosemite/ht.c
View file @
c22a4e56
...
...
@@ -414,11 +414,6 @@ struct pci_ops titan_pci_ops = {
titan_ht_config_write_dword
};
struct
pci_fixup
pcibios_fixups
[]
=
{
{
0
}
};
void
__init
pcibios_fixup_bus
(
struct
pci_bus
*
c
)
{
titan_ht_pcibios_fixup_bus
(
c
);
...
...
arch/parisc/kernel/pci.c
View file @
c22a4e56
...
...
@@ -146,15 +146,6 @@ char *pcibios_setup(char *str)
return
str
;
}
/* Used in drivers/pci/quirks.c */
struct
pci_fixup
pcibios_fixups
[]
=
{
#ifdef CONFIG_SUPERIO
{
PCI_FIXUP_HEADER
,
PCI_VENDOR_ID_NS
,
PCI_DEVICE_ID_NS_87415
,
superio_fixup_pci
},
#endif
{
0
}
};
/*
* Called by pci_set_master() - a driver interface.
*
...
...
arch/ppc/kernel/pci.c
View file @
c22a4e56
...
...
@@ -45,11 +45,6 @@ static void fixup_broken_pcnet32(struct pci_dev* dev);
static
int
reparent_resources
(
struct
resource
*
parent
,
struct
resource
*
res
);
static
void
fixup_rev1_53c810
(
struct
pci_dev
*
dev
);
static
void
fixup_cpc710_pci64
(
struct
pci_dev
*
dev
);
#ifdef CONFIG_PPC_PMAC
extern
void
pmac_pci_fixup_cardbus
(
struct
pci_dev
*
dev
);
extern
void
pmac_pci_fixup_pciata
(
struct
pci_dev
*
dev
);
extern
void
pmac_pci_fixup_k2_sata
(
struct
pci_dev
*
dev
);
#endif
#ifdef CONFIG_PPC_OF
static
u8
*
pci_to_OF_bus_map
;
#endif
...
...
@@ -64,20 +59,6 @@ struct pci_controller** hose_tail = &hose_head;
static
int
pci_bus_count
;
struct
pci_fixup
pcibios_fixups
[]
=
{
{
PCI_FIXUP_HEADER
,
PCI_VENDOR_ID_TRIDENT
,
PCI_ANY_ID
,
fixup_broken_pcnet32
},
{
PCI_FIXUP_HEADER
,
PCI_VENDOR_ID_NCR
,
PCI_DEVICE_ID_NCR_53C810
,
fixup_rev1_53c810
},
{
PCI_FIXUP_HEADER
,
PCI_VENDOR_ID_IBM
,
PCI_DEVICE_ID_IBM_CPC710_PCI64
,
fixup_cpc710_pci64
},
{
PCI_FIXUP_HEADER
,
PCI_ANY_ID
,
PCI_ANY_ID
,
pcibios_fixup_resources
},
#ifdef CONFIG_PPC_PMAC
/* We should add per-machine fixup support in xxx_setup.c or xxx_pci.c */
{
PCI_FIXUP_FINAL
,
PCI_VENDOR_ID_TI
,
PCI_ANY_ID
,
pmac_pci_fixup_cardbus
},
{
PCI_FIXUP_FINAL
,
PCI_ANY_ID
,
PCI_ANY_ID
,
pmac_pci_fixup_pciata
},
{
PCI_FIXUP_HEADER
,
PCI_VENDOR_ID_SERVERWORKS
,
0x0240
,
pmac_pci_fixup_k2_sata
},
#endif
/* CONFIG_PPC_PMAC */
{
0
}
};
static
void
fixup_rev1_53c810
(
struct
pci_dev
*
dev
)
{
...
...
@@ -90,6 +71,7 @@ fixup_rev1_53c810(struct pci_dev* dev)
dev
->
class
=
PCI_CLASS_STORAGE_SCSI
;
}
}
DECLARE_PCI_FIXUP_HEADER
(
PCI_VENDOR_ID_NCR
,
PCI_DEVICE_ID_NCR_53C810
,
fixup_rev1_53c810
);
static
void
fixup_broken_pcnet32
(
struct
pci_dev
*
dev
)
...
...
@@ -100,6 +82,7 @@ fixup_broken_pcnet32(struct pci_dev* dev)
pci_name_device
(
dev
);
}
}
DECLARE_PCI_FIXUP_HEADER
(
PCI_VENDOR_ID_TRIDENT
,
PCI_ANY_ID
,
fixup_broken_pcnet32
);
static
void
fixup_cpc710_pci64
(
struct
pci_dev
*
dev
)
...
...
@@ -112,6 +95,7 @@ fixup_cpc710_pci64(struct pci_dev* dev)
dev
->
resource
[
1
].
start
=
dev
->
resource
[
1
].
end
=
0
;
dev
->
resource
[
1
].
flags
=
0
;
}
DECLARE_PCI_FIXUP_HEADER
(
PCI_VENDOR_ID_IBM
,
PCI_DEVICE_ID_IBM_CPC710_PCI64
,
fixup_cpc710_pci64
);
static
void
pcibios_fixup_resources
(
struct
pci_dev
*
dev
)
...
...
@@ -158,6 +142,7 @@ pcibios_fixup_resources(struct pci_dev *dev)
if
(
ppc_md
.
pcibios_fixup_resources
)
ppc_md
.
pcibios_fixup_resources
(
dev
);
}
DECLARE_PCI_FIXUP_HEADER
(
PCI_ANY_ID
,
PCI_ANY_ID
,
pcibios_fixup_resources
);
void
pcibios_resource_to_bus
(
struct
pci_dev
*
dev
,
struct
pci_bus_region
*
region
,
...
...
arch/ppc/platforms/pmac_pci.c
View file @
c22a4e56
...
...
@@ -1034,6 +1034,8 @@ void pmac_pci_fixup_cardbus(struct pci_dev* dev)
}
}
DECLARE_PCI_FIXUP_FINAL
(
PCI_VENDOR_ID_TI
,
PCI_ANY_ID
,
pmac_pci_fixup_cardbus
);
void
pmac_pci_fixup_pciata
(
struct
pci_dev
*
dev
)
{
u8
progif
=
0
;
...
...
@@ -1074,6 +1076,8 @@ void pmac_pci_fixup_pciata(struct pci_dev* dev)
printk
(
KERN_ERR
"Rewrite of PROGIF failed !
\n
"
);
}
}
DECLARE_PCI_FIXUP_FINAL
(
PCI_ANY_ID
,
PCI_ANY_ID
,
pmac_pci_fixup_pciata
);
/*
* Disable second function on K2-SATA, it's broken
...
...
@@ -1104,3 +1108,4 @@ void __pmac pmac_pci_fixup_k2_sata(struct pci_dev* dev)
}
}
}
DECLARE_PCI_FIXUP_HEADER
(
PCI_VENDOR_ID_SERVERWORKS
,
0x0240
,
pmac_pci_fixup_k2_sata
);
arch/ppc/platforms/sbc82xx.c
View file @
c22a4e56
...
...
@@ -20,6 +20,7 @@
#include <linux/stddef.h>
#include <linux/interrupt.h>
#include <linux/irq.h>
#include <linux/pci.h>
#include <asm/mpc8260.h>
#include <asm/machdep.h>
...
...
@@ -237,6 +238,25 @@ static int sbc82xx_pci_map_irq(struct pci_dev *dev, unsigned char idsel,
}
static
void
__devinit
quirk_sbc8260_cardbus
(
struct
pci_dev
*
pdev
)
{
uint32_t
ctrl
;
if
(
pdev
->
bus
->
number
!=
0
||
pdev
->
devfn
!=
PCI_DEVFN
(
17
,
0
))
return
;
printk
(
KERN_INFO
"Setting up CardBus controller
\n
"
);
/* Set P2CCLK bit in System Control Register */
pci_read_config_dword
(
pdev
,
0x80
,
&
ctrl
);
ctrl
|=
(
1
<<
27
);
pci_write_config_dword
(
pdev
,
0x80
,
ctrl
);
/* Set MFUNC up for PCI IRQ routing via INTA and INTB, and LEDs. */
pci_write_config_dword
(
pdev
,
0x8c
,
0x00c01d22
);
}
DECLARE_PCI_FIXUP_FINAL
(
PCI_VENDOR_ID_TI
,
PCI_DEVICE_ID_TI_1420
,
quirk_sbc8260_cardbus
);
void
__init
platform_init
(
unsigned
long
r3
,
unsigned
long
r4
,
unsigned
long
r5
,
...
...
arch/ppc64/kernel/iSeries_pci.c
View file @
c22a4e56
...
...
@@ -820,7 +820,3 @@ void iSeries_Write_Long(u32 data, void *IoAddress)
}
while
(
CheckReturnCode
(
"WWL"
,
DevNode
,
rc
)
!=
0
);
}
EXPORT_SYMBOL
(
iSeries_Write_Long
);
void
pcibios_name_device
(
struct
pci_dev
*
dev
)
{
}
arch/ppc64/kernel/pSeries_pci.c
View file @
c22a4e56
...
...
@@ -519,9 +519,9 @@ unsigned long __init find_and_init_phbs(void)
return
0
;
}
#if 0
void pcibios_name_device(struct pci_dev *dev)
{
#if 0
struct device_node *dn;
/*
...
...
@@ -541,8 +541,9 @@ void pcibios_name_device(struct pci_dev *dev)
}
}
}
#endif
}
DECLARE_PCI_FIXUP_HEADER(PCI_ANY_ID, PCI_ANY_ID, pcibios_name_device);
#endif
void
__devinit
pcibios_fixup_device_resources
(
struct
pci_dev
*
dev
,
struct
pci_bus
*
bus
)
...
...
arch/ppc64/kernel/pci.c
View file @
c22a4e56
...
...
@@ -55,12 +55,6 @@ unsigned int pcibios_assign_all_busses(void)
unsigned
long
isa_io_base
;
/* NULL if no ISA bus */
unsigned
long
pci_io_base
;
void
pcibios_name_device
(
struct
pci_dev
*
dev
);
void
pcibios_final_fixup
(
void
);
static
void
fixup_broken_pcnet32
(
struct
pci_dev
*
dev
);
static
void
fixup_windbond_82c105
(
struct
pci_dev
*
dev
);
extern
void
fixup_k2_sata
(
struct
pci_dev
*
dev
);
void
iSeries_pcibios_init
(
void
);
struct
pci_controller
*
hose_head
;
...
...
@@ -74,20 +68,6 @@ int global_phb_number; /* Global phb counter */
/* Cached ISA bridge dev. */
struct
pci_dev
*
ppc64_isabridge_dev
=
NULL
;
struct
pci_fixup
pcibios_fixups
[]
=
{
{
PCI_FIXUP_HEADER
,
PCI_VENDOR_ID_TRIDENT
,
PCI_ANY_ID
,
fixup_broken_pcnet32
},
{
PCI_FIXUP_HEADER
,
PCI_VENDOR_ID_WINBOND
,
PCI_DEVICE_ID_WINBOND_82C105
,
fixup_windbond_82c105
},
{
PCI_FIXUP_HEADER
,
PCI_ANY_ID
,
PCI_ANY_ID
,
pcibios_name_device
},
#ifdef CONFIG_PPC_PMAC
{
PCI_FIXUP_HEADER
,
PCI_VENDOR_ID_SERVERWORKS
,
0x0240
,
fixup_k2_sata
},
#endif
{
0
}
};
static
void
fixup_broken_pcnet32
(
struct
pci_dev
*
dev
)
{
if
((
dev
->
class
>>
8
==
PCI_CLASS_NETWORK_ETHERNET
))
{
...
...
@@ -96,6 +76,7 @@ static void fixup_broken_pcnet32(struct pci_dev* dev)
pci_name_device
(
dev
);
}
}
DECLARE_PCI_FIXUP_HEADER
(
PCI_VENDOR_ID_TRIDENT
,
PCI_ANY_ID
,
fixup_broken_pcnet32
);
static
void
fixup_windbond_82c105
(
struct
pci_dev
*
dev
)
{
...
...
@@ -118,6 +99,7 @@ static void fixup_windbond_82c105(struct pci_dev* dev)
dev
->
resource
[
i
].
flags
&=
~
IORESOURCE_IO
;
}
}
DECLARE_PCI_FIXUP_HEADER
(
PCI_VENDOR_ID_WINBOND
,
PCI_DEVICE_ID_WINBOND_82C105
,
fixup_windbond_82c105
);
void
pcibios_resource_to_bus
(
struct
pci_dev
*
dev
,
struct
pci_bus_region
*
region
,
...
...
arch/ppc64/kernel/pmac_pci.c
View file @
c22a4e56
...
...
@@ -777,3 +777,4 @@ void fixup_k2_sata(struct pci_dev* dev)
}
}
}
DECLARE_PCI_FIXUP_HEADER
(
PCI_VENDOR_ID_SERVERWORKS
,
0x0240
,
fixup_k2_sata
);
arch/sh/boards/mpc1211/pci.c
View file @
c22a4e56
...
...
@@ -176,14 +176,7 @@ static void __devinit quirk_ali_ide_ports(struct pci_dev *dev)
dev
->
resource
[
4
].
end
=
0xf00f
;
dev
->
resource
[
4
].
flags
=
IORESOURCE_IO
;
}
/* Add future fixups here... */
struct
pci_fixup
pcibios_fixups
[]
=
{
{
PCI_FIXUP_HEADER
,
PCI_VENDOR_ID_AL
,
PCI_DEVICE_ID_AL_M5229
,
quirk_ali_ide_ports
},
{
0
}
};
DECLARE_PCI_FIXUP_HEADER
(
PCI_VENDOR_ID_AL
,
PCI_DEVICE_ID_AL_M5229
,
quirk_ali_ide_ports
);
char
*
__devinit
pcibios_setup
(
char
*
str
)
{
...
...
arch/sh/boards/overdrive/galileo.c
View file @
c22a4e56
...
...
@@ -455,13 +455,7 @@ static void __init pci_fixup_ide_bases(struct pci_dev *d)
}
}
}
/* Add future fixups here... */
struct
pci_fixup
pcibios_fixups
[]
=
{
{
PCI_FIXUP_HEADER
,
PCI_ANY_ID
,
PCI_ANY_ID
,
pci_fixup_ide_bases
},
{
0
}
};
DECLARE_PCI_FIXUP_HEADER
(
PCI_ANY_ID
,
PCI_ANY_ID
,
pci_fixup_ide_bases
);
void
__init
pcibios_init
(
void
)
{
...
...
arch/sh/drivers/pci/fixups-dreamcast.c
View file @
c22a4e56
...
...
@@ -47,11 +47,7 @@ static void __init gapspci_fixup_resources(struct pci_dev *dev)
}
}
struct
pci_fixup
pcibios_fixups
[]
=
{
{
PCI_FIXUP_HEADER
,
PCI_ANY_ID
,
PCI_ANY_ID
,
gapspci_fixup_resources
},
{
0
,
}
};
DECLARE_PCI_FIXUP_HEADER
(
PCI_ANY_ID
,
PCI_ANY_ID
,
gapspci_fixup_resources
);
void
__init
pcibios_fixup_bus
(
struct
pci_bus
*
bus
)
{
...
...
arch/sh/drivers/pci/pci-sh7751.c
View file @
c22a4e56
...
...
@@ -177,16 +177,9 @@ static void __init pci_fixup_ide_bases(struct pci_dev *d)
}
}
}
DECLARE_PCI_FIXUP_HEADER
(
PCI_ANY_ID
,
PCI_ANY_ID
,
pci_fixup_ide_bases
);
#endif
/* Add future fixups here... */
struct
pci_fixup
pcibios_fixups
[]
=
{
#if !defined(CONFIG_SH_HS7751RVOIP) && !defined(CONFIG_SH_RTS7751R2D)
{
PCI_FIXUP_HEADER
,
PCI_ANY_ID
,
PCI_ANY_ID
,
pci_fixup_ide_bases
},
#endif
{
0
}
};
/*
* Called after each bus is probed, but before its children
* are examined.
...
...
arch/sh/drivers/pci/pci-st40.c
View file @
c22a4e56
...
...
@@ -160,13 +160,7 @@ static void __init pci_fixup_ide_bases(struct pci_dev *d)
}
}
}
/* Add future fixups here... */
struct
pci_fixup
pcibios_fixups
[]
=
{
{
PCI_FIXUP_HEADER
,
PCI_ANY_ID
,
PCI_ANY_ID
,
pci_fixup_ide_bases
},
{
0
}
};
DECLARE_PCI_FIXUP_HEADER
(
PCI_ANY_ID
,
PCI_ANY_ID
,
pci_fixup_ide_bases
);
int
__init
st40pci_init
(
unsigned
memStart
,
unsigned
memSize
)
{
...
...
arch/sh64/kernel/pci_sh5.c
View file @
c22a4e56
...
...
@@ -48,12 +48,7 @@ static void __init pci_fixup_ide_bases(struct pci_dev *d)
}
}
}
/* Add future fixups here... */
struct
pci_fixup
pcibios_fixups
[]
=
{
{
PCI_FIXUP_HEADER
,
PCI_ANY_ID
,
PCI_ANY_ID
,
pci_fixup_ide_bases
},
{
0
}
};
DECLARE_PCI_FIXUP_HEADER
(
PCI_ANY_ID
,
PCI_ANY_ID
,
pci_fixup_ide_bases
);
char
*
__init
pcibios_setup
(
char
*
str
)
{
...
...
arch/sparc/kernel/pcic.c
View file @
c22a4e56
...
...
@@ -36,10 +36,6 @@
#include <asm/uaccess.h>
struct
pci_fixup
pcibios_fixups
[]
=
{
{
0
}
};
unsigned
int
pcic_pin_to_irq
(
unsigned
int
pin
,
char
*
name
);
/*
...
...
arch/sparc64/kernel/pci.c
View file @
c22a4e56
...
...
@@ -351,10 +351,6 @@ static int __init pcibios_init(void)
subsys_initcall
(
pcibios_init
);
struct
pci_fixup
pcibios_fixups
[]
=
{
{
0
}
};
void
pcibios_fixup_bus
(
struct
pci_bus
*
pbus
)
{
struct
pci_pbm_info
*
pbm
=
pbus
->
sysdata
;
...
...
arch/v850/kernel/rte_mb_a_pci.c
View file @
c22a4e56
...
...
@@ -322,8 +322,6 @@ pcibios_resource_to_bus(struct pci_dev *dev, struct pci_bus_region *region,
/* Stubs for things we don't use. */
struct
pci_fixup
pcibios_fixups
[]
=
{
{
0
}
};
/* Called after each bus is probed, but before its children are examined. */
void
pcibios_fixup_bus
(
struct
pci_bus
*
b
)
{
...
...
drivers/parisc/superio.c
View file @
c22a4e56
...
...
@@ -484,6 +484,7 @@ void superio_fixup_pci(struct pci_dev *pdev)
pci_read_config_byte
(
pdev
,
PCI_CLASS_PROG
,
&
prog
);
printk
(
"PCI: Enabled native mode for NS87415 (pif=0x%x)
\n
"
,
prog
);
}
DECLARE_PCI_FIXUP_HEADER
(
PCI_VENDOR_ID_NS
,
PCI_DEVICE_ID_NS_87415
,
superio_fixup_pci
);
/* Because of a defect in Super I/O, all reads of the PCI DMA status
* registers, IDE status register and the IDE select register need to be
...
...
drivers/pci/quirks.c
View file @
c22a4e56
This diff is collapsed.
Click to expand it.
include/asm-generic/vmlinux.lds.h
View file @
c22a4e56
...
...
@@ -16,6 +16,16 @@
*(.rodata1) \
} \
\
/* PCI quirks */
\
.pci_fixup : AT(ADDR(.pci_fixup) - LOAD_OFFSET) { \
VMLINUX_SYMBOL(__start_pci_fixups_header) = .; \
*(.pci_fixup_header) \
VMLINUX_SYMBOL(__end_pci_fixups_header) = .; \
VMLINUX_SYMBOL(__start_pci_fixups_final) = .; \
*(.pci_fixup_final) \
VMLINUX_SYMBOL(__end_pci_fixups_final) = .; \
} \
\
/* Kernel symbol table: Normal symbols */
\
__ksymtab : AT(ADDR(__ksymtab) - LOAD_OFFSET) { \
VMLINUX_SYMBOL(__start___ksymtab) = .; \
...
...
include/linux/pci.h
View file @
c22a4e56
...
...
@@ -1001,16 +1001,25 @@ static inline char *pci_name(struct pci_dev *pdev)
*/
struct
pci_fixup
{
int
pass
;
u16
vendor
,
device
;
/* You can use PCI_ANY_ID here of course */
void
(
*
hook
)(
struct
pci_dev
*
dev
);
};
extern
struct
pci_fixup
pcibios_fixups
[];
#define PCI_FIXUP_HEADER 1
/* Called immediately after reading configuration header */
#define PCI_FIXUP_FINAL 2
/* Final phase of device fixups */
/* Anonymous variables would be nice... */
#define DECLARE_PCI_FIXUP_HEADER(vendor, device, hook) \
static struct pci_fixup __pci_fixup_##vendor##device##hook __attribute_used__ \
__attribute__((__section__(".pci_fixup_header"))) = { \
vendor, device, hook };
#define DECLARE_PCI_FIXUP_FINAL(vendor, device, hook) \
static struct pci_fixup __pci_fixup_##vendor##device##hook __attribute_used__ \
__attribute__((__section__(".pci_fixup_final"))) = { \
vendor, device, hook };
void
pci_fixup_device
(
int
pass
,
struct
pci_dev
*
dev
);
extern
int
pci_pci_problems
;
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment