diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2014-06-03 18:46:38 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2014-06-03 18:46:38 -0400 |
commit | 4aef77b2fe373cdba461925589b9d1d4468ee016 (patch) | |
tree | 96b27318a112e315eff3c38e77705bf9a6b5a174 /arch/x86/kernel | |
parent | e0d23cdc626faef36900965c48dd8806df651f77 (diff) | |
parent | 04725ad59474d24553d526fa774179ecd2922342 (diff) |
Merge branch 'x86-platform-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip into next
Pull x86 IOSF platform updates from Ingo Molnar:
"IOSF (Intel OnChip System Fabric) updates:
- generalize the IOSF interface to allow mixed mode drivers: non-IOSF
drivers to utilize of IOSF features on IOSF platforms.
- add 'Quark X1000' IOSF/MBI support
- clean up BayTrail and Quark PCI ID enumeration"
* 'x86-platform-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
x86, iosf: Add PCI ID macros for better readability
x86, iosf: Add Quark X1000 PCI ID
x86, iosf: Added Quark MBI identifiers
x86, iosf: Make IOSF driver modular and usable by more drivers
Diffstat (limited to 'arch/x86/kernel')
-rw-r--r-- | arch/x86/kernel/iosf_mbi.c | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/arch/x86/kernel/iosf_mbi.c b/arch/x86/kernel/iosf_mbi.c index c3aae6672843..d30acdc1229d 100644 --- a/arch/x86/kernel/iosf_mbi.c +++ b/arch/x86/kernel/iosf_mbi.c | |||
@@ -25,6 +25,9 @@ | |||
25 | 25 | ||
26 | #include <asm/iosf_mbi.h> | 26 | #include <asm/iosf_mbi.h> |
27 | 27 | ||
28 | #define PCI_DEVICE_ID_BAYTRAIL 0x0F00 | ||
29 | #define PCI_DEVICE_ID_QUARK_X1000 0x0958 | ||
30 | |||
28 | static DEFINE_SPINLOCK(iosf_mbi_lock); | 31 | static DEFINE_SPINLOCK(iosf_mbi_lock); |
29 | 32 | ||
30 | static inline u32 iosf_mbi_form_mcr(u8 op, u8 port, u8 offset) | 33 | static inline u32 iosf_mbi_form_mcr(u8 op, u8 port, u8 offset) |
@@ -177,6 +180,13 @@ int iosf_mbi_modify(u8 port, u8 opcode, u32 offset, u32 mdr, u32 mask) | |||
177 | } | 180 | } |
178 | EXPORT_SYMBOL(iosf_mbi_modify); | 181 | EXPORT_SYMBOL(iosf_mbi_modify); |
179 | 182 | ||
183 | bool iosf_mbi_available(void) | ||
184 | { | ||
185 | /* Mbi isn't hot-pluggable. No remove routine is provided */ | ||
186 | return mbi_pdev; | ||
187 | } | ||
188 | EXPORT_SYMBOL(iosf_mbi_available); | ||
189 | |||
180 | static int iosf_mbi_probe(struct pci_dev *pdev, | 190 | static int iosf_mbi_probe(struct pci_dev *pdev, |
181 | const struct pci_device_id *unused) | 191 | const struct pci_device_id *unused) |
182 | { | 192 | { |
@@ -193,7 +203,8 @@ static int iosf_mbi_probe(struct pci_dev *pdev, | |||
193 | } | 203 | } |
194 | 204 | ||
195 | static DEFINE_PCI_DEVICE_TABLE(iosf_mbi_pci_ids) = { | 205 | static DEFINE_PCI_DEVICE_TABLE(iosf_mbi_pci_ids) = { |
196 | { PCI_DEVICE(PCI_VENDOR_ID_INTEL, 0x0F00) }, | 206 | { PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_BAYTRAIL) }, |
207 | { PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_QUARK_X1000) }, | ||
197 | { 0, }, | 208 | { 0, }, |
198 | }; | 209 | }; |
199 | MODULE_DEVICE_TABLE(pci, iosf_mbi_pci_ids); | 210 | MODULE_DEVICE_TABLE(pci, iosf_mbi_pci_ids); |