diff -urN linux.old/drivers/atm/Config.in linux.dev/drivers/atm/Config.in
--- linux.old/drivers/atm/Config.in 2005-08-22 23:18:37.773532032 +0200
-+++ linux.dev/drivers/atm/Config.in 2005-08-22 23:17:42.413947968 +0200
++++ linux.dev/drivers/atm/Config.in 2005-08-23 04:46:50.076846888 +0200
@@ -99,4 +99,10 @@
bool 'Use S/UNI PHY driver' CONFIG_ATM_HE_USE_SUNI
fi
endmenu
diff -urN linux.old/drivers/atm/Makefile linux.dev/drivers/atm/Makefile
--- linux.old/drivers/atm/Makefile 2005-08-22 23:18:37.773532032 +0200
-+++ linux.dev/drivers/atm/Makefile 2005-08-22 23:17:42.413947968 +0200
++++ linux.dev/drivers/atm/Makefile 2005-08-23 04:46:50.077846736 +0200
@@ -14,6 +14,32 @@
obj-$(CONFIG_ATM_NICSTAR) += nicstar.o
obj-$(CONFIG_ATM_IDT77252) += idt77252.o
endif
diff -urN linux.old/drivers/atm/sangam_atm/aal5sar.c linux.dev/drivers/atm/sangam_atm/aal5sar.c
--- linux.old/drivers/atm/sangam_atm/aal5sar.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux.dev/drivers/atm/sangam_atm/aal5sar.c 2005-08-22 23:17:42.416947512 +0200
++++ linux.dev/drivers/atm/sangam_atm/aal5sar.c 2005-08-23 04:46:50.080846280 +0200
@@ -0,0 +1,2962 @@
+
+/**
+ }
diff -urN linux.old/drivers/atm/sangam_atm/aal5sar.h linux.dev/drivers/atm/sangam_atm/aal5sar.h
--- linux.old/drivers/atm/sangam_atm/aal5sar.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux.dev/drivers/atm/sangam_atm/aal5sar.h 2005-08-22 23:17:42.417947360 +0200
++++ linux.dev/drivers/atm/sangam_atm/aal5sar.h 2005-08-23 04:46:50.080846280 +0200
@@ -0,0 +1,198 @@
+/**@file************************************************************************
+ * TNETDxxxx Software Support
+#endif
diff -urN linux.old/drivers/atm/sangam_atm/cpcommon_cpaal5.c linux.dev/drivers/atm/sangam_atm/cpcommon_cpaal5.c
--- linux.old/drivers/atm/sangam_atm/cpcommon_cpaal5.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux.dev/drivers/atm/sangam_atm/cpcommon_cpaal5.c 2005-08-22 23:17:42.418947208 +0200
++++ linux.dev/drivers/atm/sangam_atm/cpcommon_cpaal5.c 2005-08-23 04:46:50.081846128 +0200
@@ -0,0 +1,728 @@
+#ifndef _INC_CPCOMMON_C
+#define _INC_CPCOMMON_C
+#endif /* _INC */
diff -urN linux.old/drivers/atm/sangam_atm/cpcommon_cpaal5.h linux.dev/drivers/atm/sangam_atm/cpcommon_cpaal5.h
--- linux.old/drivers/atm/sangam_atm/cpcommon_cpaal5.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux.dev/drivers/atm/sangam_atm/cpcommon_cpaal5.h 2005-08-22 23:17:42.418947208 +0200
++++ linux.dev/drivers/atm/sangam_atm/cpcommon_cpaal5.h 2005-08-23 04:46:50.082845976 +0200
@@ -0,0 +1,79 @@
+#ifndef _INC_CPCOMMON_H
+#define _INC_CPCOMMON_H
+
diff -urN linux.old/drivers/atm/sangam_atm/cpcommon_cpsar.c linux.dev/drivers/atm/sangam_atm/cpcommon_cpsar.c
--- linux.old/drivers/atm/sangam_atm/cpcommon_cpsar.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux.dev/drivers/atm/sangam_atm/cpcommon_cpsar.c 2005-08-22 23:17:42.419947056 +0200
++++ linux.dev/drivers/atm/sangam_atm/cpcommon_cpsar.c 2005-08-23 04:46:50.082845976 +0200
@@ -0,0 +1,728 @@
+#ifndef _INC_CPCOMMON_C
+#define _INC_CPCOMMON_C
+#endif /* _INC */
diff -urN linux.old/drivers/atm/sangam_atm/cpcommon_cpsar.h linux.dev/drivers/atm/sangam_atm/cpcommon_cpsar.h
--- linux.old/drivers/atm/sangam_atm/cpcommon_cpsar.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux.dev/drivers/atm/sangam_atm/cpcommon_cpsar.h 2005-08-22 23:17:42.419947056 +0200
++++ linux.dev/drivers/atm/sangam_atm/cpcommon_cpsar.h 2005-08-23 04:46:50.083845824 +0200
@@ -0,0 +1,79 @@
+#ifndef _INC_CPCOMMON_H
+#define _INC_CPCOMMON_H
+
diff -urN linux.old/drivers/atm/sangam_atm/cppi_cpaal5.c linux.dev/drivers/atm/sangam_atm/cppi_cpaal5.c
--- linux.old/drivers/atm/sangam_atm/cppi_cpaal5.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux.dev/drivers/atm/sangam_atm/cppi_cpaal5.c 2005-08-22 23:17:42.421946752 +0200
++++ linux.dev/drivers/atm/sangam_atm/cppi_cpaal5.c 2005-08-23 04:46:50.084845672 +0200
@@ -0,0 +1,1483 @@
+/*************************************************************************
+ * TNETDxxxx Software Support
+ }
diff -urN linux.old/drivers/atm/sangam_atm/cpremap_cpaal5.c linux.dev/drivers/atm/sangam_atm/cpremap_cpaal5.c
--- linux.old/drivers/atm/sangam_atm/cpremap_cpaal5.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux.dev/drivers/atm/sangam_atm/cpremap_cpaal5.c 2005-08-22 23:17:42.421946752 +0200
++++ linux.dev/drivers/atm/sangam_atm/cpremap_cpaal5.c 2005-08-23 04:46:50.084845672 +0200
@@ -0,0 +1,27 @@
+#ifndef _INC_CPREMAP_C
+#define _INC_CPREMAP_C
+#endif
diff -urN linux.old/drivers/atm/sangam_atm/cpremap_cpsar.c linux.dev/drivers/atm/sangam_atm/cpremap_cpsar.c
--- linux.old/drivers/atm/sangam_atm/cpremap_cpsar.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux.dev/drivers/atm/sangam_atm/cpremap_cpsar.c 2005-08-22 23:17:42.421946752 +0200
++++ linux.dev/drivers/atm/sangam_atm/cpremap_cpsar.c 2005-08-23 04:46:50.084845672 +0200
@@ -0,0 +1,27 @@
+#ifndef _INC_CPREMAP_C
+#define _INC_CPREMAP_C
+#endif
diff -urN linux.old/drivers/atm/sangam_atm/cpsar.c linux.dev/drivers/atm/sangam_atm/cpsar.c
--- linux.old/drivers/atm/sangam_atm/cpsar.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux.dev/drivers/atm/sangam_atm/cpsar.c 2005-08-22 23:17:42.422946600 +0200
++++ linux.dev/drivers/atm/sangam_atm/cpsar.c 2005-08-23 04:46:50.086845368 +0200
@@ -0,0 +1,881 @@
+/**
+ * cpsar.c
+ }
diff -urN linux.old/drivers/atm/sangam_atm/cpsar_cpaal5.h linux.dev/drivers/atm/sangam_atm/cpsar_cpaal5.h
--- linux.old/drivers/atm/sangam_atm/cpsar_cpaal5.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux.dev/drivers/atm/sangam_atm/cpsar_cpaal5.h 2005-08-22 23:17:42.422946600 +0200
++++ linux.dev/drivers/atm/sangam_atm/cpsar_cpaal5.h 2005-08-23 04:46:50.087845216 +0200
@@ -0,0 +1,103 @@
+/*******************************************************************************
+ * TNETDxxxx Software Support
+#endif
diff -urN linux.old/drivers/atm/sangam_atm/cpsar.h linux.dev/drivers/atm/sangam_atm/cpsar.h
--- linux.old/drivers/atm/sangam_atm/cpsar.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux.dev/drivers/atm/sangam_atm/cpsar.h 2005-08-22 23:17:42.423946448 +0200
++++ linux.dev/drivers/atm/sangam_atm/cpsar.h 2005-08-23 04:46:50.087845216 +0200
@@ -0,0 +1,103 @@
+/*******************************************************************************
+ * TNETDxxxx Software Support
+#endif
diff -urN linux.old/drivers/atm/sangam_atm/cp_sar_reg.h linux.dev/drivers/atm/sangam_atm/cp_sar_reg.h
--- linux.old/drivers/atm/sangam_atm/cp_sar_reg.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux.dev/drivers/atm/sangam_atm/cp_sar_reg.h 2005-08-22 23:17:42.423946448 +0200
++++ linux.dev/drivers/atm/sangam_atm/cp_sar_reg.h 2005-08-23 04:46:50.087845216 +0200
@@ -0,0 +1,217 @@
+/***************************************************************************
+ TNETD73xx Software Support
+#endif _INC_SAR_REG
diff -urN linux.old/drivers/atm/sangam_atm/cpswhal_cpaal5.h linux.dev/drivers/atm/sangam_atm/cpswhal_cpaal5.h
--- linux.old/drivers/atm/sangam_atm/cpswhal_cpaal5.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux.dev/drivers/atm/sangam_atm/cpswhal_cpaal5.h 2005-08-22 23:17:42.424946296 +0200
++++ linux.dev/drivers/atm/sangam_atm/cpswhal_cpaal5.h 2005-08-23 04:46:50.088845064 +0200
@@ -0,0 +1,629 @@
+/************************************************************************
+ * TNETDxxxx Software Support
+#endif /* end of _INC_ */
diff -urN linux.old/drivers/atm/sangam_atm/cpswhal_cpsar.h linux.dev/drivers/atm/sangam_atm/cpswhal_cpsar.h
--- linux.old/drivers/atm/sangam_atm/cpswhal_cpsar.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux.dev/drivers/atm/sangam_atm/cpswhal_cpsar.h 2005-08-22 23:17:42.425946144 +0200
++++ linux.dev/drivers/atm/sangam_atm/cpswhal_cpsar.h 2005-08-23 04:46:50.089844912 +0200
@@ -0,0 +1,629 @@
+/************************************************************************
+ * TNETDxxxx Software Support
+#endif /* end of _INC_ */
diff -urN linux.old/drivers/atm/sangam_atm/dev_host_interface.h linux.dev/drivers/atm/sangam_atm/dev_host_interface.h
--- linux.old/drivers/atm/sangam_atm/dev_host_interface.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux.dev/drivers/atm/sangam_atm/dev_host_interface.h 2005-08-22 23:17:42.426945992 +0200
++++ linux.dev/drivers/atm/sangam_atm/dev_host_interface.h 2005-08-23 04:46:50.091844608 +0200
@@ -0,0 +1,1162 @@
+#ifndef __DEV_HOST_INTERFACE_H__
+#define __DEV_HOST_INTERFACE_H__ 1
+#endif
diff -urN linux.old/drivers/atm/sangam_atm/dev_host_verdef.h linux.dev/drivers/atm/sangam_atm/dev_host_verdef.h
--- linux.old/drivers/atm/sangam_atm/dev_host_verdef.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux.dev/drivers/atm/sangam_atm/dev_host_verdef.h 2005-08-22 23:17:42.427945840 +0200
++++ linux.dev/drivers/atm/sangam_atm/dev_host_verdef.h 2005-08-23 04:46:50.091844608 +0200
@@ -0,0 +1,102 @@
+#ifndef __DEV_HOST_VERDEF_H__
+#define __DEV_HOST_VERDEF_H__ 1
+#endif // __DEV_HOST_VERDEF_H__
diff -urN linux.old/drivers/atm/sangam_atm/dsl_hal_api.c linux.dev/drivers/atm/sangam_atm/dsl_hal_api.c
--- linux.old/drivers/atm/sangam_atm/dsl_hal_api.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux.dev/drivers/atm/sangam_atm/dsl_hal_api.c 2005-08-22 23:17:42.430945384 +0200
++++ linux.dev/drivers/atm/sangam_atm/dsl_hal_api.c 2005-08-23 04:46:50.095844000 +0200
@@ -0,0 +1,3339 @@
+/*******************************************************************************
+* FILE PURPOSE: DSL Driver API functions for Sangam
+
diff -urN linux.old/drivers/atm/sangam_atm/dsl_hal_api.h linux.dev/drivers/atm/sangam_atm/dsl_hal_api.h
--- linux.old/drivers/atm/sangam_atm/dsl_hal_api.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux.dev/drivers/atm/sangam_atm/dsl_hal_api.h 2005-08-22 23:17:42.432945080 +0200
++++ linux.dev/drivers/atm/sangam_atm/dsl_hal_api.h 2005-08-23 04:46:50.097843696 +0200
@@ -0,0 +1,1721 @@
+#ifndef __DSL_HAL_API_H__
+#define __DSL_HAL_API_H__ 1
+#endif /* pairs #ifndef __DSL_APPLICATION_INTERFACE_H__ */
diff -urN linux.old/drivers/atm/sangam_atm/dsl_hal_logtable.h linux.dev/drivers/atm/sangam_atm/dsl_hal_logtable.h
--- linux.old/drivers/atm/sangam_atm/dsl_hal_logtable.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux.dev/drivers/atm/sangam_atm/dsl_hal_logtable.h 2005-08-22 23:17:42.433944928 +0200
++++ linux.dev/drivers/atm/sangam_atm/dsl_hal_logtable.h 2005-08-23 04:46:50.097843696 +0200
@@ -0,0 +1,259 @@
+unsigned int log10[]=
+{
+ };
diff -urN linux.old/drivers/atm/sangam_atm/dsl_hal_register.h linux.dev/drivers/atm/sangam_atm/dsl_hal_register.h
--- linux.old/drivers/atm/sangam_atm/dsl_hal_register.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux.dev/drivers/atm/sangam_atm/dsl_hal_register.h 2005-08-22 23:17:42.433944928 +0200
++++ linux.dev/drivers/atm/sangam_atm/dsl_hal_register.h 2005-08-23 04:46:50.097843696 +0200
@@ -0,0 +1,337 @@
+#ifndef ___DSL_REGISTER_DEFINES_H___
+#define ___DSL_REGISTER_DEFINES_H___ 1
+#endif /* pairs #ifndef ___DSL_REGISTER_DEFINES_H___ */
diff -urN linux.old/drivers/atm/sangam_atm/dsl_hal_support.c linux.dev/drivers/atm/sangam_atm/dsl_hal_support.c
--- linux.old/drivers/atm/sangam_atm/dsl_hal_support.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux.dev/drivers/atm/sangam_atm/dsl_hal_support.c 2005-08-22 23:17:42.436944472 +0200
++++ linux.dev/drivers/atm/sangam_atm/dsl_hal_support.c 2005-08-23 04:46:50.100843240 +0200
@@ -0,0 +1,2788 @@
+/*******************************************************************************
+* FILE PURPOSE: DSL Driver API functions for Sangam
+} /* end of dslhal_support_byteSwap32() */
diff -urN linux.old/drivers/atm/sangam_atm/dsl_hal_support.h linux.dev/drivers/atm/sangam_atm/dsl_hal_support.h
--- linux.old/drivers/atm/sangam_atm/dsl_hal_support.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux.dev/drivers/atm/sangam_atm/dsl_hal_support.h 2005-08-22 23:37:21.760660016 +0200
++++ linux.dev/drivers/atm/sangam_atm/dsl_hal_support.h 2005-08-23 04:46:50.101843088 +0200
@@ -0,0 +1,718 @@
+#ifndef DSL_HAL_SUPPORT_H__
+#define DSL_HAL_SUPPORT_H__ 1
+#endif /* Pairs #ifndef DSL_HAL_FUNCTIONDEFINES_H__ */
diff -urN linux.old/drivers/atm/sangam_atm/dsl_hal_version.h linux.dev/drivers/atm/sangam_atm/dsl_hal_version.h
--- linux.old/drivers/atm/sangam_atm/dsl_hal_version.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux.dev/drivers/atm/sangam_atm/dsl_hal_version.h 2005-08-22 23:17:42.437944320 +0200
++++ linux.dev/drivers/atm/sangam_atm/dsl_hal_version.h 2005-08-23 04:46:50.102842936 +0200
@@ -0,0 +1,94 @@
+#ifndef __SYSSW_VERSION_H__
+#define __SYSSW_VERSION_H__ 1
+#endif /* pairs with #ifndef __SYSSW_VERSION_H__ */
diff -urN linux.old/drivers/atm/sangam_atm/ec_errors_cpaal5.h linux.dev/drivers/atm/sangam_atm/ec_errors_cpaal5.h
--- linux.old/drivers/atm/sangam_atm/ec_errors_cpaal5.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux.dev/drivers/atm/sangam_atm/ec_errors_cpaal5.h 2005-08-22 23:17:42.438944168 +0200
++++ linux.dev/drivers/atm/sangam_atm/ec_errors_cpaal5.h 2005-08-23 04:46:50.102842936 +0200
@@ -0,0 +1,118 @@
+/***************************************************************************
+ Copyright(c) 2001, Texas Instruments Incorporated. All Rights Reserved.
+#endif /* _INC_EC_ERRORS */
diff -urN linux.old/drivers/atm/sangam_atm/ec_errors_cpsar.h linux.dev/drivers/atm/sangam_atm/ec_errors_cpsar.h
--- linux.old/drivers/atm/sangam_atm/ec_errors_cpsar.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux.dev/drivers/atm/sangam_atm/ec_errors_cpsar.h 2005-08-22 23:17:42.438944168 +0200
++++ linux.dev/drivers/atm/sangam_atm/ec_errors_cpsar.h 2005-08-23 04:46:50.102842936 +0200
@@ -0,0 +1,118 @@
+/***************************************************************************
+ Copyright(c) 2001, Texas Instruments Incorporated. All Rights Reserved.
+#endif /* _INC_EC_ERRORS */
diff -urN linux.old/drivers/atm/sangam_atm/env_def_defines.h linux.dev/drivers/atm/sangam_atm/env_def_defines.h
--- linux.old/drivers/atm/sangam_atm/env_def_defines.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux.dev/drivers/atm/sangam_atm/env_def_defines.h 2005-08-22 23:17:42.439944016 +0200
++++ linux.dev/drivers/atm/sangam_atm/env_def_defines.h 2005-08-23 04:46:50.103842784 +0200
@@ -0,0 +1,926 @@
+#ifndef __ENV_DEF_DEFINES_H__
+#define __ENV_DEF_DEFINES_H__ 1
+
diff -urN linux.old/drivers/atm/sangam_atm/env_def_typedefs.h linux.dev/drivers/atm/sangam_atm/env_def_typedefs.h
--- linux.old/drivers/atm/sangam_atm/env_def_typedefs.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux.dev/drivers/atm/sangam_atm/env_def_typedefs.h 2005-08-22 23:17:42.440943864 +0200
++++ linux.dev/drivers/atm/sangam_atm/env_def_typedefs.h 2005-08-23 04:46:50.104842632 +0200
@@ -0,0 +1,228 @@
+#ifndef __ENV_DEF_TYPEDEFS_H__
+#define __ENV_DEF_TYPEDEFS_H__ 1
+#endif
diff -urN linux.old/drivers/atm/sangam_atm/Makefile linux.dev/drivers/atm/sangam_atm/Makefile
--- linux.old/drivers/atm/sangam_atm/Makefile 1970-01-01 01:00:00.000000000 +0100
-+++ linux.dev/drivers/atm/sangam_atm/Makefile 2005-08-22 23:17:42.440943864 +0200
++++ linux.dev/drivers/atm/sangam_atm/Makefile 2005-08-23 04:46:50.104842632 +0200
@@ -0,0 +1,35 @@
+# File: drivers/net/avalanche_cpmac/Makefile
+#
+ rm -f core *.o *.a *.s
diff -urN linux.old/drivers/atm/sangam_atm/queue.h linux.dev/drivers/atm/sangam_atm/queue.h
--- linux.old/drivers/atm/sangam_atm/queue.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux.dev/drivers/atm/sangam_atm/queue.h 2005-08-22 23:17:42.440943864 +0200
++++ linux.dev/drivers/atm/sangam_atm/queue.h 2005-08-23 04:46:50.104842632 +0200
@@ -0,0 +1,167 @@
+
+#if !defined( __QUEUE_H__ )
+#endif
diff -urN linux.old/drivers/atm/sangam_atm/release.txt linux.dev/drivers/atm/sangam_atm/release.txt
--- linux.old/drivers/atm/sangam_atm/release.txt 1970-01-01 01:00:00.000000000 +0100
-+++ linux.dev/drivers/atm/sangam_atm/release.txt 2005-08-22 23:17:42.441943712 +0200
++++ linux.dev/drivers/atm/sangam_atm/release.txt 2005-08-23 04:46:50.104842632 +0200
@@ -0,0 +1,118 @@
+This is release notes for AR7 Linux ATM driver.
+
+
diff -urN linux.old/drivers/atm/sangam_atm/syssw_version.h linux.dev/drivers/atm/sangam_atm/syssw_version.h
--- linux.old/drivers/atm/sangam_atm/syssw_version.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux.dev/drivers/atm/sangam_atm/syssw_version.h 2005-08-22 23:17:42.441943712 +0200
++++ linux.dev/drivers/atm/sangam_atm/syssw_version.h 2005-08-23 04:46:50.105842480 +0200
@@ -0,0 +1,94 @@
+#ifndef __SYSSW_VERSION_H__
+#define __SYSSW_VERSION_H__ 1
+#endif /* pairs with #ifndef __SYSSW_VERSION_H__ */
diff -urN linux.old/drivers/atm/sangam_atm/tn7api.h linux.dev/drivers/atm/sangam_atm/tn7api.h
--- linux.old/drivers/atm/sangam_atm/tn7api.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux.dev/drivers/atm/sangam_atm/tn7api.h 2005-08-22 23:17:42.441943712 +0200
++++ linux.dev/drivers/atm/sangam_atm/tn7api.h 2005-08-23 04:46:50.105842480 +0200
@@ -0,0 +1,54 @@
+/*
+ * Tnetd73xx ATM driver.
+int tn7sar_proc_pvc_table(char* buf, char **start, off_t offset, int count,int *eof, void *data);
+#endif
diff -urN linux.old/drivers/atm/sangam_atm/tn7atm.c linux.dev/drivers/atm/sangam_atm/tn7atm.c
---- linux.old/drivers/atm/sangam_atm/tn7atm.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux.dev/drivers/atm/sangam_atm/tn7atm.c 2005-08-22 23:17:42.442943560 +0200
-@@ -0,0 +1,1212 @@
+--- linux.old/drivers/atm/sangam_atm/tn7atm.c 2005-08-28 01:52:26.000000000 -0600
++++ linux.dev/drivers/atm/sangam_atm/tn7atm.c 2005-08-28 02:08:07.000000000 -0600
+@@ -0,0 +1,1233 @@
+/*
+ * tn7.c
+ * Linux atm module implementation.
+}
+
+
++#if 0 /* by nbd */
+/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ *
+ * Function: int tn7atm_walk_vccs(struct atm_dev *dev, short *vcc, int *vci)
+
+ return 0;
+}
++#endif
+
+
+/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ int scr = 0x20000;
+ int mbs = 0x20000;
+ int cdvt = 10000;
++ int err;
+
+ dprintf(1, "tn7atm_open()\n");
+
+
+ MOD_INC_USE_COUNT;
+
++#if 0 /* by nbd */
+ /* find a free VPI/VCI */
+ tn7atm_walk_vccs(vcc, &vpi, &vci);
++#else
++ if ((err = atm_find_ci(vcc, &vpi, &vci))) {
++ printk("atm_find_ci err = %d\n", err);
++ return err;
++ }
++
++#endif
+
+ vcc->vpi = vpi;
+ vcc->vci = vci;
+ case ATM_UBR: /* Unspecified Bit Rate */
+ traffic_type = 2;
+ break;
++
++ /* Disable ATM_VBR until pppd ppoatm plugin supports it.
++ * NOTE: Support ATM_VBR requires the addition of a scr
++ * field to the atm_trafprm structure which will cause
++ * a change in the SO_ATMQOS ioctl. Make sure that the
++ * revised header file becomes visible to the pppd
++ * pppoatm plugin source, or the SO_ATMQOS ioctl will fail.
++ */
++#if 0
+ case ATM_VBR: /* Variable Bit Rate */
+ traffic_type = 1;
+ pcr = vcc->qos.txtp.pcr;
+ printk("cdvt=%d\n", cdvt);
+ printk("mbs=%d\n", mbs);
+ break;
++#endif
+ default:
+ traffic_type = 2;
+ }
+ __skb_trim(skb,skb->len); /* change to correct > 1500 ping when firewall is on */
+
+ dprintf(3, "pushing the skb...\n");
-+ skb->stamp = vcc->timestamp = xtime;
++ skb->stamp = xtime;
+
+ xdump((unsigned char *)skb->data, skb->len, 5);
+
+#endif /* MODULE */
diff -urN linux.old/drivers/atm/sangam_atm/tn7atm.h linux.dev/drivers/atm/sangam_atm/tn7atm.h
--- linux.old/drivers/atm/sangam_atm/tn7atm.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux.dev/drivers/atm/sangam_atm/tn7atm.h 2005-08-22 23:17:42.443943408 +0200
++++ linux.dev/drivers/atm/sangam_atm/tn7atm.h 2005-08-23 04:46:50.107842176 +0200
@@ -0,0 +1,115 @@
+/*
+ * Tnetd73xx ATM driver.
+#endif
diff -urN linux.old/drivers/atm/sangam_atm/tn7dsl.c linux.dev/drivers/atm/sangam_atm/tn7dsl.c
--- linux.old/drivers/atm/sangam_atm/tn7dsl.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux.dev/drivers/atm/sangam_atm/tn7dsl.c 2005-08-22 23:40:31.372834584 +0200
++++ linux.dev/drivers/atm/sangam_atm/tn7dsl.c 2005-08-23 04:46:50.109841872 +0200
@@ -0,0 +1,1780 @@
+/*
+ * $Id$
+
diff -urN linux.old/drivers/atm/sangam_atm/tn7sar.c linux.dev/drivers/atm/sangam_atm/tn7sar.c
--- linux.old/drivers/atm/sangam_atm/tn7sar.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux.dev/drivers/atm/sangam_atm/tn7sar.c 2005-08-22 23:17:42.445943104 +0200
++++ linux.dev/drivers/atm/sangam_atm/tn7sar.c 2005-08-23 04:46:50.110841720 +0200
@@ -0,0 +1,1376 @@
+/******************************************************************************
+ * FILE PURPOSE: OS files for CPSAR
+}
diff -urN linux.old/drivers/atm/sangam_atm/tnetd7300_sar_firm.h linux.dev/drivers/atm/sangam_atm/tnetd7300_sar_firm.h
--- linux.old/drivers/atm/sangam_atm/tnetd7300_sar_firm.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux.dev/drivers/atm/sangam_atm/tnetd7300_sar_firm.h 2005-08-22 23:17:42.446942952 +0200
++++ linux.dev/drivers/atm/sangam_atm/tnetd7300_sar_firm.h 2005-08-23 04:46:50.111841568 +0200
@@ -0,0 +1,988 @@
+//SarPdspFirmware Revision: 49
+
+ 0x209e0000};
diff -urN linux.old/drivers/atm/sangam_atm/turbodsl.c linux.dev/drivers/atm/sangam_atm/turbodsl.c
--- linux.old/drivers/atm/sangam_atm/turbodsl.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux.dev/drivers/atm/sangam_atm/turbodsl.c 2005-08-22 23:17:42.447942800 +0200
++++ linux.dev/drivers/atm/sangam_atm/turbodsl.c 2005-08-23 04:46:50.111841568 +0200
@@ -0,0 +1,223 @@
+
+
+
diff -urN linux.old/include/linux/atmdev.h linux.dev/include/linux/atmdev.h
--- linux.old/include/linux/atmdev.h 2005-08-22 23:18:37.812526104 +0200
-+++ linux.dev/include/linux/atmdev.h 2005-08-22 23:17:42.447942800 +0200
++++ linux.dev/include/linux/atmdev.h 2005-08-23 06:33:33.425389944 +0200
@@ -30,6 +30,9 @@
#define ATM_DS3_PCR (8000*12)
/* DS3: 12 cells in a 125 usec time slot */
#include <linux/sched.h> /* wait_queue_head_t */
#include <linux/time.h> /* struct timeval */
-@@ -277,6 +283,7 @@
-
- struct atm_vcc {
- atm_vcc_flags_t flags; /* VCC flags (ATM_VF_*) */
-+ unsigned char family; /* address family; 0 if unused */
- short vpi; /* VPI and VCI (types must be equal */
- /* with sockaddr) */
- int vci;
-@@ -287,18 +294,28 @@
- struct atm_sap sap; /* SAP */
- void (*push)(struct atm_vcc *vcc,struct sk_buff *skb);
- void (*pop)(struct atm_vcc *vcc,struct sk_buff *skb); /* optional */
-+ struct sk_buff *(*alloc_tx)(struct atm_vcc *vcc,unsigned int size);
-+ /* TX allocation routine - can be */
-+ /* modified by protocol or by driver.*/
-+ /* NOTE: this interface will change */
- int (*push_oam)(struct atm_vcc *vcc,void *cell);
+@@ -291,6 +297,7 @@
int (*send)(struct atm_vcc *vcc,struct sk_buff *skb);
void *dev_data; /* per-device data */
void *proto_data; /* per-protocol data */
+ struct timeval timestamp; /* AAL timestamps */
-+ struct sk_buff_head recvq; /* receive queue */
struct k_atm_aal_stats *stats; /* pointer to AAL stats group */
wait_queue_head_t sleep; /* if socket is busy */
struct sock *sk; /* socket backpointer */
-+ struct atm_vcc *prev,*next;
- /* SVC part --- may move later ------------------------------------- */
- short itf; /* interface number */
- struct sockaddr_atmsvc local;
- struct sockaddr_atmsvc remote;
- void (*callback)(struct atm_vcc *vcc);
-+ struct sk_buff_head listenq;
-+ int backlog_quota; /* number of connection requests we */
-+ /* can still accept */
- int reply; /* also used by ATMTCP */
- /* Multipoint part ------------------------------------------------- */
- struct atm_vcc *session; /* session VCC descriptor */
-@@ -324,6 +341,8 @@
- /* (NULL) */
- const char *type; /* device type name */
- int number; /* device index */
-+ struct atm_vcc *vccs; /* VCC table (or NULL) */
-+ struct atm_vcc *last; /* last VCC (or undefined) */
- void *dev_data; /* per-device data */
- void *phy_data; /* private PHY date */
- atm_dev_flags_t flags; /* device flags (ATM_DF_*) */
-@@ -333,13 +352,15 @@
+@@ -333,13 +340,14 @@
struct k_atm_dev_stats stats; /* statistics */
char signal; /* signal status (ATM_PHY_SIG_*) */
int link_rate; /* link rate (default: OC3) */
char *proc_name; /* proc entry name */
#endif
- struct list_head dev_list; /* linkage */
-+ struct atm_dev *prev,*next; /* linkage */
+ struct list_head dev_list; /* linkage */
+
};
-@@ -375,6 +396,8 @@
- void (*feedback)(struct atm_vcc *vcc,struct sk_buff *skb,
- unsigned long start,unsigned long dest,int len);
- int (*change_qos)(struct atm_vcc *vcc,struct atm_qos *qos,int flags);
-+ void (*free_rx_skb)(struct atm_vcc *vcc, struct sk_buff *skb);
-+ /* @@@ temporary hack */
- int (*proc_read)(struct atm_dev *dev,loff_t *pos,char *page);
- struct module *owner;
- };
-@@ -389,6 +412,7 @@
-
- struct atm_skb_data {
- struct atm_vcc *vcc; /* ATM VCC */
-+ int iovcnt; /* 0 for "normal" operation */
- unsigned long atm_options; /* ATM layer options */
- };
-
-@@ -404,7 +428,7 @@
- void shutdown_atm_dev(struct atm_dev *dev);
- void vcc_insert_socket(struct sock *sk);
- void vcc_remove_socket(struct sock *sk);
--
-+void bind_vcc(struct atm_vcc *vcc,struct atm_dev *dev);
-
- /*
- * This is approximately the algorithm used by alloc_skb.
-diff -urN linux.old/include/linux/atm.h linux.dev/include/linux/atm.h
---- linux.old/include/linux/atm.h 2005-08-22 23:18:50.877539920 +0200
-+++ linux.dev/include/linux/atm.h 2005-08-22 23:17:42.448942648 +0200
-@@ -135,9 +135,12 @@
- unsigned char traffic_class; /* traffic class (ATM_UBR, ...) */
- int max_pcr; /* maximum PCR in cells per second */
- int pcr; /* desired PCR in cells per second */
-+ int scr; /* desired SCR in cells per second */
- int min_pcr; /* minimum PCR in cells per second */
- int max_cdv; /* maximum CDV in microseconds */
- int max_sdu; /* maximum SDU in bytes */
-+ /* Ron remove for old tiatm driver 1.00.09 */
-+ //int mbs; /* Maximum Burst size */
- /* extra params for ABR */
- unsigned int icr; /* Initial Cell Rate (24-bit) */
- unsigned int tbe; /* Transient Buffer Exposure (24-bit) */
-diff -urN linux.old/net/atm/clip.c linux.dev/net/atm/clip.c
---- linux.old/net/atm/clip.c 2005-08-22 23:18:50.877539920 +0200
-+++ linux.dev/net/atm/clip.c 2005-08-22 23:17:42.449942496 +0200
-@@ -722,7 +722,7 @@
- set_bit(ATM_VF_META,&vcc->flags);
- set_bit(ATM_VF_READY,&vcc->flags);
- /* allow replies and avoid getting closed if signaling dies */
-- vcc->dev = &atmarpd_dev;
-+ bind_vcc(vcc, &atmarpd_dev);
- vcc_insert_socket(vcc->sk);
- vcc->push = NULL;
- vcc->pop = NULL; /* crash */
-diff -urN linux.old/net/atm/common.c linux.dev/net/atm/common.c
---- linux.old/net/atm/common.c 2005-08-22 23:18:50.878539768 +0200
-+++ linux.dev/net/atm/common.c 2005-08-22 23:17:42.449942496 +0200
-@@ -385,7 +385,7 @@
- error = 0;
- if (!try_inc_mod_count(dev->ops->owner))
- return -ENODEV;
-- vcc->dev = dev;
-+ bind_vcc(vcc, dev);
- vcc_insert_socket(vcc->sk);
- switch (vcc->qos.aal) {
- case ATM_AAL0:
-@@ -427,7 +427,7 @@
- if (dev->ops->owner)
- __MOD_DEC_USE_COUNT(dev->ops->owner);
- /* ensure we get dev module ref count correct */
-- vcc->dev = NULL;
-+ bind_vcc(vcc, NULL);
- return error;
-
- }
-@@ -460,8 +460,10 @@
- vcc->qos.rxtp.max_pcr,vcc->qos.rxtp.max_sdu,
- vcc->qos.aal == ATM_AAL5 ? "" : vcc->qos.aal == ATM_AAL0 ? "" :
- " ??? code ",vcc->qos.aal == ATM_AAL0 ? 0 : vcc->qos.aal);
-+#if 0
- if (!test_bit(ATM_VF_HASQOS, &vcc->flags))
- return -EBADFD;
-+#endif
- if (vcc->qos.txtp.traffic_class == ATM_ANYCLASS ||
- vcc->qos.rxtp.traffic_class == ATM_ANYCLASS)
- return -EINVAL;
-diff -urN linux.old/net/atm/lec.c linux.dev/net/atm/lec.c
---- linux.old/net/atm/lec.c 2005-08-22 23:18:50.879539616 +0200
-+++ linux.dev/net/atm/lec.c 2005-08-22 23:17:42.450942344 +0200
-@@ -811,7 +811,7 @@
- lec_arp_init(priv);
- priv->itfnum = i; /* LANE2 addition */
- priv->lecd = vcc;
-- vcc->dev = &lecatm_dev;
-+ bind_vcc(vcc, &lecatm_dev);
- vcc_insert_socket(vcc->sk);
-
- vcc->proto_data = dev_lec[i];
-diff -urN linux.old/net/atm/mpc.c linux.dev/net/atm/mpc.c
---- linux.old/net/atm/mpc.c 2005-08-22 23:18:50.880539464 +0200
-+++ linux.dev/net/atm/mpc.c 2005-08-22 23:17:42.451942192 +0200
-@@ -787,7 +787,7 @@
- }
-
- mpc->mpoad_vcc = vcc;
-- vcc->dev = &mpc_dev;
-+ bind_vcc(vcc, &mpc_dev);
- vcc_insert_socket(vcc->sk);
- set_bit(ATM_VF_META,&vcc->flags);
- set_bit(ATM_VF_READY,&vcc->flags);
-diff -urN linux.old/net/atm/pvc.c linux.dev/net/atm/pvc.c
---- linux.old/net/atm/pvc.c 2005-08-22 23:18:50.880539464 +0200
-+++ linux.dev/net/atm/pvc.c 2005-08-22 23:17:42.451942192 +0200
-@@ -38,10 +38,12 @@
- if (addr->sap_family != AF_ATMPVC) return -EAFNOSUPPORT;
- lock_sock(sk);
- vcc = ATM_SD(sock);
-+#if 0
- if (!test_bit(ATM_VF_HASQOS, &vcc->flags)) {
- error = -EBADFD;
- goto out;
- }
-+#endif
- if (test_bit(ATM_VF_PARTIAL,&vcc->flags)) {
- if (vcc->vpi != ATM_VPI_UNSPEC) addr->sap_addr.vpi = vcc->vpi;
- if (vcc->vci != ATM_VCI_UNSPEC) addr->sap_addr.vci = vcc->vci;
-diff -urN linux.old/net/atm/resources.c linux.dev/net/atm/resources.c
---- linux.old/net/atm/resources.c 2005-08-22 23:18:50.880539464 +0200
-+++ linux.dev/net/atm/resources.c 2005-08-22 23:17:42.452942040 +0200
-@@ -398,8 +398,23 @@
- return error;
- }
-
-+void bind_vcc(struct atm_vcc *vcc,struct atm_dev *dev)
-+{
-+ vcc->dev = dev;
-+ if (dev) {
-+ vcc->next = NULL;
-+ vcc->prev = dev->last;
-+ if (dev->vccs)
-+ dev->last->next = vcc;
-+ else
-+ dev->vccs = vcc;
-+ dev->last = vcc;
-+ }
-+}
-+
-
- EXPORT_SYMBOL(atm_dev_register);
- EXPORT_SYMBOL(atm_dev_deregister);
- EXPORT_SYMBOL(atm_dev_lookup);
-+EXPORT_SYMBOL(bind_vcc);
- EXPORT_SYMBOL(shutdown_atm_dev);
-diff -urN linux.old/net/atm/signaling.c linux.dev/net/atm/signaling.c
---- linux.old/net/atm/signaling.c 2005-08-22 23:18:50.881539312 +0200
-+++ linux.dev/net/atm/signaling.c 2005-08-22 23:17:42.452942040 +0200
-@@ -251,7 +251,7 @@
- if (sigd) return -EADDRINUSE;
- DPRINTK("sigd_attach\n");
- sigd = vcc;
-- vcc->dev = &sigd_dev;
-+ bind_vcc(vcc, &sigd_dev);
- vcc_insert_socket(vcc->sk);
- set_bit(ATM_VF_META,&vcc->flags);
- set_bit(ATM_VF_READY,&vcc->flags);
-diff -urN linux.old/net/atm/svc.c linux.dev/net/atm/svc.c
---- linux.old/net/atm/svc.c 2005-08-22 23:18:50.881539312 +0200
-+++ linux.dev/net/atm/svc.c 2005-08-22 23:17:42.452942040 +0200
-@@ -141,10 +141,12 @@
- clear_bit(ATM_VF_BOUND,&vcc->flags);
- /* failing rebind will kill old binding */
- /* @@@ check memory (de)allocation on rebind */
-+#if 0
- if (!test_bit(ATM_VF_HASQOS,&vcc->flags)) {
- error = -EBADFD;
- goto out;
- }
-+#endif
- vcc->local = *addr;
- vcc->reply = WAITING;
- add_wait_queue(&vcc->sleep,&wait);
-@@ -212,10 +214,12 @@
- error = -EAFNOSUPPORT;
- goto out;
- }
-+#if 0
- if (!test_bit(ATM_VF_HASQOS, &vcc->flags)) {
- error = -EBADFD;
- goto out;
- }
-+#endif
- if (vcc->qos.txtp.traffic_class == ATM_ANYCLASS ||
- vcc->qos.rxtp.traffic_class == ATM_ANYCLASS) {
- error = -EINVAL;