Re: Altix I/O code reorganization - 14 of 21

From: Pat Gefre
Date: Wed Aug 11 2004 - 19:55:28 EST


> 007-io-hub-provider:
> tio_provider and hub_provider have exactly the same methods, no need to
> keep the xtalk_provider_t abstraction at all
>

The abstraction was done for future expansion. We have removed it
and in the future if we do need to abstract these 2 providers, we will
submit another patch.



# This is a BitKeeper generated diff -Nru style patch.
#
# ChangeSet
# 2004/08/11 16:48:48-05:00 pfg@xxxxxxx
# Files needed to provide services for our I/O Hub devices
#
# arch/ia64/sn/ioif/xtalk/xtalk_providers.c
# 2004/08/11 16:47:53-05:00 pfg@xxxxxxx +59 -0
#
# arch/ia64/sn/ioif/xtalk/xtalk_providers.c
# 2004/08/11 16:47:53-05:00 pfg@xxxxxxx +0 -0
# BitKeeper file /work.attica2/pfg/Linux/2.5-BK/to-base-2.6/arch/ia64/sn/ioif/xtalk/xtalk_providers.c
#
# arch/ia64/sn/ioif/xtalk/Makefile
# 2004/08/11 16:47:51-05:00 pfg@xxxxxxx +10 -0
#
# arch/ia64/sn/ioif/xtalk/Makefile
# 2004/08/11 16:47:51-05:00 pfg@xxxxxxx +0 -0
# BitKeeper file /work.attica2/pfg/Linux/2.5-BK/to-base-2.6/arch/ia64/sn/ioif/xtalk/Makefile
#
diff -Nru a/arch/ia64/sn/ioif/xtalk/Makefile b/arch/ia64/sn/ioif/xtalk/Makefile
--- /dev/null Wed Dec 31 16:00:00 196900
+++ b/arch/ia64/sn/ioif/xtalk/Makefile 2004-08-11 16:49:20 -05:00
@@ -0,0 +1,10 @@
+#
+# This file is subject to the terms and conditions of the GNU General Public
+# License. See the file "COPYING" in the main directory of this archive
+# for more details.
+#
+# Copyright (C) 2002-2003 Silicon Graphics, Inc. All Rights Reserved.
+#
+# Makefile for the sn2 io routines.
+
+obj-y += xtalk_providers.o
diff -Nru a/arch/ia64/sn/ioif/xtalk/xtalk_providers.c b/arch/ia64/sn/ioif/xtalk/xtalk_providers.c
--- /dev/null Wed Dec 31 16:00:00 196900
+++ b/arch/ia64/sn/ioif/xtalk/xtalk_providers.c 2004-08-11 16:49:20 -05:00
@@ -0,0 +1,59 @@
+/*
+ * This file is subject to the terms and conditions of the GNU General Public
+ * License. See the file "COPYING" in the main directory of this archive
+ * for more details.
+ *
+ * Copyright (C) 2004 Silicon Graphics, Inc. All rights reserved.
+ */
+
+#include <linux/interrupt.h>
+#include <asm/sn/xtalk/xtalk_provider.h>
+#include <asm/sn/xtalk/xwidgetdev.h>
+#include <asm/sn/xtalk/xtalk_sal.h>
+#include <asm/sn/sn_sal.h>
+
+struct sn_irq_info *sal_xtalk_intr_alloc(struct xwidget_info *widget_info,
+ int req_irq, nasid_t req_nasid,
+ int req_slice)
+{
+ struct ia64_sal_retval ret_stuff;
+ ret_stuff.status = 0;
+ ret_stuff.v0 = 0;
+
+ SAL_CALL_NOLOCK(ret_stuff, (u64) SN_SAL_XTALK,
+ (u64) XTALK_CALL_INTR_ALLOC, (u64) widget_info,
+ (u64) req_irq, (u64) req_nasid, (u64) req_slice, 0, 0);
+
+ printk("sal_xtalk_intr_alloc: v0=0x%lx\n", ret_stuff.v0);
+ if (ret_stuff.status == SALRET_OK) {
+ return (struct sn_irq_info *)ret_stuff.v0;
+ } else {
+ return (struct sn_irq_info *)NULL;
+ }
+}
+
+void sal_xtalk_intr_free(struct xwidget_info *widget_info,
+ struct sn_irq_info *sn_irq_info)
+{
+ struct ia64_sal_retval ret_stuff;
+ ret_stuff.status = 0;
+ ret_stuff.v0 = 0;
+
+ SAL_CALL_NOLOCK(ret_stuff, (u64) SN_SAL_XTALK,
+ (u64) XTALK_CALL_INTR_FREE, (u64) widget_info,
+ (u64) sn_irq_info, 0, 0, 0, 0);
+}
+
+xtalk_provider_t hub_provider = {
+
+ (xtalk_intr_alloc_f *) sal_xtalk_intr_alloc,
+ (xtalk_intr_free_f *) sal_xtalk_intr_free,
+
+};
+
+xtalk_provider_t tio_provider = {
+
+ (xtalk_intr_alloc_f *) sal_xtalk_intr_alloc,
+ (xtalk_intr_free_f *) sal_xtalk_intr_free,
+
+};
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/