diff options
Diffstat (limited to 'drivers/edac/edac_mc.h')
-rw-r--r-- | drivers/edac/edac_mc.h | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/drivers/edac/edac_mc.h b/drivers/edac/edac_mc.h index 8d9e83909b9c..a2c3a4607a89 100644 --- a/drivers/edac/edac_mc.h +++ b/drivers/edac/edac_mc.h | |||
@@ -88,6 +88,12 @@ extern int edac_debug_level; | |||
88 | #define PCI_VEND_DEV(vend, dev) PCI_VENDOR_ID_ ## vend, \ | 88 | #define PCI_VEND_DEV(vend, dev) PCI_VENDOR_ID_ ## vend, \ |
89 | PCI_DEVICE_ID_ ## vend ## _ ## dev | 89 | PCI_DEVICE_ID_ ## vend ## _ ## dev |
90 | 90 | ||
91 | #if defined(CONFIG_X86) && defined(CONFIG_PCI) | ||
92 | #define dev_name(dev) pci_name(to_pci_dev(dev)) | ||
93 | #else | ||
94 | #define dev_name(dev) to_platform_device(dev)->name | ||
95 | #endif | ||
96 | |||
91 | /* memory devices */ | 97 | /* memory devices */ |
92 | enum dev_type { | 98 | enum dev_type { |
93 | DEV_UNKNOWN = 0, | 99 | DEV_UNKNOWN = 0, |
@@ -327,10 +333,10 @@ struct mem_ctl_info { | |||
327 | struct csrow_info *csrows; | 333 | struct csrow_info *csrows; |
328 | /* | 334 | /* |
329 | * FIXME - what about controllers on other busses? - IDs must be | 335 | * FIXME - what about controllers on other busses? - IDs must be |
330 | * unique. pdev pointer should be sufficiently unique, but | 336 | * unique. dev pointer should be sufficiently unique, but |
331 | * BUS:SLOT.FUNC numbers may not be unique. | 337 | * BUS:SLOT.FUNC numbers may not be unique. |
332 | */ | 338 | */ |
333 | struct pci_dev *pdev; | 339 | struct device *dev; |
334 | const char *mod_name; | 340 | const char *mod_name; |
335 | const char *mod_ver; | 341 | const char *mod_ver; |
336 | const char *ctl_name; | 342 | const char *ctl_name; |
@@ -353,6 +359,8 @@ struct mem_ctl_info { | |||
353 | struct completion kobj_complete; | 359 | struct completion kobj_complete; |
354 | }; | 360 | }; |
355 | 361 | ||
362 | #ifdef CONFIG_PCI | ||
363 | |||
356 | /* write all or some bits in a byte-register*/ | 364 | /* write all or some bits in a byte-register*/ |
357 | static inline void pci_write_bits8(struct pci_dev *pdev, int offset, u8 value, | 365 | static inline void pci_write_bits8(struct pci_dev *pdev, int offset, u8 value, |
358 | u8 mask) | 366 | u8 mask) |
@@ -401,6 +409,8 @@ static inline void pci_write_bits32(struct pci_dev *pdev, int offset, | |||
401 | pci_write_config_dword(pdev, offset, value); | 409 | pci_write_config_dword(pdev, offset, value); |
402 | } | 410 | } |
403 | 411 | ||
412 | #endif /* CONFIG_PCI */ | ||
413 | |||
404 | #ifdef CONFIG_EDAC_DEBUG | 414 | #ifdef CONFIG_EDAC_DEBUG |
405 | void edac_mc_dump_channel(struct channel_info *chan); | 415 | void edac_mc_dump_channel(struct channel_info *chan); |
406 | void edac_mc_dump_mci(struct mem_ctl_info *mci); | 416 | void edac_mc_dump_mci(struct mem_ctl_info *mci); |
@@ -408,7 +418,7 @@ void edac_mc_dump_csrow(struct csrow_info *csrow); | |||
408 | #endif /* CONFIG_EDAC_DEBUG */ | 418 | #endif /* CONFIG_EDAC_DEBUG */ |
409 | 419 | ||
410 | extern int edac_mc_add_mc(struct mem_ctl_info *mci); | 420 | extern int edac_mc_add_mc(struct mem_ctl_info *mci); |
411 | extern struct mem_ctl_info * edac_mc_del_mc(struct pci_dev *pdev); | 421 | extern struct mem_ctl_info * edac_mc_del_mc(struct device *dev); |
412 | extern int edac_mc_find_csrow_by_page(struct mem_ctl_info *mci, | 422 | extern int edac_mc_find_csrow_by_page(struct mem_ctl_info *mci, |
413 | unsigned long page); | 423 | unsigned long page); |
414 | extern void edac_mc_scrub_block(unsigned long page, unsigned long offset, | 424 | extern void edac_mc_scrub_block(unsigned long page, unsigned long offset, |