Commit ca0907b9 authored by Mauro Carvalho Chehab's avatar Mauro Carvalho Chehab

edac: Remove the legacy EDAC ABI

Now that all drivers got converted to use the new ABI, we can
drop the old one.
Acked-by: default avatarChris Metcalf <cmetcalf@tilera.com>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@redhat.com>
parent e2acc357
...@@ -2596,7 +2596,7 @@ static int amd64_init_one_instance(struct pci_dev *F2) ...@@ -2596,7 +2596,7 @@ static int amd64_init_one_instance(struct pci_dev *F2)
layers[1].type = EDAC_MC_LAYER_CHANNEL; layers[1].type = EDAC_MC_LAYER_CHANNEL;
layers[1].size = pvt->channel_count; layers[1].size = pvt->channel_count;
layers[1].is_virt_csrow = false; layers[1].is_virt_csrow = false;
mci = new_edac_mc_alloc(nid, ARRAY_SIZE(layers), layers, 0); mci = edac_mc_alloc(nid, ARRAY_SIZE(layers), layers, 0);
if (!mci) if (!mci)
goto err_siblings; goto err_siblings;
......
...@@ -251,7 +251,7 @@ static int amd76x_probe1(struct pci_dev *pdev, int dev_idx) ...@@ -251,7 +251,7 @@ static int amd76x_probe1(struct pci_dev *pdev, int dev_idx)
layers[1].type = EDAC_MC_LAYER_CHANNEL; layers[1].type = EDAC_MC_LAYER_CHANNEL;
layers[1].size = 1; layers[1].size = 1;
layers[1].is_virt_csrow = false; layers[1].is_virt_csrow = false;
mci = new_edac_mc_alloc(0, ARRAY_SIZE(layers), layers, 0); mci = edac_mc_alloc(0, ARRAY_SIZE(layers), layers, 0);
if (mci == NULL) if (mci == NULL)
return -ENOMEM; return -ENOMEM;
......
...@@ -204,7 +204,7 @@ static int __devinit cell_edac_probe(struct platform_device *pdev) ...@@ -204,7 +204,7 @@ static int __devinit cell_edac_probe(struct platform_device *pdev)
layers[1].type = EDAC_MC_LAYER_CHANNEL; layers[1].type = EDAC_MC_LAYER_CHANNEL;
layers[1].size = num_chans; layers[1].size = num_chans;
layers[1].is_virt_csrow = false; layers[1].is_virt_csrow = false;
mci = new_edac_mc_alloc(pdev->id, ARRAY_SIZE(layers), layers, mci = edac_mc_alloc(pdev->id, ARRAY_SIZE(layers), layers,
sizeof(struct cell_edac_priv)); sizeof(struct cell_edac_priv));
if (mci == NULL) if (mci == NULL)
return -ENOMEM; return -ENOMEM;
......
...@@ -982,7 +982,7 @@ static int __devinit cpc925_probe(struct platform_device *pdev) ...@@ -982,7 +982,7 @@ static int __devinit cpc925_probe(struct platform_device *pdev)
layers[1].type = EDAC_MC_LAYER_CHANNEL; layers[1].type = EDAC_MC_LAYER_CHANNEL;
layers[1].size = nr_channels; layers[1].size = nr_channels;
layers[1].is_virt_csrow = false; layers[1].is_virt_csrow = false;
mci = new_edac_mc_alloc(edac_mc_idx, ARRAY_SIZE(layers), layers, mci = edac_mc_alloc(edac_mc_idx, ARRAY_SIZE(layers), layers,
sizeof(struct cpc925_mc_pdata)); sizeof(struct cpc925_mc_pdata));
if (!mci) { if (!mci) {
cpc925_printk(KERN_ERR, "No memory for mem_ctl_info\n"); cpc925_printk(KERN_ERR, "No memory for mem_ctl_info\n");
......
...@@ -1278,8 +1278,7 @@ static int e752x_probe1(struct pci_dev *pdev, int dev_idx) ...@@ -1278,8 +1278,7 @@ static int e752x_probe1(struct pci_dev *pdev, int dev_idx)
layers[1].type = EDAC_MC_LAYER_CHANNEL; layers[1].type = EDAC_MC_LAYER_CHANNEL;
layers[1].size = drc_chan + 1; layers[1].size = drc_chan + 1;
layers[1].is_virt_csrow = false; layers[1].is_virt_csrow = false;
mci = new_edac_mc_alloc(0, ARRAY_SIZE(layers), layers, mci = edac_mc_alloc(0, ARRAY_SIZE(layers), layers, sizeof(*pvt));
sizeof(*pvt));
if (mci == NULL) if (mci == NULL)
return -ENOMEM; return -ENOMEM;
......
...@@ -447,7 +447,7 @@ static int e7xxx_probe1(struct pci_dev *pdev, int dev_idx) ...@@ -447,7 +447,7 @@ static int e7xxx_probe1(struct pci_dev *pdev, int dev_idx)
layers[1].type = EDAC_MC_LAYER_CHANNEL; layers[1].type = EDAC_MC_LAYER_CHANNEL;
layers[1].size = drc_chan + 1; layers[1].size = drc_chan + 1;
layers[1].is_virt_csrow = false; layers[1].is_virt_csrow = false;
mci = new_edac_mc_alloc(0, ARRAY_SIZE(layers), layers, sizeof(*pvt)); mci = edac_mc_alloc(0, ARRAY_SIZE(layers), layers, sizeof(*pvt));
if (mci == NULL) if (mci == NULL)
return -ENOMEM; return -ENOMEM;
......
...@@ -447,9 +447,7 @@ static inline void pci_write_bits32(struct pci_dev *pdev, int offset, ...@@ -447,9 +447,7 @@ static inline void pci_write_bits32(struct pci_dev *pdev, int offset,
#endif /* CONFIG_PCI */ #endif /* CONFIG_PCI */
struct mem_ctl_info *edac_mc_alloc(unsigned sz_pvt, unsigned nr_csrows, struct mem_ctl_info *edac_mc_alloc(unsigned mc_num,
unsigned nr_chans, int edac_index);
struct mem_ctl_info *new_edac_mc_alloc(unsigned edac_index,
unsigned n_layers, unsigned n_layers,
struct edac_mc_layer *layers, struct edac_mc_layer *layers,
unsigned sz_pvt); unsigned sz_pvt);
...@@ -460,18 +458,6 @@ extern struct mem_ctl_info *find_mci_by_dev(struct device *dev); ...@@ -460,18 +458,6 @@ extern struct mem_ctl_info *find_mci_by_dev(struct device *dev);
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);
/*
* The no info errors are used when error overflows are reported.
* There are a limited number of error logging registers that can
* be exausted. When all registers are exhausted and an additional
* error occurs then an error overflow register records that an
* error occurred and the type of error, but doesn't have any
* further information. The ce/ue versions make for cleaner
* reporting logic and function interface - reduces conditional
* statement clutter and extra function arguments.
*/
void edac_mc_handle_error(const enum hw_event_mc_err_type type, void edac_mc_handle_error(const enum hw_event_mc_err_type type,
struct mem_ctl_info *mci, struct mem_ctl_info *mci,
const unsigned long page_frame_number, const unsigned long page_frame_number,
...@@ -484,66 +470,6 @@ void edac_mc_handle_error(const enum hw_event_mc_err_type type, ...@@ -484,66 +470,6 @@ void edac_mc_handle_error(const enum hw_event_mc_err_type type,
const char *other_detail, const char *other_detail,
const void *mcelog); const void *mcelog);
static inline void edac_mc_handle_ce(struct mem_ctl_info *mci,
unsigned long page_frame_number,
unsigned long offset_in_page,
unsigned long syndrome, int row, int channel,
const char *msg)
{
edac_mc_handle_error(HW_EVENT_ERR_CORRECTED, mci,
page_frame_number, offset_in_page, syndrome,
row, channel, -1, msg, NULL, NULL);
}
static inline void edac_mc_handle_ce_no_info(struct mem_ctl_info *mci,
const char *msg)
{
edac_mc_handle_error(HW_EVENT_ERR_CORRECTED, mci,
0, 0, 0, -1, -1, -1, msg, NULL, NULL);
}
static inline void edac_mc_handle_ue(struct mem_ctl_info *mci,
unsigned long page_frame_number,
unsigned long offset_in_page, int row,
const char *msg)
{
edac_mc_handle_error(HW_EVENT_ERR_UNCORRECTED, mci,
page_frame_number, offset_in_page, 0,
row, -1, -1, msg, NULL, NULL);
}
static inline void edac_mc_handle_ue_no_info(struct mem_ctl_info *mci,
const char *msg)
{
edac_mc_handle_error(HW_EVENT_ERR_UNCORRECTED, mci,
0, 0, 0, -1, -1, -1, msg, NULL, NULL);
}
static inline void edac_mc_handle_fbd_ue(struct mem_ctl_info *mci,
unsigned int csrow,
unsigned int channel0,
unsigned int channel1,
char *msg)
{
/*
*FIXME: The error can also be at channel1 (e. g. at the second
* channel of the same branch). The fix is to push
* edac_mc_handle_error() call into each driver
*/
edac_mc_handle_error(HW_EVENT_ERR_UNCORRECTED, mci,
0, 0, 0,
csrow, channel0, -1, msg, NULL, NULL);
}
static inline void edac_mc_handle_fbd_ce(struct mem_ctl_info *mci,
unsigned int csrow,
unsigned int channel, char *msg)
{
edac_mc_handle_error(HW_EVENT_ERR_CORRECTED, mci,
0, 0, 0,
csrow, channel, -1, msg, NULL, NULL);
}
/* /*
* edac_device APIs * edac_device APIs
*/ */
......
...@@ -195,10 +195,10 @@ void *edac_align_ptr(void **p, unsigned size, int n_elems) ...@@ -195,10 +195,10 @@ void *edac_align_ptr(void **p, unsigned size, int n_elems)
* on such scenarios, as grouping the multiple ranks require drivers change. * on such scenarios, as grouping the multiple ranks require drivers change.
* *
* Returns: * Returns:
* NULL allocation failed * On failure: NULL
* struct mem_ctl_info pointer * On success: struct mem_ctl_info pointer
*/ */
struct mem_ctl_info *new_edac_mc_alloc(unsigned mc_num, struct mem_ctl_info *edac_mc_alloc(unsigned mc_num,
unsigned n_layers, unsigned n_layers,
struct edac_mc_layer *layers, struct edac_mc_layer *layers,
unsigned sz_pvt) unsigned sz_pvt)
...@@ -370,46 +370,6 @@ struct mem_ctl_info *new_edac_mc_alloc(unsigned mc_num, ...@@ -370,46 +370,6 @@ struct mem_ctl_info *new_edac_mc_alloc(unsigned mc_num,
*/ */
return mci; return mci;
} }
EXPORT_SYMBOL_GPL(new_edac_mc_alloc);
/**
* edac_mc_alloc: Allocate and partially fill a struct mem_ctl_info structure
* @mc_num: Memory controller number
* @n_layers: Number of layers at the MC hierarchy
* layers: Describes each layer as seen by the Memory Controller
* @size_pvt: Size of private storage needed
*
*
* FIXME: drivers handle multi-rank memories in different ways: some
* drivers map multi-ranked DIMMs as one DIMM while others
* as several DIMMs.
*
* Everything is kmalloc'ed as one big chunk - more efficient.
* It can only be used if all structures have the same lifetime - otherwise
* you have to allocate and initialize your own structures.
*
* Use edac_mc_free() to free mc structures allocated by this function.
*
* Returns:
* On failure: NULL
* On success: struct mem_ctl_info pointer
*/
struct mem_ctl_info *edac_mc_alloc(unsigned sz_pvt, unsigned nr_csrows,
unsigned nr_chans, int mc_num)
{
unsigned n_layers = 2;
struct edac_mc_layer layers[n_layers];
layers[0].type = EDAC_MC_LAYER_CHIP_SELECT;
layers[0].size = nr_csrows;
layers[0].is_virt_csrow = true;
layers[1].type = EDAC_MC_LAYER_CHANNEL;
layers[1].size = nr_chans;
layers[1].is_virt_csrow = false;
return new_edac_mc_alloc(mc_num, ARRAY_SIZE(layers), layers, sz_pvt);
}
EXPORT_SYMBOL_GPL(edac_mc_alloc); EXPORT_SYMBOL_GPL(edac_mc_alloc);
/** /**
......
...@@ -362,7 +362,7 @@ static int i3000_probe1(struct pci_dev *pdev, int dev_idx) ...@@ -362,7 +362,7 @@ static int i3000_probe1(struct pci_dev *pdev, int dev_idx)
layers[1].type = EDAC_MC_LAYER_CHANNEL; layers[1].type = EDAC_MC_LAYER_CHANNEL;
layers[1].size = nr_channels; layers[1].size = nr_channels;
layers[1].is_virt_csrow = false; layers[1].is_virt_csrow = false;
mci = new_edac_mc_alloc(0, ARRAY_SIZE(layers), layers, 0); mci = edac_mc_alloc(0, ARRAY_SIZE(layers), layers, 0);
if (!mci) if (!mci)
return -ENOMEM; return -ENOMEM;
......
...@@ -347,7 +347,7 @@ static int i3200_probe1(struct pci_dev *pdev, int dev_idx) ...@@ -347,7 +347,7 @@ static int i3200_probe1(struct pci_dev *pdev, int dev_idx)
layers[1].type = EDAC_MC_LAYER_CHANNEL; layers[1].type = EDAC_MC_LAYER_CHANNEL;
layers[1].size = nr_channels; layers[1].size = nr_channels;
layers[1].is_virt_csrow = false; layers[1].is_virt_csrow = false;
mci = new_edac_mc_alloc(0, ARRAY_SIZE(layers), layers, mci = edac_mc_alloc(0, ARRAY_SIZE(layers), layers,
sizeof(struct i3200_priv)); sizeof(struct i3200_priv));
if (!mci) if (!mci)
return -ENOMEM; return -ENOMEM;
......
...@@ -1396,8 +1396,7 @@ static int i5000_probe1(struct pci_dev *pdev, int dev_idx) ...@@ -1396,8 +1396,7 @@ static int i5000_probe1(struct pci_dev *pdev, int dev_idx)
layers[2].type = EDAC_MC_LAYER_SLOT; layers[2].type = EDAC_MC_LAYER_SLOT;
layers[2].size = num_dimms_per_channel; layers[2].size = num_dimms_per_channel;
layers[2].is_virt_csrow = true; layers[2].is_virt_csrow = true;
mci = new_edac_mc_alloc(0, ARRAY_SIZE(layers), layers, sizeof(*pvt)); mci = edac_mc_alloc(0, ARRAY_SIZE(layers), layers, sizeof(*pvt));
if (mci == NULL) if (mci == NULL)
return -ENOMEM; return -ENOMEM;
......
...@@ -936,7 +936,7 @@ static int __devinit i5100_init_one(struct pci_dev *pdev, ...@@ -936,7 +936,7 @@ static int __devinit i5100_init_one(struct pci_dev *pdev,
layers[1].type = EDAC_MC_LAYER_SLOT; layers[1].type = EDAC_MC_LAYER_SLOT;
layers[1].size = ranksperch; layers[1].size = ranksperch;
layers[1].is_virt_csrow = true; layers[1].is_virt_csrow = true;
mci = new_edac_mc_alloc(0, ARRAY_SIZE(layers), layers, mci = edac_mc_alloc(0, ARRAY_SIZE(layers), layers,
sizeof(*priv)); sizeof(*priv));
if (!mci) { if (!mci) {
ret = -ENOMEM; ret = -ENOMEM;
......
...@@ -1280,8 +1280,7 @@ static int i5400_probe1(struct pci_dev *pdev, int dev_idx) ...@@ -1280,8 +1280,7 @@ static int i5400_probe1(struct pci_dev *pdev, int dev_idx)
layers[2].type = EDAC_MC_LAYER_SLOT; layers[2].type = EDAC_MC_LAYER_SLOT;
layers[2].size = DIMMS_PER_CHANNEL; layers[2].size = DIMMS_PER_CHANNEL;
layers[2].is_virt_csrow = true; layers[2].is_virt_csrow = true;
mci = new_edac_mc_alloc(0, ARRAY_SIZE(layers), layers, sizeof(*pvt)); mci = edac_mc_alloc(0, ARRAY_SIZE(layers), layers, sizeof(*pvt));
if (mci == NULL) if (mci == NULL)
return -ENOMEM; return -ENOMEM;
......
...@@ -1051,8 +1051,7 @@ static int __devinit i7300_init_one(struct pci_dev *pdev, ...@@ -1051,8 +1051,7 @@ static int __devinit i7300_init_one(struct pci_dev *pdev,
layers[2].type = EDAC_MC_LAYER_SLOT; layers[2].type = EDAC_MC_LAYER_SLOT;
layers[2].size = MAX_SLOTS; layers[2].size = MAX_SLOTS;
layers[2].is_virt_csrow = true; layers[2].is_virt_csrow = true;
mci = new_edac_mc_alloc(0, ARRAY_SIZE(layers), layers, sizeof(*pvt)); mci = edac_mc_alloc(0, ARRAY_SIZE(layers), layers, sizeof(*pvt));
if (mci == NULL) if (mci == NULL)
return -ENOMEM; return -ENOMEM;
......
...@@ -2147,7 +2147,7 @@ static int i7core_register_mci(struct i7core_dev *i7core_dev) ...@@ -2147,7 +2147,7 @@ static int i7core_register_mci(struct i7core_dev *i7core_dev)
layers[1].type = EDAC_MC_LAYER_SLOT; layers[1].type = EDAC_MC_LAYER_SLOT;
layers[1].size = MAX_DIMMS; layers[1].size = MAX_DIMMS;
layers[1].is_virt_csrow = true; layers[1].is_virt_csrow = true;
mci = new_edac_mc_alloc(i7core_dev->socket, ARRAY_SIZE(layers), layers, mci = edac_mc_alloc(i7core_dev->socket, ARRAY_SIZE(layers), layers,
sizeof(*pvt)); sizeof(*pvt));
if (unlikely(!mci)) if (unlikely(!mci))
return -ENOMEM; return -ENOMEM;
......
...@@ -255,7 +255,7 @@ static int i82443bxgx_edacmc_probe1(struct pci_dev *pdev, int dev_idx) ...@@ -255,7 +255,7 @@ static int i82443bxgx_edacmc_probe1(struct pci_dev *pdev, int dev_idx)
layers[1].type = EDAC_MC_LAYER_CHANNEL; layers[1].type = EDAC_MC_LAYER_CHANNEL;
layers[1].size = I82443BXGX_NR_CHANS; layers[1].size = I82443BXGX_NR_CHANS;
layers[1].is_virt_csrow = false; layers[1].is_virt_csrow = false;
mci = new_edac_mc_alloc(0, ARRAY_SIZE(layers), layers, 0); mci = edac_mc_alloc(0, ARRAY_SIZE(layers), layers, 0);
if (mci == NULL) if (mci == NULL)
return -ENOMEM; return -ENOMEM;
......
...@@ -206,7 +206,7 @@ static int i82860_probe1(struct pci_dev *pdev, int dev_idx) ...@@ -206,7 +206,7 @@ static int i82860_probe1(struct pci_dev *pdev, int dev_idx)
layers[1].type = EDAC_MC_LAYER_SLOT; layers[1].type = EDAC_MC_LAYER_SLOT;
layers[1].size = 8; layers[1].size = 8;
layers[1].is_virt_csrow = true; layers[1].is_virt_csrow = true;
mci = new_edac_mc_alloc(0, ARRAY_SIZE(layers), layers, 0); mci = edac_mc_alloc(0, ARRAY_SIZE(layers), layers, 0);
if (!mci) if (!mci)
return -ENOMEM; return -ENOMEM;
......
...@@ -420,7 +420,7 @@ static int i82875p_probe1(struct pci_dev *pdev, int dev_idx) ...@@ -420,7 +420,7 @@ static int i82875p_probe1(struct pci_dev *pdev, int dev_idx)
layers[1].type = EDAC_MC_LAYER_CHANNEL; layers[1].type = EDAC_MC_LAYER_CHANNEL;
layers[1].size = nr_chans; layers[1].size = nr_chans;
layers[1].is_virt_csrow = false; layers[1].is_virt_csrow = false;
mci = new_edac_mc_alloc(0, ARRAY_SIZE(layers), layers, sizeof(*pvt)); mci = edac_mc_alloc(0, ARRAY_SIZE(layers), layers, sizeof(*pvt));
if (!mci) { if (!mci) {
rc = -ENOMEM; rc = -ENOMEM;
goto fail0; goto fail0;
......
...@@ -555,7 +555,7 @@ static int i82975x_probe1(struct pci_dev *pdev, int dev_idx) ...@@ -555,7 +555,7 @@ static int i82975x_probe1(struct pci_dev *pdev, int dev_idx)
layers[1].type = EDAC_MC_LAYER_CHANNEL; layers[1].type = EDAC_MC_LAYER_CHANNEL;
layers[1].size = I82975X_NR_CSROWS(chans); layers[1].size = I82975X_NR_CSROWS(chans);
layers[1].is_virt_csrow = false; layers[1].is_virt_csrow = false;
mci = new_edac_mc_alloc(0, ARRAY_SIZE(layers), layers, sizeof(*pvt)); mci = edac_mc_alloc(0, ARRAY_SIZE(layers), layers, sizeof(*pvt));
if (!mci) { if (!mci) {
rc = -ENOMEM; rc = -ENOMEM;
goto fail1; goto fail1;
......
...@@ -980,8 +980,7 @@ static int __devinit mpc85xx_mc_err_probe(struct platform_device *op) ...@@ -980,8 +980,7 @@ static int __devinit mpc85xx_mc_err_probe(struct platform_device *op)
layers[1].type = EDAC_MC_LAYER_CHANNEL; layers[1].type = EDAC_MC_LAYER_CHANNEL;
layers[1].size = 1; layers[1].size = 1;
layers[1].is_virt_csrow = false; layers[1].is_virt_csrow = false;
mci = new_edac_mc_alloc(edac_mc_idx, ARRAY_SIZE(layers), layers, mci = edac_mc_alloc(edac_mc_idx, ARRAY_SIZE(layers), sizeof(*pdata));
sizeof(*pdata));
if (!mci) { if (!mci) {
devres_release_group(&op->dev, mpc85xx_mc_err_probe); devres_release_group(&op->dev, mpc85xx_mc_err_probe);
return -ENOMEM; return -ENOMEM;
......
...@@ -715,7 +715,7 @@ static int __devinit mv64x60_mc_err_probe(struct platform_device *pdev) ...@@ -715,7 +715,7 @@ static int __devinit mv64x60_mc_err_probe(struct platform_device *pdev)
layers[1].type = EDAC_MC_LAYER_CHANNEL; layers[1].type = EDAC_MC_LAYER_CHANNEL;
layers[1].size = 1; layers[1].size = 1;
layers[1].is_virt_csrow = false; layers[1].is_virt_csrow = false;
mci = new_edac_mc_alloc(edac_mc_idx, ARRAY_SIZE(layers), layers, mci = edac_mc_alloc(edac_mc_idx, ARRAY_SIZE(layers), layers,
sizeof(struct mv64x60_mc_pdata)); sizeof(struct mv64x60_mc_pdata));
if (!mci) { if (!mci) {
printk(KERN_ERR "%s: No memory for CPU err\n", __func__); printk(KERN_ERR "%s: No memory for CPU err\n", __func__);
......
...@@ -215,7 +215,7 @@ static int __devinit pasemi_edac_probe(struct pci_dev *pdev, ...@@ -215,7 +215,7 @@ static int __devinit pasemi_edac_probe(struct pci_dev *pdev,
layers[1].type = EDAC_MC_LAYER_CHANNEL; layers[1].type = EDAC_MC_LAYER_CHANNEL;
layers[1].size = PASEMI_EDAC_NR_CHANS; layers[1].size = PASEMI_EDAC_NR_CHANS;
layers[1].is_virt_csrow = false; layers[1].is_virt_csrow = false;
mci = new_edac_mc_alloc(system_mmc_id++, ARRAY_SIZE(layers), layers, mci = edac_mc_alloc(system_mmc_id++, ARRAY_SIZE(layers), layers,
0); 0);
if (mci == NULL) if (mci == NULL)
return -ENOMEM; return -ENOMEM;
......
...@@ -1291,7 +1291,7 @@ static int __devinit ppc4xx_edac_probe(struct platform_device *op) ...@@ -1291,7 +1291,7 @@ static int __devinit ppc4xx_edac_probe(struct platform_device *op)
layers[1].type = EDAC_MC_LAYER_CHANNEL; layers[1].type = EDAC_MC_LAYER_CHANNEL;
layers[1].size = ppc4xx_edac_nr_chans; layers[1].size = ppc4xx_edac_nr_chans;
layers[1].is_virt_csrow = false; layers[1].is_virt_csrow = false;
mci = new_edac_mc_alloc(ppc4xx_edac_instance, ARRAY_SIZE(layers), layers, mci = edac_mc_alloc(ppc4xx_edac_instance, ARRAY_SIZE(layers), layers,
sizeof(struct ppc4xx_edac_pdata)); sizeof(struct ppc4xx_edac_pdata));
if (mci == NULL) { if (mci == NULL) {
ppc4xx_edac_printk(KERN_ERR, "%s: " ppc4xx_edac_printk(KERN_ERR, "%s: "
......
...@@ -291,7 +291,7 @@ static int r82600_probe1(struct pci_dev *pdev, int dev_idx) ...@@ -291,7 +291,7 @@ static int r82600_probe1(struct pci_dev *pdev, int dev_idx)
layers[1].type = EDAC_MC_LAYER_CHANNEL; layers[1].type = EDAC_MC_LAYER_CHANNEL;
layers[1].size = R82600_NR_CHANS; layers[1].size = R82600_NR_CHANS;
layers[1].is_virt_csrow = false; layers[1].is_virt_csrow = false;
mci = new_edac_mc_alloc(0, ARRAY_SIZE(layers), layers, 0); mci = edac_mc_alloc(0, ARRAY_SIZE(layers), layers, 0);
if (mci == NULL) if (mci == NULL)
return -ENOMEM; return -ENOMEM;
......
...@@ -1640,7 +1640,7 @@ static int sbridge_register_mci(struct sbridge_dev *sbridge_dev) ...@@ -1640,7 +1640,7 @@ static int sbridge_register_mci(struct sbridge_dev *sbridge_dev)
layers[1].type = EDAC_MC_LAYER_SLOT; layers[1].type = EDAC_MC_LAYER_SLOT;
layers[1].size = MAX_DIMMS; layers[1].size = MAX_DIMMS;
layers[1].is_virt_csrow = true; layers[1].is_virt_csrow = true;
mci = new_edac_mc_alloc(sbridge_dev->mc, ARRAY_SIZE(layers), layers, mci = edac_mc_alloc(sbridge_dev->mc, ARRAY_SIZE(layers), layers,
sizeof(*pvt)); sizeof(*pvt));
if (unlikely(!mci)) if (unlikely(!mci))
......
...@@ -141,7 +141,7 @@ static int __devinit tile_edac_mc_probe(struct platform_device *pdev) ...@@ -141,7 +141,7 @@ static int __devinit tile_edac_mc_probe(struct platform_device *pdev)
layers[1].type = EDAC_MC_LAYER_CHANNEL; layers[1].type = EDAC_MC_LAYER_CHANNEL;
layers[1].size = TILE_EDAC_NR_CHANS; layers[1].size = TILE_EDAC_NR_CHANS;
layers[1].is_virt_csrow = false; layers[1].is_virt_csrow = false;
mci = new_edac_mc_alloc(pdev->id, ARRAY_SIZE(layers), layers, mci = edac_mc_alloc(pdev->id, ARRAY_SIZE(layers), layers,
sizeof(struct tile_edac_priv)); sizeof(struct tile_edac_priv));
if (mci == NULL) if (mci == NULL)
return -ENOMEM; return -ENOMEM;
......
...@@ -348,7 +348,7 @@ static int x38_probe1(struct pci_dev *pdev, int dev_idx) ...@@ -348,7 +348,7 @@ static int x38_probe1(struct pci_dev *pdev, int dev_idx)
layers[1].type = EDAC_MC_LAYER_CHANNEL; layers[1].type = EDAC_MC_LAYER_CHANNEL;
layers[1].size = x38_channel_num; layers[1].size = x38_channel_num;
layers[1].is_virt_csrow = false; layers[1].is_virt_csrow = false;
mci = new_edac_mc_alloc(0, ARRAY_SIZE(layers), layers, 0); mci = edac_mc_alloc(0, ARRAY_SIZE(layers), layers, 0);
if (!mci) if (!mci)
return -ENOMEM; return -ENOMEM;
......
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