diff options
Diffstat (limited to 'drivers/edac/i3200_edac.c')
| -rw-r--r-- | drivers/edac/i3200_edac.c | 15 |
1 files changed, 2 insertions, 13 deletions
diff --git a/drivers/edac/i3200_edac.c b/drivers/edac/i3200_edac.c index aa08497a075a..73f55e2008c2 100644 --- a/drivers/edac/i3200_edac.c +++ b/drivers/edac/i3200_edac.c | |||
| @@ -15,6 +15,8 @@ | |||
| 15 | #include <linux/io.h> | 15 | #include <linux/io.h> |
| 16 | #include "edac_core.h" | 16 | #include "edac_core.h" |
| 17 | 17 | ||
| 18 | #include <asm-generic/io-64-nonatomic-lo-hi.h> | ||
| 19 | |||
| 18 | #define I3200_REVISION "1.1" | 20 | #define I3200_REVISION "1.1" |
| 19 | 21 | ||
| 20 | #define EDAC_MOD_STR "i3200_edac" | 22 | #define EDAC_MOD_STR "i3200_edac" |
| @@ -101,19 +103,6 @@ struct i3200_priv { | |||
| 101 | 103 | ||
| 102 | static int nr_channels; | 104 | static int nr_channels; |
| 103 | 105 | ||
| 104 | #ifndef readq | ||
| 105 | static inline __u64 readq(const volatile void __iomem *addr) | ||
| 106 | { | ||
| 107 | const volatile u32 __iomem *p = addr; | ||
| 108 | u32 low, high; | ||
| 109 | |||
| 110 | low = readl(p); | ||
| 111 | high = readl(p + 1); | ||
| 112 | |||
| 113 | return low + ((u64)high << 32); | ||
| 114 | } | ||
| 115 | #endif | ||
| 116 | |||
| 117 | static int how_many_channels(struct pci_dev *pdev) | 106 | static int how_many_channels(struct pci_dev *pdev) |
| 118 | { | 107 | { |
| 119 | unsigned char capid0_8b; /* 8th byte of CAPID0 */ | 108 | unsigned char capid0_8b; /* 8th byte of CAPID0 */ |
