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
Kirill Smelkov
linux
Commits
46f3bd44
Commit
46f3bd44
authored
Aug 10, 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
783707a1
7b8ff6b6
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 @
46f3bd44
...
...
@@ -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 @
46f3bd44
...
...
@@ -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 @
46f3bd44
...
...
@@ -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 @
46f3bd44
...
...
@@ -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 @
46f3bd44
...
...
@@ -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 @
46f3bd44
...
...
@@ -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 @
46f3bd44
...
...
@@ -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 @
46f3bd44
...
...
@@ -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 @
46f3bd44
...
...
@@ -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 @
46f3bd44
...
...
@@ -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 @
46f3bd44
...
...
@@ -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 @
46f3bd44
...
...
@@ -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 @
46f3bd44
...
...
@@ -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 @
46f3bd44
...
...
@@ -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 @
46f3bd44
...
...
@@ -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 @
46f3bd44
...
...
@@ -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 @
46f3bd44
...
...
@@ -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 @
46f3bd44
...
...
@@ -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 @
46f3bd44
...
...
@@ -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 @
46f3bd44
...
...
@@ -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 @
46f3bd44
...
...
@@ -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 @
46f3bd44
...
...
@@ -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 @
46f3bd44
...
...
@@ -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 @
46f3bd44
...
...
@@ -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 @
46f3bd44
...
...
@@ -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 @
46f3bd44
...
...
@@ -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 @
46f3bd44
...
...
@@ -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 @
46f3bd44
...
...
@@ -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 @
46f3bd44
...
...
@@ -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 @
46f3bd44
...
...
@@ -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 @
46f3bd44
...
...
@@ -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 @
46f3bd44
...
...
@@ -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 @
46f3bd44
...
...
@@ -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 @
46f3bd44
...
...
@@ -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 @
46f3bd44
...
...
@@ -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 @
46f3bd44
...
...
@@ -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 @
46f3bd44
...
...
@@ -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 @
46f3bd44
...
...
@@ -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 @
46f3bd44
...
...
@@ -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 @
46f3bd44
...
...
@@ -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 @
46f3bd44
...
...
@@ -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 @
46f3bd44
...
...
@@ -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 @
46f3bd44
...
...
@@ -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 @
46f3bd44
...
...
@@ -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 @
46f3bd44
...
...
@@ -480,6 +480,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 @
46f3bd44
This diff is collapsed.
Click to expand it.
include/asm-generic/vmlinux.lds.h
View file @
46f3bd44
...
...
@@ -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 @
46f3bd44
...
...
@@ -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