Changeset 656

Show
Ignore:
Timestamp:
09/21/06 13:43:01 (2 years ago)
Author:
dnehring
Message:

Merge with HEAD

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • branches/dn-kernel-2.4.33/freewrt/Config.in

    r360 r656  
    2828        select FWRT_BIG_ENDIAN 
    2929 
    30 # Unsupported architectures 
    31  
    32 if CONFIG_DEVEL 
    3330config FWRT_mips64 
    3431        tristate 
     
    6764        select FWRT_BIG_ENDIAN 
    6865 
    69 endif 
    70  
    7166config FWRT_ARCH 
    7267        string 
     
    7772        default "m68k"    if FWRT_m68k 
    7873        default "mips"    if FWRT_mips 
    79         default "mipsel"  if FWRT_mipsel || !CONFIG_DEVEL 
     74        default "mipsel"  if FWRT_mipsel 
    8075        default "mips64"  if FWRT_mips64 
    8176        default "powerpc" if FWRT_powerpc 
  • branches/dn-kernel-2.4.33/freewrt/mk/targets.mk

    r569 r656  
    4747ifeq ($(BOARD),brcm) 
    4848ARCH=mips 
     49KARCH=mipsel 
    4950endif 
    5051 
    5152export BOARD 
    5253export ARCH 
     54export KARCH 
    5355export KERNEL 
    5456export KERNEL_VERSION 
  • branches/dn-kernel-2.4.33/freewrt/package/Config.in

    r640 r656  
    8585source "package/bind/Config.in" 
    8686source "package/bitlbee/Config.in" 
    87 source "package/bridge/Config.in" 
     87source "package/bridge-utils/Config.in" 
    8888source "package/bwm/Config.in" 
    8989source "package/chillispot/Config.in" 
  • branches/dn-kernel-2.4.33/freewrt/package/Makefile

    r640 r656  
    2121package-$(FWRT_PACKAGE_BLUEZ_LIBS) += bluez-libs 
    2222package-$(FWRT_PACKAGE_BLUEZ_UTILS) += bluez-utils 
    23 package-$(FWRT_PACKAGE_BRIDGE) += bridge 
     23package-$(FWRT_PACKAGE_BRIDGE_UTILS) += bridge-utils 
    2424package-$(FWRT_PACKAGE_BROADCOM_NAS) += broadcom-nas 
    2525package-$(FWRT_PACKAGE_BUSYBOX) += busybox 
  • branches/dn-kernel-2.4.33/freewrt/package/base-files/Makefile

    r600 r656  
    99 
    1010PKG_NAME:=              base-files 
    11 PKG_RELEASE:=           10 
     11PKG_RELEASE:=           11 
    1212WRKSRC=                 ${WRKDIR}/base-files 
    1313 
  • branches/dn-kernel-2.4.33/freewrt/package/madwifi/Makefile

    r600 r656  
    2020include $(TOPDIR)/mk/package.mk 
    2121 
    22 ifeq ($(ARCH),mips) 
     22ifeq ($(KARCH),mips) 
    2323HAL_TARGET:=mips-be-elf 
    2424endif 
    25 ifeq ($(ARCH),mipsel) 
     25ifeq ($(KARCH),mipsel) 
    2626HAL_TARGET:=mips-le-elf 
    2727endif 
    28 ifeq ($(ARCH),i386) 
     28ifeq ($(KARCH),i386) 
    2929HAL_TARGET:=i386-elf 
    3030endif 
    31 ifeq ($(ARCH),armeb) 
     31ifeq ($(KARCH),armeb) 
    3232HAL_TARGET:=xscale-be-elf 
    3333endif 
  • branches/dn-kernel-2.4.33/freewrt/package/webif/Makefile

    r640 r656  
    99PKG_NAME:=              webif 
    1010PKG_VERSION:=           0.2 
    11 PKG_RELEASE:=           3 
     11PKG_RELEASE:=           4 
    1212 
    1313include $(TOPDIR)/mk/package.mk 
  • branches/dn-kernel-2.4.33/freewrt/package/webif/files/www/cgi-bin/webif/lan.sh

    r640 r656  
    2020        FORM_dhcp_start=${dhcp_start:-$(nvram get dhcp_start)} 
    2121        FORM_dhcp_num=${dhcp_num:-$(nvram get dhcp_num)} 
    22         eval $(ipcalc $FORM_lan_ipaddr $FORM_lan_netmask $FORM_dhcp_start $FORM_dhcp_num) 
     22        eval $(/usr/lib/webif/ipcalc $FORM_lan_ipaddr $FORM_lan_netmask $FORM_dhcp_start $FORM_dhcp_num) 
    2323        FORM_dhcp_end=$END 
    2424else  
  • branches/dn-kernel-2.4.33/freewrt/target/image/brcm/Makefile

    r615 r656  
    208208endif 
    209209$(BIN_DIR)/freewrt-netgear-wgt634u-$(BOARD)-$(KERNEL)-$(SUFFIX).bin: $(STAGING_DIR)/freewrt-$(BOARD)-$(KERNEL)-$(FS)$(MTD_ERASESIZE).trx 
    210         dd if=$(BUILD_DIR)/loader.elf of=$@ bs=131072 conv=sync 
    211         cat $(STAGING_DIR)/freewrt-$(BOARD)-$(KERNEL)-$(FS).trx >> $@ 
     210        dd if=$(BUILD_DIR)/loader.elf of=$@ bs=131072 conv=sync >/dev/null 
     211        cat $(STAGING_DIR)/freewrt-$(BOARD)-$(KERNEL)-$(FS)$(MTD_ERASESIZE).trx >> $@ 
    212212install: $(BIN_DIR)/freewrt-netgear-wgt634u-$(BOARD)-$(KERNEL)-$(SUFFIX).bin 
    213213endif 
  • branches/dn-kernel-2.4.33/freewrt/target/linux/brcm-2.4/Config.in

    r588 r656  
    55        bool "Asus WL500g [Linux 2.4]" 
    66        select FWRT_mipsel 
     7        select FWRT_LINUX_2_4_BRCM 
     8        select FWRT_PACKAGE_BRIDGE_UTILS 
    79        select FWRT_PACKAGE_KMOD_BROADCOM_WL 
    810        select FWRT_PACKAGE_KMOD_BROADCOM_DIAG 
     
    2022        bool "Asus WL500g deluxe [Linux 2.4]" 
    2123        select FWRT_mipsel 
     24        select FWRT_LINUX_2_4_BRCM 
     25        select FWRT_PACKAGE_BRIDGE_UTILS 
    2226        select FWRT_PACKAGE_KMOD_BROADCOM_WL 
    2327        select FWRT_PACKAGE_KMOD_BROADCOM_DIAG 
     
    3741        bool "Asus WL500g premium [Linux 2.4]" 
    3842        select FWRT_mipsel 
     43        select FWRT_LINUX_2_4_BRCM 
     44        select FWRT_PACKAGE_BRIDGE_UTILS 
    3945        select FWRT_PACKAGE_KMOD_BROADCOM_WL 
    4046        select FWRT_PACKAGE_KMOD_BROADCOM_DIAG 
     
    5460        bool "Linksys WRT54G v1.0 [Linux 2.4]" 
    5561        select FWRT_mipsel 
     62        select FWRT_LINUX_2_4_BRCM 
     63        select FWRT_PACKAGE_BRIDGE_UTILS 
    5664        select FWRT_PACKAGE_KMOD_BROADCOM_WL 
    5765        select FWRT_PACKAGE_KMOD_BROADCOM_DIAG 
     
    6977        select FWRT_mipsel 
    7078        select FWRT_LINUX_2_4_BRCM 
     79        select FWRT_PACKAGE_BRIDGE_UTILS 
    7180        select FWRT_PACKAGE_KMOD_BROADCOM_WL 
    7281        select FWRT_PACKAGE_KMOD_BROADCOM_DIAG 
     
    8594        select FWRT_mipsel 
    8695        select FWRT_LINUX_2_4_BRCM 
     96        select FWRT_PACKAGE_BRIDGE_UTILS 
    8797        select FWRT_PACKAGE_KMOD_BROADCOM_WL 
    8898        select FWRT_PACKAGE_KMOD_BROADCOM_DIAG 
     
    100110        select FWRT_mipsel 
    101111        select FWRT_LINUX_2_4_BRCM 
     112        select FWRT_PACKAGE_BRIDGE_UTILS 
    102113        select FWRT_PACKAGE_KMOD_BROADCOM_WL 
    103114        select FWRT_PACKAGE_KMOD_BROADCOM_DIAG 
     
    115126        select FWRT_mipsel 
    116127        select FWRT_LINUX_2_4_BRCM 
     128        select FWRT_PACKAGE_BRIDGE_UTILS 
    117129        select FWRT_PACKAGE_KMOD_BROADCOM_WL 
    118130        select FWRT_PACKAGE_KMOD_BROADCOM_DIAG 
     
    130142        select FWRT_mipsel 
    131143        select FWRT_LINUX_2_4_BRCM 
     144        select FWRT_PACKAGE_BRIDGE_UTILS 
    132145        select FWRT_PACKAGE_KMOD_BROADCOM_WL 
    133146        select FWRT_PACKAGE_KMOD_BROADCOM_DIAG 
     
    145158        select FWRT_mipsel 
    146159        select FWRT_LINUX_2_4_BRCM 
     160        select FWRT_PACKAGE_BRIDGE_UTILS 
    147161        select FWRT_PACKAGE_KMOD_BROADCOM_WL 
    148162        select FWRT_PACKAGE_KMOD_BROADCOM_DIAG 
     
    160174        select FWRT_mipsel 
    161175        select FWRT_LINUX_2_4_BRCM 
     176        select FWRT_PACKAGE_BRIDGE_UTILS 
    162177        select FWRT_PACKAGE_KMOD_BROADCOM_WL 
    163178        select FWRT_PACKAGE_KMOD_BROADCOM_DIAG 
     
    175190        select FWRT_mipsel 
    176191        select FWRT_LINUX_2_4_BRCM 
     192        select FWRT_PACKAGE_BRIDGE_UTILS 
    177193        select FWRT_PACKAGE_KMOD_BROADCOM_WL 
    178194        select FWRT_PACKAGE_KMOD_BROADCOM_DIAG 
     
    190206        select FWRT_mipsel 
    191207        select FWRT_LINUX_2_4_BRCM 
     208        select FWRT_PACKAGE_BRIDGE_UTILS 
    192209        select FWRT_PACKAGE_KMOD_BROADCOM_WL 
    193210        select FWRT_PACKAGE_KMOD_BROADCOM_DIAG 
     
    211228        select FWRT_PACKAGE_KMOD_USB_OHCI 
    212229        select FWRT_PACKAGE_KMOD_USB2 
     230        select FWRT_PACKAGE_MTD 
     231        select BUSYBOX_CONFIG_IFUPDOWN 
     232        select BUSYBOX_CONFIG_FEATURE_IFUPDOWN_IP_BUILTIN 
     233        select BUSYBOX_CONFIG_FEATURE_IFUPDOWN_IPV4 
     234        select BUSYBOX_CONFIG_FEATURE_IFUPDOWN_IPV6 
    213235        help 
    214236          Netgear WGT634U 
  • branches/dn-kernel-2.4.33/freewrt/target/linux/brcm-2.4/Makefile

    r588 r656  
    104104endef 
    105105 
    106 # include kernel configuration 
     106# include kernel configuration, first try model specific if exist 
     107# otherwise use generic root filesystem specific for this board 
     108 
     109# squashfs with mini-fo overlay 
    107110ifeq ($(FWRT_TARGET_ROOTFS_SQUASHFS_OVERLAY),y) 
     111MODELCONFIG:=$(shell test -f $(MODEL)/config/config.squashfs_overlay && echo y 2>/dev/null) 
     112ifneq ($(strip $(MODELCONFIG)),) 
    108113include $(MODEL)/config/config.squashfs_overlay 
    109 endif 
     114else 
     115include $(FS)/config/config.squashfs_overlay 
     116endif 
     117endif 
     118 
     119# jffs2 
    110120ifeq ($(FWRT_TARGET_ROOTFS_JFFS2),y) 
     121MODELCONFIG:=$(shell test -f $(MODEL)/config/config.jffs2 && echo y 2>/dev/null) 
     122ifneq ($(strip $(MODELCONFIG)),) 
    111123include $(MODEL)/config/config.jffs2  
    112 endif 
    113  
    114 ifeq ($(NF_2_6),1) 
    115 P_V4:=ipv4/netfilter/ 
    116 P_XT:=netfilter/ 
    117 else 
    118 P_V4:= 
    119 P_XT:= 
    120 endif 
    121  
    122 IPT_CONNTRACK-m := 
    123 IPT_CONNTRACK-$(CONFIG_IP_NF_MATCH_CONNMARK) += $(P_V4)ipt_connmark 
    124 IPT_CONNTRACK-$(CONFIG_IP_NF_TARGET_CONNMARK) += $(P_V4)ipt_CONNMARK 
    125 IPT_CONNTRACK-$(CONFIG_IP_NF_MATCH_CONNTRACK) += $(P_V4)ipt_conntrack 
    126 IPT_CONNTRACK-$(CONFIG_IP_NF_MATCH_HELPER) += $(P_V4)ipt_helper 
    127 IPT_CONNTRACK-$(CONFIG_IP_NF_MATCH_STATE) += $(P_V4)ipt_state 
    128 IPT_CONNTRACK-$(CONFIG_NETFILTER_XT_MATCH_CONNTRACK) += $(P_XT)xt_conntrack 
    129 IPT_CONNTRACK-$(CONFIG_NETFILTER_XT_MATCH_HELPER) += $(P_XT)xt_helper 
    130 IPT_CONNTRACK-$(CONFIG_NETFILTER_XT_MATCH_STATE) += $(P_XT)xt_state 
    131  
    132  
    133 IPT_EXTRA-m := 
    134 IPT_EXTRA-$(CONFIG_IP_NF_MATCH_CONDITION) += $(P_V4)ipt_condition 
    135 IPT_EXTRA-$(CONFIG_IP_NF_MATCH_CONNBYTES) += $(P_V4)ipt_connbytes 
    136 IPT_EXTRA-$(CONFIG_NETFILTER_XT_MATCH_CONNBYTES) += $(P_XT)xt_connbytes 
    137 IPT_EXTRA-$(CONFIG_IP_NF_MATCH_LIMIT) += $(P_V4)ipt_limit 
    138 IPT_EXTRA-$(CONFIG_NETFILTER_XT_MATCH_LIMIT) += $(P_XT)xt_limit 
    139 IPT_EXTRA-$(CONFIG_IP_NF_TARGET_LOG) += $(P_V4)ipt_LOG 
    140 IPT_EXTRA-$(CONFIG_IP_NF_MATCH_MULTIPORT) += $(P_V4)ipt_multiport 
    141 IPT_EXTRA-$(CONFIG_IP_NF_MATCH_OWNER) += $(P_V4)ipt_owner 
    142 IPT_EXTRA-$(CONFIG_IP_NF_MATCH_PHYSDEV) += $(P_V4)ipt_physdev 
    143 IPT_EXTRA-$(CONFIG_IP_NF_MATCH_PKTTYPE) += $(P_V4)ipt_pkttype 
    144 IPT_EXTRA-$(CONFIG_NETFILTER_XT_MATCH_PKTTYPE) += $(P_XT)xt_pkttype 
    145 IPT_EXTRA-$(CONFIG_IP_NF_MATCH_QUOTA) += $(P_V4)ipt_quota 
    146 IPT_EXTRA-$(CONFIG_IP_NF_MATCH_RECENT) += $(P_V4)ipt_recent 
    147 IPT_EXTRA-$(CONFIG_IP_NF_TARGET_REJECT) += $(P_V4)ipt_REJECT 
    148 IPT_EXTRA-$(CONFIG_IP_NF_MATCH_STRING) += $(P_V4)ipt_string 
    149 IPT_EXTRA-$(CONFIG_NETFILTER_XT_MATCH_STRING) += $(P_XT)xt_string 
    150  
    151 IPT_FILTER-m := 
    152 IPT_FILTER-$(CONFIG_IP_NF_MATCH_IPP2P) += $(P_V4)ipt_ipp2p 
    153 IPT_FILTER-$(CONFIG_IP_NF_MATCH_LAYER7) += $(P_V4)ipt_layer7 
    154  
    155 IPT_IMQ-m := 
    156 IPT_IMQ-$(CONFIG_IP_NF_TARGET_IMQ) += $(P_V4)ipt_IMQ 
    157  
    158 IPT_IPOPT-m := 
    159 IPT_IPOPT-$(CONFIG_IP_NF_MATCH_DSCP) += $(P_V4)ipt_dscp 
    160 IPT_IPOPT-$(CONFIG_IP_NF_TARGET_DSCP) += $(P_V4)ipt_DSCP 
    161 IPT_IPOPT-$(CONFIG_IP_NF_MATCH_ECN) += $(P_V4)ipt_ecn 
    162 IPT_IPOPT-$(CONFIG_IP_NF_TARGET_ECN) += $(P_V4)ipt_ECN 
    163 IPT_IPOPT-$(CONFIG_IP_NF_MATCH_LENGTH) += $(P_V4)ipt_length 
    164 IPT_IPOPT-$(CONFIG_NETFILTER_XT_MATCH_LENGTH) += $(P_XT)xt_length 
    165 IPT_IPOPT-$(CONFIG_IP_NF_MATCH_MAC) += $(P_V4)ipt_mac 
    166 IPT_IPOPT-$(CONFIG_NETFILTER_XT_MATCH_MAC) += $(P_XT)xt_mac 
    167 IPT_IPOPT-$(CONFIG_IP_NF_MATCH_MARK) += $(P_V4)ipt_mark 
    168 IPT_IPOPT-$(CONFIG_NETFILTER_XT_MATCH_MARK) += $(P_XT)xt_mark 
    169 IPT_IPOPT-$(CONFIG_IP_NF_TARGET_MARK) += $(P_V4)ipt_MARK 
    170 IPT_IPOPT-$(CONFIG_NETFILTER_XT_TARGET_MARK) += $(P_XT)xt_MARK 
    171 IPT_IPOPT-$(CONFIG_IP_NF_MATCH_TCPMSS) += $(P_V4)ipt_tcpmss 
    172 IPT_IPOPT-$(CONFIG_NETFILTER_XT_MATCH_TCPMSS) += $(P_XT)xt_tcpmss 
    173 IPT_IPOPT-$(CONFIG_IP_NF_TARGET_TCPMSS) += $(P_V4)ipt_TCPMSS 
    174 IPT_IPOPT-$(CONFIG_IP_NF_MATCH_TOS) += $(P_V4)ipt_tos 
    175 IPT_IPOPT-$(CONFIG_IP_NF_MATCH_TIME) += $(P_V4)ipt_time 
    176 IPT_IPOPT-$(CONFIG_IP_NF_TARGET_TOS) += $(P_V4)ipt_TOS 
    177 IPT_IPOPT-$(CONFIG_IP_NF_MATCH_TTL) += $(P_V4)ipt_ttl 
    178 IPT_IPOPT-$(CONFIG_IP_NF_TARGET_TTL) += $(P_V4)ipt_TTL 
    179 IPT_IPOPT-$(CONFIG_IP_NF_MATCH_UNCLEAN) += $(P_V4)ipt_unclean 
    180  
    181 IPT_IPSEC-m := 
    182 IPT_IPSEC-$(CONFIG_IP_NF_MATCH_AH_ESP) += $(P_V4)ipt_ah $(P_V4)ipt_esp 
    183  
    184 IPT_NAT-m := 
    185 IPT_NAT-$(CONFIG_IP_NF_NAT) += $(P_V4)ipt_SNAT $(P_V4)ipt_DNAT 
    186 IPT_NAT-$(CONFIG_IP_NF_TARGET_MASQUERADE) += $(P_V4)ipt_MASQUERADE 
    187 IPT_NAT-$(CONFIG_IP_NF_TARGET_MIRROR) += $(P_V4)ipt_MIRROR 
    188 IPT_NAT-$(CONFIG_IP_NF_TARGET_REDIRECT) += $(P_V4)ipt_REDIRECT 
    189  
    190 IPT_NAT_EXTRA-m :=  
    191 IPT_NAT_EXTRA-$(CONFIG_IP_NF_AMANDA) += $(P_V4)ip_conntrack_amanda 
    192 IPT_NAT_EXTRA-$(CONFIG_IP_NF_CT_PROTO_GRE) += $(P_V4)ip_conntrack_proto_gre 
    193 IPT_NAT_EXTRA-$(CONFIG_IP_NF_NAT_PROTO_GRE) += $(P_V4)ip_nat_proto_gre 
    194 IPT_NAT_EXTRA-$(CONFIG_IP_NF_H323) += $(P_V4)ip_conntrack_h323 
    195 IPT_NAT_EXTRA-$(CONFIG_IP_NF_NAT_H323) += $(P_V4)ip_nat_h323 
    196 IPT_NAT_EXTRA-$(CONFIG_IP_NF_MMS) += $(P_V4)ip_conntrack_mms 
    197 IPT_NAT_EXTRA-$(CONFIG_IP_NF_NAT_MMS) += $(P_V4)ip_nat_mms 
    198 IPT_NAT_EXTRA-$(CONFIG_IP_NF_RTSP) += $(P_V4)ip_conntrack_rtsp 
    199 IPT_NAT_EXTRA-$(CONFIG_IP_NF_NAT_RTSP) += $(P_V4)ip_nat_rtsp 
    200 IPT_NAT_EXTRA-$(CONFIG_IP_NF_PPTP) += $(P_V4)ip_conntrack_pptp 
    201 IPT_NAT_EXTRA-$(CONFIG_IP_NF_SIP) += $(P_V4)ip_conntrack_sip 
    202 IPT_NAT_EXTRA-$(CONFIG_IP_NF_NAT_PPTP) += $(P_V4)ip_nat_pptp 
    203 IPT_NAT_EXTRA-$(CONFIG_IP_NF_NAT_SIP) += $(P_V4)ip_nat_sip 
    204 IPT_NAT_EXTRA-$(CONFIG_IP_NF_NAT_SNMP_BASIC) += $(P_V4)ip_nat_snmp_basic 
    205 IPT_NAT_EXTRA-$(CONFIG_IP_NF_SIP) += $(P_V4)ip_conntrack_sip 
    206 IPT_NAT_EXTRA-$(CONFIG_IP_NF_NAT_SIP) += $(P_V4)ip_nat_sip 
    207 IPT_NAT_EXTRA-$(CONFIG_IP_NF_TFTP) += $(P_V4)ip_conntrack_tftp 
    208  
    209 IPT_QUEUE-m := 
    210 IPT_QUEUE-$(CONFIG_IP_NF_QUEUE) += $(P_V4)ip_queue 
    211  
    212 IPT_ULOG-m := 
    213 IPT_ULOG-$(CONFIG_IP_NF_TARGET_ULOG) += $(P_V4)ipt_ULOG 
    214  
    215 IPT_BUILTIN := $(P_V4)ipt_standard 
    216 IPT_BUILTIN += $(P_V4)ipt_icmp $(P_V4)ipt_tcp $(P_V4)ipt_udp 
    217 IPT_BUILTIN += $(IPT_CONNTRACK-y) 
    218 IPT_BUILTIN += $(IPT_EXTRA-y) 
    219 IPT_BUILTIN += $(IPT_FILTER-y) 
    220 IPT_BUILTIN += $(IPT_IMQ-y) 
    221 IPT_BUILTIN += $(IPT_IPOPT-y) 
    222 IPT_BUILTIN += $(IPT_IPSEC-y) 
    223 IPT_BUILTIN += $(IPT_NAT-y) 
    224 IPT_BUILTIN += $(IPT_ULOG-y) 
    225  
    226 # broadcom specific kmod packages 
    227 $(eval $(call KMOD_template,BRCM_WL,brcm-wl,\ 
    228         $(MODULES_DIR)/kernel/drivers/net/wl/wl.o \ 
    229 ,CONFIG_WL,,20,wl)) 
    230  
    231 $(eval $(call KMOD_template,LP,lp,\ 
    232         $(MODULES_DIR)/kernel/drivers/parport/parport.o \ 
    233         $(MODULES_DIR)/kernel/drivers/parport/parport_splink.o \ 
    234         $(MODULES_DIR)/kernel/drivers/char/lp.o \ 
    235         $(MODULES_DIR)/kernel/drivers/char/ppdev.o \ 
    236 ,CONFIG_PARPORT,,50,parport parport_splink lp)) 
    237  
    238 # Networking 
    239  
    240 $(eval $(call KMOD_template,ATM,atm,\ 
    241         $(MODULES_DIR)/kernel/net/atm/atm.o \ 
    242         $(MODULES_DIR)/kernel/net/atm/br2684.o \ 
    243 ,CONFIG_ATM,,50,atm)) 
    244  
    245 $(eval $(call KMOD_template,GRE,gre,\ 
    246         $(MODULES_DIR)/kernel/net/ipv4/ip_gre.o \ 
    247 ,CONFIG_NET_IPGRE)) 
    248  
    249 $(eval $(call KMOD_template,IMQ,imq,\ 
    250         $(MODULES_DIR)/kernel/net/ipv4/netfilter/*IMQ*.o \ 
    251         $(MODULES_DIR)/kernel/drivers/net/imq.o \ 
    252 )) 
    253 $(eval $(call KMOD_template,IPIP,ipip,\ 
    254         $(MODULES_DIR)/kernel/net/ipv4/ipip.o \ 
    255 ,CONFIG_NET_IPIP,,60,ipip)) 
    256  
    257 $(eval $(call KMOD_template,IPV6,ipv6,\ 
    258         $(MODULES_DIR)/kernel/net/ipv6/ipv6.o \ 
    259 ,CONFIG_IPV6,,20,ipv6)) 
    260  
    261 $(eval $(call KMOD_template,PPP,ppp,\ 
    262         $(MODULES_DIR)/kernel/drivers/net/ppp_async.o \ 
    263         $(MODULES_DIR)/kernel/drivers/net/ppp_generic.o \ 
    264         $(MODULES_DIR)/kernel/drivers/net/slhc.o \ 
    265         $(MODULES_DIR)/kernel/drivers/net/pppox.o \ 
    266 ,CONFIG_PPP)) 
    267  
    268 $(eval $(call KMOD_template,MPPE,mppe,\ 
    269         $(MODULES_DIR)/kernel/drivers/net/ppp_mppe_mppc.o \ 
    270 ,CONFIG_PPP_MPPE_MPPC)) 
    271  
    272 $(eval $(call KMOD_template,PPPOATM,pppoatm,\ 
    273         $(MODULES_DIR)/kernel/net/atm/pppoatm.o \ 
    274 ,CONFIG_PPPOATM)) 
    275  
    276 $(eval $(call KMOD_template,PPPOE,pppoe,\ 
    277         $(MODULES_DIR)/kernel/drivers/net/pppoe.o \ 
    278 ,CONFIG_PPPOE)) 
    279  
    280 $(eval $(call KMOD_template,SCHED,sched,\ 
    281         $(MODULES_DIR)/kernel/net/sched/*.o \ 
    282 )) 
    283  
    284 $(eval $(call KMOD_template,TUN,tun,\ 
    285         $(MODULES_DIR)/kernel/drivers/net/tun.o \ 
    286 ,CONFIG_TUN,,20,tun)) 
    287  
    288 # Filtering / Firewalling 
    289  
    290 $(eval $(call KMOD_template,ARPTABLES,arptables,\ 
    291         $(MODULES_DIR)/kernel/net/ipv4/netfilter/arp*.o \ 
    292 ,CONFIG_IP_NF_ARPTABLES)) 
    293  
    294 $(eval $(call KMOD_template,EBTABLES,ebtables,\ 
    295         $(MODULES_DIR)/kernel/net/bridge/netfilter/*.o \ 
    296 ,CONFIG_BRIDGE_NF_EBTABLES)) 
    297  
    298 # metapackage for compatibility ... 
    299 $(eval $(call KMOD_template,IPTABLES_EXTRA,iptables-extra,\ 
    300 ,,kmod-ipt-conntrack kmod-ipt-extra kmod-ipt-filter kmod-ipt-ipopt kmod-ipt-ipsec kmod-ipt-nat kmod-ipt-nat-extra kmod-ipt-queue kmod-ipt-ulogd)) 
    301  
    302 $(eval $(call KMOD_template,IPT_CONNTRACK,ipt-conntrack,\ 
    303         $(foreach mod,$(IPT_CONNTRACK-m),$(MODULES_DIR)/kernel/net/ipv4/netfilter/$(mod).o) \ 
    304 )) 
    305  
    306 $(eval $(call KMOD_template,IPT_EXTRA,ipt-extra,\ 
    307         $(foreach mod,$(IPT_EXTRA-m),$(MODULES_DIR)/kernel/net/ipv4/netfilter/$(mod).o) \ 
    308 )) 
    309  
    310 $(eval $(call KMOD_template,IPT_FILTER,ipt-filter,\ 
    311         $(foreach mod,$(IPT_FILTER-m),$(MODULES_DIR)/kernel/net/ipv4/netfilter/$(mod).o) \ 
    312 )) 
    313  
    314 $(eval $(call KMOD_template,IPT_IPOPT,ipt-ipopt,\ 
    315         $(foreach mod,$(IPT_IPOPT-m),$(MODULES_DIR)/kernel/net/ipv4/netfilter/$(mod).o) \ 
    316 )) 
    317  
    318 $(eval $(call KMOD_template,IPT_IPSEC,ipt-ipsec,\ 
    319         $(foreach mod,$(IPT_IPSEC-m),$(MODULES_DIR)/kernel/net/ipv4/netfilter/$(mod).o) \ 
    320 )) 
    321  
    322 $(eval $(call KMOD_template,IPT_NAT,ipt-nat,\ 
    323         $(foreach mod,$(IPT_NAT-m),$(MODULES_DIR)/kernel/net/ipv4/netfilter/$(mod).o) \ 
    324 )) 
    325  
    326 $(eval $(call KMOD_template,IPT_NAT_EXTRA,ipt-nat-extra,\ 
    327         $(foreach mod,$(IPT_NAT_EXTRA-m),$(MODULES_DIR)/kernel/net/ipv4/netfilter/$(mod).o) \ 
    328 ,,,40,$(IPT_NAT_EXTRA-m))) 
    329  
    330 $(eval $(call KMOD_template,IPT_QUEUE,ipt-queue,\ 
    331         $(foreach mod,$(IPT_QUEUE-m),$(MODULES_DIR)/kernel/net/ipv4/netfilter/$(mod).o) \ 
    332 )) 
    333  
    334 $(eval $(call KMOD_template,IPT_ULOG,ipt-ulog,\ 
    335         $(foreach mod,$(IPT_ULOG-m),$(MODULES_DIR)/kernel/net/ipv4/netfilter/$(mod).o) \ 
    336 )) 
    337  
    338 $(eval $(call KMOD_template,IP6TABLES,ip6tables,\ 
    339         $(MODULES_DIR)/kernel/net/ipv6/netfilter/ip*.o \ 
    340 ,CONFIG_IP6_NF_IPTABLES,kmod-ipv6)) 
    341  
    342  
    343 # Block devices 
    344  
    345 $(eval $(call KMOD_template,IDE,ide,\ 
    346         $(MODULES_DIR)/kernel/drivers/ide/*.o \ 
    347         $(MODULES_DIR)/kernel/drivers/ide/*/*.o \ 
    348 ,CONFIG_IDE,,20,pdc202xx_old ide-core ide-detect ide-disk)) 
    349  
    350 $(eval $(call KMOD_template,LOOP,loop,\ 
    351     $(MODULES_DIR)/kernel/drivers/block/loop.o \ 
    352 ,CONFIG_BLK_DEV_LOOP,,20,loop)) 
    353  
    354 $(eval $(call KMOD_template,NBD,nbd,\ 
    355     $(MODULES_DIR)/kernel/drivers/block/nbd.o \ 
    356 ,CONFIG_BLK_DEV_NBD,,20,nbd)) 
    357  
    358 # Crypto 
    359  
    360 ifneq ($(wildcard $(MODULES_DIR)/kernel/crypto/*.o),) 
    361 CONFIG_CRYPTO:=m 
    362 endif 
    363 $(eval $(call KMOD_template,CRYPTO,crypto,\ 
    364         $(MODULES_DIR)/kernel/crypto/*.o \ 
    365 ,CONFIG_CRYPTO)) 
    366  
    367 # Filesystems 
    368  
    369 $(eval $(call KMOD_template,FS_CIFS,fs-cifs,\ 
    370         $(MODULES_DIR)/kernel/fs/cifs/cifs.o \ 
    371 ,CONFIG_CIFS,,30,cifs)) 
    372  
    373 $(eval $(call KMOD_template,FS_MINIX,fs-minix,\ 
    374         $(MODULES_DIR)/kernel/fs/minix/*.o \ 
    375 ,CONFIG_MINIX_FS,,30,minix)) 
    376  
    377 $(eval $(call KMOD_template,FS_EXT2,fs-ext2,\ 
    378         $(MODULES_DIR)/kernel/fs/ext2/*.o \ 
    379 ,CONFIG_EXT2_FS,,30,ext2)) 
    380  
    381 $(eval $(call KMOD_template,FS_EXT3,fs-ext3,\ 
    382         $(MODULES_DIR)/kernel/fs/ext3/*.o \ 
    383         $(MODULES_DIR)/kernel/fs/jbd/*.o \ 
    384 ,CONFIG_EXT3_FS,,30,jbd ext3)) 
    385  
    386 $(eval $(call KMOD_template,FS_HFSPLUS,fs-hfsplus,\ 
    387         $(MODULES_DIR)/kernel/fs/hfsplus/*.o \ 
    388 ,CONFIG_HFSPLUS_FS,,30,hfsplus)) 
    389  
    390 $(eval $(call KMOD_template,FS_NFS,fs-nfs,\ 
    391         $(MODULES_DIR)/kernel/fs/lockd/*.o \ 
    392         $(MODULES_DIR)/kernel/fs/nfs/*.o \ 
    393         $(MODULES_DIR)/kernel/net/sunrpc/*.o \ 
    394 ,CONFIG_NFS_FS,,30,sunrpc lockd nfs)) 
    395  
    396 $(eval $(call KMOD_template,FS_VFAT,fs-vfat,\ 
    397         $(MODULES_DIR)/kernel/fs/vfat/vfat.o \ 
    398         $(MODULES_DIR)/kernel/fs/fat/fat.o \ 
    399 ,CONFIG_VFAT_FS,,30,fat vfat)) 
    400  
    401 $(eval $(call KMOD_template,FS_XFS,fs-xfs,\ 
    402         $(MODULES_DIR)/kernel/fs/xfs/*.o \ 
    403 ,CONFIG_XFS_FS,,30,xfs)) 
    404  
    405  
    406 # Multimedia 
    407  
    408 $(eval $(call KMOD_template,PWC,pwc,\ 
    409         $(MODULES_DIR)/kernel/drivers/usb/pwc.o \ 
    410 ,CONFIG_USB_PWC,kmod-videodev,63,pwc)) 
    411  
    412 $(eval $(call KMOD_template,SOUNDCORE,soundcore,\ 
    413         $(MODULES_DIR)/kernel/drivers/sound/soundcore.o \ 
    414 ,CONFIG_SOUND,,30,soundcore)) 
    415  
    416 $(eval $(call KMOD_template,VIDEODEV,videodev,\ 
    417         $(MODULES_DIR)/kernel/drivers/media/video/videodev.o \ 
    418 ,CONFIG_VIDEO_DEV,,62,videodev)) 
    419  
    420  
    421 # Network devices 
    422  
    423 $(eval $(call KMOD_template,NET_3C59X,net-3c59x,\ 
    424         $(MODULES_DIR)/kernel/drivers/net/3c59x.o \ 
    425 ,CONFIG_VORTEX,,10,3c59x)) 
    426  
    427 $(eval $(call KMOD_template,NET_8139TOO,net-8139too,\ 
    428         $(MODULES_DIR)/kernel/drivers/net/8139too.o \ 
    429         $(MODULES_DIR)/kernel/drivers/net/mii.o \ 
    430 ,CONFIG_8139TOO,,10,mii 8139too)) 
    431  
    432 $(eval $(call KMOD_template,NET_AIRO,net-airo,\ 
    433         $(MODULES_DIR)/kernel/drivers/net/wireless/airo.o \ 
    434 ,CONFIG_AIRO,,10,airo)) 
    435  
    436 $(eval $(call KMOD_template,NET_E100,net-e100,\ 
    437         $(MODULES_DIR)/kernel/drivers/net/e100.o \ 
    438 ,CONFIG_E100,,10,e100)) 
    439  
    440 $(eval $(call KMOD_template,NET_HERMES,net-hermes,\ 
    441         $(MODULES_DIR)/kernel/drivers/net/wireless/hermes.o \ 
    442         $(MODULES_DIR)/kernel/drivers/net/wireless/orinoco.o \ 
    443 ,CONFIG_HERMES,,10,hermes orinoco)) 
    444  
    445 $(eval $(call KMOD_template,NET_HERMES_PCI,net-hermes-pci,\ 
    446         $(MODULES_DIR)/kernel/drivers/net/wireless/orinoco_pci.o \ 
    447 ,CONFIG_PCI_HERMES,kmod-net-hermes,11,orinoco_pci)) 
    448  
    449 $(eval $(call KMOD_template,NET_HERMES_PCI,net-hermes-plx,\ 
    450         $(MODULES_DIR)/kernel/drivers/net/wireless/orinoco_plx.o \ 
    451 ,CONFIG_PLX_HERMES,kmod-net-hermes,11,orinoco_plx)) 
    452  
    453 $(eval $(call KMOD_template,NET_NATSEMI,net-natsemi,\ 
    454         $(MODULES_DIR)/kernel/drivers/net/natsemi.o \ 
    455 ,CONFIG_NATSEMI,,10,natsemi)) 
    456  
    457 $(eval $(call KMOD_template,NET_PRISM54,net-prism54,\ 
    458         $(MODULES_DIR)/kernel/drivers/net/wireless/prism54/prism54.o \ 
    459 ,CONFIG_PRISM54,,10,prism54)) 
    460  
    461  
    462 # PCMCIA/CardBus 
    463  
    464 $(eval $(call KMOD_template,PCMCIA_CORE,pcmcia-core,\ 
    465         $(MODULES_DIR)/kernel/drivers/pcmcia/pcmcia_core.o \ 
    466         $(MODULES_DIR)/kernel/drivers/pcmcia/yenta_socket.o \ 
    467         $(MODULES_DIR)/kernel/drivers/pcmcia/ds.o \ 
    468 ,CONFIG_PCMCIA,,50,pcmcia_core yenta_socket ds)) 
    469  
    470 $(eval $(call KMOD_template,PCMCIA_SERIAL,pcmcia-serial,\ 
    471         $(MODULES_DIR)/kernel/drivers/char/pcmcia/serial_cs.o \ 
    472 ,CONFIG_PCMCIA_SERIAL_CS,kmod-pcmcia-core,51,serial_cs)) 
    473  
    474  
    475 # USB 
    476  
    477 $(eval $(call KMOD_template,USB,usb-core,\ 
    478         $(MODULES_DIR)/kernel/drivers/usb/usbcore.o \ 
    479 ,CONFIG_USB,,50,usbcore)) 
    480  
    481 $(eval $(call KMOD_template,USB_OHCI,usb-ohci,\ 
    482         $(MODULES_DIR)/kernel/drivers/usb/host/usb-ohci.o \ 
    483 ,CONFIG_USB_OHCI,kmod-usb-core,60,usb-ohci)) 
    484  
    485 $(eval $(call KMOD_template,USB_UHCI,usb-uhci,\ 
    486         $(MODULES_DIR)/kernel/drivers/usb/host/uhci.o \ 
    487 ,CONFIG_USB_UHCI_ALT,kmod-usb-core,60,uhci)) 
    488  
    489 $(eval $(call KMOD_template,USB2,usb2,\ 
    490         $(MODULES_DIR)/kernel/drivers/usb/host/ehci-hcd.o \ 
    491 ,CONFIG_USB_EHCI_HCD,kmod-usb-core,60,ehci-hcd)) 
    492  
    493 $(eval $(call KMOD_template,USB_ACM,usb-acm,\ 
    494         $(MODULES_DIR)/kernel/drivers/usb/acm.o \ 
    495 ,CONFIG_USB_ACM)) 
    496  
    497 $(eval $(call KMOD_template,USB_AUDIO,usb-audio,\ 
    498         $(MODULES_DIR)/kernel/drivers/usb/audio.o \ 
    499 ,CONFIG_USB_AUDIO,kmod-soundcore kmod-usb-core,61,audio)) 
    500  
    501 $(eval $(call KMOD_template,USB_PRINTER,usb-printer,\ 
    502         $(MODULES_DIR)/kernel/drivers/usb/printer.o \ 
    503 ,CONFIG_USB_PRINTER,kmod-usb-core,60,printer)) 
    504  
    505 $(eval $(call KMOD_template,USB_SERIAL,usb-serial,\ 
    506         $(MODULES_DIR)/kernel/drivers/usb/serial/usbserial.o \ 
    507 ,CONFIG_USB_SERIAL,kmod-usb-core,60,usbserial)) 
    508  
    509 $(eval $(call KMOD_template,USB_SERIAL_BELKIN,usb-serial-belkin,\ 
    510         $(MODULES_DIR)/kernel/drivers/usb/serial/belkin_sa.o \ 
    511 ,CONFIG_USB_SERIAL_BELKIN,kmod-usb-serial,61,belkin_sa)) 
    512  
    513 $(eval $(call KMOD_template,USB_SERIAL_FTDI,usb-serial-ftdi,\ 
    514         $(MODULES_DIR)/kernel/drivers/usb/serial/ftdi_sio.o \ 
    515 ,CONFIG_USB_SERIAL_FTDI_SIO,kmod-usb-serial,61,ftdi_sio)) 
    516  
    517 $(eval $(call KMOD_template,USB_SERIAL_MCT_U232,usb-serial-mct-u232,\ 
    518         $(MODULES_DIR)/kernel/drivers/usb/serial/mct_u232.o \ 
    519 ,CONFIG_USB_SERIAL_MCT_U232,kmod-usb-serial,61,mct_u232)) 
    520  
    521 $(eval $(call KMOD_template,USB_SERIAL_PL2303,usb-serial-pl2303,\ 
    522         $(MODULES_DIR)/kernel/drivers/usb/serial/pl2303.o \ 
    523 ,CONFIG_USB_SERIAL_PL2303,kmod-usb-serial,61,pl2303)) 
    524  
    525 $(eval $(call KMOD_template,USB_SERIAL_VISOR,usb-serial-visor,\ 
    526         $(MODULES_DIR)/kernel/drivers/usb/serial/visor.o \ 
    527 ,CONFIG_USB_SERIAL_VISOR,kmod-usb-serial,61,visor)) 
    528  
    529 $(eval $(call KMOD_template,USB_STORAGE,usb-storage,\ 
    530         $(MODULES_DIR)/kernel/drivers/scsi/*.o \ 
    531         $(MODULES_DIR)/kernel/drivers/usb/storage/*.o \ 
    532 ,CONFIG_USB_STORAGE,kmod-usb-core,60,scsi_mod sd_mod usb-storage)) 
    533  
    534  
    535 # Misc. devices 
    536  
    537 $(eval $(call KMOD_template,AX25,ax25,\ 
    538         $(MODULES_DIR)/kernel/net/ax25/ax25.o \ 
    539         $(MODULES_DIR)/kernel/drivers/net/hamradio/mkiss.o \ 
    540 ,CONFIG_AX25,,90,ax25 mkiss)) 
    541  
    542 $(eval $(call KMOD_template,BLUETOOTH,bluetooth,\ 
    543         $(MODULES_DIR)/kernel/net/bluetooth/*.o \ 
    544         $(MODULES_DIR)/kernel/net/bluetooth/rfcomm/*.o \ 
    545         $(MODULES_DIR)/kernel/drivers/bluetooth/*.o \ 
    546 ,CONFIG_BLUEZ)) 
    547  
    548 $(eval $(call KMOD_template,SOFTDOG,softdog,\ 
    549         $(MODULES_DIR)/kernel/drivers/char/softdog.o \ 
    550 ,CONFIG_SOFT_WATCHDOG,,95,softdog)) 
    551  
    552 # add model specific template 
    553  
     124else 
     125include $(FS)/config/config.jffs2 
     126endif 
     127endif 
     128 
     129 
     130include $(TOPDIR)/mk/netfilter.mk 
     131include $(TOPDIR)/mk/modules-$(KERNEL).mk 
    554132 
    555133LINUX_SOURCE:=linux-$(LINUX_VERSION).tar.bz2 
     
    585163        [ -d $(MODEL)/patches ] && $(PATCH) $(LINUX_DIR) $(MODEL)/patches $(MAKE_TRACE) 
    586164ifeq ($(FWRT_TARGET_ROOTFS_SQUASHFS_OVERLAY),y) 
     165ifneq ($(strip $(MODELCONFIG)),) 
    587166        $(CP) $(MODEL)/config/config.squashfs_overlay $(LINUX_DIR)/.config 
     167else 
     168        $(CP) $(FS)/config/config.squashfs_overlay $(LINUX_DIR)/.config 
     169endif 
    588170endif 
    589171ifeq ($(FWRT_TARGET_ROOTFS_JFFS2),y) 
     172ifneq ($(strip $(MODELCONFIG)),) 
    590173        $(CP) $(MODEL)/config/config.jffs2 $(LINUX_DIR)/.config 
     174else 
     175        $(CP) $(FS)/config/config.jffs2 $(LINUX_DIR)/.config 
     176endif 
    591177endif 
    592178        touch $@ 
  • branches/dn-kernel-2.4.33/freewrt/target/linux/brcm-2.4/patches/003-flash-map.patch

    r598 r656  
    11diff -Nur linux-2.4.32/drivers/mtd/maps/bcm947xx-flash.c linux-2.4.32-freewrt/drivers/mtd/maps/bcm947xx-flash.c 
    22--- linux-2.4.32/drivers/mtd/maps/bcm947xx-flash.c      1970-01-01 01:00:00.000000000 +0100 
    3 +++ linux-2.4.32-freewrt/drivers/mtd/maps/bcm947xx-flash.c      2006-09-16 14:47:29.000000000 +0200 
     3+++ linux-2.4.32-freewrt/drivers/mtd/maps/bcm947xx-flash.c      2006-09-16 21:23:45.000000000 +0200 
    44@@ -0,0 +1,346 @@ 
    55+/* 
     
    349349+module_init(init_bcm947xx_map); 
    350350+module_exit(cleanup_bcm947xx_map); 
     351diff -Nur linux-2.4.32/drivers/mtd/maps/bcm947xx-netgear-flash.c linux-2.4.32-freewrt/drivers/mtd/maps/bcm947xx-netgear-flash.c 
     352--- linux-2.4.32/drivers/mtd/maps/bcm947xx-netgear-flash.c      1970-01-01 01:00:00.000000000 +0100 
     353+++ linux-2.4.32-freewrt/drivers/mtd/maps/bcm947xx-netgear-flash.c      2006-09-16 21:24:47.000000000 +0200 
     354@@ -0,0 +1,356 @@ 
     355+/* 
     356+ *  Copyright (C) 2004 Florian Schirmer (jolt@tuxbox.org) 
     357+ *  Copyright (C) 2006 Waldemar Brodkorb <wbx@freewrt.org> 
     358+ * 
     359+ *  original functions for finding root filesystem from Mike Baker  
     360+ * 
     361+ *  This program is free software; you can redistribute  it and/or modify it 
     362+ *  under  the terms of  the GNU General  Public License as published by the 
     363+ *  Free Software Foundation;  either version 2 of the  License, or (at your 
     364+ *  option) any later version. 
     365+ * 
     366+ *  THIS  SOFTWARE  IS PROVIDED   ``AS  IS'' AND   ANY  EXPRESS OR IMPLIED 
     367+ *  WARRANTIES,   INCLUDING, BUT NOT  LIMITED  TO, THE IMPLIED WARRANTIES OF 
     368+ *  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.  IN 
     369+ *  NO  EVENT  SHALL   THE AUTHOR  BE    LIABLE FOR ANY   DIRECT, INDIRECT, 
     370+ *  INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 
     371+ *  NOT LIMITED   TO, PROCUREMENT OF  SUBSTITUTE GOODS  OR SERVICES; LOSS OF 
     372+ *  USE, DATA,  OR PROFITS; OR  BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON 
     373+ *  ANY THEORY OF LIABILITY, WHETHER IN  CONTRACT, STRICT LIABILITY, OR TORT 
     374+ *  (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 
     375+ *  THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
     376+ * 
     377+ *  You should have received a copy of the  GNU General Public License along 
     378+ *  with this program; if not, write  to the Free Software Foundation, Inc., 
     379+ *  675 Mass Ave, Cambridge, MA 02139, USA. 
     380+ *  
     381+ * 
     382+ * Copyright 2004, Broadcom Corporation 
     383+ * All Rights Reserved. 
     384+ *  
     385+ * THIS SOFTWARE IS OFFERED "AS IS", AND BROADCOM GRANTS NO WARRANTIES OF ANY 
     386+ * KIND, EXPRESS OR IMPLIED, BY STATUTE, COMMUNICATION OR OTHERWISE. BROADCOM 
     387+ * SPECIFICALLY DISCLAIMS ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS 
     388+ * FOR A SPECIFIC PURPOSE OR NONINFRINGEMENT CONCERNING THIS SOFTWARE. 
     389+ * 
     390+ * Flash mapping for BCM947XX boards 
     391+ * 
     392+ */ 
     393+ 
     394+#include <linux/module.h> 
     395+#include <linux/types.h> 
     396+#include <linux/kernel.h> 
     397+#include <asm/io.h> 
     398+#include <linux/mtd/mtd.h> 
     399+#include <linux/mtd/map.h> 
     400+#ifdef CONFIG_MTD_PARTITIONS 
     401+#include <linux/mtd/partitions.h> 
     402+#endif 
     403+#include <linux/config.h> 
     404+ 
     405+#include <typedefs.h> 
     406+#include <osl.h> 
     407+#include <bcmnvram.h> 
     408+#include <bcmutils.h> 
     409+#include <sbconfig.h> 
     410+#include <sbchipc.h> 
     411+#include <sbutils.h> 
     412+#include <trxhdr.h> 
     413+ 
     414+/* Global SB handle */ 
     415+extern void *bcm947xx_sbh; 
     416+extern spinlock_t bcm947xx_sbh_lock; 
     417+ 
     418+/* netgear wgt634u ? */ 
     419+extern int wgt634u; 
     420+ 
     421+/* Convenience */ 
     422+#define sbh bcm947xx_sbh 
     423+#define sbh_lock bcm947xx_sbh_lock 
     424+ 
     425+#define WINDOW_ADDR 0x1fc00000 
     426+#define WINDOW_SIZE 0x400000 
     427+#define BUSWIDTH 2 
     428+ 
     429+static struct mtd_info *bcm947xx_mtd; 
     430+ 
     431+__u8 bcm947xx_map_read8(struct map_info *map, unsigned long ofs) 
     432+{ 
     433+       if (map->map_priv_2 == 1) 
     434+               return __raw_readb(map->map_priv_1 + ofs); 
     435+ 
     436+       u16 val = __raw_readw(map->map_priv_1 + (ofs & ~1)); 
     437+       if (ofs & 1) 
     438+               return ((val >> 8) & 0xff); 
     439+       else 
     440+               return (val & 0xff); 
     441+} 
     442+ 
     443+__u16 bcm947xx_map_read16(struct map_info *map, unsigned long ofs) 
     444+{ 
     445+       return __raw_readw(map->map_priv_1 + ofs); 
     446+} 
     447+ 
     448+__u32 bcm947xx_map_read32(struct map_info *map, unsigned long ofs) 
     449+{ 
     450+       return __raw_readl(map->map_priv_1 + ofs); 
     451+} 
     452+ 
     453+void bcm947xx_map_copy_from(struct map_info *map, void *to, unsigned long from, ssize_t len) 
     454+{ 
     455+       if (len==1) { 
     456+               memcpy_fromio(to, map->map_priv_1 + from, len); 
     457+       } else { 
     458+               int i; 
     459+               u16 *dest = (u16 *) to; 
     460+               u16 *src  = (u16 *) (map->map_priv_1 + from); 
     461+               for (i = 0; i < (len / 2); i++) { 
     462+                       dest[i] = src[i]; 
     463+               } 
     464+               if (len & 1) 
     465+                       *((u8 *)dest+len-1) = src[i] & 0xff; 
     466+       } 
     467+} 
     468+ 
     469+void bcm947xx_map_write8(struct map_info *map, __u8 d, unsigned long adr) 
     470+{ 
     471+       __raw_writeb(d, map->map_priv_1 + adr); 
     472+       mb(); 
     473+} 
     474+ 
     475+void bcm947xx_map_write16(struct map_info *map, __u16 d, unsigned long adr) 
     476+{ 
     477+       __raw_writew(d, map->map_priv_1 + adr); 
     478+       mb(); 
     479+} 
     480+ 
     481+void bcm947xx_map_write32(struct map_info *map, __u32 d, unsigned long adr) 
     482+{ 
     483+       __raw_writel(d, map->map_priv_1 + adr); 
     484+       mb(); 
     485+} 
     486+ 
     487+void bcm947xx_map_copy_to(struct map_info *map, unsigned long to, const void *from, ssize_t len) 
     488+{ 
     489+       memcpy_toio(map->map_priv_1 + to, from, len); 
     490+} 
     491+ 
     492+struct map_info bcm947xx_map = { 
     493+       name: "Physically mapped flash", 
     494+       size: WINDOW_SIZE, 
     495+       buswidth: BUSWIDTH, 
     496+       read8: bcm947xx_map_read8, 
     497+       read16: bcm947xx_map_read16, 
     498+       read32: bcm947xx_map_read32, 
     499+       copy_from: bcm947xx_map_copy_from, 
     500+       write8: bcm947xx_map_write8, 
     501+       write16: bcm947xx_map_write16, 
     502+       write32: bcm947xx_map_write32, 
     503+       copy_to: bcm947xx_map_copy_to 
     504+}; 
     505+ 
     506+#ifdef CONFIG_MTD_PARTITIONS 
     507+ 
     508+static struct mtd_partition bcm947xx_parts[] = { 
     509+       { name: "cfe",  offset: 0, size: 0, mask_flags: MTD_WRITEABLE, }, 
     510+       { name: "linux", offset: 0, size: 0, }, 
     511+       { name: "rootfs", offset: 0, size: 0, }, 
     512+       { name: "config", offset: 0, size: 0, mask_flags: MTD_WRITEABLE, }, 
     513+       { name: "data", offset: 0, size: 0, }, 
     514+       { name: "fwcf", offset: 0, size: 0, }, 
     515+       { name: "nvram", offset: 0, size: 0, mask_flags: MTD_WRITEABLE, }, 
     516+       { name: NULL, }, 
     517+}; 
     518+ 
     519+ 
     520+static int __init 
     521+find_root(struct mtd_info *mtd, size_t size, struct mtd_partition *part) 
     522+{ 
     523+       struct trx_header *trx; 
     524+       unsigned char buf[512]; 
     525