From: Felix Fietkau Date: Mon, 22 Aug 2005 13:56:53 +0000 (+0000) Subject: fix atm driver build, fix static build of sched and crypto stuff X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=c9ef3c49278fbac296b1d730aa1632910bc17ad9;p=openwrt%2Fstaging%2Fstintel.git fix atm driver build, fix static build of sched and crypto stuff SVN-Revision: 1724 --- diff --git a/openwrt/target/linux/linux-2.4/Makefile b/openwrt/target/linux/linux-2.4/Makefile index afff6c11fa..71b8420f50 100644 --- a/openwrt/target/linux/linux-2.4/Makefile +++ b/openwrt/target/linux/linux-2.4/Makefile @@ -142,9 +142,12 @@ $(eval $(call KMOD_template,VFAT,vfat,\ $(MODULES_DIR)/kernel/fs/vfat/vfat.o \ $(MODULES_DIR)/kernel/fs/fat/fat.o \ ,CONFIG_VFAT_FS,,30,fat vfat)) +ifneq (${shell ls $(MODULES_DIR)/kernel/crypto/*.o},) +CONFIG_CRYPTO:=m +endif $(eval $(call KMOD_template,CRYPTO,crypto,\ $(MODULES_DIR)/kernel/crypto/*.o \ -)) +,CONFIG_CRYPTO)) $(eval $(call KMOD_template,PPP,ppp,\ $(MODULES_DIR)/kernel/drivers/net/ppp_async.o \ $(MODULES_DIR)/kernel/drivers/net/ppp_generic.o \ @@ -163,9 +166,12 @@ $(eval $(call KMOD_template,TUN,tun,\ $(eval $(call KMOD_template,GRE,gre,\ $(MODULES_DIR)/kernel/net/ipv4/ip_gre.o \ ,CONFIG_NET_IPGRE)) +ifneq (${shell ls $(MODULES_DIR)/kernel/net/sched/*.o},) +CONFIG_SCHED:=m +endif $(eval $(call KMOD_template,SCHED,sched,\ $(MODULES_DIR)/kernel/net/sched/*.o \ -)) +,CONFIG_SCHED)) $(eval $(call KMOD_template,VIDEODEV,videodev,\ $(MODULES_DIR)/kernel/drivers/media/video/videodev.o \ ,CONFIG_VIDEO_DEV)) diff --git a/openwrt/target/linux/linux-2.4/patches/ar7/004-atm_driver.patch b/openwrt/target/linux/linux-2.4/patches/ar7/004-atm_driver.patch index bed3a8160d..885609904c 100644 --- a/openwrt/target/linux/linux-2.4/patches/ar7/004-atm_driver.patch +++ b/openwrt/target/linux/linux-2.4/patches/ar7/004-atm_driver.patch @@ -1,6 +1,6 @@ diff -urN linux.old/drivers/atm/Config.in linux.dev/drivers/atm/Config.in ---- linux.old/drivers/atm/Config.in 2005-08-13 00:39:58.084910600 +0200 -+++ linux.dev/drivers/atm/Config.in 2005-08-13 02:47:40.527042336 +0200 +--- 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 @@ -99,4 +99,10 @@ bool 'Use S/UNI PHY driver' CONFIG_ATM_HE_USE_SUNI fi @@ -13,8 +13,8 @@ diff -urN linux.old/drivers/atm/Config.in linux.dev/drivers/atm/Config.in +fi endmenu diff -urN linux.old/drivers/atm/Makefile linux.dev/drivers/atm/Makefile ---- linux.old/drivers/atm/Makefile 2005-08-13 00:39:58.085910448 +0200 -+++ linux.dev/drivers/atm/Makefile 2005-08-13 02:47:40.527042336 +0200 +--- 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 @@ -14,6 +14,32 @@ obj-$(CONFIG_ATM_NICSTAR) += nicstar.o obj-$(CONFIG_ATM_IDT77252) += idt77252.o @@ -50,7 +50,7 @@ diff -urN linux.old/drivers/atm/Makefile linux.dev/drivers/atm/Makefile 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-13 02:47:40.530041880 +0200 ++++ linux.dev/drivers/atm/sangam_atm/aal5sar.c 2005-08-22 23:17:42.416947512 +0200 @@ -0,0 +1,2962 @@ + +/** @@ -3016,7 +3016,7 @@ diff -urN linux.old/drivers/atm/sangam_atm/aal5sar.c linux.dev/drivers/atm/sanga + } 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-13 02:47:40.531041728 +0200 ++++ linux.dev/drivers/atm/sangam_atm/aal5sar.h 2005-08-22 23:17:42.417947360 +0200 @@ -0,0 +1,198 @@ +/**@file************************************************************************ + * TNETDxxxx Software Support @@ -3218,7 +3218,7 @@ diff -urN linux.old/drivers/atm/sangam_atm/aal5sar.h linux.dev/drivers/atm/sanga +#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-13 02:47:40.532041576 +0200 ++++ linux.dev/drivers/atm/sangam_atm/cpcommon_cpaal5.c 2005-08-22 23:17:42.418947208 +0200 @@ -0,0 +1,728 @@ +#ifndef _INC_CPCOMMON_C +#define _INC_CPCOMMON_C @@ -3950,7 +3950,7 @@ diff -urN linux.old/drivers/atm/sangam_atm/cpcommon_cpaal5.c linux.dev/drivers/a +#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-13 02:47:40.532041576 +0200 ++++ linux.dev/drivers/atm/sangam_atm/cpcommon_cpaal5.h 2005-08-22 23:17:42.418947208 +0200 @@ -0,0 +1,79 @@ +#ifndef _INC_CPCOMMON_H +#define _INC_CPCOMMON_H @@ -4033,7 +4033,7 @@ diff -urN linux.old/drivers/atm/sangam_atm/cpcommon_cpaal5.h linux.dev/drivers/a + 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-13 02:47:40.533041424 +0200 ++++ linux.dev/drivers/atm/sangam_atm/cpcommon_cpsar.c 2005-08-22 23:17:42.419947056 +0200 @@ -0,0 +1,728 @@ +#ifndef _INC_CPCOMMON_C +#define _INC_CPCOMMON_C @@ -4765,7 +4765,7 @@ diff -urN linux.old/drivers/atm/sangam_atm/cpcommon_cpsar.c linux.dev/drivers/at +#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-13 02:47:40.533041424 +0200 ++++ linux.dev/drivers/atm/sangam_atm/cpcommon_cpsar.h 2005-08-22 23:17:42.419947056 +0200 @@ -0,0 +1,79 @@ +#ifndef _INC_CPCOMMON_H +#define _INC_CPCOMMON_H @@ -4848,7 +4848,7 @@ diff -urN linux.old/drivers/atm/sangam_atm/cpcommon_cpsar.h linux.dev/drivers/at + 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-13 02:47:40.535041120 +0200 ++++ linux.dev/drivers/atm/sangam_atm/cppi_cpaal5.c 2005-08-22 23:17:42.421946752 +0200 @@ -0,0 +1,1483 @@ +/************************************************************************* + * TNETDxxxx Software Support @@ -6335,7 +6335,7 @@ diff -urN linux.old/drivers/atm/sangam_atm/cppi_cpaal5.c linux.dev/drivers/atm/s + } 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-13 02:47:40.535041120 +0200 ++++ linux.dev/drivers/atm/sangam_atm/cpremap_cpaal5.c 2005-08-22 23:17:42.421946752 +0200 @@ -0,0 +1,27 @@ +#ifndef _INC_CPREMAP_C +#define _INC_CPREMAP_C @@ -6366,7 +6366,7 @@ diff -urN linux.old/drivers/atm/sangam_atm/cpremap_cpaal5.c linux.dev/drivers/at +#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-13 02:47:40.535041120 +0200 ++++ linux.dev/drivers/atm/sangam_atm/cpremap_cpsar.c 2005-08-22 23:17:42.421946752 +0200 @@ -0,0 +1,27 @@ +#ifndef _INC_CPREMAP_C +#define _INC_CPREMAP_C @@ -6397,7 +6397,7 @@ diff -urN linux.old/drivers/atm/sangam_atm/cpremap_cpsar.c linux.dev/drivers/atm +#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-13 02:47:40.536040968 +0200 ++++ linux.dev/drivers/atm/sangam_atm/cpsar.c 2005-08-22 23:17:42.422946600 +0200 @@ -0,0 +1,881 @@ +/** + * cpsar.c @@ -7282,7 +7282,7 @@ diff -urN linux.old/drivers/atm/sangam_atm/cpsar.c linux.dev/drivers/atm/sangam_ + } 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-13 02:47:40.536040968 +0200 ++++ linux.dev/drivers/atm/sangam_atm/cpsar_cpaal5.h 2005-08-22 23:17:42.422946600 +0200 @@ -0,0 +1,103 @@ +/******************************************************************************* + * TNETDxxxx Software Support @@ -7389,7 +7389,7 @@ diff -urN linux.old/drivers/atm/sangam_atm/cpsar_cpaal5.h linux.dev/drivers/atm/ +#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-13 02:47:40.536040968 +0200 ++++ linux.dev/drivers/atm/sangam_atm/cpsar.h 2005-08-22 23:17:42.423946448 +0200 @@ -0,0 +1,103 @@ +/******************************************************************************* + * TNETDxxxx Software Support @@ -7496,7 +7496,7 @@ diff -urN linux.old/drivers/atm/sangam_atm/cpsar.h linux.dev/drivers/atm/sangam_ +#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-13 02:47:40.537040816 +0200 ++++ linux.dev/drivers/atm/sangam_atm/cp_sar_reg.h 2005-08-22 23:17:42.423946448 +0200 @@ -0,0 +1,217 @@ +/*************************************************************************** + TNETD73xx Software Support @@ -7717,7 +7717,7 @@ diff -urN linux.old/drivers/atm/sangam_atm/cp_sar_reg.h linux.dev/drivers/atm/sa +#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-13 02:47:40.538040664 +0200 ++++ linux.dev/drivers/atm/sangam_atm/cpswhal_cpaal5.h 2005-08-22 23:17:42.424946296 +0200 @@ -0,0 +1,629 @@ +/************************************************************************ + * TNETDxxxx Software Support @@ -8350,7 +8350,7 @@ diff -urN linux.old/drivers/atm/sangam_atm/cpswhal_cpaal5.h linux.dev/drivers/at +#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-13 02:47:40.539040512 +0200 ++++ linux.dev/drivers/atm/sangam_atm/cpswhal_cpsar.h 2005-08-22 23:17:42.425946144 +0200 @@ -0,0 +1,629 @@ +/************************************************************************ + * TNETDxxxx Software Support @@ -8983,7 +8983,7 @@ diff -urN linux.old/drivers/atm/sangam_atm/cpswhal_cpsar.h linux.dev/drivers/atm +#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-13 02:47:40.540040360 +0200 ++++ linux.dev/drivers/atm/sangam_atm/dev_host_interface.h 2005-08-22 23:17:42.426945992 +0200 @@ -0,0 +1,1162 @@ +#ifndef __DEV_HOST_INTERFACE_H__ +#define __DEV_HOST_INTERFACE_H__ 1 @@ -10149,7 +10149,7 @@ diff -urN linux.old/drivers/atm/sangam_atm/dev_host_interface.h linux.dev/driver +#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-13 02:47:40.541040208 +0200 ++++ linux.dev/drivers/atm/sangam_atm/dev_host_verdef.h 2005-08-22 23:17:42.427945840 +0200 @@ -0,0 +1,102 @@ +#ifndef __DEV_HOST_VERDEF_H__ +#define __DEV_HOST_VERDEF_H__ 1 @@ -10255,7 +10255,7 @@ diff -urN linux.old/drivers/atm/sangam_atm/dev_host_verdef.h linux.dev/drivers/a +#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-13 02:47:40.545039600 +0200 ++++ linux.dev/drivers/atm/sangam_atm/dsl_hal_api.c 2005-08-22 23:17:42.430945384 +0200 @@ -0,0 +1,3339 @@ +/******************************************************************************* +* FILE PURPOSE: DSL Driver API functions for Sangam @@ -13598,7 +13598,7 @@ diff -urN linux.old/drivers/atm/sangam_atm/dsl_hal_api.c linux.dev/drivers/atm/s + 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-13 02:47:40.552038536 +0200 ++++ linux.dev/drivers/atm/sangam_atm/dsl_hal_api.h 2005-08-22 23:17:42.432945080 +0200 @@ -0,0 +1,1721 @@ +#ifndef __DSL_HAL_API_H__ +#define __DSL_HAL_API_H__ 1 @@ -15323,7 +15323,7 @@ diff -urN linux.old/drivers/atm/sangam_atm/dsl_hal_api.h linux.dev/drivers/atm/s +#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-13 02:47:40.574035192 +0200 ++++ linux.dev/drivers/atm/sangam_atm/dsl_hal_logtable.h 2005-08-22 23:17:42.433944928 +0200 @@ -0,0 +1,259 @@ +unsigned int log10[]= +{ @@ -15586,7 +15586,7 @@ diff -urN linux.old/drivers/atm/sangam_atm/dsl_hal_logtable.h linux.dev/drivers/ + }; 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-13 02:47:40.574035192 +0200 ++++ linux.dev/drivers/atm/sangam_atm/dsl_hal_register.h 2005-08-22 23:17:42.433944928 +0200 @@ -0,0 +1,337 @@ +#ifndef ___DSL_REGISTER_DEFINES_H___ +#define ___DSL_REGISTER_DEFINES_H___ 1 @@ -15927,7 +15927,7 @@ diff -urN linux.old/drivers/atm/sangam_atm/dsl_hal_register.h linux.dev/drivers/ +#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-13 02:47:40.578034584 +0200 ++++ linux.dev/drivers/atm/sangam_atm/dsl_hal_support.c 2005-08-22 23:17:42.436944472 +0200 @@ -0,0 +1,2788 @@ +/******************************************************************************* +* FILE PURPOSE: DSL Driver API functions for Sangam @@ -18719,7 +18719,7 @@ diff -urN linux.old/drivers/atm/sangam_atm/dsl_hal_support.c linux.dev/drivers/a +} /* 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-13 02:47:40.579034432 +0200 ++++ linux.dev/drivers/atm/sangam_atm/dsl_hal_support.h 2005-08-22 23:37:21.760660016 +0200 @@ -0,0 +1,718 @@ +#ifndef DSL_HAL_SUPPORT_H__ +#define DSL_HAL_SUPPORT_H__ 1 @@ -19441,7 +19441,7 @@ diff -urN linux.old/drivers/atm/sangam_atm/dsl_hal_support.h linux.dev/drivers/a +#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-13 02:47:40.579034432 +0200 ++++ linux.dev/drivers/atm/sangam_atm/dsl_hal_version.h 2005-08-22 23:17:42.437944320 +0200 @@ -0,0 +1,94 @@ +#ifndef __SYSSW_VERSION_H__ +#define __SYSSW_VERSION_H__ 1 @@ -19539,7 +19539,7 @@ diff -urN linux.old/drivers/atm/sangam_atm/dsl_hal_version.h linux.dev/drivers/a +#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-13 02:47:40.760006920 +0200 ++++ linux.dev/drivers/atm/sangam_atm/ec_errors_cpaal5.h 2005-08-22 23:17:42.438944168 +0200 @@ -0,0 +1,118 @@ +/*************************************************************************** + Copyright(c) 2001, Texas Instruments Incorporated. All Rights Reserved. @@ -19661,7 +19661,7 @@ diff -urN linux.old/drivers/atm/sangam_atm/ec_errors_cpaal5.h linux.dev/drivers/ +#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-13 02:47:40.761006768 +0200 ++++ linux.dev/drivers/atm/sangam_atm/ec_errors_cpsar.h 2005-08-22 23:17:42.438944168 +0200 @@ -0,0 +1,118 @@ +/*************************************************************************** + Copyright(c) 2001, Texas Instruments Incorporated. All Rights Reserved. @@ -19783,7 +19783,7 @@ diff -urN linux.old/drivers/atm/sangam_atm/ec_errors_cpsar.h linux.dev/drivers/a +#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-13 02:47:40.762006616 +0200 ++++ linux.dev/drivers/atm/sangam_atm/env_def_defines.h 2005-08-22 23:17:42.439944016 +0200 @@ -0,0 +1,926 @@ +#ifndef __ENV_DEF_DEFINES_H__ +#define __ENV_DEF_DEFINES_H__ 1 @@ -20713,7 +20713,7 @@ diff -urN linux.old/drivers/atm/sangam_atm/env_def_defines.h linux.dev/drivers/a + 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-13 02:47:40.763006464 +0200 ++++ linux.dev/drivers/atm/sangam_atm/env_def_typedefs.h 2005-08-22 23:17:42.440943864 +0200 @@ -0,0 +1,228 @@ +#ifndef __ENV_DEF_TYPEDEFS_H__ +#define __ENV_DEF_TYPEDEFS_H__ 1 @@ -20945,7 +20945,7 @@ diff -urN linux.old/drivers/atm/sangam_atm/env_def_typedefs.h linux.dev/drivers/ +#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-13 02:47:40.763006464 +0200 ++++ linux.dev/drivers/atm/sangam_atm/Makefile 2005-08-22 23:17:42.440943864 +0200 @@ -0,0 +1,35 @@ +# File: drivers/net/avalanche_cpmac/Makefile +# @@ -20984,7 +20984,7 @@ diff -urN linux.old/drivers/atm/sangam_atm/Makefile linux.dev/drivers/atm/sangam + 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-13 02:47:40.763006464 +0200 ++++ linux.dev/drivers/atm/sangam_atm/queue.h 2005-08-22 23:17:42.440943864 +0200 @@ -0,0 +1,167 @@ + +#if !defined( __QUEUE_H__ ) @@ -21155,7 +21155,7 @@ diff -urN linux.old/drivers/atm/sangam_atm/queue.h linux.dev/drivers/atm/sangam_ +#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-13 02:47:40.764006312 +0200 ++++ linux.dev/drivers/atm/sangam_atm/release.txt 2005-08-22 23:17:42.441943712 +0200 @@ -0,0 +1,118 @@ +This is release notes for AR7 Linux ATM driver. + @@ -21277,7 +21277,7 @@ diff -urN linux.old/drivers/atm/sangam_atm/release.txt linux.dev/drivers/atm/san + 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-13 02:47:40.764006312 +0200 ++++ linux.dev/drivers/atm/sangam_atm/syssw_version.h 2005-08-22 23:17:42.441943712 +0200 @@ -0,0 +1,94 @@ +#ifndef __SYSSW_VERSION_H__ +#define __SYSSW_VERSION_H__ 1 @@ -21375,7 +21375,7 @@ diff -urN linux.old/drivers/atm/sangam_atm/syssw_version.h linux.dev/drivers/atm +#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-13 02:47:40.764006312 +0200 ++++ linux.dev/drivers/atm/sangam_atm/tn7api.h 2005-08-22 23:17:42.441943712 +0200 @@ -0,0 +1,54 @@ +/* + * Tnetd73xx ATM driver. @@ -21433,7 +21433,7 @@ diff -urN linux.old/drivers/atm/sangam_atm/tn7api.h linux.dev/drivers/atm/sangam +#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-13 02:47:40.766006008 +0200 ++++ linux.dev/drivers/atm/sangam_atm/tn7atm.c 2005-08-22 23:17:42.442943560 +0200 @@ -0,0 +1,1212 @@ +/* + * tn7.c @@ -22649,7 +22649,7 @@ diff -urN linux.old/drivers/atm/sangam_atm/tn7atm.c linux.dev/drivers/atm/sangam +#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-13 02:47:40.766006008 +0200 ++++ linux.dev/drivers/atm/sangam_atm/tn7atm.h 2005-08-22 23:17:42.443943408 +0200 @@ -0,0 +1,115 @@ +/* + * Tnetd73xx ATM driver. @@ -22768,8 +22768,8 @@ diff -urN linux.old/drivers/atm/sangam_atm/tn7atm.h linux.dev/drivers/atm/sangam +#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-13 02:47:40.768005704 +0200 -@@ -0,0 +1,1778 @@ ++++ linux.dev/drivers/atm/sangam_atm/tn7dsl.c 2005-08-22 23:40:31.372834584 +0200 +@@ -0,0 +1,1780 @@ +/* + * $Id$ + * @@ -22796,6 +22796,8 @@ diff -urN linux.old/drivers/atm/sangam_atm/tn7dsl.c linux.dev/drivers/atm/sangam +#include +#include +#include ++#include ++#include + +#include "tn7atm.h" +#include "tn7api.h" @@ -23148,7 +23150,7 @@ diff -urN linux.old/drivers/atm/sangam_atm/tn7dsl.c linux.dev/drivers/atm/sangam +} +*/ + -+int shim_osLoadFWImage(char *ptr) ++int shim_osLoadFWImage(unsigned char *ptr) +{ + unsigned int bytesRead; + mm_segment_t oldfs; @@ -23222,7 +23224,7 @@ diff -urN linux.old/drivers/atm/sangam_atm/tn7dsl.c linux.dev/drivers/atm/sangam + return bytesRead; +} + -+int shim_osLoadDebugFWImage(char *ptr) ++int shim_osLoadDebugFWImage(unsigned char *ptr) +{ + return 0; +} @@ -24288,7 +24290,7 @@ diff -urN linux.old/drivers/atm/sangam_atm/tn7dsl.c linux.dev/drivers/atm/sangam + 1,0,1,0,1,0,1,0 // Tones 57-64 + }; + -+int shim_osGetCpuFrequency(void) ++unsigned int shim_osGetCpuFrequency(void) +{ + return 150; +} @@ -24550,7 +24552,7 @@ diff -urN linux.old/drivers/atm/sangam_atm/tn7dsl.c linux.dev/drivers/atm/sangam + 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-13 02:47:40.769005552 +0200 ++++ linux.dev/drivers/atm/sangam_atm/tn7sar.c 2005-08-22 23:17:42.445943104 +0200 @@ -0,0 +1,1376 @@ +/****************************************************************************** + * FILE PURPOSE: OS files for CPSAR @@ -25930,7 +25932,7 @@ diff -urN linux.old/drivers/atm/sangam_atm/tn7sar.c linux.dev/drivers/atm/sangam +} 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-13 02:47:40.771005248 +0200 ++++ linux.dev/drivers/atm/sangam_atm/tnetd7300_sar_firm.h 2005-08-22 23:17:42.446942952 +0200 @@ -0,0 +1,988 @@ +//SarPdspFirmware Revision: 49 + @@ -26922,7 +26924,7 @@ diff -urN linux.old/drivers/atm/sangam_atm/tnetd7300_sar_firm.h linux.dev/driver + 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-13 02:47:40.771005248 +0200 ++++ linux.dev/drivers/atm/sangam_atm/turbodsl.c 2005-08-22 23:17:42.447942800 +0200 @@ -0,0 +1,223 @@ + + @@ -27148,8 +27150,8 @@ diff -urN linux.old/drivers/atm/sangam_atm/turbodsl.c linux.dev/drivers/atm/sang + + diff -urN linux.old/include/linux/atmdev.h linux.dev/include/linux/atmdev.h ---- linux.old/include/linux/atmdev.h 2005-08-13 00:39:58.131903456 +0200 -+++ linux.dev/include/linux/atmdev.h 2005-08-13 03:25:29.311134728 +0200 +--- 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 @@ -30,6 +30,9 @@ #define ATM_DS3_PCR (8000*12) /* DS3: 12 cells in a 125 usec time slot */ @@ -27272,498 +27274,9 @@ diff -urN linux.old/include/linux/atmdev.h linux.dev/include/linux/atmdev.h /* * This is approximately the algorithm used by alloc_skb. -diff -urN linux.old/include/linux/atmdev.h.orig linux.dev/include/linux/atmdev.h.orig ---- linux.old/include/linux/atmdev.h.orig 1970-01-01 01:00:00.000000000 +0100 -+++ linux.dev/include/linux/atmdev.h.orig 2005-08-13 03:18:36.129947816 +0200 -@@ -0,0 +1,485 @@ -+/* atmdev.h - ATM device driver declarations and various related items */ -+ -+/* Written 1995-2000 by Werner Almesberger, EPFL LRC/ICA */ -+ -+ -+#ifndef LINUX_ATMDEV_H -+#define LINUX_ATMDEV_H -+ -+ -+#include -+#include -+#include -+#include -+ -+ -+#define ESI_LEN 6 -+ -+#define ATM_OC3_PCR (155520000/270*260/8/53) -+ /* OC3 link rate: 155520000 bps -+ SONET overhead: /270*260 (9 section, 1 path) -+ bits per cell: /8/53 -+ max cell rate: 353207.547 cells/sec */ -+#define ATM_25_PCR ((25600000/8-8000)/54) -+ /* 25 Mbps ATM cell rate (59111) */ -+#define ATM_OC12_PCR (622080000/1080*1040/8/53) -+ /* OC12 link rate: 622080000 bps -+ SONET overhead: /1080*1040 -+ bits per cell: /8/53 -+ max cell rate: 1412830.188 cells/sec */ -+#define ATM_DS3_PCR (8000*12) -+ /* DS3: 12 cells in a 125 usec time slot */ -+ -+#define ATM_PDU_OVHD 0 /* number of bytes to charge against buffer -+ quota per PDU */ -+ -+#define ATM_SD(s) ((s)->sk->protinfo.af_atm) -+ -+ -+#define __AAL_STAT_ITEMS \ -+ __HANDLE_ITEM(tx); /* TX okay */ \ -+ __HANDLE_ITEM(tx_err); /* TX errors */ \ -+ __HANDLE_ITEM(rx); /* RX okay */ \ -+ __HANDLE_ITEM(rx_err); /* RX errors */ \ -+ __HANDLE_ITEM(rx_drop); /* RX out of memory */ -+ -+struct atm_aal_stats { -+#define __HANDLE_ITEM(i) int i -+ __AAL_STAT_ITEMS -+#undef __HANDLE_ITEM -+}; -+ -+ -+struct atm_dev_stats { -+ struct atm_aal_stats aal0; -+ struct atm_aal_stats aal34; -+ struct atm_aal_stats aal5; -+} __ATM_API_ALIGN; -+ -+ -+#define ATM_GETLINKRATE _IOW('a',ATMIOC_ITF+1,struct atmif_sioc) -+ /* get link rate */ -+#define ATM_GETNAMES _IOW('a',ATMIOC_ITF+3,struct atm_iobuf) -+ /* get interface names (numbers) */ -+#define ATM_GETTYPE _IOW('a',ATMIOC_ITF+4,struct atmif_sioc) -+ /* get interface type name */ -+#define ATM_GETESI _IOW('a',ATMIOC_ITF+5,struct atmif_sioc) -+ /* get interface ESI */ -+#define ATM_GETADDR _IOW('a',ATMIOC_ITF+6,struct atmif_sioc) -+ /* get itf's local ATM addr. list */ -+#define ATM_RSTADDR _IOW('a',ATMIOC_ITF+7,struct atmif_sioc) -+ /* reset itf's ATM address list */ -+#define ATM_ADDADDR _IOW('a',ATMIOC_ITF+8,struct atmif_sioc) -+ /* add a local ATM address */ -+#define ATM_DELADDR _IOW('a',ATMIOC_ITF+9,struct atmif_sioc) -+ /* remove a local ATM address */ -+#define ATM_GETCIRANGE _IOW('a',ATMIOC_ITF+10,struct atmif_sioc) -+ /* get connection identifier range */ -+#define ATM_SETCIRANGE _IOW('a',ATMIOC_ITF+11,struct atmif_sioc) -+ /* set connection identifier range */ -+#define ATM_SETESI _IOW('a',ATMIOC_ITF+12,struct atmif_sioc) -+ /* set interface ESI */ -+#define ATM_SETESIF _IOW('a',ATMIOC_ITF+13,struct atmif_sioc) -+ /* force interface ESI */ -+#define ATM_GETSTAT _IOW('a',ATMIOC_SARCOM+0,struct atmif_sioc) -+ /* get AAL layer statistics */ -+#define ATM_GETSTATZ _IOW('a',ATMIOC_SARCOM+1,struct atmif_sioc) -+ /* get AAL layer statistics and zero */ -+#define ATM_GETLOOP _IOW('a',ATMIOC_SARCOM+2,struct atmif_sioc) -+ /* get loopback mode */ -+#define ATM_SETLOOP _IOW('a',ATMIOC_SARCOM+3,struct atmif_sioc) -+ /* set loopback mode */ -+#define ATM_QUERYLOOP _IOW('a',ATMIOC_SARCOM+4,struct atmif_sioc) -+ /* query supported loopback modes */ -+#define ATM_SETSC _IOW('a',ATMIOC_SPECIAL+1,int) -+ /* enable or disable single-copy */ -+#define ATM_SETBACKEND _IOW('a',ATMIOC_SPECIAL+2,atm_backend_t) -+ /* set backend handler */ -+#define ATM_NEWBACKENDIF _IOW('a',ATMIOC_SPECIAL+3,atm_backend_t) -+ /* use backend to make new if */ -+#define ATM_STOPTX _IOW('a',ATMIOC_SPECIAL+4,struct atmif_sioc) -+ /* Stop Tx on Sangam DSL */ -+/* -+ * These are backend handkers that can be set via the ATM_SETBACKEND call -+ * above. In the future we may support dynamic loading of these - for now, -+ * they're just being used to share the ATMIOC_BACKEND ioctls -+ */ -+#define ATM_BACKEND_RAW 0 -+#define ATM_BACKEND_PPP 1 /* PPPoATM - RFC2364 */ -+#define ATM_BACKEND_BR2684 2 /* Bridged RFC1483/2684 */ -+ -+/* for ATM_GETTYPE */ -+#define ATM_ITFTYP_LEN 8 /* maximum length of interface type name */ -+ -+/* -+ * Loopback modes for ATM_{PHY,SAR}_{GET,SET}LOOP -+ */ -+ -+/* Point of loopback CPU-->SAR-->PHY-->line--> ... */ -+#define __ATM_LM_NONE 0 /* no loop back ^ ^ ^ ^ */ -+#define __ATM_LM_AAL 1 /* loop back PDUs --' | | | */ -+#define __ATM_LM_ATM 2 /* loop back ATM cells ---' | | */ -+/* RESERVED 4 loop back on PHY side ---' */ -+#define __ATM_LM_PHY 8 /* loop back bits (digital) ----' | */ -+#define __ATM_LM_ANALOG 16 /* loop back the analog signal --------' */ -+ -+/* Direction of loopback */ -+#define __ATM_LM_MKLOC(n) ((n)) /* Local (i.e. loop TX to RX) */ -+#define __ATM_LM_MKRMT(n) ((n) << 8) /* Remote (i.e. loop RX to TX) */ -+ -+#define __ATM_LM_XTLOC(n) ((n) & 0xff) -+#define __ATM_LM_XTRMT(n) (((n) >> 8) & 0xff) -+ -+#define ATM_LM_NONE 0 /* no loopback */ -+ -+#define ATM_LM_LOC_AAL __ATM_LM_MKLOC(__ATM_LM_AAL) -+#define ATM_LM_LOC_ATM __ATM_LM_MKLOC(__ATM_LM_ATM) -+#define ATM_LM_LOC_PHY __ATM_LM_MKLOC(__ATM_LM_PHY) -+#define ATM_LM_LOC_ANALOG __ATM_LM_MKLOC(__ATM_LM_ANALOG) -+ -+#define ATM_LM_RMT_AAL __ATM_LM_MKRMT(__ATM_LM_AAL) -+#define ATM_LM_RMT_ATM __ATM_LM_MKRMT(__ATM_LM_ATM) -+#define ATM_LM_RMT_PHY __ATM_LM_MKRMT(__ATM_LM_PHY) -+#define ATM_LM_RMT_ANALOG __ATM_LM_MKRMT(__ATM_LM_ANALOG) -+ -+/* -+ * Note: ATM_LM_LOC_* and ATM_LM_RMT_* can be combined, provided that -+ * __ATM_LM_XTLOC(x) <= __ATM_LM_XTRMT(x) -+ */ -+ -+ -+struct atm_iobuf { -+ int length; -+ void *buffer; -+}; -+ -+/* for ATM_GETCIRANGE / ATM_SETCIRANGE */ -+ -+#define ATM_CI_MAX -1 /* use maximum range of VPI/VCI */ -+ -+struct atm_cirange { -+ char vpi_bits; /* 1..8, ATM_CI_MAX (-1) for maximum */ -+ char vci_bits; /* 1..16, ATM_CI_MAX (-1) for maximum */ -+}; -+ -+/* for ATM_SETSC; actually taken from the ATM_VF number space */ -+ -+#define ATM_SC_RX 1024 /* enable RX single-copy */ -+#define ATM_SC_TX 2048 /* enable TX single-copy */ -+ -+#define ATM_BACKLOG_DEFAULT 32 /* if we get more, we're likely to time out -+ anyway */ -+ -+/* MF: change_qos (Modify) flags */ -+ -+#define ATM_MF_IMMED 1 /* Block until change is effective */ -+#define ATM_MF_INC_RSV 2 /* Change reservation on increase */ -+#define ATM_MF_INC_SHP 4 /* Change shaping on increase */ -+#define ATM_MF_DEC_RSV 8 /* Change reservation on decrease */ -+#define ATM_MF_DEC_SHP 16 /* Change shaping on decrease */ -+#define ATM_MF_BWD 32 /* Set the backward direction parameters */ -+ -+#define ATM_MF_SET (ATM_MF_INC_RSV | ATM_MF_INC_SHP | ATM_MF_DEC_RSV | \ -+ ATM_MF_DEC_SHP | ATM_MF_BWD) -+ -+/* -+ * ATM_VS_* are used to express VC state in a human-friendly way. -+ */ -+ -+#define ATM_VS_IDLE 0 /* VC is not used */ -+#define ATM_VS_CONNECTED 1 /* VC is connected */ -+#define ATM_VS_CLOSING 2 /* VC is closing */ -+#define ATM_VS_LISTEN 3 /* VC is listening for incoming setups */ -+#define ATM_VS_INUSE 4 /* VC is in use (registered with atmsigd) */ -+#define ATM_VS_BOUND 5 /* VC is bound */ -+ -+#define ATM_VS2TXT_MAP \ -+ "IDLE", "CONNECTED", "CLOSING", "LISTEN", "INUSE", "BOUND" -+ -+#define ATM_VF2TXT_MAP \ -+ "ADDR", "READY", "PARTIAL", "REGIS", \ -+ "RELEASED", "HASQOS", "LISTEN", "META", \ -+ "256", "512", "1024", "2048", \ -+ "SESSION", "HASSAP", "BOUND", "CLOSE" -+ -+ -+#ifndef __KERNEL__ -+#undef __AAL_STAT_ITEMS -+#else -+ -+#include /* wait_queue_head_t */ -+#include /* struct timeval */ -+#include -+#include /* struct sk_buff */ -+#include -+#include -+#include -+ -+#ifdef CONFIG_PROC_FS -+#include -+#endif -+ -+ -+struct k_atm_aal_stats { -+#define __HANDLE_ITEM(i) atomic_t i -+ __AAL_STAT_ITEMS -+#undef __HANDLE_ITEM -+}; -+ -+ -+struct k_atm_dev_stats { -+ struct k_atm_aal_stats aal0; -+ struct k_atm_aal_stats aal34; -+ struct k_atm_aal_stats aal5; -+}; -+ -+ -+enum { -+ ATM_VF_ADDR, /* Address is in use. Set by anybody, cleared -+ by device driver. */ -+ ATM_VF_READY, /* VC is ready to transfer data. Set by device -+ driver, cleared by anybody. */ -+ ATM_VF_PARTIAL, /* resources are bound to PVC (partial PVC -+ setup), controlled by socket layer */ -+ ATM_VF_REGIS, /* registered with demon, controlled by SVC -+ socket layer */ -+ ATM_VF_BOUND, /* local SAP is set, controlled by SVC socket -+ layer */ -+ ATM_VF_RELEASED, /* demon has indicated/requested release, -+ controlled by SVC socket layer */ -+ ATM_VF_HASQOS, /* QOS parameters have been set */ -+ ATM_VF_LISTEN, /* socket is used for listening */ -+ ATM_VF_META, /* SVC socket isn't used for normal data -+ traffic and doesn't depend on signaling -+ to be available */ -+ ATM_VF_SESSION, /* VCC is p2mp session control descriptor */ -+ ATM_VF_HASSAP, /* SAP has been set */ -+ ATM_VF_CLOSE, /* asynchronous close - treat like VF_RELEASED*/ -+}; -+ -+ -+#define ATM_VF2VS(flags) \ -+ (test_bit(ATM_VF_READY,&(flags)) ? ATM_VS_CONNECTED : \ -+ test_bit(ATM_VF_RELEASED,&(flags)) ? ATM_VS_CLOSING : \ -+ test_bit(ATM_VF_LISTEN,&(flags)) ? ATM_VS_LISTEN : \ -+ test_bit(ATM_VF_REGIS,&(flags)) ? ATM_VS_INUSE : \ -+ test_bit(ATM_VF_BOUND,&(flags)) ? ATM_VS_BOUND : ATM_VS_IDLE) -+ -+ -+enum { -+ ATM_DF_CLOSE, /* close device when last VCC is closed */ -+}; -+ -+ -+#define ATM_PHY_SIG_LOST 0 /* no carrier/light */ -+#define ATM_PHY_SIG_UNKNOWN 1 /* carrier/light status is unknown */ -+#define ATM_PHY_SIG_FOUND 2 /* carrier/light okay */ -+ -+#define ATM_ATMOPT_CLP 1 /* set CLP bit */ -+ -+ -+typedef struct { unsigned long bits; } atm_vcc_flags_t; -+ -+ -+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; -+ unsigned long aal_options; /* AAL layer options */ -+ unsigned long atm_options; /* ATM layer options */ -+ struct atm_dev *dev; /* device back pointer */ -+ struct atm_qos qos; /* QOS */ -+ 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); -+ 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 */ -+ /* Other stuff ----------------------------------------------------- */ -+ void *user_back; /* user backlink - not touched by */ -+ /* native ATM stack. Currently used */ -+ /* by CLIP and sch_atm. */ -+}; -+ -+ -+struct atm_dev_addr { -+ struct sockaddr_atmsvc addr; /* ATM address */ -+ struct atm_dev_addr *next; /* next address */ -+}; -+ -+ -+typedef struct { unsigned int bits; } atm_dev_flags_t; -+ -+ -+struct atm_dev { -+ const struct atmdev_ops *ops; /* device operations; NULL if unused */ -+ const struct atmphy_ops *phy; /* PHY operations, may be undefined */ -+ /* (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_*) */ -+ struct atm_dev_addr *local; /* local ATM addresses */ -+ unsigned char esi[ESI_LEN]; /* ESI ("MAC" addr) */ -+ struct atm_cirange ci_range; /* VPI/VCI range */ -+ struct k_atm_dev_stats stats; /* statistics */ -+ char signal; /* signal status (ATM_PHY_SIG_*) */ -+ int link_rate; /* link rate (default: OC3) */ -+ atomic_t refcnt; /* reference count */ -+ spinlock_t lock; /* protect internal members */ -+#ifdef CONFIG_PROC_FS -+ struct proc_dir_entry *proc_entry; /* proc entry */ -+ char *proc_name; /* proc entry name */ -+#endif -+ struct atm_dev *prev,*next; /* linkage */ -+ struct list_head dev_list; /* linkage */ -+ -+}; -+ -+ -+/* -+ * ioctl, getsockopt, setsockopt, and sg_send are optional and can be set to -+ * NULL. */ -+ -+/* OF: send_Oam Flags */ -+ -+#define ATM_OF_IMMED 1 /* Attempt immediate delivery */ -+#define ATM_OF_INRATE 2 /* Attempt in-rate delivery */ -+ -+struct atmdev_ops { /* only send is required */ -+ void (*dev_close)(struct atm_dev *dev); -+ int (*open)(struct atm_vcc *vcc,short vpi,int vci); -+ void (*close)(struct atm_vcc *vcc); -+ int (*ioctl)(struct atm_dev *dev,unsigned int cmd,void *arg); -+ int (*getsockopt)(struct atm_vcc *vcc,int level,int optname, -+ void *optval,int optlen); -+ int (*setsockopt)(struct atm_vcc *vcc,int level,int optname, -+ void *optval,int optlen); -+ int (*send)(struct atm_vcc *vcc,struct sk_buff *skb); -+ int (*sg_send)(struct atm_vcc *vcc,unsigned long start, -+ unsigned long size); -+#if 0 /* keep the current hack for now */ -+ int (*send_iovec)(struct atm_vcc *vcc,struct iovec *iov,int size, -+ void (*discard)(struct atm_vcc *vcc,void *user),void *user); -+#endif -+ int (*send_oam)(struct atm_vcc *vcc,void *cell,int flags); -+ void (*phy_put)(struct atm_dev *dev,unsigned char value, -+ unsigned long addr); -+ unsigned char (*phy_get)(struct atm_dev *dev,unsigned long addr); -+ 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; -+}; -+ -+ -+struct atmphy_ops { -+ int (*start)(struct atm_dev *dev); -+ int (*ioctl)(struct atm_dev *dev,unsigned int cmd,void *arg); -+ void (*interrupt)(struct atm_dev *dev); -+ int (*stop)(struct atm_dev *dev); -+}; -+ -+struct atm_skb_data { -+ struct atm_vcc *vcc; /* ATM VCC */ -+ int iovcnt; /* 0 for "normal" operation */ -+ unsigned long atm_options; /* ATM layer options */ -+}; -+ -+extern struct sock *vcc_sklist; -+extern rwlock_t vcc_sklist_lock; -+ -+#define ATM_SKB(skb) (((struct atm_skb_data *) (skb)->cb)) -+ -+struct atm_dev *atm_dev_register(const char *type,const struct atmdev_ops *ops, -+ int number,atm_dev_flags_t *flags); /* number == -1: pick first available */ -+struct atm_dev *atm_find_dev(int number); -+void atm_dev_deregister(struct atm_dev *dev); -+void shutdown_atm_dev(struct atm_dev *dev); -+void bind_vcc(struct atm_vcc *vcc,struct atm_dev *dev); -+ -+ -+/* -+ * This is approximately the algorithm used by alloc_skb. -+ * -+ */ -+ -+static __inline__ int atm_guess_pdu2truesize(int pdu_size) -+{ -+ return ((pdu_size+15) & ~15) + sizeof(struct sk_buff); -+} -+ -+ -+static __inline__ void atm_force_charge(struct atm_vcc *vcc,int truesize) -+{ -+ atomic_add(truesize+ATM_PDU_OVHD,&vcc->rx_inuse); -+} -+ -+ -+static __inline__ void atm_return(struct atm_vcc *vcc,int truesize) -+{ -+ atomic_sub(truesize+ATM_PDU_OVHD,&vcc->rx_inuse); -+} -+ -+ -+static __inline__ int atm_may_send(struct atm_vcc *vcc,unsigned int size) -+{ -+ return size+atomic_read(&vcc->tx_inuse)+ATM_PDU_OVHD < vcc->sk->sndbuf; -+} -+ -+ -+int atm_charge(struct atm_vcc *vcc,int truesize); -+struct sk_buff *atm_alloc_charge(struct atm_vcc *vcc,int pdu_size, -+ int gfp_flags); -+int atm_find_ci(struct atm_vcc *vcc,short *vpi,int *vci); -+int atm_pcr_goal(struct atm_trafprm *tp); -+ -+void atm_async_release_vcc(struct atm_vcc *vcc,int reply); -+ -+static inline void atm_dev_hold(struct atm_dev *dev) -+{ -+ atomic_inc(&dev->refcnt); -+} -+ -+static inline void atm_dev_put(struct atm_dev *dev) -+{ -+ atomic_dec(&dev->refcnt); -+ -+ if ((atomic_read(&dev->refcnt) == 1) && -+ test_bit(ATM_DF_CLOSE,&dev->flags)) -+ shutdown_atm_dev(dev); -+} -+ -+#endif /* __KERNEL__ */ -+ -+#endif diff -urN linux.old/include/linux/atm.h linux.dev/include/linux/atm.h ---- linux.old/include/linux/atm.h 2005-08-13 00:39:58.131903456 +0200 -+++ linux.dev/include/linux/atm.h 2005-08-13 02:47:40.877988984 +0200 +--- 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 */ @@ -27778,8 +27291,8 @@ diff -urN linux.old/include/linux/atm.h linux.dev/include/linux/atm.h 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 2004-11-17 12:54:22.000000000 +0100 -+++ linux.dev/net/atm/clip.c 2005-08-13 03:26:40.842260344 +0200 +--- 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); @@ -27790,8 +27303,8 @@ diff -urN linux.old/net/atm/clip.c linux.dev/net/atm/clip.c 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 2004-02-18 14:36:32.000000000 +0100 -+++ linux.dev/net/atm/common.c 2005-08-13 04:08:54.066151776 +0200 +--- 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)) @@ -27822,8 +27335,8 @@ diff -urN linux.old/net/atm/common.c linux.dev/net/atm/common.c 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 2004-11-17 12:54:22.000000000 +0100 -+++ linux.dev/net/atm/lec.c 2005-08-13 03:30:50.951238000 +0200 +--- 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 */ @@ -27834,8 +27347,8 @@ diff -urN linux.old/net/atm/lec.c linux.dev/net/atm/lec.c 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 2003-11-28 19:26:21.000000000 +0100 -+++ linux.dev/net/atm/mpc.c 2005-08-13 03:31:04.569167760 +0200 +--- 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 @@ } @@ -27846,8 +27359,8 @@ diff -urN linux.old/net/atm/mpc.c linux.dev/net/atm/mpc.c 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 2003-11-28 19:26:21.000000000 +0100 -+++ linux.dev/net/atm/pvc.c 2005-08-13 04:03:41.850615752 +0200 +--- 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); @@ -27862,8 +27375,8 @@ diff -urN linux.old/net/atm/pvc.c linux.dev/net/atm/pvc.c 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 2003-11-28 19:26:21.000000000 +0100 -+++ linux.dev/net/atm/resources.c 2005-08-13 03:37:16.748587888 +0200 +--- 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; } @@ -27889,8 +27402,8 @@ diff -urN linux.old/net/atm/resources.c linux.dev/net/atm/resources.c +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 2003-11-28 19:26:21.000000000 +0100 -+++ linux.dev/net/atm/signaling.c 2005-08-13 03:36:24.880473040 +0200 +--- 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"); @@ -27901,8 +27414,8 @@ diff -urN linux.old/net/atm/signaling.c linux.dev/net/atm/signaling.c 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 2003-11-28 19:26:21.000000000 +0100 -+++ linux.dev/net/atm/svc.c 2005-08-13 04:08:16.126919416 +0200 +--- 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 */