From: Alexandre Bounine <alexandre.bounine@idt.com>
Add RapidIO Port-Write message handling in the context
of Error Management Extensions Specification Rev.1.3.
Signed-off-by: Alexandre Bounine <alexandre.bounine@idt.com>
Tested-by: Thomas Moll <thomas.moll@sysgo.com>
Cc: Matt Porter <mporter@kernel.crashing.org>
---
arch/powerpc/sysdev/fsl_rio.c | 2
drivers/rapidio/rio-scan.c | 166 +++++++++++++++----
drivers/rapidio/rio.c | 328 ++++++++++++++++++++++++++++++++++++++
drivers/rapidio/rio.h | 30 +++
drivers/rapidio/switches/tsi568.c | 24 ++
drivers/rapidio/switches/tsi57x.c | 153 +++++++++++++++++
include/asm-generic/vmlinux.lds.h | 5
include/linux/rio.h | 42 ++++
include/linux/rio_drv.h | 6
include/linux/rio_regs.h | 61 ++++++-
10 files changed, 776 insertions(+), 41 deletions(-)
diff -x '*.pj' -X dontdiff_2.6.32-rc5 -pNur w34r3a/arch/powerpc/sysdev/fsl_rio.c w34r3b/arch/powerpc/sysdev/fsl_rio.c
--- w34r3a/arch/powerpc/sysdev/fsl_rio.c 2010-03-30 12:24:39.000000000 -0400
+++ w34r3b/arch/powerpc/sysdev/fsl_rio.c 2010-04-06 14:28:04.817953000 -0400
@@ -1056,7 +1056,7 @@ int fsl_rio_setup(struct of_device *dev)
dev_info(&dev->dev, "LAW start 0x%016llx, size 0x%016llx.\n",
law_start, law_size);
- ops = kmalloc(sizeof(struct rio_ops), GFP_KERNEL);
+ ops = kzalloc(sizeof(struct rio_ops), GFP_KERNEL);
if (!ops) {
rc = -ENOMEM;
goto err_ops;
diff -x '*.pj' -X dontdiff_2.6.32-rc5 -pNur w34r3a/drivers/rapidio/rio-scan.c w34r3b/drivers/rapidio/rio-scan.c
--- w34r3a/drivers/rapidio/rio-scan.c 2010-04-06 14:24:31.913278000 -0400
+++ w34r3b/drivers/rapidio/rio-scan.c 2010-04-06 14:28:04.851955000 -0400
@@ -4,6 +4,10 @@
* Copyright 2005 MontaVista Software, Inc.
* Matt Porter <mporter@kernel.crashing.org>
*
+ * Copyright 2009 Integrated Device Technology, Inc.
+ * Alex Bounine <alexandre.bounine@idt.com>
+ * - Added Port-Write/Error Management ...