[PATCH v2 0/3] EDAC support for Calxeda Highbank

Rob Herring robherring2 at gmail.com
Thu Jun 14 00:57:00 EST 2012


Mauro,

On 06/12/2012 08:24 AM, Mauro Carvalho Chehab wrote:
> Hi Rob,
> 
> Em 11-06-2012 23:32, Rob Herring escreveu:
>> From: Rob Herring <rob.herring at calxeda.com>
>>
>> This series adds EDAC support for Calxeda Highbank platform L2 and
>> memory ECC hardware.
>>
>> This version is rebased current edac next tree for 3.6. Changes in
>> this version are the addition of a common edac debugfs directory and
>> coverting the highbank error injection to use debugfs.
> 
> Thanks for the patches.
> 
> It looks OK on my eyes, with regards to the EDAC API usage. While this patch
> touches at the arm/devicetree stuff, most of the changes belong to EDAC, so
> I'll apply them with my SOB on my tree.
> 

I found a build error when EDAC_DEBUG is turned off. 

drivers/edac/highbank_mc_edac.c: In function 'highbank_mc_probe':
drivers/edac/highbank_mc_edac.c:215:9: error: 'struct mem_ctl_info' has no member named 'debugfs'
drivers/edac/highbank_mc_edac.c:216:50: error: 'struct mem_ctl_info' has no member named 'debugfs'
drivers/edac/highbank_mc_edac.c:218:10: error: 'highbank_mc_debug_inject_fops' undeclared (first use in this function)


Do you prefer I respin the patch or do you want a follow on patch? This
is what the fix looks like:

diff --git a/drivers/edac/highbank_mc_edac.c b/drivers/edac/highbank_mc_edac.c
index d00dc0b..3185961 100644
--- a/drivers/edac/highbank_mc_edac.c
+++ b/drivers/edac/highbank_mc_edac.c
@@ -124,6 +124,22 @@ static const struct file_operations highbank_mc_debug_inject_fops = {
        .write = highbank_mc_err_inject_write,
        .llseek = generic_file_llseek,
 };
+
+static int __devinit highbank_mc_create_debugfs_nodes(struct mem_ctl_info *mci)
+{
+       if (!mci->debugfs)
+               return -ENODEV;
+
+       debugfs_create_file("inject_ctrl", S_IWUSR, mci->debugfs, mci,
+                           &highbank_mc_debug_inject_fops);
+
+       return 0;
+}
+#else
+static int __devinit highbank_mc_create_debugfs_nodes(struct mem_ctl_info *mci)
+{
+       return -ENODEV;
+}
 #endif
 
 static int __devinit highbank_mc_probe(struct platform_device *pdev)
@@ -212,10 +228,7 @@ static int __devinit highbank_mc_probe(struct platform_device *pdev)
        if (res < 0)
                goto err;
 
-       if (mci->debugfs)
-               debugfs_create_file("inject_ctrl", S_IWUSR, mci->debugfs,
-                                   mci,
-                                   &highbank_mc_debug_inject_fops);
+       highbank_mc_create_debugfs_nodes(mci);
 
        devres_close_group(&pdev->dev, NULL);
        return 0;


Rob

> Regards,
> Mauro.
>>
>> Rob
>>
>> Rob Herring (3):
>>    edac: create top-level debugfs directory
>>    edac: add support for Calxeda highbank memory controller
>>    edac: add support for Calxeda highbank L2 cache ecc
>>
>>   .../devicetree/bindings/arm/calxeda/l2ecc.txt      |   17 ++
>>   .../devicetree/bindings/arm/calxeda/mem-ctrlr.txt  |   17 ++
>>   arch/arm/boot/dts/highbank.dts                     |   12 +
>>   drivers/edac/Kconfig                               |   16 +-
>>   drivers/edac/Makefile                              |    4 +
>>   drivers/edac/edac_mc_sysfs.c                       |   23 +-
>>   drivers/edac/edac_module.c                         |    3 +
>>   drivers/edac/edac_module.h                         |   14 ++
>>   drivers/edac/highbank_l2_edac.c                    |  149 ++++++++++++
>>   drivers/edac/highbank_mc_edac.c                    |  256 ++++++++++++++++++++
>>   10 files changed, 509 insertions(+), 2 deletions(-)
>>   create mode 100644 Documentation/devicetree/bindings/arm/calxeda/l2ecc.txt
>>   create mode 100644 Documentation/devicetree/bindings/arm/calxeda/mem-ctrlr.txt
>>   create mode 100644 drivers/edac/highbank_l2_edac.c
>>   create mode 100644 drivers/edac/highbank_mc_edac.c
>>
> 
> 



More information about the devicetree-discuss mailing list