lkml.org 
[lkml]   [2012]   [Apr]   [16]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[EDAC_ABI PATCH v13 20/26] pasemi_edac: convert driver to use the new edac ABI
    Date
    The legacy edac ABI is going to be removed. Port the driver to use
    and benefit from the new API functionality.

    Cc: Olof Johansson <olof@lixom.net>
    Cc: Egor Martovetsky <egor@pasemi.com>
    Cc: linuxppc-dev@lists.ozlabs.org
    Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
    ---
    drivers/edac/pasemi_edac.c | 25 ++++++++++++++++---------
    1 files changed, 16 insertions(+), 9 deletions(-)

    diff --git a/drivers/edac/pasemi_edac.c b/drivers/edac/pasemi_edac.c
    index 3fcefda..addf893 100644
    --- a/drivers/edac/pasemi_edac.c
    +++ b/drivers/edac/pasemi_edac.c
    @@ -110,15 +110,16 @@ static void pasemi_edac_process_error_info(struct mem_ctl_info *mci, u32 errsta)
    /* uncorrectable/multi-bit errors */
    if (errsta & (MCDEBUG_ERRSTA_MBE_STATUS |
    MCDEBUG_ERRSTA_RFL_STATUS)) {
    - edac_mc_handle_ue(mci, mci->csrows[cs].first_page, 0,
    - cs, mci->ctl_name);
    + edac_mc_handle_error(HW_EVENT_ERR_UNCORRECTED, mci,
    + mci->csrows[cs].first_page, 0, 0,
    + cs, 0, -1, mci->ctl_name, "", NULL);
    }

    /* correctable/single-bit errors */
    - if (errsta & MCDEBUG_ERRSTA_SBE_STATUS) {
    - edac_mc_handle_ce(mci, mci->csrows[cs].first_page, 0,
    - 0, cs, 0, mci->ctl_name);
    - }
    + if (errsta & MCDEBUG_ERRSTA_SBE_STATUS)
    + edac_mc_handle_error(HW_EVENT_ERR_CORRECTED, mci,
    + mci->csrows[cs].first_page, 0, 0,
    + cs, 0, -1, mci->ctl_name, "", NULL);
    }

    static void pasemi_edac_check(struct mem_ctl_info *mci)
    @@ -191,6 +192,7 @@ static int __devinit pasemi_edac_probe(struct pci_dev *pdev,
    const struct pci_device_id *ent)
    {
    struct mem_ctl_info *mci = NULL;
    + struct edac_mc_layer layers[2];
    u32 errctl1, errcor, scrub, mcen;

    pci_read_config_dword(pdev, MCCFG_MCEN, &mcen);
    @@ -207,9 +209,14 @@ static int __devinit pasemi_edac_probe(struct pci_dev *pdev,
    MCDEBUG_ERRCTL1_RFL_LOG_EN;
    pci_write_config_dword(pdev, MCDEBUG_ERRCTL1, errctl1);

    - mci = edac_mc_alloc(0, PASEMI_EDAC_NR_CSROWS, PASEMI_EDAC_NR_CHANS,
    - system_mmc_id++);
    -
    + layers[0].type = EDAC_MC_LAYER_CHIP_SELECT;
    + layers[0].size = PASEMI_EDAC_NR_CSROWS;
    + layers[0].is_csrow = true;
    + layers[1].type = EDAC_MC_LAYER_CHANNEL;
    + layers[1].size = PASEMI_EDAC_NR_CHANS;
    + layers[1].is_csrow = false;
    + mci = new_edac_mc_alloc(system_mmc_id++, ARRAY_SIZE(layers), layers, false,
    + 0);
    if (mci == NULL)
    return -ENOMEM;

    --
    1.7.8


    \
     
     \ /
      Last update: 2012-04-16 22:27    [W:0.021 / U:32.536 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site