Commit 079708b9 authored by Douglas Thompson's avatar Douglas Thompson Committed by Linus Torvalds

drivers/edac: core Lindent cleanup

Run the EDAC CORE files through Lindent for cleanup
Signed-off-by: default avatarDouglas Thompson <dougthompson@xmission.com>
Signed-off-by: default avatarDave Jiang <djiang@mvista.com>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent 4de78c68
...@@ -211,7 +211,7 @@ enum scrub_type { ...@@ -211,7 +211,7 @@ enum scrub_type {
#define OP_RUNNING_POLL_INTR 0x203 #define OP_RUNNING_POLL_INTR 0x203
#define OP_OFFLINE 0x300 #define OP_OFFLINE 0x300
extern char * edac_align_ptr(void *ptr, unsigned size); extern char *edac_align_ptr(void *ptr, unsigned size);
/* /*
* There are several things to be aware of that aren't at all obvious: * There are several things to be aware of that aren't at all obvious:
...@@ -345,13 +345,13 @@ struct mem_ctl_info { ...@@ -345,13 +345,13 @@ struct mem_ctl_info {
internal representation and configures whatever else needs internal representation and configures whatever else needs
to be configured. to be configured.
*/ */
int (*set_sdram_scrub_rate) (struct mem_ctl_info *mci, u32 *bw); int (*set_sdram_scrub_rate) (struct mem_ctl_info * mci, u32 * bw);
/* Get the current sdram memory scrub rate from the internal /* Get the current sdram memory scrub rate from the internal
representation and converts it to the closest matching representation and converts it to the closest matching
bandwith in bytes/sec. bandwith in bytes/sec.
*/ */
int (*get_sdram_scrub_rate) (struct mem_ctl_info *mci, u32 *bw); int (*get_sdram_scrub_rate) (struct mem_ctl_info * mci, u32 * bw);
/* pointer to edac checking routine */ /* pointer to edac checking routine */
void (*edac_check) (struct mem_ctl_info * mci); void (*edac_check) (struct mem_ctl_info * mci);
...@@ -462,7 +462,6 @@ struct edac_attrib_spec { ...@@ -462,7 +462,6 @@ struct edac_attrib_spec {
#define EDAC_ATTR_CHAR 0x02 #define EDAC_ATTR_CHAR 0x02
}; };
/* Attribute control structure /* Attribute control structure
* In this structure is a pointer to the driver's edac_attrib_spec * In this structure is a pointer to the driver's edac_attrib_spec
* The life of this pointer is inclusive in the life of the driver's * The life of this pointer is inclusive in the life of the driver's
...@@ -509,7 +508,6 @@ struct edac_device_instance { ...@@ -509,7 +508,6 @@ struct edac_device_instance {
struct completion kobj_complete; struct completion kobj_complete;
}; };
/* /*
* Abstract edac_device control info structure * Abstract edac_device control info structure
* *
...@@ -553,7 +551,7 @@ struct edac_device_ctl_info { ...@@ -553,7 +551,7 @@ struct edac_device_ctl_info {
void *pvt_info; /* pointer to 'private driver' info */ void *pvt_info; /* pointer to 'private driver' info */
unsigned long start_time;/* edac_device load start time (jiffies)*/ unsigned long start_time; /* edac_device load start time (jiffies) */
/* these are for safe removal of mc devices from global list while /* these are for safe removal of mc devices from global list while
* NMI handlers may be traversing list * NMI handlers may be traversing list
...@@ -594,8 +592,7 @@ struct edac_device_ctl_info { ...@@ -594,8 +592,7 @@ struct edac_device_ctl_info {
container_of(w,struct edac_device_ctl_info,work) container_of(w,struct edac_device_ctl_info,work)
/* Function to calc the number of delay jiffies from poll_msec */ /* Function to calc the number of delay jiffies from poll_msec */
static inline void edac_device_calc_delay( static inline void edac_device_calc_delay(struct edac_device_ctl_info *edac_dev)
struct edac_device_ctl_info *edac_dev)
{ {
/* convert from msec to jiffies */ /* convert from msec to jiffies */
edac_dev->delay = edac_dev->poll_msec * HZ / 1000; edac_dev->delay = edac_dev->poll_msec * HZ / 1000;
...@@ -616,8 +613,7 @@ extern struct edac_device_ctl_info *edac_device_alloc_ctl_info( ...@@ -616,8 +613,7 @@ extern struct edac_device_ctl_info *edac_device_alloc_ctl_info(
unsigned nr_blocks, unsigned nr_blocks,
unsigned offset_value, unsigned offset_value,
struct edac_attrib_spec *attrib_spec, struct edac_attrib_spec *attrib_spec,
unsigned nr_attribs unsigned nr_attribs);
);
/* The offset value can be: /* The offset value can be:
* -1 indicating no offset value * -1 indicating no offset value
...@@ -627,7 +623,7 @@ extern struct edac_device_ctl_info *edac_device_alloc_ctl_info( ...@@ -627,7 +623,7 @@ extern struct edac_device_ctl_info *edac_device_alloc_ctl_info(
*/ */
#define BLOCK_OFFSET_VALUE_OFF ((unsigned) -1) #define BLOCK_OFFSET_VALUE_OFF ((unsigned) -1)
extern void edac_device_free_ctl_info( struct edac_device_ctl_info *ctl_info); extern void edac_device_free_ctl_info(struct edac_device_ctl_info *ctl_info);
#ifdef CONFIG_PCI #ifdef CONFIG_PCI
...@@ -672,7 +668,7 @@ struct edac_pci_ctl_info { ...@@ -672,7 +668,7 @@ struct edac_pci_ctl_info {
void *pvt_info; /* pointer to 'private driver' info */ void *pvt_info; /* pointer to 'private driver' info */
unsigned long start_time;/* edac_pci load start time (jiffies)*/ unsigned long start_time; /* edac_pci load start time (jiffies) */
/* these are for safe removal of devices from global list while /* these are for safe removal of devices from global list while
* NMI handlers may be traversing list * NMI handlers may be traversing list
...@@ -752,9 +748,9 @@ static inline void pci_write_bits32(struct pci_dev *pdev, int offset, ...@@ -752,9 +748,9 @@ static inline void pci_write_bits32(struct pci_dev *pdev, int offset,
#endif /* CONFIG_PCI */ #endif /* CONFIG_PCI */
extern struct mem_ctl_info * edac_mc_find(int idx); extern struct mem_ctl_info *edac_mc_find(int idx);
extern int edac_mc_add_mc(struct mem_ctl_info *mci,int mc_idx); extern int edac_mc_add_mc(struct mem_ctl_info *mci, int mc_idx);
extern struct mem_ctl_info * edac_mc_del_mc(struct device *dev); extern struct mem_ctl_info *edac_mc_del_mc(struct device *dev);
extern int edac_mc_find_csrow_by_page(struct mem_ctl_info *mci, extern int edac_mc_find_csrow_by_page(struct mem_ctl_info *mci,
unsigned long page); unsigned long page);
...@@ -769,25 +765,23 @@ extern int edac_mc_find_csrow_by_page(struct mem_ctl_info *mci, ...@@ -769,25 +765,23 @@ extern int edac_mc_find_csrow_by_page(struct mem_ctl_info *mci,
* statement clutter and extra function arguments. * statement clutter and extra function arguments.
*/ */
extern void edac_mc_handle_ce(struct mem_ctl_info *mci, extern void edac_mc_handle_ce(struct mem_ctl_info *mci,
unsigned long page_frame_number, unsigned long offset_in_page, unsigned long page_frame_number,
unsigned long offset_in_page,
unsigned long syndrome, int row, int channel, unsigned long syndrome, int row, int channel,
const char *msg); const char *msg);
extern void edac_mc_handle_ce_no_info(struct mem_ctl_info *mci, extern void edac_mc_handle_ce_no_info(struct mem_ctl_info *mci,
const char *msg); const char *msg);
extern void edac_mc_handle_ue(struct mem_ctl_info *mci, extern void edac_mc_handle_ue(struct mem_ctl_info *mci,
unsigned long page_frame_number, unsigned long offset_in_page, unsigned long page_frame_number,
int row, const char *msg); unsigned long offset_in_page, int row,
const char *msg);
extern void edac_mc_handle_ue_no_info(struct mem_ctl_info *mci, extern void edac_mc_handle_ue_no_info(struct mem_ctl_info *mci,
const char *msg); const char *msg);
extern void edac_mc_handle_fbd_ue(struct mem_ctl_info *mci, extern void edac_mc_handle_fbd_ue(struct mem_ctl_info *mci, unsigned int csrow,
unsigned int csrow, unsigned int channel0, unsigned int channel1,
unsigned int channel0,
unsigned int channel1,
char *msg);
extern void edac_mc_handle_fbd_ce(struct mem_ctl_info *mci,
unsigned int csrow,
unsigned int channel,
char *msg); char *msg);
extern void edac_mc_handle_fbd_ce(struct mem_ctl_info *mci, unsigned int csrow,
unsigned int channel, char *msg);
/* /*
* edac_device APIs * edac_device APIs
...@@ -795,8 +789,9 @@ extern void edac_mc_handle_fbd_ce(struct mem_ctl_info *mci, ...@@ -795,8 +789,9 @@ extern void edac_mc_handle_fbd_ce(struct mem_ctl_info *mci,
extern struct mem_ctl_info *edac_mc_alloc(unsigned sz_pvt, unsigned nr_csrows, extern struct mem_ctl_info *edac_mc_alloc(unsigned sz_pvt, unsigned nr_csrows,
unsigned nr_chans); unsigned nr_chans);
extern void edac_mc_free(struct mem_ctl_info *mci); extern void edac_mc_free(struct mem_ctl_info *mci);
extern int edac_device_add_device(struct edac_device_ctl_info *edac_dev, int edac_idx); extern int edac_device_add_device(struct edac_device_ctl_info *edac_dev,
extern struct edac_device_ctl_info * edac_device_del_device(struct device *dev); int edac_idx);
extern struct edac_device_ctl_info *edac_device_del_device(struct device *dev);
extern void edac_device_handle_ue(struct edac_device_ctl_info *edac_dev, extern void edac_device_handle_ue(struct edac_device_ctl_info *edac_dev,
int inst_nr, int block_nr, const char *msg); int inst_nr, int block_nr, const char *msg);
extern void edac_device_handle_ce(struct edac_device_ctl_info *edac_dev, extern void edac_device_handle_ce(struct edac_device_ctl_info *edac_dev,
...@@ -805,8 +800,8 @@ extern void edac_device_handle_ce(struct edac_device_ctl_info *edac_dev, ...@@ -805,8 +800,8 @@ extern void edac_device_handle_ce(struct edac_device_ctl_info *edac_dev,
/* /*
* edac_pci APIs * edac_pci APIs
*/ */
extern struct edac_pci_ctl_info * extern struct edac_pci_ctl_info *edac_pci_alloc_ctl_info(unsigned int sz_pvt, const char
edac_pci_alloc_ctl_info(unsigned int sz_pvt, const char *edac_pci_name); *edac_pci_name);
extern void edac_pci_free_ctl_info(struct edac_pci_ctl_info *pci); extern void edac_pci_free_ctl_info(struct edac_pci_ctl_info *pci);
...@@ -814,10 +809,10 @@ extern void ...@@ -814,10 +809,10 @@ extern void
edac_pci_reset_delay_period(struct edac_pci_ctl_info *pci, unsigned long value); edac_pci_reset_delay_period(struct edac_pci_ctl_info *pci, unsigned long value);
extern int edac_pci_add_device(struct edac_pci_ctl_info *pci, int edac_idx); extern int edac_pci_add_device(struct edac_pci_ctl_info *pci, int edac_idx);
extern struct edac_pci_ctl_info * edac_pci_del_device(struct device *dev); extern struct edac_pci_ctl_info *edac_pci_del_device(struct device *dev);
extern struct edac_pci_ctl_info * extern struct edac_pci_ctl_info *edac_pci_create_generic_ctl(struct device *dev, const char
edac_pci_create_generic_ctl(struct device *dev, const char *mod_name); *mod_name);
extern void edac_pci_release_generic_ctl(struct edac_pci_ctl_info *pci); extern void edac_pci_release_generic_ctl(struct edac_pci_ctl_info *pci);
extern int edac_pci_create_sysfs(struct edac_pci_ctl_info *pci); extern int edac_pci_create_sysfs(struct edac_pci_ctl_info *pci);
...@@ -826,6 +821,6 @@ extern void edac_pci_remove_sysfs(struct edac_pci_ctl_info *pci); ...@@ -826,6 +821,6 @@ extern void edac_pci_remove_sysfs(struct edac_pci_ctl_info *pci);
/* /*
* edac misc APIs * edac misc APIs
*/ */
extern char * edac_op_state_toString(int op_state); extern char *edac_op_state_toString(int op_state);
#endif /* _EDAC_CORE_H_ */ #endif /* _EDAC_CORE_H_ */
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
/* /*
* Older .h file for edac, until all drivers are modified * Older .h file for edac, until all drivers are modified
* *
*/ */
#include "edac_core.h" #include "edac_core.h"
This diff is collapsed.
...@@ -37,7 +37,7 @@ static int edac_class_valid = 0; ...@@ -37,7 +37,7 @@ static int edac_class_valid = 0;
/* /*
* edac_op_state_toString() * edac_op_state_toString()
*/ */
char * edac_op_state_toString(int opstate) char *edac_op_state_toString(int opstate)
{ {
if (opstate == OP_RUNNING_POLL) if (opstate == OP_RUNNING_POLL)
return "POLLED"; return "POLLED";
...@@ -60,7 +60,7 @@ char * edac_op_state_toString(int opstate) ...@@ -60,7 +60,7 @@ char * edac_op_state_toString(int opstate)
*/ */
struct sysdev_class *edac_get_edac_class(void) struct sysdev_class *edac_get_edac_class(void)
{ {
struct sysdev_class *classptr=NULL; struct sysdev_class *classptr = NULL;
if (edac_class_valid) if (edac_class_valid)
classptr = &edac_class; classptr = &edac_class;
...@@ -133,7 +133,6 @@ static void edac_workqueue_teardown(void) ...@@ -133,7 +133,6 @@ static void edac_workqueue_teardown(void)
} }
} }
/* /*
* edac_init * edac_init
* module initialization entry point * module initialization entry point
...@@ -182,11 +181,11 @@ static int __init edac_init(void) ...@@ -182,11 +181,11 @@ static int __init edac_init(void)
return 0; return 0;
/* Error teardown stack */ /* Error teardown stack */
error_mem: error_mem:
edac_sysfs_memctrl_teardown(); edac_sysfs_memctrl_teardown();
error_sysfs: error_sysfs:
edac_unregister_sysfs_edac_name(); edac_unregister_sysfs_edac_name();
error: error:
return err; return err;
} }
...@@ -198,7 +197,7 @@ static void __exit edac_exit(void) ...@@ -198,7 +197,7 @@ static void __exit edac_exit(void)
{ {
debugf0("%s()\n", __func__); debugf0("%s()\n", __func__);
/* tear down the various subsystems*/ /* tear down the various subsystems */
edac_workqueue_teardown(); edac_workqueue_teardown();
edac_sysfs_memctrl_teardown(); edac_sysfs_memctrl_teardown();
edac_unregister_sysfs_edac_name(); edac_unregister_sysfs_edac_name();
...@@ -220,4 +219,3 @@ MODULE_DESCRIPTION("Core library routines for EDAC reporting"); ...@@ -220,4 +219,3 @@ MODULE_DESCRIPTION("Core library routines for EDAC reporting");
module_param(edac_debug_level, int, 0644); module_param(edac_debug_level, int, 0644);
MODULE_PARM_DESC(edac_debug_level, "Debug level"); MODULE_PARM_DESC(edac_debug_level, "Debug level");
#endif #endif
...@@ -42,10 +42,8 @@ extern struct workqueue_struct *edac_workqueue; ...@@ -42,10 +42,8 @@ extern struct workqueue_struct *edac_workqueue;
extern void edac_device_workq_setup(struct edac_device_ctl_info *edac_dev, extern void edac_device_workq_setup(struct edac_device_ctl_info *edac_dev,
unsigned msec); unsigned msec);
extern void edac_device_workq_teardown(struct edac_device_ctl_info *edac_dev); extern void edac_device_workq_teardown(struct edac_device_ctl_info *edac_dev);
extern void edac_device_reset_delay_period( extern void edac_device_reset_delay_period(struct edac_device_ctl_info
struct edac_device_ctl_info *edac_dev, *edac_dev, unsigned long value);
unsigned long value);
/* /*
* EDAC PCI functions * EDAC PCI functions
...@@ -67,6 +65,4 @@ extern int edac_pci_get_poll_msec(void); ...@@ -67,6 +65,4 @@ extern int edac_pci_get_poll_msec(void);
#define edac_pci_get_poll_msec() #define edac_pci_get_poll_msec()
#endif /* CONFIG_PCI */ #endif /* CONFIG_PCI */
#endif /* __EDAC_MODULE_H__ */ #endif /* __EDAC_MODULE_H__ */
...@@ -46,8 +46,7 @@ static inline void edac_unlock_pci_list(void) ...@@ -46,8 +46,7 @@ static inline void edac_unlock_pci_list(void)
* structure. The chip driver will allocate one of these for each * structure. The chip driver will allocate one of these for each
* edac_pci it is going to control/register with the EDAC CORE. * edac_pci it is going to control/register with the EDAC CORE.
*/ */
struct edac_pci_ctl_info * edac_pci_alloc_ctl_info( struct edac_pci_ctl_info *edac_pci_alloc_ctl_info(unsigned int sz_pvt,
unsigned int sz_pvt,
const char *edac_pci_name) const char *edac_pci_name)
{ {
struct edac_pci_ctl_info *pci; struct edac_pci_ctl_info *pci;
...@@ -67,10 +66,11 @@ struct edac_pci_ctl_info * edac_pci_alloc_ctl_info( ...@@ -67,10 +66,11 @@ struct edac_pci_ctl_info * edac_pci_alloc_ctl_info(
pci->op_state = OP_ALLOC; pci->op_state = OP_ALLOC;
snprintf(pci->name, strlen(edac_pci_name)+1, "%s", edac_pci_name); snprintf(pci->name, strlen(edac_pci_name) + 1, "%s", edac_pci_name);
return pci; return pci;
} }
EXPORT_SYMBOL_GPL(edac_pci_alloc_ctl_info); EXPORT_SYMBOL_GPL(edac_pci_alloc_ctl_info);
/* /*
...@@ -81,13 +81,14 @@ void edac_pci_free_ctl_info(struct edac_pci_ctl_info *pci) ...@@ -81,13 +81,14 @@ void edac_pci_free_ctl_info(struct edac_pci_ctl_info *pci)
{ {
kfree(pci); kfree(pci);
} }
EXPORT_SYMBOL_GPL(edac_pci_free_ctl_info); EXPORT_SYMBOL_GPL(edac_pci_free_ctl_info);
/* /*
* find_edac_pci_by_dev() * find_edac_pci_by_dev()
* scans the edac_pci list for a specific 'struct device *' * scans the edac_pci list for a specific 'struct device *'
*/ */
static struct edac_pci_ctl_info * find_edac_pci_by_dev(struct device *dev) static struct edac_pci_ctl_info *find_edac_pci_by_dev(struct device *dev)
{ {
struct edac_pci_ctl_info *pci; struct edac_pci_ctl_info *pci;
struct list_head *item; struct list_head *item;
...@@ -139,17 +140,18 @@ static int add_edac_pci_to_global_list(struct edac_pci_ctl_info *pci) ...@@ -139,17 +140,18 @@ static int add_edac_pci_to_global_list(struct edac_pci_ctl_info *pci)
list_add_tail_rcu(&pci->link, insert_before); list_add_tail_rcu(&pci->link, insert_before);
return 0; return 0;
fail0: fail0:
edac_printk(KERN_WARNING, EDAC_PCI, edac_printk(KERN_WARNING, EDAC_PCI,
"%s (%s) %s %s already assigned %d\n", "%s (%s) %s %s already assigned %d\n",
rover->dev->bus_id, dev_name(rover), rover->dev->bus_id, dev_name(rover),
rover->mod_name, rover->ctl_name, rover->pci_idx); rover->mod_name, rover->ctl_name, rover->pci_idx);
return 1; return 1;
fail1: fail1:
edac_printk(KERN_WARNING, EDAC_PCI, edac_printk(KERN_WARNING, EDAC_PCI,
"but in low-level driver: attempt to assign\n" "but in low-level driver: attempt to assign\n"
"\tduplicate pci_idx %d in %s()\n", rover->pci_idx, __func__); "\tduplicate pci_idx %d in %s()\n", rover->pci_idx,
__func__);
return 1; return 1;
} }
...@@ -185,7 +187,7 @@ static void del_edac_pci_from_global_list(struct edac_pci_ctl_info *pci) ...@@ -185,7 +187,7 @@ static void del_edac_pci_from_global_list(struct edac_pci_ctl_info *pci)
* *
* Caller must hold pci_ctls_mutex. * Caller must hold pci_ctls_mutex.
*/ */
struct edac_pci_ctl_info * edac_pci_find(int idx) struct edac_pci_ctl_info *edac_pci_find(int idx)
{ {
struct list_head *item; struct list_head *item;
struct edac_pci_ctl_info *pci; struct edac_pci_ctl_info *pci;
...@@ -205,6 +207,7 @@ struct edac_pci_ctl_info * edac_pci_find(int idx) ...@@ -205,6 +207,7 @@ struct edac_pci_ctl_info * edac_pci_find(int idx)
return NULL; return NULL;
} }
EXPORT_SYMBOL_GPL(edac_pci_find); EXPORT_SYMBOL_GPL(edac_pci_find);
/* /*
...@@ -225,8 +228,7 @@ static void edac_pci_workq_function(void *ptr) ...@@ -225,8 +228,7 @@ static void edac_pci_workq_function(void *ptr)
edac_lock_pci_list(); edac_lock_pci_list();
if ((pci->op_state == OP_RUNNING_POLL) && if ((pci->op_state == OP_RUNNING_POLL) &&
(pci->edac_check != NULL) && (pci->edac_check != NULL) && (edac_pci_get_check_errors()))
(edac_pci_get_check_errors()))
pci->edac_check(pci); pci->edac_check(pci);
edac_unlock_pci_list(); edac_unlock_pci_list();
...@@ -282,6 +284,7 @@ void edac_pci_reset_delay_period(struct edac_pci_ctl_info *pci, ...@@ -282,6 +284,7 @@ void edac_pci_reset_delay_period(struct edac_pci_ctl_info *pci,
edac_unlock_pci_list(); edac_unlock_pci_list();
} }
EXPORT_SYMBOL_GPL(edac_pci_reset_delay_period); EXPORT_SYMBOL_GPL(edac_pci_reset_delay_period);
/* /*
...@@ -328,18 +331,18 @@ int edac_pci_add_device(struct edac_pci_ctl_info *pci, int edac_idx) ...@@ -328,18 +331,18 @@ int edac_pci_add_device(struct edac_pci_ctl_info *pci, int edac_idx)
" DEV '%s' (%s)\n", " DEV '%s' (%s)\n",
pci->mod_name, pci->mod_name,
pci->ctl_name, pci->ctl_name,
dev_name(pci), dev_name(pci), edac_op_state_toString(pci->op_state));
edac_op_state_toString(pci->op_state));
edac_unlock_pci_list(); edac_unlock_pci_list();
return 0; return 0;
fail1: fail1:
del_edac_pci_from_global_list(pci); del_edac_pci_from_global_list(pci);
fail0: fail0:
edac_unlock_pci_list(); edac_unlock_pci_list();
return 1; return 1;
} }
EXPORT_SYMBOL_GPL(edac_pci_add_device); EXPORT_SYMBOL_GPL(edac_pci_add_device);
/* /*
...@@ -355,7 +358,7 @@ EXPORT_SYMBOL_GPL(edac_pci_add_device); ...@@ -355,7 +358,7 @@ EXPORT_SYMBOL_GPL(edac_pci_add_device);
* Pointer to removed edac_pci structure, * Pointer to removed edac_pci structure,
* or NULL if device not found * or NULL if device not found
*/ */
struct edac_pci_ctl_info * edac_pci_del_device(struct device *dev) struct edac_pci_ctl_info *edac_pci_del_device(struct device *dev)
{ {
struct edac_pci_ctl_info *pci; struct edac_pci_ctl_info *pci;
...@@ -380,13 +383,11 @@ struct edac_pci_ctl_info * edac_pci_del_device(struct device *dev) ...@@ -380,13 +383,11 @@ struct edac_pci_ctl_info * edac_pci_del_device(struct device *dev)
edac_printk(KERN_INFO, EDAC_PCI, edac_printk(KERN_INFO, EDAC_PCI,
"Removed device %d for %s %s: DEV %s\n", "Removed device %d for %s %s: DEV %s\n",
pci->pci_idx, pci->pci_idx, pci->mod_name, pci->ctl_name, dev_name(pci));
pci->mod_name,
pci->ctl_name,
dev_name(pci));
return pci; return pci;
} }
EXPORT_SYMBOL_GPL(edac_pci_del_device); EXPORT_SYMBOL_GPL(edac_pci_del_device);
void edac_pci_generic_check(struct edac_pci_ctl_info *pci) void edac_pci_generic_check(struct edac_pci_ctl_info *pci)
...@@ -401,8 +402,8 @@ struct edac_pci_gen_data { ...@@ -401,8 +402,8 @@ struct edac_pci_gen_data {
int edac_idx; int edac_idx;
}; };
struct edac_pci_ctl_info * struct edac_pci_ctl_info *edac_pci_create_generic_ctl(struct device *dev,
edac_pci_create_generic_ctl(struct device *dev, const char *mod_name) const char *mod_name)
{ {
struct edac_pci_ctl_info *pci; struct edac_pci_ctl_info *pci;
struct edac_pci_gen_data *pdata; struct edac_pci_gen_data *pdata;
...@@ -430,6 +431,7 @@ edac_pci_create_generic_ctl(struct device *dev, const char *mod_name) ...@@ -430,6 +431,7 @@ edac_pci_create_generic_ctl(struct device *dev, const char *mod_name)
return pci; return pci;
} }
EXPORT_SYMBOL_GPL(edac_pci_create_generic_ctl); EXPORT_SYMBOL_GPL(edac_pci_create_generic_ctl);
void edac_pci_release_generic_ctl(struct edac_pci_ctl_info *pci) void edac_pci_release_generic_ctl(struct edac_pci_ctl_info *pci)
...@@ -437,4 +439,5 @@ void edac_pci_release_generic_ctl(struct edac_pci_ctl_info *pci) ...@@ -437,4 +439,5 @@ void edac_pci_release_generic_ctl(struct edac_pci_ctl_info *pci)
edac_pci_del_device(pci->dev); edac_pci_del_device(pci->dev);
edac_pci_free_ctl_info(pci); edac_pci_free_ctl_info(pci);
} }
EXPORT_SYMBOL_GPL(edac_pci_release_generic_ctl); EXPORT_SYMBOL_GPL(edac_pci_release_generic_ctl);
...@@ -13,7 +13,6 @@ ...@@ -13,7 +13,6 @@
#include "edac_core.h" #include "edac_core.h"
#include "edac_module.h" #include "edac_module.h"
#ifdef CONFIG_PCI #ifdef CONFIG_PCI
#define EDAC_PCI_SYMLINK "device" #define EDAC_PCI_SYMLINK "device"
...@@ -58,13 +57,13 @@ int edac_pci_get_poll_msec(void) ...@@ -58,13 +57,13 @@ int edac_pci_get_poll_msec(void)
/**************************** EDAC PCI sysfs instance *******************/ /**************************** EDAC PCI sysfs instance *******************/
static ssize_t instance_pe_count_show(struct edac_pci_ctl_info *pci, char *data) static ssize_t instance_pe_count_show(struct edac_pci_ctl_info *pci, char *data)
{ {
return sprintf(data,"%u\n", atomic_read(&pci->counters.pe_count)); return sprintf(data, "%u\n", atomic_read(&pci->counters.pe_count));
} }
static ssize_t instance_npe_count_show(struct edac_pci_ctl_info *pci, static ssize_t instance_npe_count_show(struct edac_pci_ctl_info *pci,
char *data) char *data)
{ {
return sprintf(data,"%u\n", atomic_read(&pci->counters.npe_count)); return sprintf(data, "%u\n", atomic_read(&pci->counters.npe_count));
} }
#define to_instance(k) container_of(k, struct edac_pci_ctl_info, kobj) #define to_instance(k) container_of(k, struct edac_pci_ctl_info, kobj)
...@@ -84,14 +83,13 @@ static void edac_pci_instance_release(struct kobject *kobj) ...@@ -84,14 +83,13 @@ static void edac_pci_instance_release(struct kobject *kobj)
/* instance specific attribute structure */ /* instance specific attribute structure */
struct instance_attribute { struct instance_attribute {
struct attribute attr; struct attribute attr;
ssize_t (*show)(struct edac_pci_ctl_info *, char *); ssize_t(*show) (struct edac_pci_ctl_info *, char *);
ssize_t (*store)(struct edac_pci_ctl_info *, const char *, size_t); ssize_t(*store) (struct edac_pci_ctl_info *, const char *, size_t);
}; };
/* Function to 'show' fields from the edac_pci 'instance' structure */ /* Function to 'show' fields from the edac_pci 'instance' structure */
static ssize_t edac_pci_instance_show(struct kobject *kobj, static ssize_t edac_pci_instance_show(struct kobject *kobj,
struct attribute *attr, struct attribute *attr, char *buffer)
char *buffer)
{ {
struct edac_pci_ctl_info *pci = to_instance(kobj); struct edac_pci_ctl_info *pci = to_instance(kobj);
struct instance_attribute *instance_attr = to_instance_attr(attr); struct instance_attribute *instance_attr = to_instance_attr(attr);
...@@ -101,7 +99,6 @@ static ssize_t edac_pci_instance_show(struct kobject *kobj, ...@@ -101,7 +99,6 @@ static ssize_t edac_pci_instance_show(struct kobject *kobj,
return -EIO; return -EIO;
} }
/* Function to 'store' fields into the edac_pci 'instance' structure */ /* Function to 'store' fields into the edac_pci 'instance' structure */
static ssize_t edac_pci_instance_store(struct kobject *kobj, static ssize_t edac_pci_instance_store(struct kobject *kobj,
struct attribute *attr, struct attribute *attr,
...@@ -182,7 +179,7 @@ edac_pci_delete_instance_kobj(struct edac_pci_ctl_info *pci, int idx) ...@@ -182,7 +179,7 @@ edac_pci_delete_instance_kobj(struct edac_pci_ctl_info *pci, int idx)
static ssize_t edac_pci_int_show(void *ptr, char *buffer) static ssize_t edac_pci_int_show(void *ptr, char *buffer)
{ {
int *value = ptr; int *value = ptr;
return sprintf(buffer,"%d\n",*value); return sprintf(buffer, "%d\n", *value);
} }
static ssize_t edac_pci_int_store(void *ptr, const char *buffer, size_t count) static ssize_t edac_pci_int_store(void *ptr, const char *buffer, size_t count)
...@@ -190,7 +187,7 @@ static ssize_t edac_pci_int_store(void *ptr, const char *buffer, size_t count) ...@@ -190,7 +187,7 @@ static ssize_t edac_pci_int_store(void *ptr, const char *buffer, size_t count)
int *value = ptr; int *value = ptr;
if (isdigit(*buffer)) if (isdigit(*buffer))
*value = simple_strtoul(buffer,NULL,0); *value = simple_strtoul(buffer, NULL, 0);
return count; return count;
} }
...@@ -198,8 +195,8 @@ static ssize_t edac_pci_int_store(void *ptr, const char *buffer, size_t count) ...@@ -198,8 +195,8 @@ static ssize_t edac_pci_int_store(void *ptr, const char *buffer, size_t count)
struct edac_pci_dev_attribute { struct edac_pci_dev_attribute {
struct attribute attr; struct attribute attr;
void *value; void *value;
ssize_t (*show)(void *,char *); ssize_t(*show) (void *, char *);
ssize_t (*store)(void *, const char *,size_t); ssize_t(*store) (void *, const char *, size_t);
}; };
/* Set of show/store abstract level functions for PCI Parity object */ /* Set of show/store abstract level functions for PCI Parity object */
...@@ -207,7 +204,7 @@ static ssize_t edac_pci_dev_show(struct kobject *kobj, struct attribute *attr, ...@@ -207,7 +204,7 @@ static ssize_t edac_pci_dev_show(struct kobject *kobj, struct attribute *attr,
char *buffer) char *buffer)
{ {
struct edac_pci_dev_attribute *edac_pci_dev; struct edac_pci_dev_attribute *edac_pci_dev;
edac_pci_dev= (struct edac_pci_dev_attribute*)attr; edac_pci_dev = (struct edac_pci_dev_attribute *)attr;
if (edac_pci_dev->show) if (edac_pci_dev->show)
return edac_pci_dev->show(edac_pci_dev->value, buffer); return edac_pci_dev->show(edac_pci_dev->value, buffer);
...@@ -215,10 +212,11 @@ static ssize_t edac_pci_dev_show(struct kobject *kobj, struct attribute *attr, ...@@ -215,10 +212,11 @@ static ssize_t edac_pci_dev_show(struct kobject *kobj, struct attribute *attr,
} }
static ssize_t edac_pci_dev_store(struct kobject *kobj, static ssize_t edac_pci_dev_store(struct kobject *kobj,
struct attribute *attr, const char *buffer, size_t count) struct attribute *attr, const char *buffer,
size_t count)
{ {
struct edac_pci_dev_attribute *edac_pci_dev; struct edac_pci_dev_attribute *edac_pci_dev;
edac_pci_dev= (struct edac_pci_dev_attribute*)attr; edac_pci_dev = (struct edac_pci_dev_attribute *)attr;
if (edac_pci_dev->show) if (edac_pci_dev->show)
return edac_pci_dev->store(edac_pci_dev->value, buffer, count); return edac_pci_dev->store(edac_pci_dev->value, buffer, count);
...@@ -247,13 +245,13 @@ static struct edac_pci_dev_attribute edac_pci_attr_##_name = { \ ...@@ -247,13 +245,13 @@ static struct edac_pci_dev_attribute edac_pci_attr_##_name = { \
}; };
/* PCI Parity control files */ /* PCI Parity control files */
EDAC_PCI_ATTR(check_pci_errors, S_IRUGO|S_IWUSR, edac_pci_int_show, EDAC_PCI_ATTR(check_pci_errors, S_IRUGO | S_IWUSR, edac_pci_int_show,
edac_pci_int_store); edac_pci_int_store);
EDAC_PCI_ATTR(edac_pci_log_pe, S_IRUGO|S_IWUSR, edac_pci_int_show, EDAC_PCI_ATTR(edac_pci_log_pe, S_IRUGO | S_IWUSR, edac_pci_int_show,
edac_pci_int_store); edac_pci_int_store);
EDAC_PCI_ATTR(edac_pci_log_npe, S_IRUGO|S_IWUSR, edac_pci_int_show, EDAC_PCI_ATTR(edac_pci_log_npe, S_IRUGO | S_IWUSR, edac_pci_int_show,
edac_pci_int_store); edac_pci_int_store);
EDAC_PCI_ATTR(edac_pci_panic_on_pe, S_IRUGO|S_IWUSR, edac_pci_int_show, EDAC_PCI_ATTR(edac_pci_panic_on_pe, S_IRUGO | S_IWUSR, edac_pci_int_show,
edac_pci_int_store); edac_pci_int_store);
EDAC_PCI_ATTR(pci_parity_count, S_IRUGO, edac_pci_int_show, NULL); EDAC_PCI_ATTR(pci_parity_count, S_IRUGO, edac_pci_int_show, NULL);
EDAC_PCI_ATTR(pci_nonparity_count, S_IRUGO, edac_pci_int_show, NULL); EDAC_PCI_ATTR(pci_nonparity_count, S_IRUGO, edac_pci_int_show, NULL);
...@@ -283,7 +281,7 @@ static void edac_pci_release(struct kobject *kobj) ...@@ -283,7 +281,7 @@ static void edac_pci_release(struct kobject *kobj)
static struct kobj_type ktype_edac_pci = { static struct kobj_type ktype_edac_pci = {
.release = edac_pci_release, .release = edac_pci_release,
.sysfs_ops = &edac_pci_sysfs_ops, .sysfs_ops = &edac_pci_sysfs_ops,
.default_attrs = (struct attribute **) edac_pci_attr, .default_attrs = (struct attribute **)edac_pci_attr,
}; };
/** /**
...@@ -310,7 +308,7 @@ int edac_pci_register_main_kobj(void) ...@@ -310,7 +308,7 @@ int edac_pci_register_main_kobj(void)
edac_pci_kobj.parent = &edac_class->kset.kobj; edac_pci_kobj.parent = &edac_class->kset.kobj;
err = kobject_set_name(&edac_pci_kobj, "pci"); err = kobject_set_name(&edac_pci_kobj, "pci");
if(err) if (err)
return err; return err;
/* Instanstiate the pci object */ /* Instanstiate the pci object */
...@@ -359,12 +357,9 @@ int edac_pci_create_sysfs(struct edac_pci_ctl_info *pci) ...@@ -359,12 +357,9 @@ int edac_pci_create_sysfs(struct edac_pci_ctl_info *pci)
edac_pci_unregister_main_kobj(); edac_pci_unregister_main_kobj();
} }
debugf0("%s() idx=%d\n", __func__, pci->pci_idx); debugf0("%s() idx=%d\n", __func__, pci->pci_idx);
err = sysfs_create_link(edac_kobj, err = sysfs_create_link(edac_kobj, &pci->dev->kobj, EDAC_PCI_SYMLINK);
&pci->dev->kobj,
EDAC_PCI_SYMLINK);
if (err) { if (err) {
debugf0("%s() sysfs_create_link() returned err= %d\n", debugf0("%s() sysfs_create_link() returned err= %d\n",
__func__, err); __func__, err);
...@@ -419,7 +414,7 @@ static u16 get_pci_parity_status(struct pci_dev *dev, int secondary) ...@@ -419,7 +414,7 @@ static u16 get_pci_parity_status(struct pci_dev *dev, int secondary)
return status; return status;
} }
typedef void (*pci_parity_check_fn_t) (struct pci_dev *dev); typedef void (*pci_parity_check_fn_t) (struct pci_dev * dev);
/* Clear any PCI parity errors logged by this device. */ /* Clear any PCI parity errors logged by this device. */
static void edac_pci_dev_parity_clear(struct pci_dev *dev) static void edac_pci_dev_parity_clear(struct pci_dev *dev)
...@@ -448,7 +443,7 @@ static void edac_pci_dev_parity_test(struct pci_dev *dev) ...@@ -448,7 +443,7 @@ static void edac_pci_dev_parity_test(struct pci_dev *dev)
*/ */
status = get_pci_parity_status(dev, 0); status = get_pci_parity_status(dev, 0);
debugf2("PCI STATUS= 0x%04x %s\n", status, dev->dev.bus_id ); debugf2("PCI STATUS= 0x%04x %s\n", status, dev->dev.bus_id);
/* check the status reg for errors */ /* check the status reg for errors */
if (status) { if (status) {
...@@ -479,14 +474,13 @@ static void edac_pci_dev_parity_test(struct pci_dev *dev) ...@@ -479,14 +474,13 @@ static void edac_pci_dev_parity_test(struct pci_dev *dev)
/* read the device TYPE, looking for bridges */ /* read the device TYPE, looking for bridges */
pci_read_config_byte(dev, PCI_HEADER_TYPE, &header_type); pci_read_config_byte(dev, PCI_HEADER_TYPE, &header_type);
debugf2("PCI HEADER TYPE= 0x%02x %s\n", header_type, dev->dev.bus_id ); debugf2("PCI HEADER TYPE= 0x%02x %s\n", header_type, dev->dev.bus_id);
if ((header_type & 0x7F) == PCI_HEADER_TYPE_BRIDGE) { if ((header_type & 0x7F) == PCI_HEADER_TYPE_BRIDGE) {
/* On bridges, need to examine secondary status register */ /* On bridges, need to examine secondary status register */
status = get_pci_parity_status(dev, 1); status = get_pci_parity_status(dev, 1);
debugf2("PCI SEC_STATUS= 0x%04x %s\n", debugf2("PCI SEC_STATUS= 0x%04x %s\n", status, dev->dev.bus_id);
status, dev->dev.bus_id );
/* check the secondary status reg for errors */ /* check the secondary status reg for errors */
if (status) { if (status) {
...@@ -529,7 +523,7 @@ static inline void edac_pci_dev_parity_iterator(pci_parity_check_fn_t fn) ...@@ -529,7 +523,7 @@ static inline void edac_pci_dev_parity_iterator(pci_parity_check_fn_t fn)
* and while we are looking at it have its reference count * and while we are looking at it have its reference count
* bumped until we are done with it * bumped until we are done with it
*/ */
while((dev = pci_get_device(PCI_ANY_ID, PCI_ANY_ID, dev)) != NULL) { while ((dev = pci_get_device(PCI_ANY_ID, PCI_ANY_ID, dev)) != NULL) {
fn(dev); fn(dev);
} }
} }
...@@ -590,6 +584,7 @@ void edac_pci_handle_pe(struct edac_pci_ctl_info *pci, const char *msg) ...@@ -590,6 +584,7 @@ void edac_pci_handle_pe(struct edac_pci_ctl_info *pci, const char *msg)
*/ */
edac_pci_do_parity_check(); edac_pci_do_parity_check();
} }
EXPORT_SYMBOL_GPL(edac_pci_handle_pe); EXPORT_SYMBOL_GPL(edac_pci_handle_pe);
void edac_pci_handle_npe(struct edac_pci_ctl_info *pci, const char *msg) void edac_pci_handle_npe(struct edac_pci_ctl_info *pci, const char *msg)
...@@ -609,6 +604,7 @@ void edac_pci_handle_npe(struct edac_pci_ctl_info *pci, const char *msg) ...@@ -609,6 +604,7 @@ void edac_pci_handle_npe(struct edac_pci_ctl_info *pci, const char *msg)
*/ */
edac_pci_do_parity_check(); edac_pci_do_parity_check();
} }
EXPORT_SYMBOL_GPL(edac_pci_handle_npe); EXPORT_SYMBOL_GPL(edac_pci_handle_npe);
/* /*
......
...@@ -30,6 +30,7 @@ inline int edac_handler_set(void) ...@@ -30,6 +30,7 @@ inline int edac_handler_set(void)
return atomic_read(&edac_handlers); return atomic_read(&edac_handlers);
} }
EXPORT_SYMBOL(edac_handler_set); EXPORT_SYMBOL(edac_handler_set);
/* /*
...@@ -39,4 +40,5 @@ inline void edac_atomic_assert_error(void) ...@@ -39,4 +40,5 @@ inline void edac_atomic_assert_error(void)
{ {
edac_err_assert++; edac_err_assert++;
} }
EXPORT_SYMBOL(edac_atomic_assert_error); EXPORT_SYMBOL(edac_atomic_assert_error);
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment