提交 3e938052 编写于 作者: G Gavin Shan 提交者: Michael Ellerman

powerpc/eeh: Drop unused argument in eeh_check_failure()

eeh_check_failure() is used to check frozen state of the PE which
owns the indicated I/O address. The argument "val" of the function
isn't used. The patch drops it and return the frozen state of the
PE as expected.

Cc: Vishal Mansur <vmansur@linux.vnet.ibm.com>
Signed-off-by: NGavin Shan <gwshan@linux.vnet.ibm.com>
Signed-off-by: NMichael Ellerman <mpe@ellerman.id.au>
上级 a75c380c
...@@ -274,8 +274,7 @@ void eeh_dev_phb_init_dynamic(struct pci_controller *phb); ...@@ -274,8 +274,7 @@ void eeh_dev_phb_init_dynamic(struct pci_controller *phb);
int eeh_init(void); int eeh_init(void);
int __init eeh_ops_register(struct eeh_ops *ops); int __init eeh_ops_register(struct eeh_ops *ops);
int __exit eeh_ops_unregister(const char *name); int __exit eeh_ops_unregister(const char *name);
unsigned long eeh_check_failure(const volatile void __iomem *token, int eeh_check_failure(const volatile void __iomem *token);
unsigned long val);
int eeh_dev_check_failure(struct eeh_dev *edev); int eeh_dev_check_failure(struct eeh_dev *edev);
void eeh_addr_cache_build(void); void eeh_addr_cache_build(void);
void eeh_add_device_early(struct device_node *); void eeh_add_device_early(struct device_node *);
...@@ -326,9 +325,9 @@ static inline void *eeh_dev_init(struct device_node *dn, void *data) ...@@ -326,9 +325,9 @@ static inline void *eeh_dev_init(struct device_node *dn, void *data)
static inline void eeh_dev_phb_init_dynamic(struct pci_controller *phb) { } static inline void eeh_dev_phb_init_dynamic(struct pci_controller *phb) { }
static inline unsigned long eeh_check_failure(const volatile void __iomem *token, unsigned long val) static inline int eeh_check_failure(const volatile void __iomem *token)
{ {
return val; return 0;
} }
#define eeh_dev_check_failure(x) (0) #define eeh_dev_check_failure(x) (0)
...@@ -359,7 +358,7 @@ static inline u8 eeh_readb(const volatile void __iomem *addr) ...@@ -359,7 +358,7 @@ static inline u8 eeh_readb(const volatile void __iomem *addr)
{ {
u8 val = in_8(addr); u8 val = in_8(addr);
if (EEH_POSSIBLE_ERROR(val, u8)) if (EEH_POSSIBLE_ERROR(val, u8))
return eeh_check_failure(addr, val); eeh_check_failure(addr);
return val; return val;
} }
...@@ -367,7 +366,7 @@ static inline u16 eeh_readw(const volatile void __iomem *addr) ...@@ -367,7 +366,7 @@ static inline u16 eeh_readw(const volatile void __iomem *addr)
{ {
u16 val = in_le16(addr); u16 val = in_le16(addr);
if (EEH_POSSIBLE_ERROR(val, u16)) if (EEH_POSSIBLE_ERROR(val, u16))
return eeh_check_failure(addr, val); eeh_check_failure(addr);
return val; return val;
} }
...@@ -375,7 +374,7 @@ static inline u32 eeh_readl(const volatile void __iomem *addr) ...@@ -375,7 +374,7 @@ static inline u32 eeh_readl(const volatile void __iomem *addr)
{ {
u32 val = in_le32(addr); u32 val = in_le32(addr);
if (EEH_POSSIBLE_ERROR(val, u32)) if (EEH_POSSIBLE_ERROR(val, u32))
return eeh_check_failure(addr, val); eeh_check_failure(addr);
return val; return val;
} }
...@@ -383,7 +382,7 @@ static inline u64 eeh_readq(const volatile void __iomem *addr) ...@@ -383,7 +382,7 @@ static inline u64 eeh_readq(const volatile void __iomem *addr)
{ {
u64 val = in_le64(addr); u64 val = in_le64(addr);
if (EEH_POSSIBLE_ERROR(val, u64)) if (EEH_POSSIBLE_ERROR(val, u64))
return eeh_check_failure(addr, val); eeh_check_failure(addr);
return val; return val;
} }
...@@ -391,7 +390,7 @@ static inline u16 eeh_readw_be(const volatile void __iomem *addr) ...@@ -391,7 +390,7 @@ static inline u16 eeh_readw_be(const volatile void __iomem *addr)
{ {
u16 val = in_be16(addr); u16 val = in_be16(addr);
if (EEH_POSSIBLE_ERROR(val, u16)) if (EEH_POSSIBLE_ERROR(val, u16))
return eeh_check_failure(addr, val); eeh_check_failure(addr);
return val; return val;
} }
...@@ -399,7 +398,7 @@ static inline u32 eeh_readl_be(const volatile void __iomem *addr) ...@@ -399,7 +398,7 @@ static inline u32 eeh_readl_be(const volatile void __iomem *addr)
{ {
u32 val = in_be32(addr); u32 val = in_be32(addr);
if (EEH_POSSIBLE_ERROR(val, u32)) if (EEH_POSSIBLE_ERROR(val, u32))
return eeh_check_failure(addr, val); eeh_check_failure(addr);
return val; return val;
} }
...@@ -407,7 +406,7 @@ static inline u64 eeh_readq_be(const volatile void __iomem *addr) ...@@ -407,7 +406,7 @@ static inline u64 eeh_readq_be(const volatile void __iomem *addr)
{ {
u64 val = in_be64(addr); u64 val = in_be64(addr);
if (EEH_POSSIBLE_ERROR(val, u64)) if (EEH_POSSIBLE_ERROR(val, u64))
return eeh_check_failure(addr, val); eeh_check_failure(addr);
return val; return val;
} }
...@@ -421,7 +420,7 @@ static inline void eeh_memcpy_fromio(void *dest, const ...@@ -421,7 +420,7 @@ static inline void eeh_memcpy_fromio(void *dest, const
* were copied. Check all four bytes. * were copied. Check all four bytes.
*/ */
if (n >= 4 && EEH_POSSIBLE_ERROR(*((u32 *)(dest + n - 4)), u32)) if (n >= 4 && EEH_POSSIBLE_ERROR(*((u32 *)(dest + n - 4)), u32))
eeh_check_failure(src, *((u32 *)(dest + n - 4))); eeh_check_failure(src);
} }
/* in-string eeh macros */ /* in-string eeh macros */
...@@ -430,7 +429,7 @@ static inline void eeh_readsb(const volatile void __iomem *addr, void * buf, ...@@ -430,7 +429,7 @@ static inline void eeh_readsb(const volatile void __iomem *addr, void * buf,
{ {
_insb(addr, buf, ns); _insb(addr, buf, ns);
if (EEH_POSSIBLE_ERROR((*(((u8*)buf)+ns-1)), u8)) if (EEH_POSSIBLE_ERROR((*(((u8*)buf)+ns-1)), u8))
eeh_check_failure(addr, *(u8*)buf); eeh_check_failure(addr);
} }
static inline void eeh_readsw(const volatile void __iomem *addr, void * buf, static inline void eeh_readsw(const volatile void __iomem *addr, void * buf,
...@@ -438,7 +437,7 @@ static inline void eeh_readsw(const volatile void __iomem *addr, void * buf, ...@@ -438,7 +437,7 @@ static inline void eeh_readsw(const volatile void __iomem *addr, void * buf,
{ {
_insw(addr, buf, ns); _insw(addr, buf, ns);
if (EEH_POSSIBLE_ERROR((*(((u16*)buf)+ns-1)), u16)) if (EEH_POSSIBLE_ERROR((*(((u16*)buf)+ns-1)), u16))
eeh_check_failure(addr, *(u16*)buf); eeh_check_failure(addr);
} }
static inline void eeh_readsl(const volatile void __iomem *addr, void * buf, static inline void eeh_readsl(const volatile void __iomem *addr, void * buf,
...@@ -446,7 +445,7 @@ static inline void eeh_readsl(const volatile void __iomem *addr, void * buf, ...@@ -446,7 +445,7 @@ static inline void eeh_readsl(const volatile void __iomem *addr, void * buf,
{ {
_insl(addr, buf, nl); _insl(addr, buf, nl);
if (EEH_POSSIBLE_ERROR((*(((u32*)buf)+nl-1)), u32)) if (EEH_POSSIBLE_ERROR((*(((u32*)buf)+nl-1)), u32))
eeh_check_failure(addr, *(u32*)buf); eeh_check_failure(addr);
} }
#endif /* CONFIG_PPC64 */ #endif /* CONFIG_PPC64 */
......
...@@ -542,17 +542,16 @@ EXPORT_SYMBOL_GPL(eeh_dev_check_failure); ...@@ -542,17 +542,16 @@ EXPORT_SYMBOL_GPL(eeh_dev_check_failure);
/** /**
* eeh_check_failure - Check if all 1's data is due to EEH slot freeze * eeh_check_failure - Check if all 1's data is due to EEH slot freeze
* @token: I/O token, should be address in the form 0xA.... * @token: I/O address
* @val: value, should be all 1's (XXX why do we need this arg??)
* *
* Check for an EEH failure at the given token address. Call this * Check for an EEH failure at the given I/O address. Call this
* routine if the result of a read was all 0xff's and you want to * routine if the result of a read was all 0xff's and you want to
* find out if this is due to an EEH slot freeze event. This routine * find out if this is due to an EEH slot freeze event. This routine
* will query firmware for the EEH status. * will query firmware for the EEH status.
* *
* Note this routine is safe to call in an interrupt context. * Note this routine is safe to call in an interrupt context.
*/ */
unsigned long eeh_check_failure(const volatile void __iomem *token, unsigned long val) int eeh_check_failure(const volatile void __iomem *token)
{ {
unsigned long addr; unsigned long addr;
struct eeh_dev *edev; struct eeh_dev *edev;
...@@ -562,13 +561,11 @@ unsigned long eeh_check_failure(const volatile void __iomem *token, unsigned lon ...@@ -562,13 +561,11 @@ unsigned long eeh_check_failure(const volatile void __iomem *token, unsigned lon
edev = eeh_addr_cache_get_dev(addr); edev = eeh_addr_cache_get_dev(addr);
if (!edev) { if (!edev) {
eeh_stats.no_device++; eeh_stats.no_device++;
return val; return 0;
} }
eeh_dev_check_failure(edev); return eeh_dev_check_failure(edev);
return val;
} }
EXPORT_SYMBOL(eeh_check_failure); EXPORT_SYMBOL(eeh_check_failure);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册