From 5c105d9f3fd086aff195d3849dcf847d6b0bd927 Mon Sep 17 00:00:00 2001 From: blogic Date: Fri, 5 Oct 2012 10:12:53 +0000 Subject: branch Attitude Adjustment git-svn-id: svn://svn.openwrt.org/openwrt/branches/attitude_adjustment@33625 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- package/6in4/Makefile | 42 + package/6in4/files/6in4.sh | 90 + package/6rd/Makefile | 53 + package/6rd/files/6rd.sh | 80 + package/6rd/src/6rdcalc.c | 126 + package/6rd/src/Makefile | 7 + package/6to4/Makefile | 42 + package/6to4/files/6to4.sh | 209 + package/Makefile | 105 + package/acx-mac80211/Makefile | 245 + .../001-make-compatible-with-recent-mac80211.patch | 43 + .../patches/004-ratelimit_compile_fix.patch | 10 + .../patches/100-hw-queue-check-fix.patch | 42 + package/admswconfig/Makefile | 51 + package/admswconfig/files/admswconfig | 68 + package/admswconfig/files/admswswitch.sh | 28 + package/admswconfig/patches/001-matrix.patch | 15 + package/apex/Makefile | 58 + package/apex/patches/001-compile_fix.patch | 20 + .../patches/100-openwrt_nslu2_armeb_config.patch | 23 + .../120-openwrt_nslu2_16mb_armeb_config.patch | 23 + .../patches/140-openwrt_fsg3_armeb_config.patch | 23 + package/apex/patches/150-limit_ram_to_64mb.patch | 22 + .../patches/160-openwrt_nas100d_armeb_config.patch | 20 + package/ar7-atm/Config.in | 22 + package/ar7-atm/Makefile | 99 + .../patches-D7.04.03.00/100-compile_fix.patch | 768 ++ .../patches-D7.04.03.00/110-interrupt_fix.patch | 37 + .../patches-D7.04.03.00/120-no_dumb_inline.patch | 11 + .../patches-D7.04.03.00/130-powercutback.patch | 44 + .../patches-D7.04.03.00/140-debug_mode.patch | 16 + .../patches-D7.04.03.00/150-tasklet_mode.patch | 11 + .../patches-D7.04.03.00/160-module-params.patch | 577 + .../patches-D7.04.03.00/170-bus_id_removal.patch | 30 + .../180-git_headers_include.patch | 54 + .../190-2.6.32_proc_fixes.patch | 79 + .../patches-D7.04.03.00/200-2.6.37_args.patch | 36 + .../210-3.3-remove-smp_lock.h.patch | 33 + .../patches-D7.05.01.00/100-compile_fix.patch | 808 ++ .../patches-D7.05.01.00/110-interrupt_fix.patch | 37 + .../patches-D7.05.01.00/120-no_dumb_inline.patch | 11 + .../patches-D7.05.01.00/130-powercutback.patch | 44 + .../patches-D7.05.01.00/140-debug_mode.patch | 16 + .../patches-D7.05.01.00/150-tasklet_mode.patch | 11 + .../patches-D7.05.01.00/160-module-params.patch | 663 ++ .../patches-D7.05.01.00/170-bus_id_removal.patch | 30 + .../180-git_headers_include.patch | 54 + .../190-2.6.32_proc_fixes.patch | 79 + .../patches-D7.05.01.00/200-2.6.37_args.patch | 36 + .../210-3.3-remove-smp_lock.h.patch | 33 + package/arptables/Makefile | 42 + .../arptables/patches/100-always_optimize.patch | 19 + package/avila-wdt/Makefile | 40 + package/avila-wdt/src/Makefile | 1 + package/avila-wdt/src/avila-wdt.c | 231 + package/base-files/Makefile | 155 + package/base-files/files/bin/ipcalc.sh | 62 + package/base-files/files/bin/login.sh | 19 + package/base-files/files/etc/banner | 16 + package/base-files/files/etc/config/network | 14 + package/base-files/files/etc/config/system | 10 + package/base-files/files/etc/diag.sh | 4 + package/base-files/files/etc/functions.sh | 1 + package/base-files/files/etc/group | 10 + package/base-files/files/etc/hosts | 1 + .../files/etc/hotplug.d/ieee1394/10-ieee1394 | 13 + package/base-files/files/etc/hotplug.d/usb/10-usb | 13 + package/base-files/files/etc/hotplug2-common.rules | 43 + package/base-files/files/etc/hotplug2-init.rules | 5 + package/base-files/files/etc/init.d/boot | 103 + package/base-files/files/etc/init.d/done | 20 + package/base-files/files/etc/init.d/led | 80 + package/base-files/files/etc/init.d/rcS | 26 + package/base-files/files/etc/init.d/sysctl | 7 + package/base-files/files/etc/init.d/sysntpd | 37 + package/base-files/files/etc/init.d/umount | 8 + package/base-files/files/etc/init.d/usb | 9 + package/base-files/files/etc/init.d/watchdog | 13 + package/base-files/files/etc/inittab | 4 + package/base-files/files/etc/openwrt_release | 6 + package/base-files/files/etc/openwrt_version | 1 + package/base-files/files/etc/passwd | 5 + package/base-files/files/etc/preinit | 44 + package/base-files/files/etc/profile | 15 + package/base-files/files/etc/protocols | 56 + package/base-files/files/etc/rc.common | 85 + package/base-files/files/etc/rc.local | 4 + package/base-files/files/etc/services | 171 + package/base-files/files/etc/shadow | 5 + package/base-files/files/etc/shells | 1 + package/base-files/files/etc/sysctl.conf | 27 + package/base-files/files/etc/sysupgrade.conf | 5 + .../files/etc/uci-defaults/migrate-shadow | 12 + .../files/etc/uci-defaults/migrate-sysctl | 17 + .../files/lib/firstboot/05_firstboot_skip | 10 + .../files/lib/firstboot/10_determine_parts | 46 + .../files/lib/firstboot/10_no_fo_clear_overlay | 17 + .../files/lib/firstboot/10_reset_has_mini_fo | 12 + .../base-files/files/lib/firstboot/20_has_mini_fo | 13 + .../files/lib/firstboot/20_no_fo_mount_jffs | 15 + .../files/lib/firstboot/20_reset_clear_jffs | 14 + .../files/lib/firstboot/30_is_rootfs_mounted | 10 + .../base-files/files/lib/firstboot/30_no_fo_pivot | 11 + .../files/lib/firstboot/30_reset_copy_rom | 13 + .../files/lib/firstboot/40_copy_ramoverlay | 15 + .../files/lib/firstboot/40_no_fo_copy_ramoverlay | 14 + package/base-files/files/lib/firstboot/50_pivot | 17 + .../files/lib/firstboot/99_10_no_fo_cleanup | 13 + .../files/lib/firstboot/99_10_with_fo_cleanup | 25 + package/base-files/files/lib/functions.sh | 340 + package/base-files/files/lib/functions/boot.sh | 150 + package/base-files/files/lib/functions/network.sh | 170 + package/base-files/files/lib/functions/service.sh | 129 + .../base-files/files/lib/functions/uci-defaults.sh | 230 + .../files/lib/preinit/02_default_set_state | 7 + package/base-files/files/lib/preinit/05_mount_skip | 13 + .../base-files/files/lib/preinit/10_check_for_mtd | 20 + .../base-files/files/lib/preinit/10_essential_fs | 25 + .../files/lib/preinit/10_indicate_failsafe | 18 + .../files/lib/preinit/10_indicate_preinit | 52 + .../files/lib/preinit/20_check_jffs2_ready | 19 + .../files/lib/preinit/20_device_fs_mount | 37 + .../files/lib/preinit/30_device_fs_daemons | 36 + .../base-files/files/lib/preinit/30_failsafe_wait | 85 + package/base-files/files/lib/preinit/40_init_shm | 10 + .../base-files/files/lib/preinit/40_mount_devpts | 15 + .../base-files/files/lib/preinit/40_mount_jffs2 | 26 + .../files/lib/preinit/40_run_failsafe_hook | 13 + .../files/lib/preinit/41_merge_overlay_hooks | 24 + .../base-files/files/lib/preinit/50_choose_console | 31 + .../files/lib/preinit/50_indicate_regular_preinit | 12 + .../base-files/files/lib/preinit/60_init_hotplug | 10 + .../base-files/files/lib/preinit/70_initramfs_test | 14 + .../files/lib/preinit/70_pivot_jffs2_root | 14 + package/base-files/files/lib/preinit/80_mount_root | 10 + .../base-files/files/lib/preinit/90_init_console | 14 + .../base-files/files/lib/preinit/90_mount_no_jffs2 | 12 + .../base-files/files/lib/preinit/90_restore_config | 17 + .../files/lib/preinit/99_10_failsafe_login | 18 + .../files/lib/preinit/99_10_mount_no_mtd | 12 + .../base-files/files/lib/preinit/99_10_run_init | 16 + package/base-files/files/lib/upgrade/common.sh | 230 + .../files/lib/upgrade/keep.d/base-files-essential | 9 + package/base-files/files/rom/note | 3 + package/base-files/files/sbin/firstboot | 34 + package/base-files/files/sbin/hotplug-call | 17 + package/base-files/files/sbin/led.sh | 25 + package/base-files/files/sbin/mount_root | 26 + package/base-files/files/sbin/sysupgrade | 187 + package/base-files/files/sbin/wifi | 204 + package/base-files/image-config.in | 185 + package/block-mount/Config.in | 17 + package/block-mount/Makefile | 70 + package/block-mount/files/10-swap | 78 + package/block-mount/files/20-fsck | 83 + package/block-mount/files/40-mount | 91 + package/block-mount/files/50_determine_usb_root | 65 + .../files/55_determine_extroot_sysupgrade | 63 + package/block-mount/files/60_pivot_usb_root | 27 + package/block-mount/files/block.sh | 264 + package/block-mount/files/extmount.sh | 37 + package/block-mount/files/fsck.sh | 34 + package/block-mount/files/fstab.config | 20 + package/block-mount/files/fstab.init | 88 + package/block-mount/files/mount.sh | 103 + package/brcm2708-gpu-fw/Makefile | 46 + package/bridge-utils/Makefile | 51 + .../patches/001-libbridge_cflags.patch | 11 + package/broadcom-diag/Makefile | 37 + package/broadcom-diag/src/Makefile | 17 + package/broadcom-diag/src/diag.c | 1686 +++ package/broadcom-diag/src/diag.h | 134 + package/broadcom-diag/src/gpio.h | 16 + package/broadcom-wl/Makefile | 175 + .../files/etc/hotplug.d/net/20-broadcom_wds | 61 + package/broadcom-wl/files/etc/init.d/wlunbind | 29 + package/broadcom-wl/files/lib/wifi/broadcom.sh | 392 + .../broadcom-wl/patches/003-compat-2.6.35.patch | 39 + .../broadcom-wl/patches/004-remove-pcmcia.patch | 22 + .../patches/005-fix-mem-leak-on-unload.patch | 31 + .../broadcom-wl/patches/006-generic-dma-api.patch | 88 + .../broadcom-wl/patches/007-use-glue-driver.patch | 184 + .../patches/008-fix_virtual_interfaces.patch | 11 + .../broadcom-wl/patches/009-fix_compile_3_2.patch | 27 + .../patches/010-remove_irqf_samble_random.patch | 11 + .../broadcom-wl/patches/910-fallback-sprom.patch | 84 + .../patches/912-pci-bus-nvram-hack.patch | 11 + package/broadcom-wl/src/glue/Makefile | 17 + package/broadcom-wl/src/glue/wl_glue.c | 317 + package/broadcom-wl/src/glue/wl_glue.h | 22 + package/broadcom-wl/src/wlc.c | 1086 ++ package/busybox/Config.in | 24 + package/busybox/Makefile | 115 + package/busybox/config/Config.in | 778 ++ package/busybox/config/archival/Config.in | 380 + package/busybox/config/console-tools/Config.in | 177 + package/busybox/config/coreutils/Config.in | 913 ++ package/busybox/config/debianutils/Config.in | 86 + package/busybox/config/e2fsprogs/Config.in | 72 + .../config/e2fsprogs/old_e2fsprogs/Config.in | 70 + package/busybox/config/editors/Config.in | 206 + package/busybox/config/findutils/Config.in | 252 + package/busybox/config/init/Config.in | 184 + package/busybox/config/libbb/Config.in | 232 + package/busybox/config/loginutils/Config.in | 329 + package/busybox/config/mailutils/Config.in | 56 + package/busybox/config/miscutils/Config.in | 766 ++ package/busybox/config/modutils/Config.in | 269 + package/busybox/config/networking/Config.in | 1088 ++ package/busybox/config/networking/udhcp/Config.in | 155 + package/busybox/config/printutils/Config.in | 29 + package/busybox/config/procps/Config.in | 260 + package/busybox/config/runit/Config.in | 90 + package/busybox/config/selinux/Config.in | 125 + package/busybox/config/shell/Config.in | 433 + package/busybox/config/sysklogd/Config.in | 154 + package/busybox/config/util-linux/Config.in | 985 ++ package/busybox/convert_menuconfig.pl | 78 + package/busybox/files/cron | 18 + package/busybox/files/telnet | 37 + .../patches/001-init_avoid_loop_opening_tty.patch | 15 + ...se_md5_hash_by_default_like_it_used_to_be.patch | 20 + package/busybox/patches/003-brctl_show_fix.patch | 37 + .../004-upstream-percent_decode_in_place.patch | 237 + .../busybox/patches/005-resource_h_include.patch | 10 + .../patches/006-upstream_CVE-2011-2716_fixes.patch | 164 + package/busybox/patches/110-wget_getopt_fix.patch | 11 + package/busybox/patches/140-trylink_bash.patch | 8 + .../busybox/patches/141-gen_build_files_bash.patch | 8 + package/busybox/patches/150-no_static_libgcc.patch | 11 + package/busybox/patches/200-etc_crontabs.patch | 22 + package/busybox/patches/240-udhcpc_retries.patch | 20 + .../patches/241-udhcpc-oversized_packets.patch | 99 + package/busybox/patches/242-udhcpc_msgs.patch | 18 + .../patches/243-udhcpc_changed_ifindex.patch | 15 + .../patches/244-udhcpc_add_6rd_option.patch | 143 + package/busybox/patches/250-ash_export-n.patch | 34 + .../patches/251-ash_fix-redir-substitution.patch | 12 + package/busybox/patches/300-netmsg.patch | 103 + package/busybox/patches/310-passwd_access.patch | 41 + package/busybox/patches/340-lock_util.patch | 172 + package/busybox/patches/350-httpd_redir.patch | 90 + .../busybox/patches/410-httpd_cgi_headers.patch | 16 + package/busybox/patches/440-httpd_chdir.patch | 10 + package/busybox/patches/470-insmod_search.patch | 137 + package/busybox/patches/480-mount_union.patch | 29 + .../busybox/patches/490-mount_disable_check.patch | 12 + package/busybox/patches/510-awk_include.patch | 217 + package/busybox/patches/524-udhcpc_renew.patch | 10 + .../busybox/patches/610-ntpd_delayed_resolve.patch | 48 + .../busybox/patches/700-hexdump_segfault_fix.patch | 11 + package/busybox/patches/802-brctl_linux24.patch | 74 + package/busybox/patches/803-id_getgrouplist.patch | 49 + package/busybox/patches/902-telnetd_intr.patch | 10 + package/busybox/patches/910-insmod-q-flag.patch | 33 + package/busybox/patches/911-date-k-flag.patch | 83 + package/busybox/patches/920-portability.patch | 13 + package/busybox/patches/950-partial-checksum.patch | 87 + package/button-hotplug/Makefile | 53 + package/button-hotplug/src/Kconfig | 2 + package/button-hotplug/src/Makefile | 1 + package/button-hotplug/src/button-hotplug.c | 349 + package/comgt/Makefile | 65 + package/comgt/files/3g.chat | 12 + package/comgt/files/3g.sh | 97 + package/comgt/files/3g.usb | 33 + package/comgt/files/evdo.chat | 17 + package/comgt/files/getcardinfo.gcom | 14 + package/comgt/files/getcarrier.gcom | 20 + package/comgt/files/getcnum.gcom | 20 + package/comgt/files/getimsi.gcom | 17 + package/comgt/files/getstrength.gcom | 14 + package/comgt/files/setmode.gcom | 26 + package/comgt/files/setpin.gcom | 55 + package/comgt/patches/001-compile_fix.patch | 23 + package/compcache/Config.in | 29 + package/compcache/Makefile | 75 + package/compcache/files/compcache.config | 4 + package/compcache/files/compcache.init | 48 + .../compcache/patches/000-provide_lzo_kmod.patch | 647 + package/compcache/patches/001-lzo-speed.patch | 181 + .../patches/002-kernel-2.6.34-compat.patch | 10 + .../compcache/patches/003-kernel-3.x-compat.patch | 31 + package/crda/Makefile | 74 + package/crda/files/hotplug.rule | 6 + .../patches/101-make_crypto_use_optional.patch | 13 + package/cyassl/Makefile | 56 + .../110-makefile_disable_examples_tests.patch | 46 + package/cyassl/patches/120-makefile_destdir.patch | 71 + .../130-configure_disable_pthreads_tests.patch | 444 + package/dnsmasq/Makefile | 88 + package/dnsmasq/files/dhcp.conf | 31 + package/dnsmasq/files/dnsmasq.conf | 37 + package/dnsmasq/files/dnsmasq.init | 529 + .../0001-Set-prefix-on-link-bit-in-RAs.patch | 42 + .../patches/100-fix-dhcp-no-address-warning.patch | 49 + package/dropbear/Makefile | 114 + package/dropbear/files/dropbear.config | 5 + package/dropbear/files/dropbear.init | 191 + package/dropbear/patches/100-pubkey_path.patch | 91 + package/dropbear/patches/110-change_user.patch | 18 + package/dropbear/patches/120-openwrt_options.patch | 67 + .../patches/130-ssh_ignore_o_and_x_args.patch | 21 + package/dropbear/patches/140-disable_assert.patch | 14 + .../patches/150-dbconvert_standalone.patch | 14 + package/dropbear/patches/200-lcrypt_bsdfix.patch | 29 + .../patches/300-ipv6_addr_port_split.patch | 11 + package/dropbear/patches/400-CVE-2012-0920.patch | 91 + .../dropbear/patches/500-set-default-path.patch | 11 + package/e2fsprogs/Makefile | 169 + package/e2fsprogs/files/e2fsck.conf | 3 + package/e2fsprogs/files/e2fsck.sh | 38 + .../patches/001-link-against-libuuid.patch | 38 + package/e2fsprogs/patches/002-no_malloc_h.patch | 10 + package/ead/Makefile | 55 + package/ead/src/Makefile | 33 + package/ead/src/aes.c | 1061 ++ package/ead/src/ead-client.c | 433 + package/ead/src/ead-crypt.c | 179 + package/ead/src/ead-crypt.h | 21 + package/ead/src/ead-pcap.h | 71 + package/ead/src/ead.c | 991 ++ package/ead/src/ead.h | 139 + package/ead/src/filter.c | 25 + package/ead/src/libbridge.h | 84 + package/ead/src/libbridge_init.c | 208 + package/ead/src/libbridge_private.h | 35 + package/ead/src/list.h | 602 + package/ead/src/passwd | 3 + package/ead/src/pfc.c | 54 + package/ead/src/pw_encrypt_md5.c | 646 + package/ead/src/sha1.c | 104 + package/ead/src/tinysrp/Makefile.am | 28 + package/ead/src/tinysrp/Makefile.in | 477 + package/ead/src/tinysrp/Notes | 110 + package/ead/src/tinysrp/acconfig.h | 9 + package/ead/src/tinysrp/acinclude.m4 | 27 + package/ead/src/tinysrp/aclocal.m4 | 157 + package/ead/src/tinysrp/bn.h | 471 + package/ead/src/tinysrp/bn_add.c | 305 + package/ead/src/tinysrp/bn_asm.c | 382 + package/ead/src/tinysrp/bn_ctx.c | 142 + package/ead/src/tinysrp/bn_div.c | 378 + package/ead/src/tinysrp/bn_exp.c | 395 + package/ead/src/tinysrp/bn_lcl.h | 419 + package/ead/src/tinysrp/bn_lib.c | 576 + package/ead/src/tinysrp/bn_mul.c | 176 + package/ead/src/tinysrp/bn_prime.h | 325 + package/ead/src/tinysrp/bn_shift.c | 139 + package/ead/src/tinysrp/bn_sqr.c | 160 + package/ead/src/tinysrp/bn_word.c | 130 + package/ead/src/tinysrp/clitest.c | 112 + package/ead/src/tinysrp/config.h.in | 79 + package/ead/src/tinysrp/configure | 2421 ++++ package/ead/src/tinysrp/configure.in | 52 + package/ead/src/tinysrp/install-sh | 250 + package/ead/src/tinysrp/missing | 134 + package/ead/src/tinysrp/mkinstalldirs | 39 + package/ead/src/tinysrp/srvtest.c | 111 + package/ead/src/tinysrp/stamp-h.in | 1 + package/ead/src/tinysrp/t_client.c | 287 + package/ead/src/tinysrp/t_client.h | 148 + package/ead/src/tinysrp/t_conf.c | 1080 ++ package/ead/src/tinysrp/t_conv.c | 226 + package/ead/src/tinysrp/t_defines.h | 169 + package/ead/src/tinysrp/t_getconf.c | 118 + package/ead/src/tinysrp/t_getpass.c | 191 + package/ead/src/tinysrp/t_math.c | 177 + package/ead/src/tinysrp/t_misc.c | 338 + package/ead/src/tinysrp/t_pw.c | 262 + package/ead/src/tinysrp/t_pwd.h | 310 + package/ead/src/tinysrp/t_read.c | 81 + package/ead/src/tinysrp/t_read.h | 55 + package/ead/src/tinysrp/t_server.c | 259 + package/ead/src/tinysrp/t_server.h | 138 + package/ead/src/tinysrp/t_sha.c | 166 + package/ead/src/tinysrp/t_sha.h | 26 + package/ead/src/tinysrp/t_truerand.c | 151 + package/ead/src/tinysrp/tconf.c | 157 + package/ead/src/tinysrp/tinysrp.c | 235 + package/ead/src/tinysrp/tinysrp.h | 18 + package/ead/src/tinysrp/tpasswd | 2 + package/ead/src/tinysrp/tphrase.c | 348 + package/ebtables/Makefile | 71 + package/ep80579-drivers/Makefile | 92 + .../ep80579-drivers/patches/001-igbe_update.patch | 11755 +++++++++++++++++++ .../patches/002-cflags_cleanup.patch | 22 + .../patches/003-new_irqf_constants.patch | 53 + .../patches/100-iegbe_netdev_ops.patch | 56 + .../patches/101-iegbe_fix_napi_interface.patch | 41 + .../patches/102-iegbe_nuke_polling_netdev.patch | 103 + .../103-iegbe_convert_unicast_addr_list.patch | 60 + ...04-iegbe_group_address_list_and_its_count.patch | 20 + .../patches/105-iegbe_new_dma_masks.patch | 20 + .../patches/106-iegbe_new_irqf_constant.patch | 12 + .../patches/150-ocracoke_island.patch | 747 ++ .../patches/200-can_fix_ioctl_numbers.patch | 11 + .../patches/210-can_include_linux_fs_h.patch | 11 + .../patches/220-can_fix_irq_request.patch | 23 + .../230-can_remove_driver_data_direct_access.patch | 40 + .../patches/300-wdt_compile_fix.patch | 59 + .../patches/400-edma_fix_irq_request_warning.patch | 22 + .../patches/500-1588_fix_irq_request_warning.patch | 22 + .../patches/600-2.6.27_includes.patch | 22 + .../patches/601-2.6.32_includes.patch | 30 + .../patches/700-iegbe_kcompat_2.6.30.patch | 31 + .../patches/701-iegbe_poll_dev.patch | 11 + .../710-3.3-fix-generated-header-locations.patch | 91 + .../patches/711-3.3-gbe-fixes.patch | 392 + .../patches/712-3.3-can-fixes.patch | 41 + .../patches/713-3.3-gpio-fixes.patch | 33 + .../patches/714-3.3-wdt-fixes.patch | 31 + .../patches/715-3.3-1588-fixes.patch | 33 + package/fbtest/Makefile | 44 + package/fbtest/src/Makefile | 14 + package/fbtest/src/fbtest.c | 448 + package/fconfig/Makefile | 45 + package/firewall/Makefile | 58 + package/firewall/files/bin/fw | 49 + package/firewall/files/firewall.config | 176 + package/firewall/files/firewall.hotplug | 22 + package/firewall/files/firewall.init | 27 + package/firewall/files/firewall.upgrade | 1 + package/firewall/files/firewall.user | 4 + package/firewall/files/lib/config.sh | 101 + package/firewall/files/lib/core.sh | 159 + package/firewall/files/lib/core_forwarding.sh | 44 + package/firewall/files/lib/core_init.sh | 338 + package/firewall/files/lib/core_interface.sh | 205 + package/firewall/files/lib/core_redirect.sh | 130 + package/firewall/files/lib/core_rule.sh | 110 + package/firewall/files/lib/fw.sh | 324 + package/firewall/files/lib/uci_firewall.sh | 5 + package/firewall/files/reflection.hotplug | 132 + package/fuse/Makefile | 108 + package/fuse/patches/112-no_break_on_mknod.patch | 11 + package/gdb/Makefile | 87 + package/goldfish-qemu/Makefile | 70 + package/goldfish-qemu/patches/100-darwin_fix.patch | 30 + .../goldfish-qemu/patches/110-single_image.patch | 233 + package/goldfish-qemu/skins/HVGA/arrow_down.png | Bin 0 -> 3438 bytes package/goldfish-qemu/skins/HVGA/arrow_left.png | Bin 0 -> 4122 bytes package/goldfish-qemu/skins/HVGA/arrow_right.png | Bin 0 -> 4147 bytes package/goldfish-qemu/skins/HVGA/arrow_up.png | Bin 0 -> 3493 bytes package/goldfish-qemu/skins/HVGA/back.png | Bin 0 -> 3564 bytes package/goldfish-qemu/skins/HVGA/device.png | Bin 0 -> 45511 bytes package/goldfish-qemu/skins/HVGA/end.png | Bin 0 -> 3562 bytes package/goldfish-qemu/skins/HVGA/home.png | Bin 0 -> 3578 bytes package/goldfish-qemu/skins/HVGA/key.png | Bin 0 -> 2857 bytes package/goldfish-qemu/skins/HVGA/keyboard.png | Bin 0 -> 11032 bytes package/goldfish-qemu/skins/HVGA/layout | 380 + package/goldfish-qemu/skins/HVGA/menu.png | Bin 0 -> 3079 bytes package/goldfish-qemu/skins/HVGA/power.png | Bin 0 -> 3782 bytes package/goldfish-qemu/skins/HVGA/select.png | Bin 0 -> 3374 bytes package/goldfish-qemu/skins/HVGA/send.png | Bin 0 -> 3561 bytes package/goldfish-qemu/skins/HVGA/spacebar.png | Bin 0 -> 2916 bytes package/goldfish-qemu/skins/HVGA/volume_down.png | Bin 0 -> 3586 bytes package/goldfish-qemu/skins/HVGA/volume_up.png | Bin 0 -> 3856 bytes package/gpio-button-hotplug/Makefile | 44 + package/gpio-button-hotplug/src/Makefile | 1 + .../gpio-button-hotplug/src/gpio-button-hotplug.c | 450 + package/gpioctl/Makefile | 43 + package/gpioctl/src/Makefile | 24 + package/gpioctl/src/main.c | 76 + package/grub/Makefile | 111 + .../grub/patches/002-strip_note_gnu_build_id.patch | 22 + package/grub/patches/010-fixes-1.patch | 4466 +++++++ package/grub/patches/020-ext4_support.patch | 267 + .../grub/patches/030-add-stage2-ldscripts.patch | 77 + package/grub/patches/040-automake-compat.patch | 41 + .../grub/patches/100-add_configure_macros.patch | 11 + .../grub/patches/110-remove_configure_errors.patch | 38 + package/grub/patches/200-darwin_fixes.patch | 48 + package/grub/patches/210-remove_inline_asm.patch | 14 + package/grub2/Makefile | 51 + package/grub2/patches/100-grub_setup_root.patch | 77 + package/hostap-driver/Makefile | 117 + package/hostap-driver/files/lib/wifi/hostap.sh | 270 + .../hostap-driver/patches/001-fix-txpower.patch | 175 + package/hostap-utils/Makefile | 44 + package/hostapd/Config.in | 47 + package/hostapd/Makefile | 339 + package/hostapd/files/hostapd-full.config | 164 + package/hostapd/files/hostapd-mini.config | 157 + package/hostapd/files/hostapd.sh | 276 + package/hostapd/files/multicall.c | 28 + package/hostapd/files/wpa_supplicant-full.config | 408 + package/hostapd/files/wpa_supplicant-mini.config | 406 + package/hostapd/files/wpa_supplicant.sh | 196 + package/hostapd/files/wps-hotplug.sh | 6 + package/hostapd/patches/100-pending_work.patch | 123 + .../patches/300-nl80211_multicall_fixes.patch | 60 + .../hostapd/patches/310-multicall_bridge_fix.patch | 45 + .../hostapd/patches/320-madwifi_key_fixes.patch | 34 + package/hostapd/patches/400-noscan.patch | 32 + package/hostapd/patches/410-multicall.patch | 246 + package/hostapd/patches/420-timestamp_check.patch | 12 + .../hostapd/patches/430-rescan_immediately.patch | 11 + package/hostapd/patches/440-optional_rfkill.patch | 261 + .../hostapd/patches/450-reload_freq_change.patch | 23 + .../patches/451-nl80211_del_beacon_bss.patch | 63 + .../hostapd/patches/452-ctrl_iface_reload.patch | 98 + package/hostapd/patches/453-ap_sta_support.patch | 221 + .../patches/460-disable_ctrl_iface_mib.patch | 168 + .../patches/470-wpa_ie_cap_workaround.patch | 56 + .../patches/480-terminate_on_setup_failure.patch | 81 + .../patches/500-random_pool_add_kernel.patch | 168 + .../hostapd/patches/510-bring_down_interface.patch | 19 + .../hostapd/patches/520-fix_wps_pin_crash.patch | 12 + .../patches/530-wps_single_auth_enc_type.patch | 25 + .../hostapd/patches/540-dynamic_20_40_mhz.patch | 202 + .../hostapd/patches/550-limit_debug_messages.patch | 213 + .../hostapd/patches/560-indicate-features.patch | 82 + .../hostapd/patches/570-genl_connect_debug.patch | 11 + package/hostapd/patches/580-fix_bss_addr.patch | 11 + .../hostapd/patches/590-hostapd_cli_ifdef.patch | 50 + ...ant-add-new-config-params-to-be-used-with.patch | 211 + ...80211-use-new-parameters-during-ibss-join.patch | 59 + .../patches/604-wpa_s-support-htmode-param.patch | 156 + .../hostapd/patches/610-max_num_sta_probe.patch | 13 + package/hotplug2/Makefile | 65 + package/hotplug2/files/hotplug2.rules | 10 + package/hotplug2/patches/100-env_memleak.patch | 63 + package/hotplug2/patches/110-static_worker.patch | 20 + package/hotplug2/patches/120-sysfs_path_fix.patch | 14 + .../hotplug2/patches/130-cancel_download_fix.patch | 18 + package/hotplug2/patches/140-worker_fork_fix.patch | 56 + package/hotplug2/patches/150-force_fork_slow.patch | 21 + package/hotplug2/patches/160-event_block_fix.patch | 200 + .../hotplug2/patches/170-non_fatal_include.patch | 21 + package/hotplug2/src/udevtrigger.c | 345 + package/i2c-gpio-custom/Makefile | 53 + package/i2c-gpio-custom/src/Kconfig | 10 + package/i2c-gpio-custom/src/Makefile | 1 + package/i2c-gpio-custom/src/i2c-gpio-custom.c | 198 + package/ifenslave/Makefile | 42 + package/iproute2/Makefile | 115 + package/iproute2/files/30-teql | 23 + .../iproute2/patches/000-sync_pkt_sched_h.patch | 121 + .../patches/001-iproute2-2.6.11_Config.patch | 7 + .../patches/002-iproute2-ipxfrm_no_sctp.patch | 22 + package/iproute2/patches/004-darwin_fixes.patch | 59 + .../iproute2/patches/006-iproute2-tc_esfq.patch | 219 + package/iproute2/patches/007-no_arpd.patch | 11 + package/iproute2/patches/008-no_netem.patch | 11 + .../iproute2/patches/100-allow_pfifo_fast.patch | 13 + package/iproute2/patches/110-extra-ccopts.patch | 11 + package/iproute2/patches/120-libnetlink-pic.patch | 8 + package/iproute2/patches/200-act_connmark.patch | 84 + package/iproute2/patches/210-add_codel.patch | 437 + package/iptables/Makefile | 475 + package/iptables/files/l7/aim.pat | 28 + package/iptables/files/l7/bittorrent.pat | 25 + package/iptables/files/l7/edonkey.pat | 37 + package/iptables/files/l7/fasttrack.pat | 23 + package/iptables/files/l7/ftp.pat | 46 + package/iptables/files/l7/gnutella.pat | 34 + package/iptables/files/l7/http.pat | 28 + package/iptables/files/l7/ident.pat | 15 + package/iptables/files/l7/irc.pat | 20 + package/iptables/files/l7/jabber.pat | 24 + package/iptables/files/l7/msnmessenger.pat | 28 + package/iptables/files/l7/ntp.pat | 17 + package/iptables/files/l7/pop3.pat | 50 + package/iptables/files/l7/smtp.pat | 40 + package/iptables/files/l7/ssl.pat | 16 + package/iptables/files/l7/vnc.pat | 23 + package/iptables/patches/002-layer7_2.22.patch | 371 + package/iptables/patches/009-table-alignment.patch | 11 + .../patches/010-multiport-linux-2.4-compat.patch | 265 + package/iptables/patches/011-recent-add-reap.patch | 116 + .../patches/020-iptables-disable-modprobe.patch | 18 + package/iptables/patches/030-no-libnfnetlink.patch | 92 + package/iptables/patches/100-bash-location.patch | 16 + .../iptables/patches/110-linux_3.2_compat.patch | 12 + .../patches/200-configurable_builtin.patch | 56 + package/iw/Makefile | 54 + package/iw/patches/001-nl80211_h_sync.patch | 96 + package/iw/patches/100-rx_rate.patch | 105 + .../iw/patches/110-per_chain_signal_strength.patch | 71 + package/iw/patches/120-tdls_peer_indentation.patch | 11 + package/iw/patches/130-antenna_gain.patch | 34 + package/iwcap/Makefile | 50 + package/iwcap/src/iwcap.c | 582 + package/iwinfo/Makefile | 118 + package/iwinfo/src/COPYING | 339 + package/iwinfo/src/Makefile | 44 + package/iwinfo/src/include/iwinfo.h | 190 + package/iwinfo/src/include/iwinfo/api/broadcom.h | 131 + package/iwinfo/src/include/iwinfo/api/madwifi.h | 160 + package/iwinfo/src/include/iwinfo/api/nl80211.h | 2834 +++++ package/iwinfo/src/include/iwinfo/api/wext.h | 1139 ++ package/iwinfo/src/include/iwinfo/lua.h | 80 + package/iwinfo/src/include/iwinfo/madwifi.h | 83 + package/iwinfo/src/include/iwinfo/nl80211.h | 125 + package/iwinfo/src/include/iwinfo/utils.h | 47 + package/iwinfo/src/include/iwinfo/wext.h | 84 + package/iwinfo/src/include/iwinfo/wext_scan.h | 380 + package/iwinfo/src/include/iwinfo/wl.h | 84 + package/iwinfo/src/iwinfo_cli.c | 800 ++ package/iwinfo/src/iwinfo_lib.c | 453 + package/iwinfo/src/iwinfo_lua.c | 886 ++ package/iwinfo/src/iwinfo_madwifi.c | 1082 ++ package/iwinfo/src/iwinfo_nl80211.c | 2080 ++++ package/iwinfo/src/iwinfo_utils.c | 347 + package/iwinfo/src/iwinfo_wext.c | 520 + package/iwinfo/src/iwinfo_wext_scan.c | 527 + package/iwinfo/src/iwinfo_wl.c | 645 + package/ixp4xx-microcode/Makefile | 56 + package/ixp4xx-microcode/src/IxNpeMicrocode.h | 144 + package/ixp4xx-microcode/src/LICENSE.IPL | 27 + package/kernel/Makefile | 49 + package/kernel/modules/001-depends.mk | 37 + package/kernel/modules/block.mk | 606 + package/kernel/modules/crypto.mk | 473 + package/kernel/modules/firewire.mk | 77 + package/kernel/modules/fs.mk | 354 + package/kernel/modules/hwmon.mk | 192 + package/kernel/modules/i2c.mk | 274 + package/kernel/modules/leds.mk | 152 + package/kernel/modules/lib.mk | 167 + package/kernel/modules/netdevices.mk | 665 ++ package/kernel/modules/netfilter.mk | 573 + package/kernel/modules/netsupport.mk | 865 ++ package/kernel/modules/nls.mk | 228 + package/kernel/modules/other.mk | 698 ++ package/kernel/modules/pcmcia.mk | 80 + package/kernel/modules/sound.mk | 184 + package/kernel/modules/spi.mk | 90 + package/kernel/modules/usb.mk | 899 ++ package/kernel/modules/video.mk | 714 ++ package/kernel/modules/virtual.mk | 171 + package/kernel/modules/w1.mk | 160 + package/kernel/modules/wireless.mk | 109 + package/kexec-tools/Config.in | 21 + package/kexec-tools/Makefile | 79 + .../kexec-tools/patches/0004-mips_regdefs.patch | 103 + package/libbsd/Makefile | 54 + package/libipfix/Makefile | 47 + package/libipfix/extra/append-wprobe-ie.pl | 38 + package/libipfix/extra/wprobe-ie.txt | 14 + package/libipfix/patches/100-openimp_sync.patch | 474 + package/libipfix/patches/110-wprobe_ie.patch | 44 + package/libipfix/patches/120-ipfixmisc.patch | 27 + package/libjson-c/Makefile | 50 + package/libnl-tiny/Makefile | 52 + package/libnl-tiny/files/libnl-tiny.pc | 10 + package/libnl-tiny/src/Makefile | 17 + package/libnl-tiny/src/attr.c | 668 ++ package/libnl-tiny/src/cache.c | 839 ++ package/libnl-tiny/src/cache_mngt.c | 253 + package/libnl-tiny/src/error.c | 108 + package/libnl-tiny/src/genl.c | 268 + package/libnl-tiny/src/genl_ctrl.c | 302 + package/libnl-tiny/src/genl_family.c | 136 + package/libnl-tiny/src/genl_mngt.c | 274 + package/libnl-tiny/src/handlers.c | 162 + package/libnl-tiny/src/include/linux/gen_stats.h | 67 + package/libnl-tiny/src/include/linux/genetlink.h | 83 + package/libnl-tiny/src/include/linux/if.h | 131 + package/libnl-tiny/src/include/linux/if_addr.h | 62 + package/libnl-tiny/src/include/linux/netlink.h | 150 + package/libnl-tiny/src/include/netlink-generic.h | 20 + package/libnl-tiny/src/include/netlink-local.h | 158 + package/libnl-tiny/src/include/netlink-types.h | 81 + package/libnl-tiny/src/include/netlink/addr.h | 69 + package/libnl-tiny/src/include/netlink/attr.h | 726 ++ package/libnl-tiny/src/include/netlink/cache-api.h | 199 + package/libnl-tiny/src/include/netlink/cache.h | 128 + package/libnl-tiny/src/include/netlink/data.h | 41 + package/libnl-tiny/src/include/netlink/errno.h | 59 + package/libnl-tiny/src/include/netlink/genl/ctrl.h | 37 + .../libnl-tiny/src/include/netlink/genl/family.h | 130 + package/libnl-tiny/src/include/netlink/genl/genl.h | 47 + package/libnl-tiny/src/include/netlink/genl/mngt.h | 87 + package/libnl-tiny/src/include/netlink/handlers.h | 230 + package/libnl-tiny/src/include/netlink/list.h | 88 + package/libnl-tiny/src/include/netlink/msg.h | 308 + .../src/include/netlink/netlink-compat.h | 50 + .../src/include/netlink/netlink-kernel.h | 196 + package/libnl-tiny/src/include/netlink/netlink.h | 82 + .../libnl-tiny/src/include/netlink/object-api.h | 331 + package/libnl-tiny/src/include/netlink/object.h | 164 + package/libnl-tiny/src/include/netlink/socket.h | 221 + package/libnl-tiny/src/include/netlink/types.h | 121 + package/libnl-tiny/src/include/netlink/utils.h | 78 + package/libnl-tiny/src/include/netlink/version.h | 18 + package/libnl-tiny/src/include/unl.h | 47 + package/libnl-tiny/src/msg.c | 566 + package/libnl-tiny/src/nl.c | 720 ++ package/libnl-tiny/src/object.c | 279 + package/libnl-tiny/src/socket.c | 406 + package/libnl-tiny/src/unl.c | 290 + package/libnl/Makefile | 56 + package/libnl/patches/110-offsetof.patch | 12 + .../libnl/patches/160-update_includes_for_iw.patch | 34 + package/libpcap/Config.in | 15 + package/libpcap/Makefile | 83 + .../libpcap/patches/100-debian_shared_lib.patch | 178 + .../patches/102-makefile_disable_manpages.patch | 89 + .../patches/103-makefile_flex_workaround.patch | 14 + .../libpcap/patches/201-space_optimization.patch | 133 + package/libpcap/patches/202-protocol_api.patch | 141 + .../patches/203-undef_iw_mode_monitor.patch | 11 + package/libreadline/Makefile | 66 + package/libreadline/patches/100-fix_avr32_compile | 20 + package/librpc/Makefile | 28 + package/librpc/patches/100-compat_fix.patch | 214 + package/libtool/Makefile | 49 + package/libubox/Makefile | 64 + package/linux-atm/Makefile | 153 + package/linux-atm/files/br2684ctl | 90 + package/linux-atm/patches/000-debian_16.patch | 270 + package/linux-atm/patches/200-no_libfl.patch | 179 + package/linux-atm/patches/300-objcopy_path.patch | 40 + package/ltq-dsl-app/Config.in | 9 + package/ltq-dsl-app/Makefile | 97 + package/ltq-dsl-app/files/dsl_control | 316 + package/ltq-dsl-app/files/dsl_notify.sh | 44 + package/ltq-dsl/Config.in | 5 + package/ltq-dsl/Makefile | 178 + package/ltq-dsl/patches/100-dsl_compat.patch | 125 + .../patches/110-fix_status_polling_loop.patch | 11 + package/ltq-dsl/patches/500-portability.patch | 227 + package/ltq-dsl/src/Makefile | 23 + package/ltq-dsl/src/ifx_atm.h | 196 + package/ltq-dsl/src/ifxmips_atm.h | 172 + package/ltq-dsl/src/ifxmips_atm_amazon_se.c | 324 + package/ltq-dsl/src/ifxmips_atm_ar9.c | 295 + package/ltq-dsl/src/ifxmips_atm_core.c | 4770 ++++++++ package/ltq-dsl/src/ifxmips_atm_core.h | 271 + package/ltq-dsl/src/ifxmips_atm_danube.c | 326 + package/ltq-dsl/src/ifxmips_atm_fw_amazon_se.h | 3335 ++++++ package/ltq-dsl/src/ifxmips_atm_fw_ar9.h | 439 + package/ltq-dsl/src/ifxmips_atm_fw_ar9_retx.h | 611 + package/ltq-dsl/src/ifxmips_atm_fw_danube.h | 440 + package/ltq-dsl/src/ifxmips_atm_fw_danube_retx.h | 612 + .../ltq-dsl/src/ifxmips_atm_fw_regs_amazon_se.h | 30 + package/ltq-dsl/src/ifxmips_atm_fw_regs_ar9.h | 172 + package/ltq-dsl/src/ifxmips_atm_fw_regs_common.h | 546 + package/ltq-dsl/src/ifxmips_atm_fw_regs_danube.h | 178 + package/ltq-dsl/src/ifxmips_atm_fw_regs_vr9.h | 59 + package/ltq-dsl/src/ifxmips_atm_fw_vr9.h | 427 + package/ltq-dsl/src/ifxmips_atm_ppe_amazon_se.h | 94 + package/ltq-dsl/src/ifxmips_atm_ppe_ar9.h | 188 + package/ltq-dsl/src/ifxmips_atm_ppe_common.h | 365 + package/ltq-dsl/src/ifxmips_atm_ppe_danube.h | 129 + package/ltq-dsl/src/ifxmips_atm_ppe_vr9.h | 192 + package/ltq-dsl/src/ifxmips_atm_vr9.c | 303 + package/ltq-dsl/src/ifxmips_compat.h | 56 + package/ltq-dsl/src/ifxmips_mei_interface.h | 702 ++ package/ltq-dsl/src/lantiq_mei.c | 3038 +++++ package/ltq-ifxos/Makefile | 51 + package/ltq-ifxos/patches/100-portability.patch | 11 + package/ltq-ifxos/patches/120-fix_smp_lock.patch | 12 + package/ltq-kpi2udp/Makefile | 48 + package/ltq-kpi2udp/patches/100-configure.patch | 11 + .../ltq-kpi2udp/patches/110-ifx_udp_redirect.patch | 29 + package/ltq-tapi/Config.in | 88 + package/ltq-tapi/Makefile | 70 + package/ltq-tapi/patches/000-portability.patch | 82 + package/ltq-tapi/patches/100-ifxmips.patch | 96 + package/ltq-tapi/patches/200-linux-37.patch | 108 + package/ltq-tapidemo/Config.in | 47 + package/ltq-tapidemo/Makefile | 82 + package/ltq-tapidemo/files/bringup_tapidemo | 89 + package/ltq-tapidemo/patches/100-ifxmips.patch | 61 + package/ltq-tapidemo/patches/110-filename.patch | 141 + package/ltq-vmmc/Config.in | 95 + package/ltq-vmmc/Makefile | 166 + package/ltq-vmmc/files/vmmc.init | 19 + package/ltq-vmmc/patches/000-portability.patch | 287 + package/ltq-vmmc/patches/100-target.patch | 738 ++ package/ltq-vmmc/patches/400-falcon.patch | 968 ++ package/lua/Makefile | 178 + .../010-lua-5.1.3-lnum-full-260308.patch | 3806 ++++++ package/lua/patches-host/011-lnum-use-double.patch | 11 + package/lua/patches-host/015-lnum-ppc-compat.patch | 13 + .../030-archindependent-bytecode.patch | 115 + package/lua/patches-host/100-no_readline.patch | 49 + .../patches/010-lua-5.1.3-lnum-full-260308.patch | 3736 ++++++ package/lua/patches/011-lnum-use-double.patch | 11 + package/lua/patches/015-lnum-ppc-compat.patch | 11 + package/lua/patches/020-shared_liblua.patch | 140 + .../lua/patches/030-archindependent-bytecode.patch | 111 + package/lua/patches/100-no_readline.patch | 49 + package/lua/patches/200-lua-path.patch | 15 + package/lua/patches/300-opcode_performance.patch | 363 + package/mac80211/Makefile | 1632 +++ .../mac80211/files/b43-fwcutter-fw-dirname.patch | 16 + package/mac80211/files/host_bin/b43-fwsquash.py | 122 + package/mac80211/files/lib/wifi/mac80211.sh | 599 + package/mac80211/files/regdb.txt | 697 ++ .../mac80211/patches/000-disable_ethernet.patch | 12 + package/mac80211/patches/001-disable_b44.patch | 13 + package/mac80211/patches/002-disable_rfkill.patch | 38 + package/mac80211/patches/003-disable_bt.patch | 15 + .../mac80211/patches/005-disable_ssb_build.patch | 49 + .../mac80211/patches/006-disable_bcma_build.patch | 30 + .../mac80211/patches/007-remove_misc_drivers.patch | 61 + package/mac80211/patches/008-disable_mesh.patch | 11 + .../009-remove_mac80211_module_dependence.patch | 11 + package/mac80211/patches/010-no_pcmcia.patch | 20 + package/mac80211/patches/011-no_sdio.patch | 11 + .../mac80211/patches/013-disable_b43_nphy.patch | 13 + .../patches/015-remove-rt2x00-options.patch | 20 + package/mac80211/patches/016-remove_pid_algo.patch | 11 + package/mac80211/patches/017-remove_ath9k_rc.patch | 11 + .../patches/018-revert_printk_va_format.patch | 188 + .../patches/019-remove_ath5k_pci_option.patch | 11 + .../patches/021-add_include_for_bcma.patch | 11 + .../patches/022-remove_crc8_and_cordic.patch | 166 + .../patches/023-ath9k_disable_btcoex.patch | 11 + .../patches/030-disable_tty_set_termios.patch | 16 + package/mac80211/patches/050-compat_firmware.patch | 78 + .../patches/060-compat_add_module_pci_driver.patch | 22 + package/mac80211/patches/070-disable_codel.patch | 19 + package/mac80211/patches/071-add_codel_ifdef.patch | 19 + .../patches/100-disable_pcmcia_compat.patch | 65 + .../mac80211/patches/110-disable_usb_compat.patch | 44 + .../patches/130-mesh_pathtbl_backport.patch | 10 + .../patches/201-ath5k-WAR-for-AR71xx-PCI-bug.patch | 38 + package/mac80211/patches/300-pending_work.patch | 592 + package/mac80211/patches/310-ap_scan.patch | 11 + .../mac80211/patches/400-ath_move_debug_code.patch | 28 + .../mac80211/patches/401-ath9k_blink_default.patch | 11 + ...02-ath9k-fix-invalid-mac-address-handling.patch | 29 + .../mac80211/patches/403-ath_regd_optional.patch | 46 + .../mac80211/patches/404-world_regd_fixup.patch | 84 + .../mac80211/patches/405-regd_no_assoc_hints.patch | 20 + package/mac80211/patches/406-ath_regd_us.patch | 26 + .../patches/410-ath9k_allow_adhoc_and_ap.patch | 10 + .../patches/411-ath5k_allow_adhoc_and_ap.patch | 46 + .../patches/412-mac80211_allow_adhoc_and_ap.patch | 20 + .../patches/420-ath5k_disable_fast_cc.patch | 18 + .../mac80211/patches/430-add_ath5k_platform.patch | 33 + .../431-add_platform_eeprom_support_to_ath5k.patch | 56 + .../mac80211/patches/432-ath5k_add_pciids.patch | 11 + .../patches/440-ath5k_channel_bw_debugfs.patch | 113 + .../patches/500-ath9k_eeprom_debugfs.patch | 65 + .../patches/501-ath9k-eeprom_endianess.patch | 102 + package/mac80211/patches/502-ath9k_ahb_init.patch | 32 + .../patches/510-ath9k_intr_mitigation_tweak.patch | 13 + .../mac80211/patches/511-ath9k_reduce_rxbuf.patch | 11 + .../patches/512-ath9k_channelbw_debugfs.patch | 128 + .../patches/513-mac80211_reduce_txqueuelen.patch | 10 + .../patches/520-mac80211_cur_txpower.patch | 31 + .../mac80211/patches/521-ath9k_cur_txpower.patch | 19 + .../522-ath9k_per_chain_signal_strength.patch | 384 + .../patches/523-cfg80211_fix_antenna_gain.patch | 12 + .../524-mac80211_configure_antenna_gain.patch | 179 + .../525-ath9k_use_configured_antenna_gain.patch | 34 + .../patches/526-cfg80211_fix_max_reg_power.patch | 21 + .../mac80211/patches/530-ath9k_fix_initvals.patch | 208 + .../mac80211/patches/540-ath9k_extra_leds.patch | 258 + .../patches/541-ath9k_extra_platform_leds.patch | 71 + .../550-mac80211_optimize_mcs_rate_mask.patch | 98 + .../551-ath9k_optimize_interrupt_mitigation.patch | 30 + .../patches/560-ath9k_reduce_ani_interval.patch | 11 + .../patches/561-ath9k_revert_initval_change.patch | 19 + .../mac80211/patches/562-ath9k_add_idle_hack.patch | 20 + .../patches/563-ath9k_rx_dma_stop_check.patch | 28 + .../mac80211/patches/564-ath9k_debugfs_diag.patch | 139 + .../mac80211/patches/565-ath9k_disable_paprd.patch | 72 + .../566-ath9k_use_ieee80211_free_txskb.patch | 149 + ...isable-pci-code-if-CONFIG_PCI-not-defined.patch | 18 + .../mac80211/patches/601-rt2x00-set_pci_mwi.patch | 13 + .../602-rt2x00-introduce-rt2x00_platform_h.patch | 32 + .../603-rt2x00-introduce-rt2x00eeprom.patch | 274 + ...t2x00-add-CONFIG_RT2X00_LIB_EEPROM-option.patch | 10 + .../mac80211/patches/605-rt2x00-pci-eeprom.patch | 46 + .../mac80211/patches/606-rt2x00_no_realign.patch | 67 + ...low_disabling_bands_through_platform_data.patch | 47 + .../patches/608-add_platform_data_mac_addr.patch | 63 + .../patches/620-rt2x00-support-rt3352.patch | 464 + .../patches/621-rt2x00-fix-rt3352-lnagain.patch | 30 + .../700-mwl8k-missing-pci-id-for-WNR854T.patch | 10 + .../patches/800-b43-gpio-mask-module-option.patch | 37 + package/mac80211/patches/810-b43_no_pio.patch | 75 + .../patches/820-b43-add-antenna-control.patch | 131 + .../patches/830-b43-workaround-pcie-bcm4716.patch | 134 + ...d-device-found-on-some-SoCs-like-the-bcm4.patch | 39 + .../850-brcmsmac-add-support-for-BCM43224.patch | 29 + ...smac-start-adding-support-for-core-rev-28.patch | 75 + package/maccalc/Makefile | 47 + package/maccalc/src/Makefile | 14 + package/maccalc/src/main.c | 256 + package/madwifi/Config.in | 55 + package/madwifi/Makefile | 266 + package/madwifi/files/etc/hotplug.d/net/10-madwifi | 12 + package/madwifi/files/lib/wifi/madwifi.sh | 498 + .../files/lib/wifi/madwifi_countrycodes.txt | 239 + package/madwifi/patches/102-multicall_binary.patch | 315 + package/madwifi/patches/104-autocreate_none.patch | 11 + package/madwifi/patches/105-ratectl_attach.patch | 23 + package/madwifi/patches/106-get_arch.patch | 21 + package/madwifi/patches/111-minstrel_crash.patch | 12 + package/madwifi/patches/113-no_ibss_pwrsave.patch | 12 + .../patches/122-replayfail_workaround.patch | 12 + package/madwifi/patches/123-ccmp_checks.patch | 95 + package/madwifi/patches/124-linux24_compat.patch | 202 + package/madwifi/patches/126-rxerr_frames.patch | 13 + package/madwifi/patches/200-no_debug.patch | 408 + package/madwifi/patches/201-debug_fix.patch | 20 + package/madwifi/patches/202-debug_variables.patch | 204 + package/madwifi/patches/300-napi_polling.patch | 536 + package/madwifi/patches/305-pureg_fix.patch | 168 + package/madwifi/patches/309-micfail_detect.patch | 321 + package/madwifi/patches/310-noise_get.patch | 55 + package/madwifi/patches/311-bssid_alloc.patch | 11 + package/madwifi/patches/312-erpupdate.patch | 68 + package/madwifi/patches/317-bmask.patch | 13 + package/madwifi/patches/323-dfs_optional.patch | 38 + package/madwifi/patches/324-alignment.patch | 19 + package/madwifi/patches/325-channel_spam.patch | 28 + package/madwifi/patches/327-queue.patch | 40 + package/madwifi/patches/330-beaconcal.patch | 166 + package/madwifi/patches/331-memory_alloc.patch | 36 + package/madwifi/patches/332-reset_beacons.patch | 11 + package/madwifi/patches/333-apscan_mode.patch | 15 + package/madwifi/patches/334-input.patch | 12 + package/madwifi/patches/340-maxrate.patch | 98 + package/madwifi/patches/341-minrate.patch | 114 + package/madwifi/patches/342-performance.patch | 263 + package/madwifi/patches/343-txqueue_races.patch | 34 + package/madwifi/patches/344-minstrel_failcnt.patch | 11 + .../madwifi/patches/345-minstrel_sampling.patch | 80 + package/madwifi/patches/346-protmode_trig.patch | 135 + package/madwifi/patches/347-tuning.patch | 99 + package/madwifi/patches/348-ackcts.patch | 38 + package/madwifi/patches/349-reset.patch | 12 + package/madwifi/patches/350-wisoc_softled.patch | 11 + package/madwifi/patches/351-scanlist.patch | 904 ++ package/madwifi/patches/352-ani_fix.patch | 265 + package/madwifi/patches/353-devid.patch | 19 + package/madwifi/patches/354-lantiq_eeprom.patch | 95 + .../madwifi/patches/355-eap_auth_disassoc.patch | 77 + package/madwifi/patches/356-hidden_ssid.patch | 49 + package/madwifi/patches/357-bgscan_thresh.patch | 160 + .../madwifi/patches/358-ignore_broken_bssid.patch | 18 + package/madwifi/patches/359-disable_reassoc.patch | 31 + package/madwifi/patches/360-sta_nodes.patch | 242 + package/madwifi/patches/361-bmiss_handling.patch | 102 + package/madwifi/patches/362-rssithr.patch | 93 + package/madwifi/patches/363-fix_turbo.patch | 11 + package/madwifi/patches/364-memory_alloc.patch | 13 + .../madwifi/patches/365-turbo_channelsearch.patch | 10 + package/madwifi/patches/366-bstuck_thresh.patch | 52 + package/madwifi/patches/367-roaming.patch | 77 + package/madwifi/patches/368-sta_ie_preserve.patch | 49 + package/madwifi/patches/369-mlme_assoc.patch | 10 + package/madwifi/patches/370-wdsvap.patch | 1665 +++ package/madwifi/patches/372-queue_vif.patch | 39 + package/madwifi/patches/373-sanity_check.patch | 12 + package/madwifi/patches/374-nbtt_fix.patch | 22 + package/madwifi/patches/375-atim_tsf_update.patch | 141 + .../madwifi/patches/377-disable_vlan_code.patch | 25 + package/madwifi/patches/378-adhoc_crash_fix.patch | 14 + package/madwifi/patches/379-invalid_rate_fix.patch | 405 + package/madwifi/patches/380-noderef_hack.patch | 13 + package/madwifi/patches/381-ibss_modes.patch | 23 + package/madwifi/patches/382-relax_bintval.patch | 13 + package/madwifi/patches/383-ibss_hostap.patch | 105 + package/madwifi/patches/384-hwdetect.patch | 325 + package/madwifi/patches/385-antenna_fix.patch | 10 + package/madwifi/patches/386-acl_crashfix.patch | 116 + package/madwifi/patches/387-maxassoc.patch | 85 + package/madwifi/patches/388-apsta_fix.patch | 60 + package/madwifi/patches/389-autochannel.patch | 249 + package/madwifi/patches/390-frame_type.patch | 13 + package/madwifi/patches/391-vap_auth.patch | 29 + .../patches/392-remove_wds_nodetracking.patch | 388 + package/madwifi/patches/393-mbss_vap_auth.patch | 491 + package/madwifi/patches/394-probereq.patch | 64 + package/madwifi/patches/395-ath_ff_unmap.patch | 11 + package/madwifi/patches/396-napi_ff_fix.patch | 65 + package/madwifi/patches/400-new_hal.patch | 153 + package/madwifi/patches/401-changeset_r3602.patch | 11 + package/madwifi/patches/402-changeset_r3603.patch | 176 + package/madwifi/patches/403-changeset_r3605.patch | 70 + package/madwifi/patches/404-linux24_fix.patch | 15 + package/madwifi/patches/405-retransmit_check.patch | 22 + package/madwifi/patches/406-monitor_r3711.patch | 20 + package/madwifi/patches/407-new_athinfo.patch | 2352 ++++ package/madwifi/patches/408-changeset_r3337.patch | 34 + package/madwifi/patches/409-wext_compat.patch | 133 + package/madwifi/patches/410-ar231x_2.6.28.patch | 281 + .../madwifi/patches/411-autochannel_multi.patch | 347 + .../madwifi/patches/412-fragmentation_fix.patch | 10 + package/madwifi/patches/413-rxorn.patch | 31 + package/madwifi/patches/414-txpower.patch | 262 + package/madwifi/patches/415-chan_switch.patch | 187 + package/madwifi/patches/416-wprobe.patch | 549 + package/madwifi/patches/417-beacon_txpower.patch | 81 + package/madwifi/patches/419-skb_unmap_crash.patch | 20 + package/madwifi/patches/420-diversity_fix.patch | 86 + package/madwifi/patches/421-channel_handling.patch | 1351 +++ package/madwifi/patches/422-confchange_reset.patch | 31 + package/madwifi/patches/423-phyerr_handling.patch | 28 + package/madwifi/patches/424-timing.patch | 764 ++ package/madwifi/patches/425-rc_rexmit.patch | 506 + package/madwifi/patches/426-header_len.patch | 12 + package/madwifi/patches/427-ignore_eeprom_ff.patch | 11 + package/madwifi/patches/430-use_netdev_priv.patch | 1936 +++ package/madwifi/patches/431-compile_fixes.patch | 35 + package/madwifi/patches/432-netdev_ops.patch | 184 + .../patches/433-backport_remove_irq_none.patch | 21 + package/madwifi/patches/434-name-alloc-fix.patch | 28 + .../madwifi/patches/435-ibss_neighbor_fix.patch | 11 + package/madwifi/patches/436-injection_checks.patch | 26 + package/madwifi/patches/437-sysctl_cleanup.patch | 73 + .../madwifi/patches/438-poweroffset_sysctl.patch | 59 + .../patches/439-wlanconfig_stack_usage.patch | 20 + package/madwifi/patches/440-wme_cleanup.patch | 136 + .../patches/441-fix_ibss_node_handling.patch | 91 + package/madwifi/patches/442-ibss_rx_filter.patch | 20 + package/madwifi/patches/443-tx_drop_counter.patch | 25 + .../madwifi/patches/444-beacon_update_war.patch | 17 + package/madwifi/patches/445-fix_ps_sta_count.patch | 18 + package/madwifi/patches/446-single_module.patch | 778 ++ package/madwifi/patches/447-sta_reconnect.patch | 25 + .../patches/448-beacon_handling_fixes.patch | 407 + package/madwifi/patches/449-fix_txbuf_leak.patch | 10 + package/madwifi/patches/450-calibration.patch | 177 + package/madwifi/patches/451-ibss_race_fix.patch | 342 + .../madwifi/patches/452-minstrel_no_timer.patch | 134 + package/madwifi/patches/453-procps.patch | 55 + package/madwifi/patches/454-cca.patch | 186 + package/madwifi/patches/455-beacon_watchdog.patch | 95 + package/madwifi/patches/456-rfsilent.patch | 85 + package/madwifi/patches/457-idletime.patch | 151 + package/madwifi/patches/458-ibss_wpa_none.patch | 13 + package/madwifi/patches/459-2.6.33_compile.patch | 524 + .../madwifi/patches/460-pci_softled_disable.patch | 18 + .../madwifi/patches/461-rx_stats_count_fix.patch | 23 + package/madwifi/patches/462-fix_ap_scan.patch | 26 + .../madwifi/patches/463-fix_txrate_display.patch | 10 + package/madwifi/patches/464-0dbm_txpower_fix.patch | 30 + package/madwifi/patches/465-mc_list-2.6.35.patch | 40 + package/madwifi/patches/466-2.6.38_compile.patch | 14 + ...470-mac_addresss_from_ath5k_platform_data.patch | 36 + .../madwifi/patches/471-netdev_ops_mac_mtu.patch | 30 + .../madwifi/patches/472-remove_11n_devids.patch | 20 + package/madwifi/patches/473-mutex_fix.patch | 11 + .../madwifi/patches/474_fix_ssid_scan_length.patch | 29 + package/madwifi/patches/475-2.6.39-compile.patch | 11 + .../madwifi/patches/476-3.0_detection_fix.patch | 25 + package/madwifi/patches/477-3.2_fixes.patch | 45 + package/madwifi/patches/478-remove_vlan_code.patch | 21 + package/mkelfimage/Makefile | 35 + .../mkelfimage/patches/no-stack-protector.patch | 11 + package/mmc_over_gpio/Makefile | 78 + package/mmc_over_gpio/files/mmc_over_gpio.config | 8 + package/mmc_over_gpio/files/mmc_over_gpio.init | 83 + package/mountd/Makefile | 46 + package/mountd/files/mountd.config | 3 + package/mountd/files/mountd.init | 19 + .../patches/010-uci_rename_history_to_delta.patch | 27 + package/mountd/patches/020-handle_timeout.patch | 32 + package/mountd/patches/030-ext4_support.patch | 85 + .../mountd/patches/040-optional-daemonize.patch | 13 + package/mtd/Makefile | 50 + package/mtd/src/Makefile | 16 + package/mtd/src/bcm_tag.h | 1 + package/mtd/src/crc32.c | 95 + package/mtd/src/crc32.h | 26 + package/mtd/src/fis.c | 262 + package/mtd/src/fis.h | 14 + package/mtd/src/imagetag.c | 315 + package/mtd/src/jffs2.c | 357 + package/mtd/src/jffs2.h | 216 + package/mtd/src/mtd.c | 750 ++ package/mtd/src/mtd.h | 28 + package/mtd/src/trx.c | 220 + package/ncurses/Makefile | 151 + .../patches/100-ncurses-5.6-20080112-urxvt.patch | 175 + .../patches/101-ncurses-5.6-20080628-kbs.patch | 52 + package/ncurses/patches/500-cross.patch | 11 + package/ncurses/patches/900-terminfo.patch | 20 + package/netifd/Makefile | 40 + .../netifd/files/etc/hotplug.d/iface/00-netstate | 8 + package/netifd/files/etc/hotplug.d/iface/10-sysctl | 36 + package/netifd/files/etc/init.d/network | 47 + package/netifd/files/lib/netifd/dhcp.script | 59 + package/netifd/files/lib/netifd/proto/dhcp.sh | 49 + package/netifd/files/lib/network/config.sh | 79 + package/netifd/files/sbin/devstatus | 12 + package/netifd/files/sbin/ifdown | 1 + package/netifd/files/sbin/ifstatus | 13 + package/netifd/files/sbin/ifup | 79 + .../netifd/files/usr/share/udhcpc/default.script | 57 + package/nvram/Makefile | 60 + package/nvram/files/nvram.init | 98 + package/nvram/src/Makefile | 33 + package/nvram/src/cli.c | 246 + package/nvram/src/crc.c | 69 + package/nvram/src/nvram.c | 556 + package/nvram/src/nvram.h | 123 + package/nvram/src/sdinitvals.h | 30 + package/ocf-crypto-headers/Makefile | 36 + package/ocf-crypto-headers/src/cryptodev.h | 480 + package/om-watchdog/Makefile | 45 + package/om-watchdog/files/om-watchdog | 15 + package/om-watchdog/files/om-watchdog.init | 24 + package/openssl/Config.in | 13 + package/openssl/Makefile | 179 + .../openssl/patches/110-optimize-for-size.patch | 13 + package/openssl/patches/130-perl-path.patch | 64 + package/openssl/patches/140-makefile-dirs.patch | 11 + package/openssl/patches/150-no_engines.patch | 81 + .../openssl/patches/160-disable_doc_tests.patch | 58 + package/openssl/patches/170-bash_path.patch | 8 + .../openssl/patches/180-fix_link_segfault.patch | 18 + .../patches/190-remove_timestamp_check.patch | 23 + package/openssl/patches/200-etrax_support.patch | 13 + package/openssl/patches/210-fix_aes_mips.patch | 64 + package/opkg/Makefile | 99 + package/opkg/files/opkg.conf | 5 + package/opkg/patches/001-ship-pkg-m4.patch | 168 + package/opkg/patches/002-no-shave.patch | 37 + package/opkg/patches/004-host_cpu.patch | 20 + package/opkg/patches/007-force_static.patch | 71 + package/opkg/patches/009-remove-upgrade-all.patch | 41 + package/opkg/patches/011-old-config-location.patch | 12 + .../012-strip-trailing-conffiles-whitespace.patch | 23 + package/opkg/patches/014-errors-to-stderr.patch | 15 + package/opkg/patches/020-avoid_getline.patch | 317 + package/opkg/patches/030-fix-double-free.patch | 10 + package/owipcalc/Makefile | 49 + package/owipcalc/src/owipcalc.c | 951 ++ package/owsip/Makefile | 73 + package/owsip/files/telephony.conf | 32 + package/owsip/files/telephony.defaults | 55 + package/owsip/files/telephony.init | 33 + package/pjsip/Makefile | 101 + package/pjsip/patches/0001-configure-fixup.patch | 78 + package/pjsip/patches/0002-register-tapi.patch | 1333 +++ ...DEF-pj_status_t-pjsua_add_snd_port-int-id.patch | 207 + package/ppp/Makefile | 262 + package/ppp/files/etc/ppp/chap-secrets | 1 + package/ppp/files/etc/ppp/filter | 23 + package/ppp/files/etc/ppp/options | 10 + package/ppp/files/etc/ppp/options.pptp | 7 + package/ppp/files/etc/ppp/radius.conf | 8 + package/ppp/files/etc/ppp/radius/dictionary | 253 + package/ppp/files/etc/ppp/radius/dictionary.asnet | 3 + .../ppp/files/etc/ppp/radius/dictionary.microsoft | 80 + package/ppp/files/etc/ppp/radius/servers | 2 + package/ppp/files/lib/netifd/ppp-down | 13 + package/ppp/files/lib/netifd/ppp-up | 22 + package/ppp/files/ppp.sh | 222 + .../ppp/patches/010-use_target_for_configure.patch | 24 + package/ppp/patches/100-debian_ip-ip_option.patch | 96 + package/ppp/patches/101-debian_close_dev_ppp.patch | 28 + .../ppp/patches/103-debian_fix_link_pidfile.patch | 23 + package/ppp/patches/105-debian_demand.patch | 172 + package/ppp/patches/106-debian_stripMSdomain.patch | 47 + .../ppp/patches/107-debian_pppoatm_wildcard.patch | 25 + package/ppp/patches/110-debian_defaultroute.patch | 313 + .../patches/120-debian_ipv6_updown_option.patch | 95 + package/ppp/patches/200-makefile.patch | 55 + package/ppp/patches/201-mppe_mppc_1.1.patch | 1495 +++ package/ppp/patches/202-no_strip.patch | 88 + package/ppp/patches/203-opt_flags.patch | 32 + package/ppp/patches/204-radius_config.patch | 72 + .../ppp/patches/205-no_exponential_timeout.patch | 29 + .../ppp/patches/206-compensate_time_change.patch | 94 + package/ppp/patches/207-lcp_mtu_max.patch | 25 + package/ppp/patches/208-fix_status_code.patch | 24 + .../ppp/patches/300-filter-pcap-includes-lib.patch | 20 + package/ppp/patches/310-precompile_filter.patch | 196 + package/ppp/patches/320-custom_iface_names.patch | 135 + .../330-retain_foreign_default_routes.patch | 22 + .../ppp/patches/340-populate_default_gateway.patch | 34 + .../ppp/patches/400-simplify_kernel_checks.patch | 154 + package/ppp/patches/401-no_record_file.patch | 39 + package/ppp/patches/403-no_wtmp.patch | 25 + .../404-remove_obsolete_protocol_names.patch | 151 + package/ppp/patches/405-no_multilink_option.patch | 28 + package/ppp/patches/430-pppol2tpv3-struct.patch | 30 + package/ppp/patches/500-add-pptp-plugin.patch | 3065 +++++ package/ppp/utils/pfc.c | 51 + package/ps3-utils/Makefile | 70 + package/px5g/Makefile | 40 + package/px5g/src/Makefile | 14 + package/px5g/src/library/base64.c | 264 + package/px5g/src/library/bignum.c | 2010 ++++ package/px5g/src/library/havege.c | 276 + package/px5g/src/library/rsa.c | 750 ++ package/px5g/src/library/sha1.c | 622 + package/px5g/src/library/timing.c | 265 + package/px5g/src/library/x509write.c | 1139 ++ package/px5g/src/polarssl/base64.h | 93 + package/px5g/src/polarssl/bignum.h | 437 + package/px5g/src/polarssl/bn_mul.h | 731 ++ package/px5g/src/polarssl/config.h | 329 + package/px5g/src/polarssl/havege.h | 75 + package/px5g/src/polarssl/rsa.h | 309 + package/px5g/src/polarssl/sha1.h | 150 + package/px5g/src/polarssl/timing.h | 81 + package/px5g/src/polarssl/x509.h | 549 + package/px5g/src/px5g.c | 197 + package/qos-scripts/Makefile | 50 + package/qos-scripts/files/etc/config/qos | 79 + .../qos-scripts/files/etc/hotplug.d/iface/10-qos | 2 + package/qos-scripts/files/etc/init.d/qos | 16 + package/qos-scripts/files/usr/bin/qos-start | 4 + package/qos-scripts/files/usr/bin/qos-stat | 67 + package/qos-scripts/files/usr/bin/qos-stop | 6 + package/qos-scripts/files/usr/lib/qos/generate.sh | 497 + package/qos-scripts/files/usr/lib/qos/tcrules.awk | 95 + package/rbcfg/Makefile | 49 + package/rbcfg/src/Makefile | 14 + package/rbcfg/src/cyg_crc.h | 109 + package/rbcfg/src/cyg_crc32.c | 172 + package/rbcfg/src/main.c | 791 ++ package/rbcfg/src/rbcfg.h | 75 + package/redboot-ar231x/Makefile | 52 + .../redboot-ar231x/patches/010-fix-compile.patch | 181 + package/relayd/Makefile | 42 + package/relayd/files/relay.hotplug | 2 + package/relayd/files/relay.init | 97 + package/resolveip/Makefile | 44 + package/resolveip/src/resolveip.c | 98 + package/robocfg/Makefile | 39 + package/robocfg/src/Makefile | 11 + package/robocfg/src/etc53xx.h | 619 + package/robocfg/src/robocfg.c | 581 + package/rotary-gpio-custom/Makefile | 53 + package/rotary-gpio-custom/src/Kconfig | 9 + package/rotary-gpio-custom/src/Makefile | 1 + .../rotary-gpio-custom/src/rotary-gpio-custom.c | 188 + package/rssileds/Makefile | 47 + package/rssileds/files/rssileds.init | 75 + package/rssileds/src/rssileds.c | 280 + package/rtc-rv5c386a/Makefile | 38 + package/rtc-rv5c386a/src/Makefile | 18 + package/rtc-rv5c386a/src/rtc.c | 611 + package/sierra-directip/Makefile | 41 + .../patches/100-sierra_net_endian.patch | 22 + .../patches/110-drop_dhcp_requirement.patch | 14 + package/sierra-directip/src/Makefile | 1 + package/sierra-directip/src/sierra.c | 1409 +++ package/sierra-directip/src/sierra_net.c | 1123 ++ package/siit/Makefile | 40 + package/siit/src/Makefile | 5 + package/siit/src/siit.c | 1478 +++ package/siit/src/siit.h | 61 + package/soloscli/Makefile | 45 + .../soloscli/files/etc/hotplug.d/atm/15-solos-init | 26 + package/soloscli/files/etc/uci-default/solos | 15 + package/soloscli/files/solos-log-stats | 19 + package/soloscli/patches/000-Makefile.patch | 21 + package/soloscli/patches/001-newline.patch | 15 + package/spi-ks8995/Makefile | 54 + package/spi-ks8995/src/Kconfig | 3 + package/spi-ks8995/src/Makefile | 1 + package/spi-ks8995/src/spi_ks8995.c | 419 + package/spidev_test/Makefile | 42 + package/swconfig/Makefile | 49 + package/swconfig/files/switch.sh | 14 + package/swconfig/src/Makefile | 12 + package/swconfig/src/cli.c | 340 + package/swconfig/src/swlib.c | 686 ++ package/swconfig/src/swlib.h | 234 + package/swconfig/src/uci.c | 248 + package/switch/Makefile | 59 + package/switch/files/switch.sh | 53 + package/switch/src/Makefile | 18 + package/switch/src/etc53xx.h | 619 + package/switch/src/gpio.h | 25 + package/switch/src/switch-adm.c | 595 + package/switch/src/switch-core.c | 491 + package/switch/src/switch-core.h | 52 + package/switch/src/switch-robo.c | 583 + package/toolchain/Makefile | 560 + package/toolchain/eglibc-files/etc/nsswitch.conf | 13 + package/trelay/Makefile | 50 + package/trelay/files/trelay.config | 4 + package/trelay/files/trelay.hotplug | 5 + package/trelay/files/trelay.init | 32 + package/trelay/src/Makefile | 1 + package/trelay/src/trelay.c | 272 + package/uboot-ar71xx/Makefile | 90 + .../files/board/zyxel/nbg460n/Makefile | 46 + .../files/board/zyxel/nbg460n/config.mk | 1 + .../files/board/zyxel/nbg460n/lowlevel_init.S | 39 + .../files/board/zyxel/nbg460n/nbg460n.c | 96 + .../files/board/zyxel/nbg460n/u-boot.lds | 42 + .../uboot-ar71xx/files/cpu/mips/ar71xx_serial.c | 177 + package/uboot-ar71xx/files/drivers/net/ag71xx.c | 809 ++ package/uboot-ar71xx/files/drivers/net/ag71xx.h | 374 + .../uboot-ar71xx/files/drivers/net/phy/rtl8366.h | 188 + .../files/drivers/net/phy/rtl8366_mii.c | 786 ++ .../uboot-ar71xx/files/drivers/spi/ar71xx_spi.c | 191 + .../uboot-ar71xx/files/include/asm-mips/ar71xx.h | 515 + .../files/include/asm-mips/ar71xx_gpio.h | 65 + .../uboot-ar71xx/files/include/configs/nbg460n.h | 136 + package/uboot-ar71xx/patches/001-ar71xx.patch | 28 + package/uboot-ar71xx/patches/002-ar71xx-spi.patch | 11 + package/uboot-ar71xx/patches/010-enet-ag71xx.patch | 22 + .../patches/011-switch-rtl8366sr.patch | 28 + .../uboot-ar71xx/patches/020-freebsd-compat.patch | 11 + .../uboot-ar71xx/patches/021-darwin_compat.patch | 23 + .../patches/022-getline_backport.patch | 21 + package/uboot-envtools/Makefile | 70 + package/uboot-envtools/files/ar71xx | 31 + package/uboot-envtools/files/kirkwood | 25 + package/uboot-envtools/files/lantiq | 25 + package/uboot-envtools/files/ramips | 27 + package/uboot-envtools/files/uboot-envtools.sh | 36 + .../patches/001-crc32_func_signature.patch | 130 + package/uboot-envtools/patches/002-makefile.patch | 44 + .../uboot-envtools/patches/003-nor-eraselen.patch | 14 + .../patches/004-allow_mac_change.patch | 21 + package/uboot-kirkwood/Makefile | 110 + .../files/board/iomega/iconnect/Makefile | 43 + .../files/board/iomega/iconnect/iconnect.c | 141 + .../files/board/iomega/iconnect/iconnect.h | 39 + .../files/board/iomega/iconnect/kwbimage.cfg | 165 + .../files/include/configs/iconnect.h | 124 + package/uboot-kirkwood/patches/0001-ib62x0.patch | 542 + package/uboot-kirkwood/patches/0002-kwboot.patch | 873 ++ package/uboot-kirkwood/patches/0003-ide_bus.patch | 17 + package/uboot-kirkwood/patches/100-iconnect.patch | 10 + package/uboot-kirkwood/patches/110-dockstar.patch | 35 + package/uboot-lantiq/Makefile | 190 + package/uboot-lantiq/arcadyan_psc166_32.conf | 71 + package/uboot-lantiq/arcadyan_psc166_64.conf | 141 + package/uboot-lantiq/easy50712_DDR166M.conf | 134 + package/uboot-lantiq/easy50812.conf | 55 + package/uboot-lantiq/files/board/arcadyan/Makefile | 62 + .../files/board/arcadyan/arcadyan_bootstrap.c | 48 + .../files/board/arcadyan/athrs26_phy.c | 812 ++ .../files/board/arcadyan/athrs26_phy.h | 134 + package/uboot-lantiq/files/board/arcadyan/board.c | 517 + .../uboot-lantiq/files/board/arcadyan/config.mk | 36 + .../files/board/arcadyan/ddr_settings.h | 50 + .../files/board/arcadyan/ddr_settings_psc_32.h | 51 + .../files/board/arcadyan/ddr_settings_psc_64.h | 47 + .../files/board/arcadyan/lowlevel_bootstrap_init.S | 583 + .../files/board/arcadyan/lowlevel_init.S | 279 + .../uboot-lantiq/files/board/arcadyan/pmuenable.S | 48 + .../files/board/arcadyan/u-boot-bootstrap.lds | 74 + .../uboot-lantiq/files/board/arcadyan/u-boot.lds | 70 + .../files/board/infineon/easy50712/Makefile | 62 + .../files/board/infineon/easy50712/config.mk | 40 + .../files/board/infineon/easy50712/danube.c | 436 + .../files/board/infineon/easy50712/ddr_settings.h | 50 + .../infineon/easy50712/ddr_settings_PROMOSDDR400.h | 50 + .../infineon/easy50712/ddr_settings_Samsung_166.h | 51 + .../board/infineon/easy50712/ddr_settings_e111.h | 50 + .../board/infineon/easy50712/ddr_settings_e166.h | 50 + .../infineon/easy50712/ddr_settings_psc_166.h | 51 + .../board/infineon/easy50712/ddr_settings_r111.h | 50 + .../board/infineon/easy50712/ddr_settings_r166.h | 50 + .../board/infineon/easy50712/easy50712_bootstrap.c | 48 + .../infineon/easy50712/lowlevel_bootstrap_init.S | 606 + .../files/board/infineon/easy50712/lowlevel_init.S | 613 + .../files/board/infineon/easy50712/pmuenable.S | 48 + .../board/infineon/easy50712/u-boot-bootstrap.lds | 74 + .../files/board/infineon/easy50712/u-boot.lds | 70 + .../files/board/infineon/easy50812/Makefile | 62 + .../files/board/infineon/easy50812/ar9.c | 619 + .../board/infineon/easy50812/ar9_ddr111_settings.h | 51 + .../board/infineon/easy50812/ar9_ddr166_settings.h | 51 + .../board/infineon/easy50812/ar9_ddr196_settings.h | 51 + .../board/infineon/easy50812/ar9_ddr221_settings.h | 51 + .../board/infineon/easy50812/ar9_ddr250_settings.h | 51 + .../files/board/infineon/easy50812/config.mk | 40 + .../board/infineon/easy50812/easy50812_bootstrap.c | 48 + .../infineon/easy50812/lowlevel_bootstrap_init.S | 597 + .../files/board/infineon/easy50812/lowlevel_init.S | 543 + .../files/board/infineon/easy50812/pmuenable.S | 48 + .../board/infineon/easy50812/u-boot-bootstrap.lds | 74 + .../files/board/infineon/easy50812/u-boot.lds | 70 + package/uboot-lantiq/files/cpu/mips/ar9-clock.c | 67 + package/uboot-lantiq/files/cpu/mips/ar9/Makefile | 46 + package/uboot-lantiq/files/cpu/mips/ar9/clock.c | 67 + .../uboot-lantiq/files/cpu/mips/ar9/ifx_cache.S | 60 + package/uboot-lantiq/files/cpu/mips/danube-clock.c | 65 + .../uboot-lantiq/files/cpu/mips/danube/Makefile | 46 + package/uboot-lantiq/files/cpu/mips/danube/clock.c | 65 + .../uboot-lantiq/files/cpu/mips/danube/ifx_cache.S | 60 + package/uboot-lantiq/files/cpu/mips/ifx_asc.c | 218 + package/uboot-lantiq/files/cpu/mips/ifx_asc.h | 199 + package/uboot-lantiq/files/drivers/net/ifx_etop.c | 401 + package/uboot-lantiq/files/drivers/net/ifx_etop.h | 91 + .../uboot-lantiq/files/drivers/serial/ifx_asc.c | 218 + .../uboot-lantiq/files/drivers/serial/ifx_asc.h | 199 + package/uboot-lantiq/files/include/asm-mips/ar9.h | 424 + .../uboot-lantiq/files/include/asm-mips/danube.h | 2015 ++++ .../files/include/configs/arcadyan-common.h | 146 + .../uboot-lantiq/files/include/configs/arv3527P.h | 17 + .../uboot-lantiq/files/include/configs/arv4518PW.h | 16 + .../uboot-lantiq/files/include/configs/arv4519PW.h | 21 + .../uboot-lantiq/files/include/configs/arv4520PW.h | 20 + .../uboot-lantiq/files/include/configs/arv4525PW.h | 18 + .../uboot-lantiq/files/include/configs/arv452CPW.h | 20 + .../uboot-lantiq/files/include/configs/arv7518PW.h | 16 + .../uboot-lantiq/files/include/configs/arv7525PW.h | 18 + .../uboot-lantiq/files/include/configs/arv752DPW.h | 19 + .../files/include/configs/arv752DPW22.h | 21 + .../uboot-lantiq/files/include/configs/easy50712.h | 117 + .../uboot-lantiq/files/include/configs/easy50812.h | 104 + .../files/include/configs/ifx-common.h | 192 + package/uboot-lantiq/gct | 165 + package/uboot-lantiq/patches/000-build-infos.patch | 60 + .../uboot-lantiq/patches/010-fix-mips-flags.patch | 25 + .../patches/020-mips-enhancements.patch | 124 + .../uboot-lantiq/patches/030-cfi-addr-fixup.patch | 225 + package/uboot-lantiq/patches/040-compile.patch | 20 + package/uboot-lantiq/patches/050-portability.patch | 31 + package/uboot-lantiq/patches/100-ifx_targets.patch | 135 + package/uboot-lantiq/patches/200-httpd.patch | 6164 ++++++++++ package/uboot-lantiq/patches/300-arcadyan.patch | 98 + package/uboot-lantiq/patches/400-lzma.patch | 1687 +++ package/uboot-lantiq/patches/500-gigasx.patch | 35 + package/uboot-omap35xx/Makefile | 89 + .../files/include/configs/omap3_overo.h | 316 + package/uboot-omap4/Makefile | 90 + package/uboot-pxa/Makefile | 88 + .../patches/001-squashfs_rootfstype_cmdline.patch | 13 + package/uboot-xburst/Makefile | 102 + package/uboot-xburst/files/board/n516/Makefile | 40 + package/uboot-xburst/files/board/n516/config.mk | 33 + package/uboot-xburst/files/board/n516/flash.c | 50 + package/uboot-xburst/files/board/n516/n516.c | 126 + .../uboot-xburst/files/board/n516/u-boot-nand.lds | 63 + package/uboot-xburst/files/board/n516/u-boot.lds | 63 + package/uboot-xburst/files/board/nanonote/Makefile | 38 + .../uboot-xburst/files/board/nanonote/config.mk | 31 + .../uboot-xburst/files/board/nanonote/nanonote.c | 123 + .../files/board/nanonote/u-boot-nand.lds | 63 + .../uboot-xburst/files/board/nanonote/u-boot.lds | 63 + package/uboot-xburst/files/board/sakc/Makefile | 38 + package/uboot-xburst/files/board/sakc/config.mk | 31 + package/uboot-xburst/files/board/sakc/sakc.c | 94 + .../uboot-xburst/files/board/sakc/u-boot-nand.lds | 63 + package/uboot-xburst/files/board/sakc/u-boot.lds | 63 + package/uboot-xburst/files/cpu/mips/jz4740.c | 559 + package/uboot-xburst/files/cpu/mips/jz4740_nand.c | 199 + package/uboot-xburst/files/cpu/mips/jz_lcd.c | 484 + package/uboot-xburst/files/cpu/mips/jz_lcd.h | 260 + package/uboot-xburst/files/cpu/mips/jz_mmc.c | 1416 +++ package/uboot-xburst/files/cpu/mips/jz_mmc.h | 113 + package/uboot-xburst/files/cpu/mips/jz_serial.c | 141 + package/uboot-xburst/files/cpu/mips/mmc_protocol.h | 273 + .../files/cpu/mips/nanonote_gpm940b0.c | 420 + .../files/cpu/mips/nanonote_gpm940b0.h | 234 + package/uboot-xburst/files/cpu/mips/usb_boot.S | 880 ++ .../uboot-xburst/files/include/asm-mips/jz4740.h | 4892 ++++++++ package/uboot-xburst/files/include/configs/avt2.h | 26 + package/uboot-xburst/files/include/configs/n516.h | 311 + .../uboot-xburst/files/include/configs/nanonote.h | 191 + .../uboot-xburst/files/include/configs/qi_lb60.h | 27 + package/uboot-xburst/files/include/configs/sakc.h | 200 + .../files/nand_spl/board/n516/Makefile | 104 + .../files/nand_spl/board/n516/config.mk | 34 + .../files/nand_spl/board/n516/u-boot.lds | 63 + .../files/nand_spl/board/nanonote/Makefile | 104 + .../files/nand_spl/board/nanonote/config.mk | 34 + .../files/nand_spl/board/nanonote/u-boot.lds | 63 + .../files/nand_spl/board/sakc/Makefile | 104 + .../files/nand_spl/board/sakc/config.mk | 34 + .../files/nand_spl/board/sakc/u-boot.lds | 63 + .../uboot-xburst/files/nand_spl/nand_boot_jz4740.c | 429 + package/uboot-xburst/patches/001-xburst.patch | 1669 +++ package/uboot-xburst/patches/005-i2c.patch | 13 + package/uboot-xburst/patches/009-n516.patch | 23 + package/uboot-xburst/patches/010-sakc.patch | 32 + package/ubus/Makefile | 80 + package/ubus/files/ubus.init | 14 + package/uci/Makefile | 88 + package/uci/files/lib/config/uci.sh | 137 + package/uclibc++/Makefile | 91 + package/uclibc++/files/config.default | 58 + package/uclibc++/patches/002-path_to_bash.patch | 11 + package/uclibc++/patches/006-eabi_fix.patch | 38 + package/udev/Config.in | 118 + package/udev/Makefile | 156 + .../patches/0001-build-don-t-use-gc-sections.patch | 31 + ...2-udevd-add-lrt-for-message-queue-symbols.patch | 25 + .../0003-add_btn_trigger_happy_define.patch | 13 + package/uhttpd/Makefile | 164 + package/uhttpd/files/uhttpd.config | 89 + package/uhttpd/files/uhttpd.init | 135 + package/uhttpd/src/Makefile | 89 + package/uhttpd/src/uhttpd-cgi.c | 556 + package/uhttpd/src/uhttpd-cgi.h | 43 + package/uhttpd/src/uhttpd-file.c | 438 + package/uhttpd/src/uhttpd-file.h | 36 + package/uhttpd/src/uhttpd-lua.c | 579 + package/uhttpd/src/uhttpd-lua.h | 44 + package/uhttpd/src/uhttpd-mimetypes.h | 86 + package/uhttpd/src/uhttpd-tls.c | 170 + package/uhttpd/src/uhttpd-tls.h | 36 + package/uhttpd/src/uhttpd-ubus.c | 957 ++ package/uhttpd/src/uhttpd-ubus.h | 70 + package/uhttpd/src/uhttpd-utils.c | 1081 ++ package/uhttpd/src/uhttpd-utils.h | 140 + package/uhttpd/src/uhttpd.c | 1288 ++ package/uhttpd/src/uhttpd.h | 214 + package/usbreset/Makefile | 44 + package/usbreset/src/usbreset.c | 253 + package/util-linux/Makefile | 591 + package/util-linux/patches/000-compile.patch | 44 + .../util-linux/patches/001-no-printf-alloc.patch | 108 + package/vsc73x5-ucode/Makefile | 94 + package/vsc73x5-ucode/files/Makefile | 20 + package/w1-gpio-custom/Makefile | 54 + package/w1-gpio-custom/src/Kconfig | 4 + package/w1-gpio-custom/src/Makefile | 1 + package/w1-gpio-custom/src/w1-gpio-custom.c | 185 + package/wireless-tools/Makefile | 89 + package/wireless-tools/patches/001-debian.patch | 35 + .../002-fix-iwconfig-power-argument-parsing.patch | 13 + .../patches/003-we_essential_def.patch | 359 + .../patches/004-increase_iwlist_buffer.patch | 46 + package/wprobe/Makefile | 143 + package/wprobe/files/wprobe.config | 10 + package/wprobe/files/wprobe.init | 72 + package/wprobe/src/Makefile.inc | 12 + package/wprobe/src/exporter/Makefile | 5 + package/wprobe/src/exporter/wprobe-export.c | 304 + package/wprobe/src/exporter/wprobe-export.h | 34 + package/wprobe/src/filter/README.txt | 1 + package/wprobe/src/filter/gen_filter.pl | 63 + package/wprobe/src/filter/pfc.c | 58 + package/wprobe/src/kernel/Makefile | 5 + package/wprobe/src/kernel/linux/wprobe.h | 397 + package/wprobe/src/kernel/wprobe-core.c | 1164 ++ package/wprobe/src/kernel/wprobe-dummy.c | 96 + package/wprobe/src/user/Makefile | 38 + package/wprobe/src/user/list.h | 601 + package/wprobe/src/user/wprobe-lib.c | 1210 ++ package/wprobe/src/user/wprobe-util.c | 450 + package/wprobe/src/user/wprobe.h | 213 + package/wrt55agv2-spidevs/Makefile | 53 + package/wrt55agv2-spidevs/src/Kconfig | 3 + package/wrt55agv2-spidevs/src/Makefile | 1 + package/wrt55agv2-spidevs/src/wrt55agv2_spidevs.c | 114 + package/xfsprogs/Makefile | 87 + package/xfsprogs/patches/001-automake-compat.patch | 84 + package/xfsprogs/patches/100-no_aio.patch | 21 + package/xfsprogs/patches/110-uclibc_no_ustat.patch | 36 + package/xfsprogs/patches/120-portability.patch | 47 + package/xfsprogs/patches/130-uclibc_no_xattr.patch | 36 + package/xfsprogs/patches/140-no_po.patch | 20 + package/yamonenv/Makefile | 38 + .../patches/001-yamonenv_mtd_partition.patch | 11 + package/zlib/Makefile | 69 + 1552 files changed, 278904 insertions(+) create mode 100644 package/6in4/Makefile create mode 100755 package/6in4/files/6in4.sh create mode 100644 package/6rd/Makefile create mode 100644 package/6rd/files/6rd.sh create mode 100644 package/6rd/src/6rdcalc.c create mode 100644 package/6rd/src/Makefile create mode 100644 package/6to4/Makefile create mode 100755 package/6to4/files/6to4.sh create mode 100644 package/Makefile create mode 100644 package/acx-mac80211/Makefile create mode 100644 package/acx-mac80211/patches/001-make-compatible-with-recent-mac80211.patch create mode 100644 package/acx-mac80211/patches/004-ratelimit_compile_fix.patch create mode 100644 package/acx-mac80211/patches/100-hw-queue-check-fix.patch create mode 100644 package/admswconfig/Makefile create mode 100644 package/admswconfig/files/admswconfig create mode 100644 package/admswconfig/files/admswswitch.sh create mode 100644 package/admswconfig/patches/001-matrix.patch create mode 100644 package/apex/Makefile create mode 100644 package/apex/patches/001-compile_fix.patch create mode 100644 package/apex/patches/100-openwrt_nslu2_armeb_config.patch create mode 100644 package/apex/patches/120-openwrt_nslu2_16mb_armeb_config.patch create mode 100644 package/apex/patches/140-openwrt_fsg3_armeb_config.patch create mode 100644 package/apex/patches/150-limit_ram_to_64mb.patch create mode 100644 package/apex/patches/160-openwrt_nas100d_armeb_config.patch create mode 100644 package/ar7-atm/Config.in create mode 100644 package/ar7-atm/Makefile create mode 100644 package/ar7-atm/patches-D7.04.03.00/100-compile_fix.patch create mode 100644 package/ar7-atm/patches-D7.04.03.00/110-interrupt_fix.patch create mode 100644 package/ar7-atm/patches-D7.04.03.00/120-no_dumb_inline.patch create mode 100644 package/ar7-atm/patches-D7.04.03.00/130-powercutback.patch create mode 100644 package/ar7-atm/patches-D7.04.03.00/140-debug_mode.patch create mode 100644 package/ar7-atm/patches-D7.04.03.00/150-tasklet_mode.patch create mode 100644 package/ar7-atm/patches-D7.04.03.00/160-module-params.patch create mode 100644 package/ar7-atm/patches-D7.04.03.00/170-bus_id_removal.patch create mode 100644 package/ar7-atm/patches-D7.04.03.00/180-git_headers_include.patch create mode 100644 package/ar7-atm/patches-D7.04.03.00/190-2.6.32_proc_fixes.patch create mode 100644 package/ar7-atm/patches-D7.04.03.00/200-2.6.37_args.patch create mode 100644 package/ar7-atm/patches-D7.04.03.00/210-3.3-remove-smp_lock.h.patch create mode 100644 package/ar7-atm/patches-D7.05.01.00/100-compile_fix.patch create mode 100644 package/ar7-atm/patches-D7.05.01.00/110-interrupt_fix.patch create mode 100644 package/ar7-atm/patches-D7.05.01.00/120-no_dumb_inline.patch create mode 100644 package/ar7-atm/patches-D7.05.01.00/130-powercutback.patch create mode 100644 package/ar7-atm/patches-D7.05.01.00/140-debug_mode.patch create mode 100644 package/ar7-atm/patches-D7.05.01.00/150-tasklet_mode.patch create mode 100644 package/ar7-atm/patches-D7.05.01.00/160-module-params.patch create mode 100644 package/ar7-atm/patches-D7.05.01.00/170-bus_id_removal.patch create mode 100644 package/ar7-atm/patches-D7.05.01.00/180-git_headers_include.patch create mode 100644 package/ar7-atm/patches-D7.05.01.00/190-2.6.32_proc_fixes.patch create mode 100644 package/ar7-atm/patches-D7.05.01.00/200-2.6.37_args.patch create mode 100644 package/ar7-atm/patches-D7.05.01.00/210-3.3-remove-smp_lock.h.patch create mode 100644 package/arptables/Makefile create mode 100644 package/arptables/patches/100-always_optimize.patch create mode 100644 package/avila-wdt/Makefile create mode 100644 package/avila-wdt/src/Makefile create mode 100644 package/avila-wdt/src/avila-wdt.c create mode 100644 package/base-files/Makefile create mode 100755 package/base-files/files/bin/ipcalc.sh create mode 100755 package/base-files/files/bin/login.sh create mode 100644 package/base-files/files/etc/banner create mode 100644 package/base-files/files/etc/config/network create mode 100644 package/base-files/files/etc/config/system create mode 100644 package/base-files/files/etc/diag.sh create mode 120000 package/base-files/files/etc/functions.sh create mode 100644 package/base-files/files/etc/group create mode 100644 package/base-files/files/etc/hosts create mode 100644 package/base-files/files/etc/hotplug.d/ieee1394/10-ieee1394 create mode 100644 package/base-files/files/etc/hotplug.d/usb/10-usb create mode 100644 package/base-files/files/etc/hotplug2-common.rules create mode 100644 package/base-files/files/etc/hotplug2-init.rules create mode 100755 package/base-files/files/etc/init.d/boot create mode 100755 package/base-files/files/etc/init.d/done create mode 100755 package/base-files/files/etc/init.d/led create mode 100755 package/base-files/files/etc/init.d/rcS create mode 100755 package/base-files/files/etc/init.d/sysctl create mode 100755 package/base-files/files/etc/init.d/sysntpd create mode 100755 package/base-files/files/etc/init.d/umount create mode 100755 package/base-files/files/etc/init.d/usb create mode 100755 package/base-files/files/etc/init.d/watchdog create mode 100644 package/base-files/files/etc/inittab create mode 100644 package/base-files/files/etc/openwrt_release create mode 100644 package/base-files/files/etc/openwrt_version create mode 100644 package/base-files/files/etc/passwd create mode 100755 package/base-files/files/etc/preinit create mode 100644 package/base-files/files/etc/profile create mode 100644 package/base-files/files/etc/protocols create mode 100755 package/base-files/files/etc/rc.common create mode 100644 package/base-files/files/etc/rc.local create mode 100644 package/base-files/files/etc/services create mode 100644 package/base-files/files/etc/shadow create mode 100644 package/base-files/files/etc/shells create mode 100644 package/base-files/files/etc/sysctl.conf create mode 100644 package/base-files/files/etc/sysupgrade.conf create mode 100644 package/base-files/files/etc/uci-defaults/migrate-shadow create mode 100644 package/base-files/files/etc/uci-defaults/migrate-sysctl create mode 100644 package/base-files/files/lib/firstboot/05_firstboot_skip create mode 100644 package/base-files/files/lib/firstboot/10_determine_parts create mode 100644 package/base-files/files/lib/firstboot/10_no_fo_clear_overlay create mode 100644 package/base-files/files/lib/firstboot/10_reset_has_mini_fo create mode 100644 package/base-files/files/lib/firstboot/20_has_mini_fo create mode 100644 package/base-files/files/lib/firstboot/20_no_fo_mount_jffs create mode 100644 package/base-files/files/lib/firstboot/20_reset_clear_jffs create mode 100644 package/base-files/files/lib/firstboot/30_is_rootfs_mounted create mode 100644 package/base-files/files/lib/firstboot/30_no_fo_pivot create mode 100644 package/base-files/files/lib/firstboot/30_reset_copy_rom create mode 100644 package/base-files/files/lib/firstboot/40_copy_ramoverlay create mode 100644 package/base-files/files/lib/firstboot/40_no_fo_copy_ramoverlay create mode 100644 package/base-files/files/lib/firstboot/50_pivot create mode 100644 package/base-files/files/lib/firstboot/99_10_no_fo_cleanup create mode 100644 package/base-files/files/lib/firstboot/99_10_with_fo_cleanup create mode 100755 package/base-files/files/lib/functions.sh create mode 100644 package/base-files/files/lib/functions/boot.sh create mode 100644 package/base-files/files/lib/functions/network.sh create mode 100644 package/base-files/files/lib/functions/service.sh create mode 100644 package/base-files/files/lib/functions/uci-defaults.sh create mode 100644 package/base-files/files/lib/preinit/02_default_set_state create mode 100644 package/base-files/files/lib/preinit/05_mount_skip create mode 100644 package/base-files/files/lib/preinit/10_check_for_mtd create mode 100644 package/base-files/files/lib/preinit/10_essential_fs create mode 100644 package/base-files/files/lib/preinit/10_indicate_failsafe create mode 100644 package/base-files/files/lib/preinit/10_indicate_preinit create mode 100644 package/base-files/files/lib/preinit/20_check_jffs2_ready create mode 100644 package/base-files/files/lib/preinit/20_device_fs_mount create mode 100644 package/base-files/files/lib/preinit/30_device_fs_daemons create mode 100644 package/base-files/files/lib/preinit/30_failsafe_wait create mode 100644 package/base-files/files/lib/preinit/40_init_shm create mode 100644 package/base-files/files/lib/preinit/40_mount_devpts create mode 100644 package/base-files/files/lib/preinit/40_mount_jffs2 create mode 100644 package/base-files/files/lib/preinit/40_run_failsafe_hook create mode 100644 package/base-files/files/lib/preinit/41_merge_overlay_hooks create mode 100644 package/base-files/files/lib/preinit/50_choose_console create mode 100644 package/base-files/files/lib/preinit/50_indicate_regular_preinit create mode 100644 package/base-files/files/lib/preinit/60_init_hotplug create mode 100644 package/base-files/files/lib/preinit/70_initramfs_test create mode 100644 package/base-files/files/lib/preinit/70_pivot_jffs2_root create mode 100644 package/base-files/files/lib/preinit/80_mount_root create mode 100644 package/base-files/files/lib/preinit/90_init_console create mode 100644 package/base-files/files/lib/preinit/90_mount_no_jffs2 create mode 100644 package/base-files/files/lib/preinit/90_restore_config create mode 100644 package/base-files/files/lib/preinit/99_10_failsafe_login create mode 100644 package/base-files/files/lib/preinit/99_10_mount_no_mtd create mode 100644 package/base-files/files/lib/preinit/99_10_run_init create mode 100644 package/base-files/files/lib/upgrade/common.sh create mode 100644 package/base-files/files/lib/upgrade/keep.d/base-files-essential create mode 100644 package/base-files/files/rom/note create mode 100755 package/base-files/files/sbin/firstboot create mode 100755 package/base-files/files/sbin/hotplug-call create mode 100755 package/base-files/files/sbin/led.sh create mode 100755 package/base-files/files/sbin/mount_root create mode 100755 package/base-files/files/sbin/sysupgrade create mode 100755 package/base-files/files/sbin/wifi create mode 100644 package/base-files/image-config.in create mode 100644 package/block-mount/Config.in create mode 100644 package/block-mount/Makefile create mode 100644 package/block-mount/files/10-swap create mode 100644 package/block-mount/files/20-fsck create mode 100644 package/block-mount/files/40-mount create mode 100644 package/block-mount/files/50_determine_usb_root create mode 100644 package/block-mount/files/55_determine_extroot_sysupgrade create mode 100644 package/block-mount/files/60_pivot_usb_root create mode 100644 package/block-mount/files/block.sh create mode 100644 package/block-mount/files/extmount.sh create mode 100644 package/block-mount/files/fsck.sh create mode 100644 package/block-mount/files/fstab.config create mode 100644 package/block-mount/files/fstab.init create mode 100644 package/block-mount/files/mount.sh create mode 100644 package/brcm2708-gpu-fw/Makefile create mode 100644 package/bridge-utils/Makefile create mode 100644 package/bridge-utils/patches/001-libbridge_cflags.patch create mode 100644 package/broadcom-diag/Makefile create mode 100644 package/broadcom-diag/src/Makefile create mode 100644 package/broadcom-diag/src/diag.c create mode 100644 package/broadcom-diag/src/diag.h create mode 100644 package/broadcom-diag/src/gpio.h create mode 100644 package/broadcom-wl/Makefile create mode 100644 package/broadcom-wl/files/etc/hotplug.d/net/20-broadcom_wds create mode 100755 package/broadcom-wl/files/etc/init.d/wlunbind create mode 100644 package/broadcom-wl/files/lib/wifi/broadcom.sh create mode 100644 package/broadcom-wl/patches/003-compat-2.6.35.patch create mode 100644 package/broadcom-wl/patches/004-remove-pcmcia.patch create mode 100644 package/broadcom-wl/patches/005-fix-mem-leak-on-unload.patch create mode 100644 package/broadcom-wl/patches/006-generic-dma-api.patch create mode 100644 package/broadcom-wl/patches/007-use-glue-driver.patch create mode 100644 package/broadcom-wl/patches/008-fix_virtual_interfaces.patch create mode 100644 package/broadcom-wl/patches/009-fix_compile_3_2.patch create mode 100644 package/broadcom-wl/patches/010-remove_irqf_samble_random.patch create mode 100644 package/broadcom-wl/patches/910-fallback-sprom.patch create mode 100644 package/broadcom-wl/patches/912-pci-bus-nvram-hack.patch create mode 100644 package/broadcom-wl/src/glue/Makefile create mode 100644 package/broadcom-wl/src/glue/wl_glue.c create mode 100644 package/broadcom-wl/src/glue/wl_glue.h create mode 100644 package/broadcom-wl/src/wlc.c create mode 100644 package/busybox/Config.in create mode 100644 package/busybox/Makefile create mode 100644 package/busybox/config/Config.in create mode 100644 package/busybox/config/archival/Config.in create mode 100644 package/busybox/config/console-tools/Config.in create mode 100644 package/busybox/config/coreutils/Config.in create mode 100644 package/busybox/config/debianutils/Config.in create mode 100644 package/busybox/config/e2fsprogs/Config.in create mode 100644 package/busybox/config/e2fsprogs/old_e2fsprogs/Config.in create mode 100644 package/busybox/config/editors/Config.in create mode 100644 package/busybox/config/findutils/Config.in create mode 100644 package/busybox/config/init/Config.in create mode 100644 package/busybox/config/libbb/Config.in create mode 100644 package/busybox/config/loginutils/Config.in create mode 100644 package/busybox/config/mailutils/Config.in create mode 100644 package/busybox/config/miscutils/Config.in create mode 100644 package/busybox/config/modutils/Config.in create mode 100644 package/busybox/config/networking/Config.in create mode 100644 package/busybox/config/networking/udhcp/Config.in create mode 100644 package/busybox/config/printutils/Config.in create mode 100644 package/busybox/config/procps/Config.in create mode 100644 package/busybox/config/runit/Config.in create mode 100644 package/busybox/config/selinux/Config.in create mode 100644 package/busybox/config/shell/Config.in create mode 100644 package/busybox/config/sysklogd/Config.in create mode 100644 package/busybox/config/util-linux/Config.in create mode 100755 package/busybox/convert_menuconfig.pl create mode 100755 package/busybox/files/cron create mode 100755 package/busybox/files/telnet create mode 100644 package/busybox/patches/001-init_avoid_loop_opening_tty.patch create mode 100644 package/busybox/patches/002-passwd_use_md5_hash_by_default_like_it_used_to_be.patch create mode 100644 package/busybox/patches/003-brctl_show_fix.patch create mode 100644 package/busybox/patches/004-upstream-percent_decode_in_place.patch create mode 100644 package/busybox/patches/005-resource_h_include.patch create mode 100644 package/busybox/patches/006-upstream_CVE-2011-2716_fixes.patch create mode 100644 package/busybox/patches/110-wget_getopt_fix.patch create mode 100644 package/busybox/patches/140-trylink_bash.patch create mode 100644 package/busybox/patches/141-gen_build_files_bash.patch create mode 100644 package/busybox/patches/150-no_static_libgcc.patch create mode 100644 package/busybox/patches/200-etc_crontabs.patch create mode 100644 package/busybox/patches/240-udhcpc_retries.patch create mode 100644 package/busybox/patches/241-udhcpc-oversized_packets.patch create mode 100644 package/busybox/patches/242-udhcpc_msgs.patch create mode 100644 package/busybox/patches/243-udhcpc_changed_ifindex.patch create mode 100644 package/busybox/patches/244-udhcpc_add_6rd_option.patch create mode 100644 package/busybox/patches/250-ash_export-n.patch create mode 100644 package/busybox/patches/251-ash_fix-redir-substitution.patch create mode 100644 package/busybox/patches/300-netmsg.patch create mode 100644 package/busybox/patches/310-passwd_access.patch create mode 100644 package/busybox/patches/340-lock_util.patch create mode 100644 package/busybox/patches/350-httpd_redir.patch create mode 100644 package/busybox/patches/410-httpd_cgi_headers.patch create mode 100644 package/busybox/patches/440-httpd_chdir.patch create mode 100644 package/busybox/patches/470-insmod_search.patch create mode 100644 package/busybox/patches/480-mount_union.patch create mode 100644 package/busybox/patches/490-mount_disable_check.patch create mode 100644 package/busybox/patches/510-awk_include.patch create mode 100644 package/busybox/patches/524-udhcpc_renew.patch create mode 100644 package/busybox/patches/610-ntpd_delayed_resolve.patch create mode 100644 package/busybox/patches/700-hexdump_segfault_fix.patch create mode 100644 package/busybox/patches/802-brctl_linux24.patch create mode 100644 package/busybox/patches/803-id_getgrouplist.patch create mode 100644 package/busybox/patches/902-telnetd_intr.patch create mode 100644 package/busybox/patches/910-insmod-q-flag.patch create mode 100644 package/busybox/patches/911-date-k-flag.patch create mode 100644 package/busybox/patches/920-portability.patch create mode 100644 package/busybox/patches/950-partial-checksum.patch create mode 100644 package/button-hotplug/Makefile create mode 100644 package/button-hotplug/src/Kconfig create mode 100644 package/button-hotplug/src/Makefile create mode 100644 package/button-hotplug/src/button-hotplug.c create mode 100644 package/comgt/Makefile create mode 100644 package/comgt/files/3g.chat create mode 100644 package/comgt/files/3g.sh create mode 100644 package/comgt/files/3g.usb create mode 100644 package/comgt/files/evdo.chat create mode 100644 package/comgt/files/getcardinfo.gcom create mode 100644 package/comgt/files/getcarrier.gcom create mode 100644 package/comgt/files/getcnum.gcom create mode 100644 package/comgt/files/getimsi.gcom create mode 100644 package/comgt/files/getstrength.gcom create mode 100644 package/comgt/files/setmode.gcom create mode 100644 package/comgt/files/setpin.gcom create mode 100644 package/comgt/patches/001-compile_fix.patch create mode 100644 package/compcache/Config.in create mode 100644 package/compcache/Makefile create mode 100644 package/compcache/files/compcache.config create mode 100644 package/compcache/files/compcache.init create mode 100644 package/compcache/patches/000-provide_lzo_kmod.patch create mode 100644 package/compcache/patches/001-lzo-speed.patch create mode 100644 package/compcache/patches/002-kernel-2.6.34-compat.patch create mode 100644 package/compcache/patches/003-kernel-3.x-compat.patch create mode 100644 package/crda/Makefile create mode 100644 package/crda/files/hotplug.rule create mode 100644 package/crda/patches/101-make_crypto_use_optional.patch create mode 100644 package/cyassl/Makefile create mode 100644 package/cyassl/patches/110-makefile_disable_examples_tests.patch create mode 100644 package/cyassl/patches/120-makefile_destdir.patch create mode 100644 package/cyassl/patches/130-configure_disable_pthreads_tests.patch create mode 100644 package/dnsmasq/Makefile create mode 100644 package/dnsmasq/files/dhcp.conf create mode 100644 package/dnsmasq/files/dnsmasq.conf create mode 100644 package/dnsmasq/files/dnsmasq.init create mode 100644 package/dnsmasq/patches/0001-Set-prefix-on-link-bit-in-RAs.patch create mode 100644 package/dnsmasq/patches/100-fix-dhcp-no-address-warning.patch create mode 100644 package/dropbear/Makefile create mode 100644 package/dropbear/files/dropbear.config create mode 100755 package/dropbear/files/dropbear.init create mode 100644 package/dropbear/patches/100-pubkey_path.patch create mode 100644 package/dropbear/patches/110-change_user.patch create mode 100644 package/dropbear/patches/120-openwrt_options.patch create mode 100644 package/dropbear/patches/130-ssh_ignore_o_and_x_args.patch create mode 100644 package/dropbear/patches/140-disable_assert.patch create mode 100644 package/dropbear/patches/150-dbconvert_standalone.patch create mode 100644 package/dropbear/patches/200-lcrypt_bsdfix.patch create mode 100644 package/dropbear/patches/300-ipv6_addr_port_split.patch create mode 100644 package/dropbear/patches/400-CVE-2012-0920.patch create mode 100644 package/dropbear/patches/500-set-default-path.patch create mode 100644 package/e2fsprogs/Makefile create mode 100644 package/e2fsprogs/files/e2fsck.conf create mode 100644 package/e2fsprogs/files/e2fsck.sh create mode 100644 package/e2fsprogs/patches/001-link-against-libuuid.patch create mode 100644 package/e2fsprogs/patches/002-no_malloc_h.patch create mode 100644 package/ead/Makefile create mode 100644 package/ead/src/Makefile create mode 100644 package/ead/src/aes.c create mode 100644 package/ead/src/ead-client.c create mode 100644 package/ead/src/ead-crypt.c create mode 100644 package/ead/src/ead-crypt.h create mode 100644 package/ead/src/ead-pcap.h create mode 100644 package/ead/src/ead.c create mode 100644 package/ead/src/ead.h create mode 100644 package/ead/src/filter.c create mode 100644 package/ead/src/libbridge.h create mode 100644 package/ead/src/libbridge_init.c create mode 100644 package/ead/src/libbridge_private.h create mode 100644 package/ead/src/list.h create mode 100644 package/ead/src/passwd create mode 100644 package/ead/src/pfc.c create mode 100644 package/ead/src/pw_encrypt_md5.c create mode 100644 package/ead/src/sha1.c create mode 100644 package/ead/src/tinysrp/Makefile.am create mode 100644 package/ead/src/tinysrp/Makefile.in create mode 100644 package/ead/src/tinysrp/Notes create mode 100644 package/ead/src/tinysrp/acconfig.h create mode 100644 package/ead/src/tinysrp/acinclude.m4 create mode 100644 package/ead/src/tinysrp/aclocal.m4 create mode 100644 package/ead/src/tinysrp/bn.h create mode 100644 package/ead/src/tinysrp/bn_add.c create mode 100644 package/ead/src/tinysrp/bn_asm.c create mode 100644 package/ead/src/tinysrp/bn_ctx.c create mode 100644 package/ead/src/tinysrp/bn_div.c create mode 100644 package/ead/src/tinysrp/bn_exp.c create mode 100644 package/ead/src/tinysrp/bn_lcl.h create mode 100644 package/ead/src/tinysrp/bn_lib.c create mode 100644 package/ead/src/tinysrp/bn_mul.c create mode 100644 package/ead/src/tinysrp/bn_prime.h create mode 100644 package/ead/src/tinysrp/bn_shift.c create mode 100644 package/ead/src/tinysrp/bn_sqr.c create mode 100644 package/ead/src/tinysrp/bn_word.c create mode 100644 package/ead/src/tinysrp/clitest.c create mode 100644 package/ead/src/tinysrp/config.h.in create mode 100755 package/ead/src/tinysrp/configure create mode 100644 package/ead/src/tinysrp/configure.in create mode 100755 package/ead/src/tinysrp/install-sh create mode 100755 package/ead/src/tinysrp/missing create mode 100755 package/ead/src/tinysrp/mkinstalldirs create mode 100644 package/ead/src/tinysrp/srvtest.c create mode 100644 package/ead/src/tinysrp/stamp-h.in create mode 100644 package/ead/src/tinysrp/t_client.c create mode 100644 package/ead/src/tinysrp/t_client.h create mode 100644 package/ead/src/tinysrp/t_conf.c create mode 100644 package/ead/src/tinysrp/t_conv.c create mode 100644 package/ead/src/tinysrp/t_defines.h create mode 100644 package/ead/src/tinysrp/t_getconf.c create mode 100644 package/ead/src/tinysrp/t_getpass.c create mode 100644 package/ead/src/tinysrp/t_math.c create mode 100644 package/ead/src/tinysrp/t_misc.c create mode 100644 package/ead/src/tinysrp/t_pw.c create mode 100644 package/ead/src/tinysrp/t_pwd.h create mode 100644 package/ead/src/tinysrp/t_read.c create mode 100644 package/ead/src/tinysrp/t_read.h create mode 100644 package/ead/src/tinysrp/t_server.c create mode 100644 package/ead/src/tinysrp/t_server.h create mode 100644 package/ead/src/tinysrp/t_sha.c create mode 100644 package/ead/src/tinysrp/t_sha.h create mode 100644 package/ead/src/tinysrp/t_truerand.c create mode 100644 package/ead/src/tinysrp/tconf.c create mode 100644 package/ead/src/tinysrp/tinysrp.c create mode 100644 package/ead/src/tinysrp/tinysrp.h create mode 100644 package/ead/src/tinysrp/tpasswd create mode 100644 package/ead/src/tinysrp/tphrase.c create mode 100644 package/ebtables/Makefile create mode 100644 package/ep80579-drivers/Makefile create mode 100644 package/ep80579-drivers/patches/001-igbe_update.patch create mode 100644 package/ep80579-drivers/patches/002-cflags_cleanup.patch create mode 100644 package/ep80579-drivers/patches/003-new_irqf_constants.patch create mode 100644 package/ep80579-drivers/patches/100-iegbe_netdev_ops.patch create mode 100644 package/ep80579-drivers/patches/101-iegbe_fix_napi_interface.patch create mode 100644 package/ep80579-drivers/patches/102-iegbe_nuke_polling_netdev.patch create mode 100644 package/ep80579-drivers/patches/103-iegbe_convert_unicast_addr_list.patch create mode 100644 package/ep80579-drivers/patches/104-iegbe_group_address_list_and_its_count.patch create mode 100644 package/ep80579-drivers/patches/105-iegbe_new_dma_masks.patch create mode 100644 package/ep80579-drivers/patches/106-iegbe_new_irqf_constant.patch create mode 100644 package/ep80579-drivers/patches/150-ocracoke_island.patch create mode 100644 package/ep80579-drivers/patches/200-can_fix_ioctl_numbers.patch create mode 100644 package/ep80579-drivers/patches/210-can_include_linux_fs_h.patch create mode 100644 package/ep80579-drivers/patches/220-can_fix_irq_request.patch create mode 100644 package/ep80579-drivers/patches/230-can_remove_driver_data_direct_access.patch create mode 100644 package/ep80579-drivers/patches/300-wdt_compile_fix.patch create mode 100644 package/ep80579-drivers/patches/400-edma_fix_irq_request_warning.patch create mode 100644 package/ep80579-drivers/patches/500-1588_fix_irq_request_warning.patch create mode 100644 package/ep80579-drivers/patches/600-2.6.27_includes.patch create mode 100644 package/ep80579-drivers/patches/601-2.6.32_includes.patch create mode 100644 package/ep80579-drivers/patches/700-iegbe_kcompat_2.6.30.patch create mode 100644 package/ep80579-drivers/patches/701-iegbe_poll_dev.patch create mode 100644 package/ep80579-drivers/patches/710-3.3-fix-generated-header-locations.patch create mode 100644 package/ep80579-drivers/patches/711-3.3-gbe-fixes.patch create mode 100644 package/ep80579-drivers/patches/712-3.3-can-fixes.patch create mode 100644 package/ep80579-drivers/patches/713-3.3-gpio-fixes.patch create mode 100644 package/ep80579-drivers/patches/714-3.3-wdt-fixes.patch create mode 100644 package/ep80579-drivers/patches/715-3.3-1588-fixes.patch create mode 100644 package/fbtest/Makefile create mode 100644 package/fbtest/src/Makefile create mode 100644 package/fbtest/src/fbtest.c create mode 100644 package/fconfig/Makefile create mode 100644 package/firewall/Makefile create mode 100644 package/firewall/files/bin/fw create mode 100644 package/firewall/files/firewall.config create mode 100644 package/firewall/files/firewall.hotplug create mode 100755 package/firewall/files/firewall.init create mode 100644 package/firewall/files/firewall.upgrade create mode 100644 package/firewall/files/firewall.user create mode 100644 package/firewall/files/lib/config.sh create mode 100644 package/firewall/files/lib/core.sh create mode 100644 package/firewall/files/lib/core_forwarding.sh create mode 100644 package/firewall/files/lib/core_init.sh create mode 100644 package/firewall/files/lib/core_interface.sh create mode 100644 package/firewall/files/lib/core_redirect.sh create mode 100644 package/firewall/files/lib/core_rule.sh create mode 100644 package/firewall/files/lib/fw.sh create mode 100644 package/firewall/files/lib/uci_firewall.sh create mode 100644 package/firewall/files/reflection.hotplug create mode 100644 package/fuse/Makefile create mode 100644 package/fuse/patches/112-no_break_on_mknod.patch create mode 100644 package/gdb/Makefile create mode 100644 package/goldfish-qemu/Makefile create mode 100644 package/goldfish-qemu/patches/100-darwin_fix.patch create mode 100644 package/goldfish-qemu/patches/110-single_image.patch create mode 100644 package/goldfish-qemu/skins/HVGA/arrow_down.png create mode 100644 package/goldfish-qemu/skins/HVGA/arrow_left.png create mode 100644 package/goldfish-qemu/skins/HVGA/arrow_right.png create mode 100644 package/goldfish-qemu/skins/HVGA/arrow_up.png create mode 100644 package/goldfish-qemu/skins/HVGA/back.png create mode 100644 package/goldfish-qemu/skins/HVGA/device.png create mode 100644 package/goldfish-qemu/skins/HVGA/end.png create mode 100644 package/goldfish-qemu/skins/HVGA/home.png create mode 100644 package/goldfish-qemu/skins/HVGA/key.png create mode 100644 package/goldfish-qemu/skins/HVGA/keyboard.png create mode 100644 package/goldfish-qemu/skins/HVGA/layout create mode 100644 package/goldfish-qemu/skins/HVGA/menu.png create mode 100644 package/goldfish-qemu/skins/HVGA/power.png create mode 100644 package/goldfish-qemu/skins/HVGA/select.png create mode 100644 package/goldfish-qemu/skins/HVGA/send.png create mode 100644 package/goldfish-qemu/skins/HVGA/spacebar.png create mode 100644 package/goldfish-qemu/skins/HVGA/volume_down.png create mode 100644 package/goldfish-qemu/skins/HVGA/volume_up.png create mode 100644 package/gpio-button-hotplug/Makefile create mode 100644 package/gpio-button-hotplug/src/Makefile create mode 100644 package/gpio-button-hotplug/src/gpio-button-hotplug.c create mode 100644 package/gpioctl/Makefile create mode 100644 package/gpioctl/src/Makefile create mode 100644 package/gpioctl/src/main.c create mode 100644 package/grub/Makefile create mode 100644 package/grub/patches/002-strip_note_gnu_build_id.patch create mode 100644 package/grub/patches/010-fixes-1.patch create mode 100644 package/grub/patches/020-ext4_support.patch create mode 100644 package/grub/patches/030-add-stage2-ldscripts.patch create mode 100644 package/grub/patches/040-automake-compat.patch create mode 100644 package/grub/patches/100-add_configure_macros.patch create mode 100644 package/grub/patches/110-remove_configure_errors.patch create mode 100644 package/grub/patches/200-darwin_fixes.patch create mode 100644 package/grub/patches/210-remove_inline_asm.patch create mode 100644 package/grub2/Makefile create mode 100644 package/grub2/patches/100-grub_setup_root.patch create mode 100644 package/hostap-driver/Makefile create mode 100755 package/hostap-driver/files/lib/wifi/hostap.sh create mode 100644 package/hostap-driver/patches/001-fix-txpower.patch create mode 100644 package/hostap-utils/Makefile create mode 100644 package/hostapd/Config.in create mode 100644 package/hostapd/Makefile create mode 100644 package/hostapd/files/hostapd-full.config create mode 100644 package/hostapd/files/hostapd-mini.config create mode 100644 package/hostapd/files/hostapd.sh create mode 100644 package/hostapd/files/multicall.c create mode 100644 package/hostapd/files/wpa_supplicant-full.config create mode 100644 package/hostapd/files/wpa_supplicant-mini.config create mode 100644 package/hostapd/files/wpa_supplicant.sh create mode 100644 package/hostapd/files/wps-hotplug.sh create mode 100644 package/hostapd/patches/100-pending_work.patch create mode 100644 package/hostapd/patches/300-nl80211_multicall_fixes.patch create mode 100644 package/hostapd/patches/310-multicall_bridge_fix.patch create mode 100644 package/hostapd/patches/320-madwifi_key_fixes.patch create mode 100644 package/hostapd/patches/400-noscan.patch create mode 100644 package/hostapd/patches/410-multicall.patch create mode 100644 package/hostapd/patches/420-timestamp_check.patch create mode 100644 package/hostapd/patches/430-rescan_immediately.patch create mode 100644 package/hostapd/patches/440-optional_rfkill.patch create mode 100644 package/hostapd/patches/450-reload_freq_change.patch create mode 100644 package/hostapd/patches/451-nl80211_del_beacon_bss.patch create mode 100644 package/hostapd/patches/452-ctrl_iface_reload.patch create mode 100644 package/hostapd/patches/453-ap_sta_support.patch create mode 100644 package/hostapd/patches/460-disable_ctrl_iface_mib.patch create mode 100644 package/hostapd/patches/470-wpa_ie_cap_workaround.patch create mode 100644 package/hostapd/patches/480-terminate_on_setup_failure.patch create mode 100644 package/hostapd/patches/500-random_pool_add_kernel.patch create mode 100644 package/hostapd/patches/510-bring_down_interface.patch create mode 100644 package/hostapd/patches/520-fix_wps_pin_crash.patch create mode 100644 package/hostapd/patches/530-wps_single_auth_enc_type.patch create mode 100644 package/hostapd/patches/540-dynamic_20_40_mhz.patch create mode 100644 package/hostapd/patches/550-limit_debug_messages.patch create mode 100644 package/hostapd/patches/560-indicate-features.patch create mode 100644 package/hostapd/patches/570-genl_connect_debug.patch create mode 100644 package/hostapd/patches/580-fix_bss_addr.patch create mode 100644 package/hostapd/patches/590-hostapd_cli_ifdef.patch create mode 100644 package/hostapd/patches/601-wpa_supplicant-add-new-config-params-to-be-used-with.patch create mode 100644 package/hostapd/patches/602-driver_nl80211-use-new-parameters-during-ibss-join.patch create mode 100644 package/hostapd/patches/604-wpa_s-support-htmode-param.patch create mode 100644 package/hostapd/patches/610-max_num_sta_probe.patch create mode 100644 package/hotplug2/Makefile create mode 100644 package/hotplug2/files/hotplug2.rules create mode 100644 package/hotplug2/patches/100-env_memleak.patch create mode 100644 package/hotplug2/patches/110-static_worker.patch create mode 100644 package/hotplug2/patches/120-sysfs_path_fix.patch create mode 100644 package/hotplug2/patches/130-cancel_download_fix.patch create mode 100644 package/hotplug2/patches/140-worker_fork_fix.patch create mode 100644 package/hotplug2/patches/150-force_fork_slow.patch create mode 100644 package/hotplug2/patches/160-event_block_fix.patch create mode 100644 package/hotplug2/patches/170-non_fatal_include.patch create mode 100644 package/hotplug2/src/udevtrigger.c create mode 100644 package/i2c-gpio-custom/Makefile create mode 100644 package/i2c-gpio-custom/src/Kconfig create mode 100644 package/i2c-gpio-custom/src/Makefile create mode 100644 package/i2c-gpio-custom/src/i2c-gpio-custom.c create mode 100644 package/ifenslave/Makefile create mode 100644 package/iproute2/Makefile create mode 100644 package/iproute2/files/30-teql create mode 100644 package/iproute2/patches/000-sync_pkt_sched_h.patch create mode 100644 package/iproute2/patches/001-iproute2-2.6.11_Config.patch create mode 100644 package/iproute2/patches/002-iproute2-ipxfrm_no_sctp.patch create mode 100644 package/iproute2/patches/004-darwin_fixes.patch create mode 100644 package/iproute2/patches/006-iproute2-tc_esfq.patch create mode 100644 package/iproute2/patches/007-no_arpd.patch create mode 100644 package/iproute2/patches/008-no_netem.patch create mode 100644 package/iproute2/patches/100-allow_pfifo_fast.patch create mode 100644 package/iproute2/patches/110-extra-ccopts.patch create mode 100644 package/iproute2/patches/120-libnetlink-pic.patch create mode 100644 package/iproute2/patches/200-act_connmark.patch create mode 100644 package/iproute2/patches/210-add_codel.patch create mode 100644 package/iptables/Makefile create mode 100644 package/iptables/files/l7/aim.pat create mode 100644 package/iptables/files/l7/bittorrent.pat create mode 100644 package/iptables/files/l7/edonkey.pat create mode 100644 package/iptables/files/l7/fasttrack.pat create mode 100644 package/iptables/files/l7/ftp.pat create mode 100644 package/iptables/files/l7/gnutella.pat create mode 100644 package/iptables/files/l7/http.pat create mode 100644 package/iptables/files/l7/ident.pat create mode 100644 package/iptables/files/l7/irc.pat create mode 100644 package/iptables/files/l7/jabber.pat create mode 100644 package/iptables/files/l7/msnmessenger.pat create mode 100644 package/iptables/files/l7/ntp.pat create mode 100644 package/iptables/files/l7/pop3.pat create mode 100644 package/iptables/files/l7/smtp.pat create mode 100644 package/iptables/files/l7/ssl.pat create mode 100644 package/iptables/files/l7/vnc.pat create mode 100644 package/iptables/patches/002-layer7_2.22.patch create mode 100644 package/iptables/patches/009-table-alignment.patch create mode 100644 package/iptables/patches/010-multiport-linux-2.4-compat.patch create mode 100644 package/iptables/patches/011-recent-add-reap.patch create mode 100644 package/iptables/patches/020-iptables-disable-modprobe.patch create mode 100644 package/iptables/patches/030-no-libnfnetlink.patch create mode 100644 package/iptables/patches/100-bash-location.patch create mode 100644 package/iptables/patches/110-linux_3.2_compat.patch create mode 100644 package/iptables/patches/200-configurable_builtin.patch create mode 100644 package/iw/Makefile create mode 100644 package/iw/patches/001-nl80211_h_sync.patch create mode 100644 package/iw/patches/100-rx_rate.patch create mode 100644 package/iw/patches/110-per_chain_signal_strength.patch create mode 100644 package/iw/patches/120-tdls_peer_indentation.patch create mode 100644 package/iw/patches/130-antenna_gain.patch create mode 100644 package/iwcap/Makefile create mode 100644 package/iwcap/src/iwcap.c create mode 100644 package/iwinfo/Makefile create mode 100644 package/iwinfo/src/COPYING create mode 100644 package/iwinfo/src/Makefile create mode 100644 package/iwinfo/src/include/iwinfo.h create mode 100644 package/iwinfo/src/include/iwinfo/api/broadcom.h create mode 100644 package/iwinfo/src/include/iwinfo/api/madwifi.h create mode 100644 package/iwinfo/src/include/iwinfo/api/nl80211.h create mode 100644 package/iwinfo/src/include/iwinfo/api/wext.h create mode 100644 package/iwinfo/src/include/iwinfo/lua.h create mode 100644 package/iwinfo/src/include/iwinfo/madwifi.h create mode 100644 package/iwinfo/src/include/iwinfo/nl80211.h create mode 100644 package/iwinfo/src/include/iwinfo/utils.h create mode 100644 package/iwinfo/src/include/iwinfo/wext.h create mode 100644 package/iwinfo/src/include/iwinfo/wext_scan.h create mode 100644 package/iwinfo/src/include/iwinfo/wl.h create mode 100644 package/iwinfo/src/iwinfo_cli.c create mode 100644 package/iwinfo/src/iwinfo_lib.c create mode 100644 package/iwinfo/src/iwinfo_lua.c create mode 100644 package/iwinfo/src/iwinfo_madwifi.c create mode 100644 package/iwinfo/src/iwinfo_nl80211.c create mode 100644 package/iwinfo/src/iwinfo_utils.c create mode 100644 package/iwinfo/src/iwinfo_wext.c create mode 100644 package/iwinfo/src/iwinfo_wext_scan.c create mode 100644 package/iwinfo/src/iwinfo_wl.c create mode 100644 package/ixp4xx-microcode/Makefile create mode 100644 package/ixp4xx-microcode/src/IxNpeMicrocode.h create mode 100644 package/ixp4xx-microcode/src/LICENSE.IPL create mode 100644 package/kernel/Makefile create mode 100644 package/kernel/modules/001-depends.mk create mode 100644 package/kernel/modules/block.mk create mode 100644 package/kernel/modules/crypto.mk create mode 100644 package/kernel/modules/firewire.mk create mode 100644 package/kernel/modules/fs.mk create mode 100644 package/kernel/modules/hwmon.mk create mode 100644 package/kernel/modules/i2c.mk create mode 100644 package/kernel/modules/leds.mk create mode 100644 package/kernel/modules/lib.mk create mode 100644 package/kernel/modules/netdevices.mk create mode 100644 package/kernel/modules/netfilter.mk create mode 100644 package/kernel/modules/netsupport.mk create mode 100644 package/kernel/modules/nls.mk create mode 100644 package/kernel/modules/other.mk create mode 100644 package/kernel/modules/pcmcia.mk create mode 100644 package/kernel/modules/sound.mk create mode 100644 package/kernel/modules/spi.mk create mode 100644 package/kernel/modules/usb.mk create mode 100644 package/kernel/modules/video.mk create mode 100644 package/kernel/modules/virtual.mk create mode 100644 package/kernel/modules/w1.mk create mode 100644 package/kernel/modules/wireless.mk create mode 100644 package/kexec-tools/Config.in create mode 100644 package/kexec-tools/Makefile create mode 100644 package/kexec-tools/patches/0004-mips_regdefs.patch create mode 100644 package/libbsd/Makefile create mode 100644 package/libipfix/Makefile create mode 100644 package/libipfix/extra/append-wprobe-ie.pl create mode 100644 package/libipfix/extra/wprobe-ie.txt create mode 100644 package/libipfix/patches/100-openimp_sync.patch create mode 100644 package/libipfix/patches/110-wprobe_ie.patch create mode 100644 package/libipfix/patches/120-ipfixmisc.patch create mode 100644 package/libjson-c/Makefile create mode 100644 package/libnl-tiny/Makefile create mode 100644 package/libnl-tiny/files/libnl-tiny.pc create mode 100644 package/libnl-tiny/src/Makefile create mode 100644 package/libnl-tiny/src/attr.c create mode 100644 package/libnl-tiny/src/cache.c create mode 100644 package/libnl-tiny/src/cache_mngt.c create mode 100644 package/libnl-tiny/src/error.c create mode 100644 package/libnl-tiny/src/genl.c create mode 100644 package/libnl-tiny/src/genl_ctrl.c create mode 100644 package/libnl-tiny/src/genl_family.c create mode 100644 package/libnl-tiny/src/genl_mngt.c create mode 100644 package/libnl-tiny/src/handlers.c create mode 100644 package/libnl-tiny/src/include/linux/gen_stats.h create mode 100644 package/libnl-tiny/src/include/linux/genetlink.h create mode 100644 package/libnl-tiny/src/include/linux/if.h create mode 100644 package/libnl-tiny/src/include/linux/if_addr.h create mode 100644 package/libnl-tiny/src/include/linux/netlink.h create mode 100644 package/libnl-tiny/src/include/netlink-generic.h create mode 100644 package/libnl-tiny/src/include/netlink-local.h create mode 100644 package/libnl-tiny/src/include/netlink-types.h create mode 100644 package/libnl-tiny/src/include/netlink/addr.h create mode 100644 package/libnl-tiny/src/include/netlink/attr.h create mode 100644 package/libnl-tiny/src/include/netlink/cache-api.h create mode 100644 package/libnl-tiny/src/include/netlink/cache.h create mode 100644 package/libnl-tiny/src/include/netlink/data.h create mode 100644 package/libnl-tiny/src/include/netlink/errno.h create mode 100644 package/libnl-tiny/src/include/netlink/genl/ctrl.h create mode 100644 package/libnl-tiny/src/include/netlink/genl/family.h create mode 100644 package/libnl-tiny/src/include/netlink/genl/genl.h create mode 100644 package/libnl-tiny/src/include/netlink/genl/mngt.h create mode 100644 package/libnl-tiny/src/include/netlink/handlers.h create mode 100644 package/libnl-tiny/src/include/netlink/list.h create mode 100644 package/libnl-tiny/src/include/netlink/msg.h create mode 100644 package/libnl-tiny/src/include/netlink/netlink-compat.h create mode 100644 package/libnl-tiny/src/include/netlink/netlink-kernel.h create mode 100644 package/libnl-tiny/src/include/netlink/netlink.h create mode 100644 package/libnl-tiny/src/include/netlink/object-api.h create mode 100644 package/libnl-tiny/src/include/netlink/object.h create mode 100644 package/libnl-tiny/src/include/netlink/socket.h create mode 100644 package/libnl-tiny/src/include/netlink/types.h create mode 100644 package/libnl-tiny/src/include/netlink/utils.h create mode 100644 package/libnl-tiny/src/include/netlink/version.h create mode 100644 package/libnl-tiny/src/include/unl.h create mode 100644 package/libnl-tiny/src/msg.c create mode 100644 package/libnl-tiny/src/nl.c create mode 100644 package/libnl-tiny/src/object.c create mode 100644 package/libnl-tiny/src/socket.c create mode 100644 package/libnl-tiny/src/unl.c create mode 100644 package/libnl/Makefile create mode 100644 package/libnl/patches/110-offsetof.patch create mode 100644 package/libnl/patches/160-update_includes_for_iw.patch create mode 100644 package/libpcap/Config.in create mode 100644 package/libpcap/Makefile create mode 100644 package/libpcap/patches/100-debian_shared_lib.patch create mode 100644 package/libpcap/patches/102-makefile_disable_manpages.patch create mode 100644 package/libpcap/patches/103-makefile_flex_workaround.patch create mode 100644 package/libpcap/patches/201-space_optimization.patch create mode 100644 package/libpcap/patches/202-protocol_api.patch create mode 100644 package/libpcap/patches/203-undef_iw_mode_monitor.patch create mode 100644 package/libreadline/Makefile create mode 100644 package/libreadline/patches/100-fix_avr32_compile create mode 100644 package/librpc/Makefile create mode 100644 package/librpc/patches/100-compat_fix.patch create mode 100644 package/libtool/Makefile create mode 100644 package/libubox/Makefile create mode 100644 package/linux-atm/Makefile create mode 100755 package/linux-atm/files/br2684ctl create mode 100644 package/linux-atm/patches/000-debian_16.patch create mode 100644 package/linux-atm/patches/200-no_libfl.patch create mode 100644 package/linux-atm/patches/300-objcopy_path.patch create mode 100644 package/ltq-dsl-app/Config.in create mode 100644 package/ltq-dsl-app/Makefile create mode 100644 package/ltq-dsl-app/files/dsl_control create mode 100644 package/ltq-dsl-app/files/dsl_notify.sh create mode 100644 package/ltq-dsl/Config.in create mode 100644 package/ltq-dsl/Makefile create mode 100644 package/ltq-dsl/patches/100-dsl_compat.patch create mode 100644 package/ltq-dsl/patches/110-fix_status_polling_loop.patch create mode 100644 package/ltq-dsl/patches/500-portability.patch create mode 100644 package/ltq-dsl/src/Makefile create mode 100644 package/ltq-dsl/src/ifx_atm.h create mode 100644 package/ltq-dsl/src/ifxmips_atm.h create mode 100644 package/ltq-dsl/src/ifxmips_atm_amazon_se.c create mode 100644 package/ltq-dsl/src/ifxmips_atm_ar9.c create mode 100644 package/ltq-dsl/src/ifxmips_atm_core.c create mode 100644 package/ltq-dsl/src/ifxmips_atm_core.h create mode 100644 package/ltq-dsl/src/ifxmips_atm_danube.c create mode 100644 package/ltq-dsl/src/ifxmips_atm_fw_amazon_se.h create mode 100644 package/ltq-dsl/src/ifxmips_atm_fw_ar9.h create mode 100644 package/ltq-dsl/src/ifxmips_atm_fw_ar9_retx.h create mode 100644 package/ltq-dsl/src/ifxmips_atm_fw_danube.h create mode 100644 package/ltq-dsl/src/ifxmips_atm_fw_danube_retx.h create mode 100644 package/ltq-dsl/src/ifxmips_atm_fw_regs_amazon_se.h create mode 100644 package/ltq-dsl/src/ifxmips_atm_fw_regs_ar9.h create mode 100644 package/ltq-dsl/src/ifxmips_atm_fw_regs_common.h create mode 100644 package/ltq-dsl/src/ifxmips_atm_fw_regs_danube.h create mode 100644 package/ltq-dsl/src/ifxmips_atm_fw_regs_vr9.h create mode 100644 package/ltq-dsl/src/ifxmips_atm_fw_vr9.h create mode 100644 package/ltq-dsl/src/ifxmips_atm_ppe_amazon_se.h create mode 100644 package/ltq-dsl/src/ifxmips_atm_ppe_ar9.h create mode 100644 package/ltq-dsl/src/ifxmips_atm_ppe_common.h create mode 100644 package/ltq-dsl/src/ifxmips_atm_ppe_danube.h create mode 100644 package/ltq-dsl/src/ifxmips_atm_ppe_vr9.h create mode 100644 package/ltq-dsl/src/ifxmips_atm_vr9.c create mode 100644 package/ltq-dsl/src/ifxmips_compat.h create mode 100644 package/ltq-dsl/src/ifxmips_mei_interface.h create mode 100644 package/ltq-dsl/src/lantiq_mei.c create mode 100644 package/ltq-ifxos/Makefile create mode 100644 package/ltq-ifxos/patches/100-portability.patch create mode 100644 package/ltq-ifxos/patches/120-fix_smp_lock.patch create mode 100644 package/ltq-kpi2udp/Makefile create mode 100644 package/ltq-kpi2udp/patches/100-configure.patch create mode 100644 package/ltq-kpi2udp/patches/110-ifx_udp_redirect.patch create mode 100644 package/ltq-tapi/Config.in create mode 100644 package/ltq-tapi/Makefile create mode 100644 package/ltq-tapi/patches/000-portability.patch create mode 100644 package/ltq-tapi/patches/100-ifxmips.patch create mode 100644 package/ltq-tapi/patches/200-linux-37.patch create mode 100644 package/ltq-tapidemo/Config.in create mode 100644 package/ltq-tapidemo/Makefile create mode 100644 package/ltq-tapidemo/files/bringup_tapidemo create mode 100644 package/ltq-tapidemo/patches/100-ifxmips.patch create mode 100644 package/ltq-tapidemo/patches/110-filename.patch create mode 100644 package/ltq-vmmc/Config.in create mode 100644 package/ltq-vmmc/Makefile create mode 100644 package/ltq-vmmc/files/vmmc.init create mode 100644 package/ltq-vmmc/patches/000-portability.patch create mode 100644 package/ltq-vmmc/patches/100-target.patch create mode 100644 package/ltq-vmmc/patches/400-falcon.patch create mode 100644 package/lua/Makefile create mode 100644 package/lua/patches-host/010-lua-5.1.3-lnum-full-260308.patch create mode 100644 package/lua/patches-host/011-lnum-use-double.patch create mode 100644 package/lua/patches-host/015-lnum-ppc-compat.patch create mode 100644 package/lua/patches-host/030-archindependent-bytecode.patch create mode 100644 package/lua/patches-host/100-no_readline.patch create mode 100644 package/lua/patches/010-lua-5.1.3-lnum-full-260308.patch create mode 100644 package/lua/patches/011-lnum-use-double.patch create mode 100644 package/lua/patches/015-lnum-ppc-compat.patch create mode 100644 package/lua/patches/020-shared_liblua.patch create mode 100644 package/lua/patches/030-archindependent-bytecode.patch create mode 100644 package/lua/patches/100-no_readline.patch create mode 100644 package/lua/patches/200-lua-path.patch create mode 100644 package/lua/patches/300-opcode_performance.patch create mode 100644 package/mac80211/Makefile create mode 100644 package/mac80211/files/b43-fwcutter-fw-dirname.patch create mode 100755 package/mac80211/files/host_bin/b43-fwsquash.py create mode 100644 package/mac80211/files/lib/wifi/mac80211.sh create mode 100644 package/mac80211/files/regdb.txt create mode 100644 package/mac80211/patches/000-disable_ethernet.patch create mode 100644 package/mac80211/patches/001-disable_b44.patch create mode 100644 package/mac80211/patches/002-disable_rfkill.patch create mode 100644 package/mac80211/patches/003-disable_bt.patch create mode 100644 package/mac80211/patches/005-disable_ssb_build.patch create mode 100644 package/mac80211/patches/006-disable_bcma_build.patch create mode 100644 package/mac80211/patches/007-remove_misc_drivers.patch create mode 100644 package/mac80211/patches/008-disable_mesh.patch create mode 100644 package/mac80211/patches/009-remove_mac80211_module_dependence.patch create mode 100644 package/mac80211/patches/010-no_pcmcia.patch create mode 100644 package/mac80211/patches/011-no_sdio.patch create mode 100644 package/mac80211/patches/013-disable_b43_nphy.patch create mode 100644 package/mac80211/patches/015-remove-rt2x00-options.patch create mode 100644 package/mac80211/patches/016-remove_pid_algo.patch create mode 100644 package/mac80211/patches/017-remove_ath9k_rc.patch create mode 100644 package/mac80211/patches/018-revert_printk_va_format.patch create mode 100644 package/mac80211/patches/019-remove_ath5k_pci_option.patch create mode 100644 package/mac80211/patches/021-add_include_for_bcma.patch create mode 100644 package/mac80211/patches/022-remove_crc8_and_cordic.patch create mode 100644 package/mac80211/patches/023-ath9k_disable_btcoex.patch create mode 100644 package/mac80211/patches/030-disable_tty_set_termios.patch create mode 100644 package/mac80211/patches/050-compat_firmware.patch create mode 100644 package/mac80211/patches/060-compat_add_module_pci_driver.patch create mode 100644 package/mac80211/patches/070-disable_codel.patch create mode 100644 package/mac80211/patches/071-add_codel_ifdef.patch create mode 100644 package/mac80211/patches/100-disable_pcmcia_compat.patch create mode 100644 package/mac80211/patches/110-disable_usb_compat.patch create mode 100644 package/mac80211/patches/130-mesh_pathtbl_backport.patch create mode 100644 package/mac80211/patches/201-ath5k-WAR-for-AR71xx-PCI-bug.patch create mode 100644 package/mac80211/patches/300-pending_work.patch create mode 100644 package/mac80211/patches/310-ap_scan.patch create mode 100644 package/mac80211/patches/400-ath_move_debug_code.patch create mode 100644 package/mac80211/patches/401-ath9k_blink_default.patch create mode 100644 package/mac80211/patches/402-ath9k-fix-invalid-mac-address-handling.patch create mode 100644 package/mac80211/patches/403-ath_regd_optional.patch create mode 100644 package/mac80211/patches/404-world_regd_fixup.patch create mode 100644 package/mac80211/patches/405-regd_no_assoc_hints.patch create mode 100644 package/mac80211/patches/406-ath_regd_us.patch create mode 100644 package/mac80211/patches/410-ath9k_allow_adhoc_and_ap.patch create mode 100644 package/mac80211/patches/411-ath5k_allow_adhoc_and_ap.patch create mode 100644 package/mac80211/patches/412-mac80211_allow_adhoc_and_ap.patch create mode 100644 package/mac80211/patches/420-ath5k_disable_fast_cc.patch create mode 100644 package/mac80211/patches/430-add_ath5k_platform.patch create mode 100644 package/mac80211/patches/431-add_platform_eeprom_support_to_ath5k.patch create mode 100644 package/mac80211/patches/432-ath5k_add_pciids.patch create mode 100644 package/mac80211/patches/440-ath5k_channel_bw_debugfs.patch create mode 100644 package/mac80211/patches/500-ath9k_eeprom_debugfs.patch create mode 100644 package/mac80211/patches/501-ath9k-eeprom_endianess.patch create mode 100644 package/mac80211/patches/502-ath9k_ahb_init.patch create mode 100644 package/mac80211/patches/510-ath9k_intr_mitigation_tweak.patch create mode 100644 package/mac80211/patches/511-ath9k_reduce_rxbuf.patch create mode 100644 package/mac80211/patches/512-ath9k_channelbw_debugfs.patch create mode 100644 package/mac80211/patches/513-mac80211_reduce_txqueuelen.patch create mode 100644 package/mac80211/patches/520-mac80211_cur_txpower.patch create mode 100644 package/mac80211/patches/521-ath9k_cur_txpower.patch create mode 100644 package/mac80211/patches/522-ath9k_per_chain_signal_strength.patch create mode 100644 package/mac80211/patches/523-cfg80211_fix_antenna_gain.patch create mode 100644 package/mac80211/patches/524-mac80211_configure_antenna_gain.patch create mode 100644 package/mac80211/patches/525-ath9k_use_configured_antenna_gain.patch create mode 100644 package/mac80211/patches/526-cfg80211_fix_max_reg_power.patch create mode 100644 package/mac80211/patches/530-ath9k_fix_initvals.patch create mode 100644 package/mac80211/patches/540-ath9k_extra_leds.patch create mode 100644 package/mac80211/patches/541-ath9k_extra_platform_leds.patch create mode 100644 package/mac80211/patches/550-mac80211_optimize_mcs_rate_mask.patch create mode 100644 package/mac80211/patches/551-ath9k_optimize_interrupt_mitigation.patch create mode 100644 package/mac80211/patches/560-ath9k_reduce_ani_interval.patch create mode 100644 package/mac80211/patches/561-ath9k_revert_initval_change.patch create mode 100644 package/mac80211/patches/562-ath9k_add_idle_hack.patch create mode 100644 package/mac80211/patches/563-ath9k_rx_dma_stop_check.patch create mode 100644 package/mac80211/patches/564-ath9k_debugfs_diag.patch create mode 100644 package/mac80211/patches/565-ath9k_disable_paprd.patch create mode 100644 package/mac80211/patches/566-ath9k_use_ieee80211_free_txskb.patch create mode 100644 package/mac80211/patches/600-rt2x00-disable-pci-code-if-CONFIG_PCI-not-defined.patch create mode 100644 package/mac80211/patches/601-rt2x00-set_pci_mwi.patch create mode 100644 package/mac80211/patches/602-rt2x00-introduce-rt2x00_platform_h.patch create mode 100644 package/mac80211/patches/603-rt2x00-introduce-rt2x00eeprom.patch create mode 100644 package/mac80211/patches/604-rt2x00-add-CONFIG_RT2X00_LIB_EEPROM-option.patch create mode 100644 package/mac80211/patches/605-rt2x00-pci-eeprom.patch create mode 100644 package/mac80211/patches/606-rt2x00_no_realign.patch create mode 100644 package/mac80211/patches/607-rt2x00-allow_disabling_bands_through_platform_data.patch create mode 100644 package/mac80211/patches/608-add_platform_data_mac_addr.patch create mode 100644 package/mac80211/patches/620-rt2x00-support-rt3352.patch create mode 100644 package/mac80211/patches/621-rt2x00-fix-rt3352-lnagain.patch create mode 100644 package/mac80211/patches/700-mwl8k-missing-pci-id-for-WNR854T.patch create mode 100644 package/mac80211/patches/800-b43-gpio-mask-module-option.patch create mode 100644 package/mac80211/patches/810-b43_no_pio.patch create mode 100644 package/mac80211/patches/820-b43-add-antenna-control.patch create mode 100644 package/mac80211/patches/830-b43-workaround-pcie-bcm4716.patch create mode 100644 package/mac80211/patches/849-brcmsmac-add-device-found-on-some-SoCs-like-the-bcm4.patch create mode 100644 package/mac80211/patches/850-brcmsmac-add-support-for-BCM43224.patch create mode 100644 package/mac80211/patches/851-brcmsmac-start-adding-support-for-core-rev-28.patch create mode 100644 package/maccalc/Makefile create mode 100644 package/maccalc/src/Makefile create mode 100644 package/maccalc/src/main.c create mode 100644 package/madwifi/Config.in create mode 100644 package/madwifi/Makefile create mode 100644 package/madwifi/files/etc/hotplug.d/net/10-madwifi create mode 100755 package/madwifi/files/lib/wifi/madwifi.sh create mode 100644 package/madwifi/files/lib/wifi/madwifi_countrycodes.txt create mode 100644 package/madwifi/patches/102-multicall_binary.patch create mode 100644 package/madwifi/patches/104-autocreate_none.patch create mode 100644 package/madwifi/patches/105-ratectl_attach.patch create mode 100644 package/madwifi/patches/106-get_arch.patch create mode 100644 package/madwifi/patches/111-minstrel_crash.patch create mode 100644 package/madwifi/patches/113-no_ibss_pwrsave.patch create mode 100644 package/madwifi/patches/122-replayfail_workaround.patch create mode 100644 package/madwifi/patches/123-ccmp_checks.patch create mode 100644 package/madwifi/patches/124-linux24_compat.patch create mode 100644 package/madwifi/patches/126-rxerr_frames.patch create mode 100644 package/madwifi/patches/200-no_debug.patch create mode 100644 package/madwifi/patches/201-debug_fix.patch create mode 100644 package/madwifi/patches/202-debug_variables.patch create mode 100644 package/madwifi/patches/300-napi_polling.patch create mode 100644 package/madwifi/patches/305-pureg_fix.patch create mode 100644 package/madwifi/patches/309-micfail_detect.patch create mode 100644 package/madwifi/patches/310-noise_get.patch create mode 100644 package/madwifi/patches/311-bssid_alloc.patch create mode 100644 package/madwifi/patches/312-erpupdate.patch create mode 100644 package/madwifi/patches/317-bmask.patch create mode 100644 package/madwifi/patches/323-dfs_optional.patch create mode 100644 package/madwifi/patches/324-alignment.patch create mode 100644 package/madwifi/patches/325-channel_spam.patch create mode 100644 package/madwifi/patches/327-queue.patch create mode 100644 package/madwifi/patches/330-beaconcal.patch create mode 100644 package/madwifi/patches/331-memory_alloc.patch create mode 100644 package/madwifi/patches/332-reset_beacons.patch create mode 100644 package/madwifi/patches/333-apscan_mode.patch create mode 100644 package/madwifi/patches/334-input.patch create mode 100644 package/madwifi/patches/340-maxrate.patch create mode 100644 package/madwifi/patches/341-minrate.patch create mode 100644 package/madwifi/patches/342-performance.patch create mode 100644 package/madwifi/patches/343-txqueue_races.patch create mode 100644 package/madwifi/patches/344-minstrel_failcnt.patch create mode 100644 package/madwifi/patches/345-minstrel_sampling.patch create mode 100644 package/madwifi/patches/346-protmode_trig.patch create mode 100644 package/madwifi/patches/347-tuning.patch create mode 100644 package/madwifi/patches/348-ackcts.patch create mode 100644 package/madwifi/patches/349-reset.patch create mode 100644 package/madwifi/patches/350-wisoc_softled.patch create mode 100644 package/madwifi/patches/351-scanlist.patch create mode 100644 package/madwifi/patches/352-ani_fix.patch create mode 100644 package/madwifi/patches/353-devid.patch create mode 100644 package/madwifi/patches/354-lantiq_eeprom.patch create mode 100644 package/madwifi/patches/355-eap_auth_disassoc.patch create mode 100644 package/madwifi/patches/356-hidden_ssid.patch create mode 100644 package/madwifi/patches/357-bgscan_thresh.patch create mode 100644 package/madwifi/patches/358-ignore_broken_bssid.patch create mode 100644 package/madwifi/patches/359-disable_reassoc.patch create mode 100644 package/madwifi/patches/360-sta_nodes.patch create mode 100644 package/madwifi/patches/361-bmiss_handling.patch create mode 100644 package/madwifi/patches/362-rssithr.patch create mode 100644 package/madwifi/patches/363-fix_turbo.patch create mode 100644 package/madwifi/patches/364-memory_alloc.patch create mode 100644 package/madwifi/patches/365-turbo_channelsearch.patch create mode 100644 package/madwifi/patches/366-bstuck_thresh.patch create mode 100644 package/madwifi/patches/367-roaming.patch create mode 100644 package/madwifi/patches/368-sta_ie_preserve.patch create mode 100644 package/madwifi/patches/369-mlme_assoc.patch create mode 100644 package/madwifi/patches/370-wdsvap.patch create mode 100644 package/madwifi/patches/372-queue_vif.patch create mode 100644 package/madwifi/patches/373-sanity_check.patch create mode 100644 package/madwifi/patches/374-nbtt_fix.patch create mode 100644 package/madwifi/patches/375-atim_tsf_update.patch create mode 100644 package/madwifi/patches/377-disable_vlan_code.patch create mode 100644 package/madwifi/patches/378-adhoc_crash_fix.patch create mode 100644 package/madwifi/patches/379-invalid_rate_fix.patch create mode 100644 package/madwifi/patches/380-noderef_hack.patch create mode 100644 package/madwifi/patches/381-ibss_modes.patch create mode 100644 package/madwifi/patches/382-relax_bintval.patch create mode 100644 package/madwifi/patches/383-ibss_hostap.patch create mode 100644 package/madwifi/patches/384-hwdetect.patch create mode 100644 package/madwifi/patches/385-antenna_fix.patch create mode 100644 package/madwifi/patches/386-acl_crashfix.patch create mode 100644 package/madwifi/patches/387-maxassoc.patch create mode 100644 package/madwifi/patches/388-apsta_fix.patch create mode 100644 package/madwifi/patches/389-autochannel.patch create mode 100644 package/madwifi/patches/390-frame_type.patch create mode 100644 package/madwifi/patches/391-vap_auth.patch create mode 100644 package/madwifi/patches/392-remove_wds_nodetracking.patch create mode 100644 package/madwifi/patches/393-mbss_vap_auth.patch create mode 100644 package/madwifi/patches/394-probereq.patch create mode 100644 package/madwifi/patches/395-ath_ff_unmap.patch create mode 100644 package/madwifi/patches/396-napi_ff_fix.patch create mode 100644 package/madwifi/patches/400-new_hal.patch create mode 100644 package/madwifi/patches/401-changeset_r3602.patch create mode 100644 package/madwifi/patches/402-changeset_r3603.patch create mode 100644 package/madwifi/patches/403-changeset_r3605.patch create mode 100644 package/madwifi/patches/404-linux24_fix.patch create mode 100644 package/madwifi/patches/405-retransmit_check.patch create mode 100644 package/madwifi/patches/406-monitor_r3711.patch create mode 100644 package/madwifi/patches/407-new_athinfo.patch create mode 100644 package/madwifi/patches/408-changeset_r3337.patch create mode 100644 package/madwifi/patches/409-wext_compat.patch create mode 100644 package/madwifi/patches/410-ar231x_2.6.28.patch create mode 100644 package/madwifi/patches/411-autochannel_multi.patch create mode 100644 package/madwifi/patches/412-fragmentation_fix.patch create mode 100644 package/madwifi/patches/413-rxorn.patch create mode 100644 package/madwifi/patches/414-txpower.patch create mode 100644 package/madwifi/patches/415-chan_switch.patch create mode 100644 package/madwifi/patches/416-wprobe.patch create mode 100644 package/madwifi/patches/417-beacon_txpower.patch create mode 100644 package/madwifi/patches/419-skb_unmap_crash.patch create mode 100644 package/madwifi/patches/420-diversity_fix.patch create mode 100644 package/madwifi/patches/421-channel_handling.patch create mode 100644 package/madwifi/patches/422-confchange_reset.patch create mode 100644 package/madwifi/patches/423-phyerr_handling.patch create mode 100644 package/madwifi/patches/424-timing.patch create mode 100644 package/madwifi/patches/425-rc_rexmit.patch create mode 100644 package/madwifi/patches/426-header_len.patch create mode 100644 package/madwifi/patches/427-ignore_eeprom_ff.patch create mode 100644 package/madwifi/patches/430-use_netdev_priv.patch create mode 100644 package/madwifi/patches/431-compile_fixes.patch create mode 100644 package/madwifi/patches/432-netdev_ops.patch create mode 100644 package/madwifi/patches/433-backport_remove_irq_none.patch create mode 100644 package/madwifi/patches/434-name-alloc-fix.patch create mode 100644 package/madwifi/patches/435-ibss_neighbor_fix.patch create mode 100644 package/madwifi/patches/436-injection_checks.patch create mode 100644 package/madwifi/patches/437-sysctl_cleanup.patch create mode 100644 package/madwifi/patches/438-poweroffset_sysctl.patch create mode 100644 package/madwifi/patches/439-wlanconfig_stack_usage.patch create mode 100644 package/madwifi/patches/440-wme_cleanup.patch create mode 100644 package/madwifi/patches/441-fix_ibss_node_handling.patch create mode 100644 package/madwifi/patches/442-ibss_rx_filter.patch create mode 100644 package/madwifi/patches/443-tx_drop_counter.patch create mode 100644 package/madwifi/patches/444-beacon_update_war.patch create mode 100644 package/madwifi/patches/445-fix_ps_sta_count.patch create mode 100644 package/madwifi/patches/446-single_module.patch create mode 100644 package/madwifi/patches/447-sta_reconnect.patch create mode 100644 package/madwifi/patches/448-beacon_handling_fixes.patch create mode 100644 package/madwifi/patches/449-fix_txbuf_leak.patch create mode 100644 package/madwifi/patches/450-calibration.patch create mode 100644 package/madwifi/patches/451-ibss_race_fix.patch create mode 100644 package/madwifi/patches/452-minstrel_no_timer.patch create mode 100644 package/madwifi/patches/453-procps.patch create mode 100644 package/madwifi/patches/454-cca.patch create mode 100644 package/madwifi/patches/455-beacon_watchdog.patch create mode 100644 package/madwifi/patches/456-rfsilent.patch create mode 100644 package/madwifi/patches/457-idletime.patch create mode 100644 package/madwifi/patches/458-ibss_wpa_none.patch create mode 100644 package/madwifi/patches/459-2.6.33_compile.patch create mode 100644 package/madwifi/patches/460-pci_softled_disable.patch create mode 100644 package/madwifi/patches/461-rx_stats_count_fix.patch create mode 100644 package/madwifi/patches/462-fix_ap_scan.patch create mode 100644 package/madwifi/patches/463-fix_txrate_display.patch create mode 100644 package/madwifi/patches/464-0dbm_txpower_fix.patch create mode 100644 package/madwifi/patches/465-mc_list-2.6.35.patch create mode 100644 package/madwifi/patches/466-2.6.38_compile.patch create mode 100644 package/madwifi/patches/470-mac_addresss_from_ath5k_platform_data.patch create mode 100644 package/madwifi/patches/471-netdev_ops_mac_mtu.patch create mode 100644 package/madwifi/patches/472-remove_11n_devids.patch create mode 100644 package/madwifi/patches/473-mutex_fix.patch create mode 100644 package/madwifi/patches/474_fix_ssid_scan_length.patch create mode 100644 package/madwifi/patches/475-2.6.39-compile.patch create mode 100644 package/madwifi/patches/476-3.0_detection_fix.patch create mode 100644 package/madwifi/patches/477-3.2_fixes.patch create mode 100644 package/madwifi/patches/478-remove_vlan_code.patch create mode 100644 package/mkelfimage/Makefile create mode 100644 package/mkelfimage/patches/no-stack-protector.patch create mode 100644 package/mmc_over_gpio/Makefile create mode 100644 package/mmc_over_gpio/files/mmc_over_gpio.config create mode 100644 package/mmc_over_gpio/files/mmc_over_gpio.init create mode 100644 package/mountd/Makefile create mode 100644 package/mountd/files/mountd.config create mode 100755 package/mountd/files/mountd.init create mode 100644 package/mountd/patches/010-uci_rename_history_to_delta.patch create mode 100644 package/mountd/patches/020-handle_timeout.patch create mode 100644 package/mountd/patches/030-ext4_support.patch create mode 100644 package/mountd/patches/040-optional-daemonize.patch create mode 100644 package/mtd/Makefile create mode 100644 package/mtd/src/Makefile create mode 120000 package/mtd/src/bcm_tag.h create mode 100644 package/mtd/src/crc32.c create mode 100644 package/mtd/src/crc32.h create mode 100644 package/mtd/src/fis.c create mode 100644 package/mtd/src/fis.h create mode 100644 package/mtd/src/imagetag.c create mode 100644 package/mtd/src/jffs2.c create mode 100644 package/mtd/src/jffs2.h create mode 100644 package/mtd/src/mtd.c create mode 100644 package/mtd/src/mtd.h create mode 100644 package/mtd/src/trx.c create mode 100644 package/ncurses/Makefile create mode 100644 package/ncurses/patches/100-ncurses-5.6-20080112-urxvt.patch create mode 100644 package/ncurses/patches/101-ncurses-5.6-20080628-kbs.patch create mode 100644 package/ncurses/patches/500-cross.patch create mode 100644 package/ncurses/patches/900-terminfo.patch create mode 100644 package/netifd/Makefile create mode 100644 package/netifd/files/etc/hotplug.d/iface/00-netstate create mode 100644 package/netifd/files/etc/hotplug.d/iface/10-sysctl create mode 100755 package/netifd/files/etc/init.d/network create mode 100755 package/netifd/files/lib/netifd/dhcp.script create mode 100755 package/netifd/files/lib/netifd/proto/dhcp.sh create mode 100755 package/netifd/files/lib/network/config.sh create mode 100755 package/netifd/files/sbin/devstatus create mode 120000 package/netifd/files/sbin/ifdown create mode 100755 package/netifd/files/sbin/ifstatus create mode 100755 package/netifd/files/sbin/ifup create mode 100755 package/netifd/files/usr/share/udhcpc/default.script create mode 100644 package/nvram/Makefile create mode 100755 package/nvram/files/nvram.init create mode 100644 package/nvram/src/Makefile create mode 100644 package/nvram/src/cli.c create mode 100644 package/nvram/src/crc.c create mode 100644 package/nvram/src/nvram.c create mode 100644 package/nvram/src/nvram.h create mode 100644 package/nvram/src/sdinitvals.h create mode 100644 package/ocf-crypto-headers/Makefile create mode 100644 package/ocf-crypto-headers/src/cryptodev.h create mode 100644 package/om-watchdog/Makefile create mode 100644 package/om-watchdog/files/om-watchdog create mode 100644 package/om-watchdog/files/om-watchdog.init create mode 100644 package/openssl/Config.in create mode 100644 package/openssl/Makefile create mode 100644 package/openssl/patches/110-optimize-for-size.patch create mode 100644 package/openssl/patches/130-perl-path.patch create mode 100644 package/openssl/patches/140-makefile-dirs.patch create mode 100644 package/openssl/patches/150-no_engines.patch create mode 100644 package/openssl/patches/160-disable_doc_tests.patch create mode 100644 package/openssl/patches/170-bash_path.patch create mode 100644 package/openssl/patches/180-fix_link_segfault.patch create mode 100644 package/openssl/patches/190-remove_timestamp_check.patch create mode 100644 package/openssl/patches/200-etrax_support.patch create mode 100644 package/openssl/patches/210-fix_aes_mips.patch create mode 100644 package/opkg/Makefile create mode 100644 package/opkg/files/opkg.conf create mode 100644 package/opkg/patches/001-ship-pkg-m4.patch create mode 100644 package/opkg/patches/002-no-shave.patch create mode 100644 package/opkg/patches/004-host_cpu.patch create mode 100644 package/opkg/patches/007-force_static.patch create mode 100644 package/opkg/patches/009-remove-upgrade-all.patch create mode 100644 package/opkg/patches/011-old-config-location.patch create mode 100644 package/opkg/patches/012-strip-trailing-conffiles-whitespace.patch create mode 100644 package/opkg/patches/014-errors-to-stderr.patch create mode 100644 package/opkg/patches/020-avoid_getline.patch create mode 100644 package/opkg/patches/030-fix-double-free.patch create mode 100644 package/owipcalc/Makefile create mode 100644 package/owipcalc/src/owipcalc.c create mode 100644 package/owsip/Makefile create mode 100644 package/owsip/files/telephony.conf create mode 100755 package/owsip/files/telephony.defaults create mode 100644 package/owsip/files/telephony.init create mode 100644 package/pjsip/Makefile create mode 100644 package/pjsip/patches/0001-configure-fixup.patch create mode 100644 package/pjsip/patches/0002-register-tapi.patch create mode 100644 package/pjsip/patches/0003-adds-PJ_DEF-pj_status_t-pjsua_add_snd_port-int-id.patch create mode 100644 package/ppp/Makefile create mode 100644 package/ppp/files/etc/ppp/chap-secrets create mode 100644 package/ppp/files/etc/ppp/filter create mode 100644 package/ppp/files/etc/ppp/options create mode 100644 package/ppp/files/etc/ppp/options.pptp create mode 100644 package/ppp/files/etc/ppp/radius.conf create mode 100644 package/ppp/files/etc/ppp/radius/dictionary create mode 100644 package/ppp/files/etc/ppp/radius/dictionary.asnet create mode 100644 package/ppp/files/etc/ppp/radius/dictionary.microsoft create mode 100644 package/ppp/files/etc/ppp/radius/servers create mode 100755 package/ppp/files/lib/netifd/ppp-down create mode 100755 package/ppp/files/lib/netifd/ppp-up create mode 100755 package/ppp/files/ppp.sh create mode 100644 package/ppp/patches/010-use_target_for_configure.patch create mode 100644 package/ppp/patches/100-debian_ip-ip_option.patch create mode 100644 package/ppp/patches/101-debian_close_dev_ppp.patch create mode 100644 package/ppp/patches/103-debian_fix_link_pidfile.patch create mode 100644 package/ppp/patches/105-debian_demand.patch create mode 100644 package/ppp/patches/106-debian_stripMSdomain.patch create mode 100644 package/ppp/patches/107-debian_pppoatm_wildcard.patch create mode 100644 package/ppp/patches/110-debian_defaultroute.patch create mode 100644 package/ppp/patches/120-debian_ipv6_updown_option.patch create mode 100644 package/ppp/patches/200-makefile.patch create mode 100644 package/ppp/patches/201-mppe_mppc_1.1.patch create mode 100644 package/ppp/patches/202-no_strip.patch create mode 100644 package/ppp/patches/203-opt_flags.patch create mode 100644 package/ppp/patches/204-radius_config.patch create mode 100644 package/ppp/patches/205-no_exponential_timeout.patch create mode 100644 package/ppp/patches/206-compensate_time_change.patch create mode 100644 package/ppp/patches/207-lcp_mtu_max.patch create mode 100644 package/ppp/patches/208-fix_status_code.patch create mode 100644 package/ppp/patches/300-filter-pcap-includes-lib.patch create mode 100644 package/ppp/patches/310-precompile_filter.patch create mode 100644 package/ppp/patches/320-custom_iface_names.patch create mode 100644 package/ppp/patches/330-retain_foreign_default_routes.patch create mode 100644 package/ppp/patches/340-populate_default_gateway.patch create mode 100644 package/ppp/patches/400-simplify_kernel_checks.patch create mode 100644 package/ppp/patches/401-no_record_file.patch create mode 100644 package/ppp/patches/403-no_wtmp.patch create mode 100644 package/ppp/patches/404-remove_obsolete_protocol_names.patch create mode 100644 package/ppp/patches/405-no_multilink_option.patch create mode 100644 package/ppp/patches/430-pppol2tpv3-struct.patch create mode 100644 package/ppp/patches/500-add-pptp-plugin.patch create mode 100644 package/ppp/utils/pfc.c create mode 100644 package/ps3-utils/Makefile create mode 100644 package/px5g/Makefile create mode 100644 package/px5g/src/Makefile create mode 100644 package/px5g/src/library/base64.c create mode 100644 package/px5g/src/library/bignum.c create mode 100644 package/px5g/src/library/havege.c create mode 100644 package/px5g/src/library/rsa.c create mode 100644 package/px5g/src/library/sha1.c create mode 100644 package/px5g/src/library/timing.c create mode 100644 package/px5g/src/library/x509write.c create mode 100644 package/px5g/src/polarssl/base64.h create mode 100644 package/px5g/src/polarssl/bignum.h create mode 100644 package/px5g/src/polarssl/bn_mul.h create mode 100644 package/px5g/src/polarssl/config.h create mode 100644 package/px5g/src/polarssl/havege.h create mode 100644 package/px5g/src/polarssl/rsa.h create mode 100644 package/px5g/src/polarssl/sha1.h create mode 100644 package/px5g/src/polarssl/timing.h create mode 100644 package/px5g/src/polarssl/x509.h create mode 100644 package/px5g/src/px5g.c create mode 100644 package/qos-scripts/Makefile create mode 100644 package/qos-scripts/files/etc/config/qos create mode 100755 package/qos-scripts/files/etc/hotplug.d/iface/10-qos create mode 100755 package/qos-scripts/files/etc/init.d/qos create mode 100755 package/qos-scripts/files/usr/bin/qos-start create mode 100755 package/qos-scripts/files/usr/bin/qos-stat create mode 100755 package/qos-scripts/files/usr/bin/qos-stop create mode 100755 package/qos-scripts/files/usr/lib/qos/generate.sh create mode 100644 package/qos-scripts/files/usr/lib/qos/tcrules.awk create mode 100644 package/rbcfg/Makefile create mode 100644 package/rbcfg/src/Makefile create mode 100644 package/rbcfg/src/cyg_crc.h create mode 100644 package/rbcfg/src/cyg_crc32.c create mode 100644 package/rbcfg/src/main.c create mode 100644 package/rbcfg/src/rbcfg.h create mode 100644 package/redboot-ar231x/Makefile create mode 100644 package/redboot-ar231x/patches/010-fix-compile.patch create mode 100644 package/relayd/Makefile create mode 100644 package/relayd/files/relay.hotplug create mode 100644 package/relayd/files/relay.init create mode 100644 package/resolveip/Makefile create mode 100644 package/resolveip/src/resolveip.c create mode 100644 package/robocfg/Makefile create mode 100644 package/robocfg/src/Makefile create mode 100644 package/robocfg/src/etc53xx.h create mode 100644 package/robocfg/src/robocfg.c create mode 100644 package/rotary-gpio-custom/Makefile create mode 100644 package/rotary-gpio-custom/src/Kconfig create mode 100644 package/rotary-gpio-custom/src/Makefile create mode 100644 package/rotary-gpio-custom/src/rotary-gpio-custom.c create mode 100644 package/rssileds/Makefile create mode 100644 package/rssileds/files/rssileds.init create mode 100644 package/rssileds/src/rssileds.c create mode 100644 package/rtc-rv5c386a/Makefile create mode 100644 package/rtc-rv5c386a/src/Makefile create mode 100644 package/rtc-rv5c386a/src/rtc.c create mode 100644 package/sierra-directip/Makefile create mode 100644 package/sierra-directip/patches/100-sierra_net_endian.patch create mode 100644 package/sierra-directip/patches/110-drop_dhcp_requirement.patch create mode 100644 package/sierra-directip/src/Makefile create mode 100644 package/sierra-directip/src/sierra.c create mode 100644 package/sierra-directip/src/sierra_net.c create mode 100644 package/siit/Makefile create mode 100644 package/siit/src/Makefile create mode 100644 package/siit/src/siit.c create mode 100644 package/siit/src/siit.h create mode 100644 package/soloscli/Makefile create mode 100644 package/soloscli/files/etc/hotplug.d/atm/15-solos-init create mode 100644 package/soloscli/files/etc/uci-default/solos create mode 100644 package/soloscli/files/solos-log-stats create mode 100644 package/soloscli/patches/000-Makefile.patch create mode 100644 package/soloscli/patches/001-newline.patch create mode 100644 package/spi-ks8995/Makefile create mode 100644 package/spi-ks8995/src/Kconfig create mode 100644 package/spi-ks8995/src/Makefile create mode 100644 package/spi-ks8995/src/spi_ks8995.c create mode 100644 package/spidev_test/Makefile create mode 100644 package/swconfig/Makefile create mode 100644 package/swconfig/files/switch.sh create mode 100644 package/swconfig/src/Makefile create mode 100644 package/swconfig/src/cli.c create mode 100644 package/swconfig/src/swlib.c create mode 100644 package/swconfig/src/swlib.h create mode 100644 package/swconfig/src/uci.c create mode 100644 package/switch/Makefile create mode 100644 package/switch/files/switch.sh create mode 100644 package/switch/src/Makefile create mode 100644 package/switch/src/etc53xx.h create mode 100644 package/switch/src/gpio.h create mode 100644 package/switch/src/switch-adm.c create mode 100644 package/switch/src/switch-core.c create mode 100644 package/switch/src/switch-core.h create mode 100644 package/switch/src/switch-robo.c create mode 100644 package/toolchain/Makefile create mode 100644 package/toolchain/eglibc-files/etc/nsswitch.conf create mode 100644 package/trelay/Makefile create mode 100644 package/trelay/files/trelay.config create mode 100644 package/trelay/files/trelay.hotplug create mode 100644 package/trelay/files/trelay.init create mode 100644 package/trelay/src/Makefile create mode 100644 package/trelay/src/trelay.c create mode 100644 package/uboot-ar71xx/Makefile create mode 100644 package/uboot-ar71xx/files/board/zyxel/nbg460n/Makefile create mode 100644 package/uboot-ar71xx/files/board/zyxel/nbg460n/config.mk create mode 100644 package/uboot-ar71xx/files/board/zyxel/nbg460n/lowlevel_init.S create mode 100644 package/uboot-ar71xx/files/board/zyxel/nbg460n/nbg460n.c create mode 100644 package/uboot-ar71xx/files/board/zyxel/nbg460n/u-boot.lds create mode 100644 package/uboot-ar71xx/files/cpu/mips/ar71xx_serial.c create mode 100644 package/uboot-ar71xx/files/drivers/net/ag71xx.c create mode 100644 package/uboot-ar71xx/files/drivers/net/ag71xx.h create mode 100644 package/uboot-ar71xx/files/drivers/net/phy/rtl8366.h create mode 100644 package/uboot-ar71xx/files/drivers/net/phy/rtl8366_mii.c create mode 100644 package/uboot-ar71xx/files/drivers/spi/ar71xx_spi.c create mode 100644 package/uboot-ar71xx/files/include/asm-mips/ar71xx.h create mode 100644 package/uboot-ar71xx/files/include/asm-mips/ar71xx_gpio.h create mode 100644 package/uboot-ar71xx/files/include/configs/nbg460n.h create mode 100644 package/uboot-ar71xx/patches/001-ar71xx.patch create mode 100644 package/uboot-ar71xx/patches/002-ar71xx-spi.patch create mode 100644 package/uboot-ar71xx/patches/010-enet-ag71xx.patch create mode 100644 package/uboot-ar71xx/patches/011-switch-rtl8366sr.patch create mode 100644 package/uboot-ar71xx/patches/020-freebsd-compat.patch create mode 100644 package/uboot-ar71xx/patches/021-darwin_compat.patch create mode 100644 package/uboot-ar71xx/patches/022-getline_backport.patch create mode 100644 package/uboot-envtools/Makefile create mode 100644 package/uboot-envtools/files/ar71xx create mode 100644 package/uboot-envtools/files/kirkwood create mode 100644 package/uboot-envtools/files/lantiq create mode 100644 package/uboot-envtools/files/ramips create mode 100644 package/uboot-envtools/files/uboot-envtools.sh create mode 100644 package/uboot-envtools/patches/001-crc32_func_signature.patch create mode 100644 package/uboot-envtools/patches/002-makefile.patch create mode 100644 package/uboot-envtools/patches/003-nor-eraselen.patch create mode 100644 package/uboot-envtools/patches/004-allow_mac_change.patch create mode 100644 package/uboot-kirkwood/Makefile create mode 100644 package/uboot-kirkwood/files/board/iomega/iconnect/Makefile create mode 100644 package/uboot-kirkwood/files/board/iomega/iconnect/iconnect.c create mode 100644 package/uboot-kirkwood/files/board/iomega/iconnect/iconnect.h create mode 100644 package/uboot-kirkwood/files/board/iomega/iconnect/kwbimage.cfg create mode 100644 package/uboot-kirkwood/files/include/configs/iconnect.h create mode 100644 package/uboot-kirkwood/patches/0001-ib62x0.patch create mode 100644 package/uboot-kirkwood/patches/0002-kwboot.patch create mode 100644 package/uboot-kirkwood/patches/0003-ide_bus.patch create mode 100644 package/uboot-kirkwood/patches/100-iconnect.patch create mode 100644 package/uboot-kirkwood/patches/110-dockstar.patch create mode 100644 package/uboot-lantiq/Makefile create mode 100644 package/uboot-lantiq/arcadyan_psc166_32.conf create mode 100644 package/uboot-lantiq/arcadyan_psc166_64.conf create mode 100644 package/uboot-lantiq/easy50712_DDR166M.conf create mode 100644 package/uboot-lantiq/easy50812.conf create mode 100644 package/uboot-lantiq/files/board/arcadyan/Makefile create mode 100644 package/uboot-lantiq/files/board/arcadyan/arcadyan_bootstrap.c create mode 100644 package/uboot-lantiq/files/board/arcadyan/athrs26_phy.c create mode 100644 package/uboot-lantiq/files/board/arcadyan/athrs26_phy.h create mode 100644 package/uboot-lantiq/files/board/arcadyan/board.c create mode 100644 package/uboot-lantiq/files/board/arcadyan/config.mk create mode 100644 package/uboot-lantiq/files/board/arcadyan/ddr_settings.h create mode 100644 package/uboot-lantiq/files/board/arcadyan/ddr_settings_psc_32.h create mode 100644 package/uboot-lantiq/files/board/arcadyan/ddr_settings_psc_64.h create mode 100644 package/uboot-lantiq/files/board/arcadyan/lowlevel_bootstrap_init.S create mode 100644 package/uboot-lantiq/files/board/arcadyan/lowlevel_init.S create mode 100644 package/uboot-lantiq/files/board/arcadyan/pmuenable.S create mode 100644 package/uboot-lantiq/files/board/arcadyan/u-boot-bootstrap.lds create mode 100644 package/uboot-lantiq/files/board/arcadyan/u-boot.lds create mode 100644 package/uboot-lantiq/files/board/infineon/easy50712/Makefile create mode 100644 package/uboot-lantiq/files/board/infineon/easy50712/config.mk create mode 100644 package/uboot-lantiq/files/board/infineon/easy50712/danube.c create mode 100644 package/uboot-lantiq/files/board/infineon/easy50712/ddr_settings.h create mode 100644 package/uboot-lantiq/files/board/infineon/easy50712/ddr_settings_PROMOSDDR400.h create mode 100644 package/uboot-lantiq/files/board/infineon/easy50712/ddr_settings_Samsung_166.h create mode 100644 package/uboot-lantiq/files/board/infineon/easy50712/ddr_settings_e111.h create mode 100644 package/uboot-lantiq/files/board/infineon/easy50712/ddr_settings_e166.h create mode 100644 package/uboot-lantiq/files/board/infineon/easy50712/ddr_settings_psc_166.h create mode 100644 package/uboot-lantiq/files/board/infineon/easy50712/ddr_settings_r111.h create mode 100644 package/uboot-lantiq/files/board/infineon/easy50712/ddr_settings_r166.h create mode 100644 package/uboot-lantiq/files/board/infineon/easy50712/easy50712_bootstrap.c create mode 100644 package/uboot-lantiq/files/board/infineon/easy50712/lowlevel_bootstrap_init.S create mode 100644 package/uboot-lantiq/files/board/infineon/easy50712/lowlevel_init.S create mode 100644 package/uboot-lantiq/files/board/infineon/easy50712/pmuenable.S create mode 100644 package/uboot-lantiq/files/board/infineon/easy50712/u-boot-bootstrap.lds create mode 100644 package/uboot-lantiq/files/board/infineon/easy50712/u-boot.lds create mode 100644 package/uboot-lantiq/files/board/infineon/easy50812/Makefile create mode 100644 package/uboot-lantiq/files/board/infineon/easy50812/ar9.c create mode 100644 package/uboot-lantiq/files/board/infineon/easy50812/ar9_ddr111_settings.h create mode 100644 package/uboot-lantiq/files/board/infineon/easy50812/ar9_ddr166_settings.h create mode 100644 package/uboot-lantiq/files/board/infineon/easy50812/ar9_ddr196_settings.h create mode 100644 package/uboot-lantiq/files/board/infineon/easy50812/ar9_ddr221_settings.h create mode 100644 package/uboot-lantiq/files/board/infineon/easy50812/ar9_ddr250_settings.h create mode 100644 package/uboot-lantiq/files/board/infineon/easy50812/config.mk create mode 100644 package/uboot-lantiq/files/board/infineon/easy50812/easy50812_bootstrap.c create mode 100644 package/uboot-lantiq/files/board/infineon/easy50812/lowlevel_bootstrap_init.S create mode 100644 package/uboot-lantiq/files/board/infineon/easy50812/lowlevel_init.S create mode 100644 package/uboot-lantiq/files/board/infineon/easy50812/pmuenable.S create mode 100644 package/uboot-lantiq/files/board/infineon/easy50812/u-boot-bootstrap.lds create mode 100644 package/uboot-lantiq/files/board/infineon/easy50812/u-boot.lds create mode 100644 package/uboot-lantiq/files/cpu/mips/ar9-clock.c create mode 100644 package/uboot-lantiq/files/cpu/mips/ar9/Makefile create mode 100644 package/uboot-lantiq/files/cpu/mips/ar9/clock.c create mode 100644 package/uboot-lantiq/files/cpu/mips/ar9/ifx_cache.S create mode 100644 package/uboot-lantiq/files/cpu/mips/danube-clock.c create mode 100644 package/uboot-lantiq/files/cpu/mips/danube/Makefile create mode 100644 package/uboot-lantiq/files/cpu/mips/danube/clock.c create mode 100644 package/uboot-lantiq/files/cpu/mips/danube/ifx_cache.S create mode 100644 package/uboot-lantiq/files/cpu/mips/ifx_asc.c create mode 100644 package/uboot-lantiq/files/cpu/mips/ifx_asc.h create mode 100644 package/uboot-lantiq/files/drivers/net/ifx_etop.c create mode 100644 package/uboot-lantiq/files/drivers/net/ifx_etop.h create mode 100644 package/uboot-lantiq/files/drivers/serial/ifx_asc.c create mode 100644 package/uboot-lantiq/files/drivers/serial/ifx_asc.h create mode 100644 package/uboot-lantiq/files/include/asm-mips/ar9.h create mode 100644 package/uboot-lantiq/files/include/asm-mips/danube.h create mode 100644 package/uboot-lantiq/files/include/configs/arcadyan-common.h create mode 100644 package/uboot-lantiq/files/include/configs/arv3527P.h create mode 100644 package/uboot-lantiq/files/include/configs/arv4518PW.h create mode 100644 package/uboot-lantiq/files/include/configs/arv4519PW.h create mode 100644 package/uboot-lantiq/files/include/configs/arv4520PW.h create mode 100644 package/uboot-lantiq/files/include/configs/arv4525PW.h create mode 100644 package/uboot-lantiq/files/include/configs/arv452CPW.h create mode 100644 package/uboot-lantiq/files/include/configs/arv7518PW.h create mode 100644 package/uboot-lantiq/files/include/configs/arv7525PW.h create mode 100644 package/uboot-lantiq/files/include/configs/arv752DPW.h create mode 100644 package/uboot-lantiq/files/include/configs/arv752DPW22.h create mode 100644 package/uboot-lantiq/files/include/configs/easy50712.h create mode 100644 package/uboot-lantiq/files/include/configs/easy50812.h create mode 100644 package/uboot-lantiq/files/include/configs/ifx-common.h create mode 100755 package/uboot-lantiq/gct create mode 100644 package/uboot-lantiq/patches/000-build-infos.patch create mode 100644 package/uboot-lantiq/patches/010-fix-mips-flags.patch create mode 100644 package/uboot-lantiq/patches/020-mips-enhancements.patch create mode 100644 package/uboot-lantiq/patches/030-cfi-addr-fixup.patch create mode 100644 package/uboot-lantiq/patches/040-compile.patch create mode 100644 package/uboot-lantiq/patches/050-portability.patch create mode 100644 package/uboot-lantiq/patches/100-ifx_targets.patch create mode 100644 package/uboot-lantiq/patches/200-httpd.patch create mode 100644 package/uboot-lantiq/patches/300-arcadyan.patch create mode 100644 package/uboot-lantiq/patches/400-lzma.patch create mode 100644 package/uboot-lantiq/patches/500-gigasx.patch create mode 100644 package/uboot-omap35xx/Makefile create mode 100644 package/uboot-omap35xx/files/include/configs/omap3_overo.h create mode 100644 package/uboot-omap4/Makefile create mode 100644 package/uboot-pxa/Makefile create mode 100644 package/uboot-pxa/patches/001-squashfs_rootfstype_cmdline.patch create mode 100644 package/uboot-xburst/Makefile create mode 100644 package/uboot-xburst/files/board/n516/Makefile create mode 100644 package/uboot-xburst/files/board/n516/config.mk create mode 100644 package/uboot-xburst/files/board/n516/flash.c create mode 100644 package/uboot-xburst/files/board/n516/n516.c create mode 100644 package/uboot-xburst/files/board/n516/u-boot-nand.lds create mode 100644 package/uboot-xburst/files/board/n516/u-boot.lds create mode 100644 package/uboot-xburst/files/board/nanonote/Makefile create mode 100644 package/uboot-xburst/files/board/nanonote/config.mk create mode 100644 package/uboot-xburst/files/board/nanonote/nanonote.c create mode 100644 package/uboot-xburst/files/board/nanonote/u-boot-nand.lds create mode 100644 package/uboot-xburst/files/board/nanonote/u-boot.lds create mode 100644 package/uboot-xburst/files/board/sakc/Makefile create mode 100644 package/uboot-xburst/files/board/sakc/config.mk create mode 100644 package/uboot-xburst/files/board/sakc/sakc.c create mode 100644 package/uboot-xburst/files/board/sakc/u-boot-nand.lds create mode 100644 package/uboot-xburst/files/board/sakc/u-boot.lds create mode 100644 package/uboot-xburst/files/cpu/mips/jz4740.c create mode 100644 package/uboot-xburst/files/cpu/mips/jz4740_nand.c create mode 100644 package/uboot-xburst/files/cpu/mips/jz_lcd.c create mode 100644 package/uboot-xburst/files/cpu/mips/jz_lcd.h create mode 100644 package/uboot-xburst/files/cpu/mips/jz_mmc.c create mode 100644 package/uboot-xburst/files/cpu/mips/jz_mmc.h create mode 100644 package/uboot-xburst/files/cpu/mips/jz_serial.c create mode 100644 package/uboot-xburst/files/cpu/mips/mmc_protocol.h create mode 100644 package/uboot-xburst/files/cpu/mips/nanonote_gpm940b0.c create mode 100644 package/uboot-xburst/files/cpu/mips/nanonote_gpm940b0.h create mode 100644 package/uboot-xburst/files/cpu/mips/usb_boot.S create mode 100644 package/uboot-xburst/files/include/asm-mips/jz4740.h create mode 100644 package/uboot-xburst/files/include/configs/avt2.h create mode 100644 package/uboot-xburst/files/include/configs/n516.h create mode 100644 package/uboot-xburst/files/include/configs/nanonote.h create mode 100644 package/uboot-xburst/files/include/configs/qi_lb60.h create mode 100644 package/uboot-xburst/files/include/configs/sakc.h create mode 100644 package/uboot-xburst/files/nand_spl/board/n516/Makefile create mode 100644 package/uboot-xburst/files/nand_spl/board/n516/config.mk create mode 100644 package/uboot-xburst/files/nand_spl/board/n516/u-boot.lds create mode 100644 package/uboot-xburst/files/nand_spl/board/nanonote/Makefile create mode 100644 package/uboot-xburst/files/nand_spl/board/nanonote/config.mk create mode 100644 package/uboot-xburst/files/nand_spl/board/nanonote/u-boot.lds create mode 100644 package/uboot-xburst/files/nand_spl/board/sakc/Makefile create mode 100644 package/uboot-xburst/files/nand_spl/board/sakc/config.mk create mode 100644 package/uboot-xburst/files/nand_spl/board/sakc/u-boot.lds create mode 100644 package/uboot-xburst/files/nand_spl/nand_boot_jz4740.c create mode 100644 package/uboot-xburst/patches/001-xburst.patch create mode 100644 package/uboot-xburst/patches/005-i2c.patch create mode 100644 package/uboot-xburst/patches/009-n516.patch create mode 100644 package/uboot-xburst/patches/010-sakc.patch create mode 100644 package/ubus/Makefile create mode 100755 package/ubus/files/ubus.init create mode 100644 package/uci/Makefile create mode 100644 package/uci/files/lib/config/uci.sh create mode 100644 package/uclibc++/Makefile create mode 100644 package/uclibc++/files/config.default create mode 100644 package/uclibc++/patches/002-path_to_bash.patch create mode 100644 package/uclibc++/patches/006-eabi_fix.patch create mode 100644 package/udev/Config.in create mode 100644 package/udev/Makefile create mode 100644 package/udev/patches/0001-build-don-t-use-gc-sections.patch create mode 100644 package/udev/patches/0002-udevd-add-lrt-for-message-queue-symbols.patch create mode 100644 package/udev/patches/0003-add_btn_trigger_happy_define.patch create mode 100644 package/uhttpd/Makefile create mode 100644 package/uhttpd/files/uhttpd.config create mode 100755 package/uhttpd/files/uhttpd.init create mode 100644 package/uhttpd/src/Makefile create mode 100644 package/uhttpd/src/uhttpd-cgi.c create mode 100644 package/uhttpd/src/uhttpd-cgi.h create mode 100644 package/uhttpd/src/uhttpd-file.c create mode 100644 package/uhttpd/src/uhttpd-file.h create mode 100644 package/uhttpd/src/uhttpd-lua.c create mode 100644 package/uhttpd/src/uhttpd-lua.h create mode 100644 package/uhttpd/src/uhttpd-mimetypes.h create mode 100644 package/uhttpd/src/uhttpd-tls.c create mode 100644 package/uhttpd/src/uhttpd-tls.h create mode 100644 package/uhttpd/src/uhttpd-ubus.c create mode 100644 package/uhttpd/src/uhttpd-ubus.h create mode 100644 package/uhttpd/src/uhttpd-utils.c create mode 100644 package/uhttpd/src/uhttpd-utils.h create mode 100644 package/uhttpd/src/uhttpd.c create mode 100644 package/uhttpd/src/uhttpd.h create mode 100644 package/usbreset/Makefile create mode 100644 package/usbreset/src/usbreset.c create mode 100644 package/util-linux/Makefile create mode 100644 package/util-linux/patches/000-compile.patch create mode 100644 package/util-linux/patches/001-no-printf-alloc.patch create mode 100644 package/vsc73x5-ucode/Makefile create mode 100644 package/vsc73x5-ucode/files/Makefile create mode 100644 package/w1-gpio-custom/Makefile create mode 100644 package/w1-gpio-custom/src/Kconfig create mode 100644 package/w1-gpio-custom/src/Makefile create mode 100644 package/w1-gpio-custom/src/w1-gpio-custom.c create mode 100644 package/wireless-tools/Makefile create mode 100644 package/wireless-tools/patches/001-debian.patch create mode 100644 package/wireless-tools/patches/002-fix-iwconfig-power-argument-parsing.patch create mode 100644 package/wireless-tools/patches/003-we_essential_def.patch create mode 100644 package/wireless-tools/patches/004-increase_iwlist_buffer.patch create mode 100644 package/wprobe/Makefile create mode 100644 package/wprobe/files/wprobe.config create mode 100755 package/wprobe/files/wprobe.init create mode 100644 package/wprobe/src/Makefile.inc create mode 100644 package/wprobe/src/exporter/Makefile create mode 100644 package/wprobe/src/exporter/wprobe-export.c create mode 100644 package/wprobe/src/exporter/wprobe-export.h create mode 100644 package/wprobe/src/filter/README.txt create mode 100755 package/wprobe/src/filter/gen_filter.pl create mode 100644 package/wprobe/src/filter/pfc.c create mode 100644 package/wprobe/src/kernel/Makefile create mode 100644 package/wprobe/src/kernel/linux/wprobe.h create mode 100644 package/wprobe/src/kernel/wprobe-core.c create mode 100644 package/wprobe/src/kernel/wprobe-dummy.c create mode 100644 package/wprobe/src/user/Makefile create mode 100644 package/wprobe/src/user/list.h create mode 100644 package/wprobe/src/user/wprobe-lib.c create mode 100644 package/wprobe/src/user/wprobe-util.c create mode 100644 package/wprobe/src/user/wprobe.h create mode 100644 package/wrt55agv2-spidevs/Makefile create mode 100644 package/wrt55agv2-spidevs/src/Kconfig create mode 100644 package/wrt55agv2-spidevs/src/Makefile create mode 100644 package/wrt55agv2-spidevs/src/wrt55agv2_spidevs.c create mode 100644 package/xfsprogs/Makefile create mode 100644 package/xfsprogs/patches/001-automake-compat.patch create mode 100644 package/xfsprogs/patches/100-no_aio.patch create mode 100644 package/xfsprogs/patches/110-uclibc_no_ustat.patch create mode 100644 package/xfsprogs/patches/120-portability.patch create mode 100644 package/xfsprogs/patches/130-uclibc_no_xattr.patch create mode 100644 package/xfsprogs/patches/140-no_po.patch create mode 100644 package/yamonenv/Makefile create mode 100644 package/yamonenv/patches/001-yamonenv_mtd_partition.patch create mode 100644 package/zlib/Makefile (limited to 'package') diff --git a/package/6in4/Makefile b/package/6in4/Makefile new file mode 100644 index 000000000..fdab29086 --- /dev/null +++ b/package/6in4/Makefile @@ -0,0 +1,42 @@ +# +# Copyright (C) 2010-2012 OpenWrt.org +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +include $(TOPDIR)/rules.mk + +PKG_NAME:=6in4 +PKG_VERSION:=11 +PKG_RELEASE:=1 + +include $(INCLUDE_DIR)/package.mk + +define Package/6in4 + SECTION:=ipv6 + CATEGORY:=IPv6 + DEPENDS:=+kmod-ipv6 +kmod-sit + TITLE:=IPv6-in-IPv4 configuration support + MAINTAINER:=Jo-Philipp Wich + PKGARCH:=all +endef + +define Package/6in4/description +Provides support for 6in4 tunnels in /etc/config/network. +Refer to http://wiki.openwrt.org/doc/uci/network for +configuration details. +endef + +define Build/Compile +endef + +define Build/Configure +endef + +define Package/6in4/install + $(INSTALL_DIR) $(1)/lib/netifd/proto + $(INSTALL_BIN) ./files/6in4.sh $(1)/lib/netifd/proto/6in4.sh +endef + +$(eval $(call BuildPackage,6in4)) diff --git a/package/6in4/files/6in4.sh b/package/6in4/files/6in4.sh new file mode 100755 index 000000000..71bc68940 --- /dev/null +++ b/package/6in4/files/6in4.sh @@ -0,0 +1,90 @@ +#!/bin/sh +# 6in4.sh - IPv6-in-IPv4 tunnel backend +# Copyright (c) 2010-2012 OpenWrt.org + +[ -n "$INCLUDE_ONLY" ] || { + . /lib/functions.sh + . /lib/functions/network.sh + . ../netifd-proto.sh + init_proto "$@" +} + +proto_6in4_setup() { + local cfg="$1" + local iface="$2" + local link="6in4-$cfg" + + local mtu ttl ipaddr peeraddr ip6addr tunnelid username password + json_get_vars mtu ttl ipaddr peeraddr ip6addr tunnelid username password + + [ -z "$ip6addr" -o -z "$peeraddr" ] && { + proto_notify_error "$cfg" "MISSING_ADDRESS" + proto_block_restart "$cfg" + return + } + + ( proto_add_host_dependency "$cfg" 0.0.0.0 ) + + [ -z "$ipaddr" ] && { + local wanif + if ! network_find_wan wanif || ! network_get_ipaddr ipaddr "$wanif"; then + proto_notify_error "$cfg" "NO_WAN_LINK" + return + fi + } + + local local6="${ip6addr%%/*}" + local mask6="${ip6addr##*/}" + [[ "$local6" = "$mask6" ]] && mask6= + + proto_init_update "$link" 1 + proto_add_ipv6_address "$local6" "$mask6" + proto_add_ipv6_route "::" 0 + + proto_add_tunnel + json_add_string mode sit + json_add_int mtu "${mtu:-1280}" + json_add_int ttl "${ttl:-64}" + json_add_string local "$ipaddr" + json_add_string remote "$peeraddr" + proto_close_tunnel + + proto_send_update "$cfg" + + [ -n "$tunnelid" -a -n "$username" -a -n "$password" ] && { + [ "${#password}" == 32 -a -z "${password//[a-fA-F0-9]/}" ] || { + password="$(echo -n "$password" | md5sum)"; password="${password%% *}" + } + + local url="http://ipv4.tunnelbroker.net/ipv4_end.php?ip=AUTO&apikey=$username&pass=$password&tid=$tunnelid" + local try=0 + local max=3 + + while [ $((++try)) -le $max ]; do + wget -qO/dev/null "$url" 2>/dev/null && break + sleep 1 + done + } +} + +proto_6in4_teardown() { + local cfg="$1" +} + +proto_6in4_init_config() { + no_device=1 + available=1 + + proto_config_add_string "ipaddr" + proto_config_add_string "ip6addr" + proto_config_add_string "peeraddr" + proto_config_add_string "tunnelid" + proto_config_add_string "username" + proto_config_add_string "password" + proto_config_add_int "mtu" + proto_config_add_int "ttl" +} + +[ -n "$INCLUDE_ONLY" ] || { + add_protocol 6in4 +} diff --git a/package/6rd/Makefile b/package/6rd/Makefile new file mode 100644 index 000000000..3d4549674 --- /dev/null +++ b/package/6rd/Makefile @@ -0,0 +1,53 @@ +# +# Copyright (C) 2010-2012 OpenWrt.org +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +include $(TOPDIR)/rules.mk + +PKG_NAME:=6rd +PKG_VERSION:=2 +PKG_RELEASE:=1 + +include $(INCLUDE_DIR)/package.mk + +define Package/6rd + SECTION:=ipv6 + CATEGORY:=IPv6 + DEPENDS:=+kmod-ipv6 +kmod-sit + TITLE:=6rd configuration support + MAINTAINER:=Stéphan Kochen + PKGARCH:=all +endef + +define Package/6rd/description +Provides support for 6rd tunnels in /etc/config/network. +Refer to http://wiki.openwrt.org/doc/uci/network for +configuration details. +endef + +define Build/Prepare + mkdir -p $(PKG_BUILD_DIR) + $(CP) ./src/* $(PKG_BUILD_DIR)/ +endef + +define Build/Configure +endef + +define Build/Compile + $(MAKE) -C $(PKG_BUILD_DIR) \ + CC="$(TARGET_CC)" \ + CFLAGS="$(TARGET_CFLAGS) -Wall" \ + LDFLAGS="$(TARGET_LDFLAGS)" +endef + +define Package/6rd/install + $(INSTALL_DIR) $(1)/usr/sbin + $(INSTALL_BIN) $(PKG_BUILD_DIR)/6rdcalc $(1)/usr/sbin/ + $(INSTALL_DIR) $(1)/lib/netifd/proto + $(INSTALL_BIN) ./files/6rd.sh $(1)/lib/netifd/proto/6rd.sh +endef + +$(eval $(call BuildPackage,6rd)) diff --git a/package/6rd/files/6rd.sh b/package/6rd/files/6rd.sh new file mode 100644 index 000000000..59c3169b3 --- /dev/null +++ b/package/6rd/files/6rd.sh @@ -0,0 +1,80 @@ +#!/bin/sh +# 6rd.sh - IPv6-in-IPv4 tunnel backend +# Copyright (c) 2010-2012 OpenWrt.org + +[ -n "$INCLUDE_ONLY" ] || { + . /lib/functions.sh + . /lib/functions/network.sh + . ../netifd-proto.sh + init_proto "$@" +} + +proto_6rd_setup() { + local cfg="$1" + local iface="$2" + local link="6rd-$cfg" + + local mtu ttl ipaddr peeraddr ip6prefix ip6prefixlen ip4prefixlen + json_get_vars mtu ttl ipaddr peeraddr ip6prefix ip6prefixlen ip4prefixlen + + [ -z "$ip6prefix" -o -z "$peeraddr" ] && { + proto_notify_error "$cfg" "MISSING_ADDRESS" + proto_block_restart "$cfg" + return + } + + ( proto_add_host_dependency "$cfg" 0.0.0.0 ) + + [ -z "$ipaddr" ] && { + local wanif + if ! network_find_wan wanif || ! network_get_ipaddr ipaddr "$wanif"; then + proto_notify_error "$cfg" "NO_WAN_LINK" + return + fi + } + + # Determine the relay prefix. + local ip4prefixlen="${ip4prefixlen:-0}" + local ip4prefix=$(ipcalc.sh "$ipaddr/$ip4prefixlen" | grep NETWORK) + ip4prefix="${ip4prefix#NETWORK=}" + + # Determine our IPv6 address. + local ip6subnet=$(6rdcalc "$ip6prefix/$ip6prefixlen" "$ipaddr/$ip4prefixlen") + local ip6addr="${ip6subnet%%::*}::1" + + proto_init_update "$link" 1 + proto_add_ipv6_address "$ip6addr" "$ip6prefixlen" + proto_add_ipv6_route "::" 0 "::$peeraddr" + + proto_add_tunnel + json_add_string mode sit + json_add_int mtu "${mtu:-1280}" + json_add_int ttl "${ttl:-64}" + json_add_string local "$ipaddr" + json_add_string 6rd-prefix "$ip6prefix/$ip6prefixlen" + json_add_string 6rd-relay-prefix "$ip4prefix/$ip4prefixlen" + proto_close_tunnel + + proto_send_update "$cfg" +} + +proto_6rd_teardown() { + local cfg="$1" +} + +proto_6rd_init_config() { + no_device=1 + available=1 + + proto_config_add_int "mtu" + proto_config_add_int "ttl" + proto_config_add_string "ipaddr" + proto_config_add_string "peeraddr" + proto_config_add_string "ip6prefix" + proto_config_add_string "ip6prefixlen" + proto_config_add_string "ip4prefixlen" +} + +[ -n "$INCLUDE_ONLY" ] || { + add_protocol 6rd +} diff --git a/package/6rd/src/6rdcalc.c b/package/6rd/src/6rdcalc.c new file mode 100644 index 000000000..56e07d255 --- /dev/null +++ b/package/6rd/src/6rdcalc.c @@ -0,0 +1,126 @@ +/* + * Utility used to calculate the 6rd subnet. + * + * Copyright 2012, Stéphan Kochen + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + */ + +#include +#include +#include +#include +#include +#include + +#define INET_PREFIXSTRLEN (INET_ADDRSTRLEN+3) +#define INET6_PREFIXSTRLEN (INET6_ADDRSTRLEN+4) + +static void print_usage() +{ + fprintf(stderr, "Usage: 6rdcalc / /\n"); + exit(1); +} + +static void print_error() +{ + fprintf(stderr, "%s", strerror(errno)); + exit(1); +} + +static void parse_str(int af, char *str, void *addr, unsigned long *mask) +{ + int ret; + char *slash; + + /* Split the address at the slash. */ + if ((slash = strchr(str, '/')) == NULL) + print_usage(); + *slash = '\0'; + + /* Parse the address. */ + if ((ret = inet_pton(af, str, addr)) != 1) { + if (ret == 0) + print_usage(); + else + print_error(); + } + + /* Parse the mask. */ + *mask = strtoul(slash+1, NULL, 10); + if ((af == AF_INET && *mask > 32) || + (af == AF_INET6 && *mask > 128)) + print_usage(); +} + +int main(int argc, const char **argv) +{ + char v6str[INET6_PREFIXSTRLEN], v4str[INET_PREFIXSTRLEN]; + struct in6_addr v6; + struct in_addr v4; + unsigned long v6it, v4it, mask; + unsigned char *byte4, *byte6; + unsigned char bit4, bit6; + + /* Check parameters. */ + if (argc != 3) + print_usage(); + + /* Parse the v6 address. */ + strncpy(v6str, argv[1], INET6_PREFIXSTRLEN); + v6str[INET6_PREFIXSTRLEN-1] = '\0'; + parse_str(AF_INET6, v6str, &v6, &v6it); + + /* Parse the v4 address */ + strncpy(v4str, argv[2], INET_PREFIXSTRLEN); + v6str[INET_PREFIXSTRLEN-1] = '\0'; + parse_str(AF_INET, v4str, &v4, &v4it); + + /* Check if the combined mask is within bounds. */ + mask = (32 - v4it) + v6it; + if (mask > 128) + print_usage(); + + /* Combine the addresses. */ + while (v4it < 32) { + byte6 = (unsigned char *)(&v6.s6_addr) + (v6it >> 3); + byte4 = (unsigned char *)(&v4.s_addr) + (v4it >> 3); + bit6 = 128 >> (v6it & 0x07); + bit4 = 128 >> (v4it & 0x07); + + if (*byte4 & bit4) + *byte6 |= bit6; + else + *byte6 &= ~bit6; + + v4it++; v6it++; + } + + /* Clear remaining bits. */ + while (v6it < 128) { + byte6 = (unsigned char *)(&v6.s6_addr) + (v6it >> 2); + bit6 = 128 >> (v6it & 0x07); + + *byte6 &= ~bit6; + + v6it++; + } + + /* Print the subnet prefix. */ + if (inet_ntop(AF_INET6, &v6, v6str, sizeof(v6str)) == NULL) + print_error(); + printf("%s/%lu\n", v6str, mask); + return 0; +} diff --git a/package/6rd/src/Makefile b/package/6rd/src/Makefile new file mode 100644 index 000000000..2881d4358 --- /dev/null +++ b/package/6rd/src/Makefile @@ -0,0 +1,7 @@ +all: 6rdcalc + +6rdcalc: 6rdcalc.c + $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $< + +clean: + rm -f 6rdcalc diff --git a/package/6to4/Makefile b/package/6to4/Makefile new file mode 100644 index 000000000..f29571d86 --- /dev/null +++ b/package/6to4/Makefile @@ -0,0 +1,42 @@ +# +# Copyright (C) 2010-2012 OpenWrt.org +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +include $(TOPDIR)/rules.mk + +PKG_NAME:=6to4 +PKG_VERSION:=11 +PKG_RELEASE:=1 + +include $(INCLUDE_DIR)/package.mk + +define Package/6to4 + SECTION:=ipv6 + CATEGORY:=IPv6 + DEPENDS:=+kmod-ipv6 +kmod-sit + TITLE:=IPv6-to-IPv4 configuration support + MAINTAINER:=Jo-Philipp Wich + PKGARCH:=all +endef + +define Package/6to4/description +Provides support for 6to4 tunnels in /etc/config/network. +Refer to http://wiki.openwrt.org/doc/uci/network for +configuration details. +endef + +define Build/Compile +endef + +define Build/Configure +endef + +define Package/6to4/install + $(INSTALL_DIR) $(1)/lib/netifd/proto + $(INSTALL_BIN) ./files/6to4.sh $(1)/lib/netifd/proto/6to4.sh +endef + +$(eval $(call BuildPackage,6to4)) diff --git a/package/6to4/files/6to4.sh b/package/6to4/files/6to4.sh new file mode 100755 index 000000000..3a616f675 --- /dev/null +++ b/package/6to4/files/6to4.sh @@ -0,0 +1,209 @@ +#!/bin/sh +# 6to4.sh - IPv6-in-IPv4 tunnel backend +# Copyright (c) 2010-2012 OpenWrt.org + +[ -n "$INCLUDE_ONLY" ] || { + . /lib/functions.sh + . /lib/functions/network.sh + . ../netifd-proto.sh + init_proto "$@" +} + +find_6to4_prefix() { + local ip4="$1" + local oIFS="$IFS"; IFS="."; set -- $ip4; IFS="$oIFS" + + printf "2002:%02x%02x:%02x%02x\n" $1 $2 $3 $4 +} + +test_6to4_rfc1918() +{ + local oIFS="$IFS"; IFS="."; set -- $1; IFS="$oIFS" + [ $1 -eq 10 ] && return 0 + [ $1 -eq 192 ] && [ $2 -eq 168 ] && return 0 + [ $1 -eq 172 ] && [ $2 -ge 16 ] && [ $2 -le 31 ] && return 0 + + # RFC 6598 + [ $1 -eq 100 ] && [ $2 -ge 64 ] && [ $2 -le 127 ] && return 0 + + return 1 +} + +set_6to4_radvd_interface() { + local cfgid="$1" + local lanif="${2:-lan}" + local ifmtu="${3:-1280}" + local ifsection="" + + find_ifsection() { + local net + local cfg="$1" + config_get net "$cfg" interface + + [ "$net" = "$lanif" ] && { + ifsection="$cfg" + return 1 + } + } + + config_foreach find_ifsection interface + + [ -z "$ifsection" ] && { + ifsection="iface_$sid" + uci_set_state radvd "$ifsection" "" interface + uci_set_state radvd "$ifsection" interface "$lanif" + } + + uci_set_state radvd "$ifsection" ignore 0 + uci_set_state radvd "$ifsection" IgnoreIfMissing 1 + uci_set_state radvd "$ifsection" AdvSendAdvert 1 + uci_set_state radvd "$ifsection" MaxRtrAdvInterval 30 + uci_set_state radvd "$ifsection" AdvLinkMTU "$ifmtu" +} + +set_6to4_radvd_prefix() { + local cfgid="$1" + local lanif="${2:-lan}" + local wanif="${3:-wan}" + local prefix="${4:-0:0:0:1::/64}" + local vlt="${5:-300}" + local plt="${6:-120}" + local pfxsection="" + + find_pfxsection() { + local net base + local cfg="$1" + config_get net "$cfg" interface + config_get base "$cfg" Base6to4Interface + + [ "$net" = "$lanif" ] && [ "$base" = "$wanif" ] && { + pfxsection="$cfg" + return 1 + } + } + + config_foreach find_pfxsection prefix + + [ -z "$pfxsection" ] && { + pfxsection="prefix_${sid}_${lanif}" + uci_set_state radvd "$pfxsection" "" prefix + uci_set_state radvd "$pfxsection" ignore 0 + uci_set_state radvd "$pfxsection" interface "$lanif" + uci_set_state radvd "$pfxsection" prefix "$prefix" + uci_set_state radvd "$pfxsection" AdvOnLink 1 + uci_set_state radvd "$pfxsection" AdvAutonomous 1 + uci_set_state radvd "$pfxsection" AdvValidLifetime "$vlt" + uci_set_state radvd "$pfxsection" AdvPreferredLifetime "$plt" + uci_set_state radvd "$pfxsection" Base6to4Interface "$wanif" + } +} + +proto_6to4_setup() { + local cfg="$1" + local iface="$2" + local link="6to4-$cfg" + + local mtu ttl ipaddr adv_subnet adv_interface adv_valid_lifetime adv_preferred_lifetime + json_get_vars mtu ttl ipaddr adv_subnet adv_interface adv_valid_lifetime adv_preferred_lifetime + + ( proto_add_host_dependency "$cfg" 0.0.0.0 ) + + local wanif + if ! network_find_wan wanif; then + proto_notify_error "$cfg" "NO_WAN_LINK" + return + fi + + [ -z "$ipaddr" ] && { + if ! network_get_ipaddr ipaddr "$wanif"; then + proto_notify_error "$cfg" "NO_WAN_ADDRESS" + return + fi + } + + test_6to4_rfc1918 "$ipaddr" && { + proto_notify_error "$cfg" "INVALID_LOCAL_ADDRESS" + return + } + + # find our local prefix + local prefix6=$(find_6to4_prefix "$ipaddr") + local local6="$prefix6::1" + + proto_init_update "$link" 1 + proto_add_ipv6_address "$local6" 16 + proto_add_ipv6_route "::" 0 "::192.88.99.1" + + proto_add_tunnel + json_add_string mode sit + json_add_int mtu "${mtu:-1280}" + json_add_int ttl "${ttl:-64}" + json_add_string local "$ipaddr" + proto_close_tunnel + + proto_send_update "$cfg" + + [ -f /etc/config/radvd ] && /etc/init.d/radvd enabled && { + local sid="6to4_$cfg" + + uci_revert_state radvd + config_load radvd + + adv_subnet=$((0x${adv_subnet:-1})) + + local adv_subnets="" + + for adv_interface in ${adv_interface:-lan}; do + local adv_ifname + network_get_device adv_ifname "${adv_interface:-lan}" || continue + + local subnet6="$(printf "%s:%x::1/64" "$prefix6" $adv_subnet)" + + logger -t "$link" " * Advertising IPv6 subnet $subnet6 on ${adv_interface:-lan} ($adv_ifname)" + ip -6 addr add $subnet6 dev $adv_ifname + + set_6to4_radvd_interface "$sid" "$adv_interface" "$mtu" + set_6to4_radvd_prefix "$sid" "$adv_interface" \ + "$wanif" "$(printf "0:0:0:%x::/64" $adv_subnet)" \ + "$adv_valid_lifetime" "$adv_preferred_lifetime" + + adv_subnets="${adv_subnets:+$adv_subnets }$adv_ifname:$subnet6" + adv_subnet=$(($adv_subnet + 1)) + done + + uci_set_state network "$cfg" adv_subnets "$adv_subnets" + + /etc/init.d/radvd restart + } +} + +proto_6to4_teardown() { + local cfg="$1" + local link="6to4-$cfg" + + local adv_subnets=$(uci_get_state network "$cfg" adv_subnets) + + grep -qs "^ *$link:" /proc/net/dev && { + [ -n "$adv_subnets" ] && { + uci_revert_state radvd + /etc/init.d/radvd enabled && /etc/init.d/radvd restart + } + } +} + +proto_6to4_init_config() { + no_device=1 + available=1 + + proto_config_add_string "ipaddr" + proto_config_add_int "mtu" + proto_config_add_int "ttl" + proto_config_add_string "adv_interface" + proto_config_add_string "adv_subnet" + proto_config_add_int "adv_valid_lifetime" + proto_config_add_int "adv_preferred_lifetime" +} + +[ -n "$INCLUDE_ONLY" ] || { + add_protocol 6to4 +} diff --git a/package/Makefile b/package/Makefile new file mode 100644 index 000000000..5d942ca78 --- /dev/null +++ b/package/Makefile @@ -0,0 +1,105 @@ +# +# Copyright (C) 2006-2010 OpenWrt.org +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +curdir:=package + +-include $(TMP_DIR)/.packagedeps +$(curdir)/builddirs:=$(sort $(package-) $(package-y) $(package-m)) +ifeq ($(SDK),1) + $(curdir)/builddirs-install:=. +else + $(curdir)/builddirs-default:=. $(sort $(package-y) $(package-m)) + $(curdir)/builddirs-prereq:=. $(sort $(prereq-y) $(prereq-m)) + $(curdir)/builddirs-install:=. $(filter-out base-files,$(sort $(package-y))) $(filter base-files,$(package-y)) +endif +ifneq ($(IGNORE_ERRORS),) + $(curdir)/builddirs-ignore-compile:= $(if $(filter n m y, $(IGNORE_ERRORS)),$(foreach m,$(IGNORE_ERRORS),$(package-$(subst n,,$(m)))),$(package-m) $(package-)) +endif + +$(curdir)/install:=$(curdir)/install-cleanup + +$(curdir)/cleanup: $(TMP_DIR)/.build + - find $(STAGING_DIR_ROOT) -type d | $(XARGS) chmod 0755 + rm -rf $(TARGET_DIR) $(STAGING_DIR_ROOT) + +ifdef CONFIG_USE_MKLIBS + define mklibs + rm -rf $(TMP_DIR)/mklibs-progs $(TMP_DIR)/mklibs-out + # first find all programs and add them to the mklibs list + find $(STAGING_DIR_ROOT) -type f -perm +100 -exec \ + file -r -N -F '' {} + | \ + awk ' /executable.*dynamically/ { print $$1 }' > $(TMP_DIR)/mklibs-progs + # find all loadable objects that are not regular libraries and add them to the list as well + find $(STAGING_DIR_ROOT) -type f -name \*.so\* -exec \ + file -r -N -F '' {} + | \ + awk ' /shared object/ { print $$1 }' >> $(TMP_DIR)/mklibs-progs + mkdir -p $(TMP_DIR)/mklibs-out + $(STAGING_DIR_HOST)/bin/mklibs -D \ + -d $(TMP_DIR)/mklibs-out \ + --sysroot $(STAGING_DIR_ROOT) \ + -L /lib \ + -L /usr/lib \ + -L /usr/lib/ebtables \ + --ldlib $(patsubst $(STAGING_DIR_ROOT)/%,/%,$(firstword $(wildcard \ + $(foreach name,ld-uClibc.so.* ld-linux.so.* ld-*.so, \ + $(STAGING_DIR_ROOT)/lib/$(name) \ + )))) \ + --target $(REAL_GNU_TARGET_NAME) \ + `cat $(TMP_DIR)/mklibs-progs` 2>&1 + $(RSTRIP) $(TMP_DIR)/mklibs-out + for lib in `ls $(TMP_DIR)/mklibs-out/*.so.* 2>/dev/null`; do \ + LIB="$${lib##*/}"; \ + DEST="`ls "$(TARGET_DIR)/lib/$$LIB" "$(TARGET_DIR)/usr/lib/$$LIB" 2>/dev/null`"; \ + [ -n "$$DEST" ] || continue; \ + echo "Copying stripped library $$lib to $$DEST"; \ + cp "$$lib" "$$DEST" || exit 1; \ + done + endef +endif + +$(curdir)/rootfs-prepare: $(TMP_DIR)/.build + @-$(MAKE) package/preconfig + @if [ -d $(TOPDIR)/files ]; then \ + ( cd $(TOPDIR)/files; find -type f ) | \ + ( cd $(TARGET_DIR); while :; do \ + read FILE; \ + [ -z "$$FILE" ] && break; \ + [ -L "$$FILE" ] || continue; \ + echo "Removing symlink $(TARGET_DIR)/$$FILE"; \ + rm -f "$$FILE"; \ + done; ); \ + $(CP) $(TOPDIR)/files/. $(TARGET_DIR); \ + fi + @mkdir -p $(TARGET_DIR)/etc/rc.d + @( \ + cd $(TARGET_DIR); \ + for script in ./etc/init.d/*; do \ + grep '#!/bin/sh /etc/rc.common' $$script >/dev/null || continue; \ + IPKG_INSTROOT=$(TARGET_DIR) $$(which bash) ./etc/rc.common $$script enable; \ + done || true \ + ) + @-find $(TARGET_DIR) -name CVS | $(XARGS) rm -rf + @-find $(TARGET_DIR) -name .svn | $(XARGS) rm -rf + @-find $(TARGET_DIR) -name '.#*' | $(XARGS) rm -f + rm -f $(TARGET_DIR)/usr/lib/opkg/info/*.postinst + $(if $(CONFIG_CLEAN_IPKG),rm -rf $(TARGET_DIR)/usr/lib/opkg) + $(call mklibs) + +$(curdir)/index: FORCE + @(cd $(PACKAGE_DIR); $(SCRIPT_DIR)/ipkg-make-index.sh . 2>&1 > Packages && \ + gzip -9c Packages > Packages.gz \ + ) + +$(curdir)/flags-install:= -j1 + +$(eval $(call stampfile,$(curdir),package,prereq,.config)) +$(eval $(call stampfile,$(curdir),package,cleanup,$(TMP_DIR)/.build)) +$(eval $(call stampfile,$(curdir),package,compile,$(TMP_DIR)/.build)) +$(eval $(call stampfile,$(curdir),package,install,$(TMP_DIR)/.build)) +$(eval $(call stampfile,$(curdir),package,rootfs-prepare,$(TMP_DIR)/.build)) + +$(eval $(call subdir,$(curdir))) diff --git a/package/acx-mac80211/Makefile b/package/acx-mac80211/Makefile new file mode 100644 index 000000000..40b3ce5ed --- /dev/null +++ b/package/acx-mac80211/Makefile @@ -0,0 +1,245 @@ +# +# Copyright (C) 2007-2012 OpenWrt.org +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +include $(TOPDIR)/rules.mk +include $(INCLUDE_DIR)/kernel.mk + +PKG_NAME:=acx-mac80211 +PKG_REV:=v20120607 +PKG_VERSION:=20120607 +PKG_RELEASE:=1 + +PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2 +PKG_SOURCE_URL:=git://acx100.git.sourceforge.net/gitroot/acx100/acx-mac80211 +PKG_SOURCE_PROTO:=git +PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION) +PKG_SOURCE_VERSION:=$(PKG_REV) +PKG_BUILD_DEPENDS:=mac80211 + +include $(INCLUDE_DIR)/package.mk + +define KernelPackage/acx-mac80211 + SUBMENU:=Wireless Drivers + TITLE:=ACX1xx mac80211 driver + DEPENDS:=@(PCI_SUPPORT||TARGET_ar7) @mipsel +kmod-mac80211 + FILES:=$(PKG_BUILD_DIR)/acx-mac80211.ko + AUTOLOAD:=$(call AutoLoad,50,acx-mac80211) + MENU:=1 +endef + +define KernelPackage/acx-mac80211/config + menu "Configuration" + depends on PACKAGE_kmod-acx-mac80211 + + config ACX_ID_0D + bool "ACX1xx Radio ID 0D firmware" + help + Download and install firmware for: + ACX1xx cards with Radio ID 0D into /lib/firmware. + + config ACX_ID_11 + bool "ACX1xx Radio ID 11 firmware" + help + Download and install firmware for: + ACX1xx cards with Radio ID 11 into /lib/firmware. + + config ACX_ID_15 + bool "ACX1xx Radio ID 15 firmware" + help + Download and install firmware for: + ACX1xx cards with Radio ID 15 into /lib/firmware. + + config ACX_ID_16 + bool "ACX1xx Radio ID 16 firmware" + default y + help + Download and install firmware for: + ACX1xx cards with Radio ID 16 into /lib/firmware. + + choice + prompt "ACX111 firmware version" + depends on ACX_ID_16 + default ACX_DEFAULT if !TARGET_adm5120 + default ACX_1_2_1_34 if TARGET_adm5120 + help + This option allows you to select the version of the acx firmware. + + config ACX_DEFAULT + bool "Default" + help + Default firmware for ACX111 devices. + + If unsure, select this. + + config ACX_1_2_1_34 + bool "1.2.1_34" + help + 1.2.1_34 firmware for ACX111 devices. Works with Zyxel P-334WT. + + If unsure, select the "default" firmware. + + endchoice + + config ACX_ID_17 + bool "ACX1xx Radio ID 17 firmware" + help + Download and install firmware for: + ACX1xx cards with Radio ID 17 into /lib/firmware. + + config ACX_ID_19 + bool "ACX1xx Radio ID 19 firmware" + default y + help + Download and install firmware for: + ACX1xx cards with Radio ID 19 into /lib/firmware. + + config ACX_ID_1B + bool "ACX1xx Radio ID 1B firmware" + help + Download and install firmware for: + ACX1xx cards with Radio ID 1b into /lib/firmware. + + endmenu +endef + +define KernelPackage/acx-mac80211/description + Driver for acx111 cards (mac80211 version) +endef + +define Download/tiacx100 + FILE:=tiacx100 + URL:=http://acx100.erley.org/fw/acx100_1.9.8.b/ + MD5SUM:=24a54fd30f7658fcbffc825b0dd7aa5b +endef + +define Download/tiacx100r0d + FILE:=tiacx100r0D + URL:=http://acx100.erley.org/fw/acx100_1.9.8.b/ + MD5SUM:=1c7413e7b0be4ef7d1e424a132e17fab +endef + +define Download/tiacx100r11 + FILE:=tiacx100r11 + URL:=http://acx100.erley.org/fw/acx100_1.9.8.b/ + MD5SUM:=a150750ad33c512edc4afee5270b37cb +endef + +define Download/tiacx100r15 + FILE:=tiacx100r15 + URL:=http://acx100.erley.org/fw/acx100_1.9.8.b/ + MD5SUM:=c99d01d4fcf0d6cc00441aff60690be4 +endef + +define Download/tiacx111c16 + FILE:=tiacx111c16 + URL:=http://acx100.erley.org/fw/acx111_2.3.1.31/ + MD5SUM:=7026826460376f6b174f9225bd7781b9 +endef + +define Download/tiacx111c16_1 + FILE:=tiacx111c16_1.2.1_34 + URL:=http://sites.google.com/site/atorkhov/files/ + MD5SUM:=fcd07de4b25e1d2aaf3b78b27c5b7ee9 +endef + +define Download/tiacx111c17 + FILE:=tiacx111c17 + URL:=http://acx100.erley.org/fw/acx111_2.3.1.31/ + MD5SUM:=95552544ca6d2b4e8c6aeb80b8ae7fdf +endef + +define Download/tiacx111c19 + FILE:=tiacx111c19 + URL:=http://acx100.erley.org/fw/acx111_2.3.1.31/ + MD5SUM:=a1fa9681e297b4e36e257090fc12265a +endef + +define Download/tiacx111usbc1b + FILE:=tiacx111usbc1B + URL:=http://acx100.erley.org/fw/acx111_2.4.0.70-USB/ + MD5SUM:=c4edecd912b2417779d0b65e3a7dc86d +endef + +PKG_EXTRA_KCONFIG:= \ + CONFIG_ACX_MAC80211=m \ + CONFIG_ACX_MAC80211_PCI=m \ + +PKG_EXTRA_CFLAGS:= \ + $(patsubst CONFIG_%, -DCONFIG_%=1, $(patsubst %=m,%,$(filter %=m,$(PKG_EXTRA_KCONFIG)))) \ + $(patsubst CONFIG_%, -DCONFIG_%=1, $(patsubst %=y,%,$(filter %=y,$(PKG_EXTRA_KCONFIG)))) \ + +LINUX_AUTOCONF_FILE:= generated/autoconf.h + +define Build/Compile + $(MAKE) -C "$(LINUX_DIR)" \ + ARCH="$(LINUX_KARCH)" \ + CROSS_COMPILE="$(TARGET_CROSS)" \ + SUBDIRS="$(PKG_BUILD_DIR)" \ + $(PKG_EXTRA_KCONFIG) \ + EXTRA_CFLAGS="$(PKG_EXTRA_CFLAGS) -DCONFIG_ACX_MAC80211_VERSION=\"KERNEL_VERSION(3,7,0)\"" \ + LINUXINCLUDE="-I$(STAGING_DIR)/usr/include/mac80211 -I$(LINUX_DIR)/include \ + -Iarch/$(LINUX_KARCH)/include \ + -include $(LINUX_AUTOCONF_FILE) \ + -include linux/compat-2.6.h" \ + V="$(V)" \ + modules +endef + +define Build/Configure +endef + +define KernelPackage/acx-mac80211/install + $(INSTALL_DIR) $(1)/lib/firmware + +ifneq ($(CONFIG_ACX_ID_0D)$(CONFIG_ACX_ID_11)$(CONFIG_ACX_ID_15),) + $(INSTALL_DATA) $(DL_DIR)/tiacx100 $(1)/lib/firmware/ +endif + +ifneq ($(CONFIG_ACX_ID_0D),) + $(INSTALL_DATA) $(DL_DIR)/tiacx100r0D $(1)/lib/firmware/ +endif + +ifneq ($(CONFIG_ACX_ID_11),) + $(INSTALL_DATA) $(DL_DIR)/tiacx100r11 $(1)/lib/firmware/ +endif + +ifneq ($(CONFIG_ACX_ID_15),) + $(INSTALL_DATA) $(DL_DIR)/tiacx100r15 $(1)/lib/firmware/ +endif + +ifneq ($(CONFIG_ACX_DEFAULT),) + $(INSTALL_DATA) $(DL_DIR)/tiacx111c16 $(1)/lib/firmware/ +endif + +ifneq ($(CONFIG_ACX_1_2_1_34),) + $(INSTALL_DATA) $(DL_DIR)/tiacx111c16_1.2.1_34 $(1)/lib/firmware/tiacx111c16 +endif + +ifneq ($(CONFIG_ACX_ID_17),) + $(INSTALL_DATA) $(DL_DIR)/tiacx111c17 $(1)/lib/firmware/ +endif + +ifneq ($(CONFIG_ACX_ID_19),) + $(INSTALL_DATA) $(DL_DIR)/tiacx111c19 $(1)/lib/firmware/ +endif + +ifneq ($(CONFIG_ACX_ID_1B),) + $(INSTALL_DATA) $(DL_DIR)/tiacx111usbc1B $(1)/lib/firmware/ +endif + +endef + +$(eval $(call KernelPackage,acx-mac80211)) +$(eval $(call Download,tiacx100)) +$(eval $(call Download,tiacx100r0d)) +$(eval $(call Download,tiacx100r11)) +$(eval $(call Download,tiacx100r15)) +$(eval $(call Download,tiacx111c16)) +$(eval $(call Download,tiacx111c16_1)) +$(eval $(call Download,tiacx111c17)) +$(eval $(call Download,tiacx111c19)) +$(eval $(call Download,tiacx111usbc1b)) diff --git a/package/acx-mac80211/patches/001-make-compatible-with-recent-mac80211.patch b/package/acx-mac80211/patches/001-make-compatible-with-recent-mac80211.patch new file mode 100644 index 000000000..34ecf6d4a --- /dev/null +++ b/package/acx-mac80211/patches/001-make-compatible-with-recent-mac80211.patch @@ -0,0 +1,43 @@ +--- a/acx_func.h ++++ b/acx_func.h +@@ -335,8 +335,11 @@ void acx_process_rxbuf(acx_device_t *ade + */ + #if CONFIG_ACX_MAC80211_VERSION < KERNEL_VERSION(2, 6, 39) + int acx_op_tx(struct ieee80211_hw *hw, struct sk_buff *skb); +-#else ++#elif CONFIG_ACX_MAC80211_VERSION < KERNEL_VERSION(3, 7, 0) + void acx_op_tx(struct ieee80211_hw *hw, struct sk_buff *skb); ++#else ++void acx_op_tx(struct ieee80211_hw *hw, struct ieee80211_tx_control *control, ++ struct sk_buff *skb); + #endif + + void acx_tx_work(struct work_struct *work); +--- a/common.c ++++ b/common.c +@@ -232,8 +232,11 @@ static void acx_rx(acx_device_t *adev, r + /* Tx Path */ + #if CONFIG_ACX_MAC80211_VERSION < KERNEL_VERSION(2, 6, 39) + int acx_op_tx(struct ieee80211_hw *hw, struct sk_buff *skb); +-#else ++#elif CONFIG_ACX_MAC80211_VERSION < KERNEL_VERSION(3, 7, 0) + void acx_op_tx(struct ieee80211_hw *hw, struct sk_buff *skb); ++#else ++void acx_op_tx(struct ieee80211_hw *hw, struct ieee80211_tx_control *control, ++ struct sk_buff *skb); + #endif + + //-void acx_tx_work(struct work_struct *work); +@@ -5183,7 +5186,12 @@ out: + * acx_compat, and hiding this #if/else. OTOH, inclusion doesnt care + * about old kernels + */ ++#if CONFIG_ACX_MAC80211_VERSION < KERNEL_VERSION(3, 7, 0) + OP_TX_RET_TYPE acx_op_tx(struct ieee80211_hw *hw, struct sk_buff *skb) ++#else ++void acx_op_tx(struct ieee80211_hw *hw, struct ieee80211_tx_control *control, ++ struct sk_buff *skb) ++#endif + { + acx_device_t *adev = ieee2adev(hw); + diff --git a/package/acx-mac80211/patches/004-ratelimit_compile_fix.patch b/package/acx-mac80211/patches/004-ratelimit_compile_fix.patch new file mode 100644 index 000000000..56110eab0 --- /dev/null +++ b/package/acx-mac80211/patches/004-ratelimit_compile_fix.patch @@ -0,0 +1,10 @@ +--- a/common.c ++++ b/common.c +@@ -34,6 +34,7 @@ + #include + #include + #include ++#include + + #include + diff --git a/package/acx-mac80211/patches/100-hw-queue-check-fix.patch b/package/acx-mac80211/patches/100-hw-queue-check-fix.patch new file mode 100644 index 000000000..62f2998e8 --- /dev/null +++ b/package/acx-mac80211/patches/100-hw-queue-check-fix.patch @@ -0,0 +1,42 @@ +--- a/mem.c ++++ b/mem.c +@@ -2026,7 +2026,7 @@ static int __devinit acxmem_probe(struct + */ + ieee->wiphy->interface_modes = BIT(NL80211_IFTYPE_STATION) + | BIT(NL80211_IFTYPE_ADHOC); +- ieee->queues = 1; ++ ieee->queues = 4; + /* OW TODO Check if RTS/CTS threshold can be included here */ + + /* TODO: although in the original driver the maximum value was +--- a/pci.c ++++ b/pci.c +@@ -1010,7 +1010,7 @@ static int __devinit acxpci_probe(struct + BIT(NL80211_IFTYPE_STATION) | + BIT(NL80211_IFTYPE_ADHOC) | + BIT(NL80211_IFTYPE_AP); +- ieee->queues = 1; ++ ieee->queues = 4; + /* OW TODO Check if RTS/CTS threshold can be included here */ + + /* TODO: although in the original driver the maximum value was +@@ -1682,7 +1682,7 @@ static __devinit int vlynq_probe(struct + BIT(NL80211_IFTYPE_STATION) | + BIT(NL80211_IFTYPE_ADHOC) | + BIT(NL80211_IFTYPE_AP); +- ieee->queues = 1; ++ ieee->queues = 4; + + /* We base signal quality on winlevel approach of previous driver + * TODO OW 20100615 This should into a common init code +--- a/usb.c ++++ b/usb.c +@@ -1627,7 +1627,7 @@ acxusb_probe(struct usb_interface *intf, + */ + ieee->wiphy->interface_modes = BIT(NL80211_IFTYPE_STATION) + | BIT(NL80211_IFTYPE_ADHOC); +- ieee->queues = 1; ++ ieee->queues = 4; + // OW TODO Check if RTS/CTS threshold can be included here + + // We base signal quality on winlevel approach of previous driver diff --git a/package/admswconfig/Makefile b/package/admswconfig/Makefile new file mode 100644 index 000000000..6b06cfe6a --- /dev/null +++ b/package/admswconfig/Makefile @@ -0,0 +1,51 @@ +# +# Copyright (C) 2007 OpenWrt.org +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +include $(TOPDIR)/rules.mk + +PKG_NAME:=admswconfig +PKG_VERSION:=0.1 +PKG_RELEASE:=1 + +PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz +PKG_SOURCE_URL:=http://downloads.openwrt.org/sources +PKG_MD5SUM:=faafd4618f970119a665b11b21ac6a26 + +include $(INCLUDE_DIR)/package.mk + +define Package/admswconfig + SECTION:=utils + CATEGORY:=Utilities + TITLE:=ADM5120 Switch configuration tool + DEPENDS:=@TARGET_adm5120 + URL:=http://sharon.esrac.ele.tue.nl/users/pe1rxq/linux-adm/admswconfig/ +endef + +define Package/admswconfig/description + A program to configure the internal ethernet switch of an ADM5120 processor. + You need the corresponding driver for the switch in the kernel. + With this program you can configure which ports of the switch belong + to the different ethernet devices. +endef + +define Build/Configure +endef + +define Build/Compile + $(TARGET_CC) $(TARGET_CFLAGS) -Os $(PKG_BUILD_DIR)/admswconfig.c -o $(PKG_BUILD_DIR)/$(PKG_NAME) +endef + +define Package/admswconfig/install + $(INSTALL_DIR) $(1)/sbin + $(INSTALL_BIN) $(PKG_BUILD_DIR)/admswconfig $(1)/sbin/ + $(INSTALL_DIR) $(1)/lib/network/ + $(INSTALL_DATA) ./files/admswswitch.sh $(1)/lib/network/admswswitch.sh + $(INSTALL_DIR) $(1)/etc/init.d + $(INSTALL_BIN) ./files/admswconfig $(1)/etc/init.d/admswconfig +endef + +$(eval $(call BuildPackage,admswconfig)) diff --git a/package/admswconfig/files/admswconfig b/package/admswconfig/files/admswconfig new file mode 100644 index 000000000..723103065 --- /dev/null +++ b/package/admswconfig/files/admswconfig @@ -0,0 +1,68 @@ +#!/bin/sh /etc/rc.common +# Copyright (C) 2006 OpenWrt.org + +START=05 + +start() { + [ -e /etc/config/network ] && exit 0 + + mkdir -p /etc/config + + board_name=$(awk 'BEGIN{FS="[ \t]+:[ \t]"} /system type/ {print $2}' /proc/cpuinfo) + + case "$board_name" in + "Compex WP54"*) + board="Compex WP54";; + esac + + echo "$board" |awk ' + function p(cfgname, name) { + if (c[name] != "") print " option " cfgname " \"" c[name] "\"" + } + + BEGIN { + FS="=" + c["lan_ifname"]="eth0" + c["wan_ifname"]="eth1" + c["eth0ports"]="1 2 3 4" + c["eth1ports"]="0" + } + END { + board=$1 + if (board == "Compex WP54") { + c["eth0ports"]="0" + c["eth1ports"]="1" + } + + print "#### VLAN configuration " + print "config switch" + p("eth0", "eth0ports") + p("eth1", "eth1ports") + print "" + print "" + print "#### Loopback configuration" + print "config interface loopback" + print " option ifname \"lo\"" + print " option proto static" + print " option ipaddr 127.0.0.1" + print " option netmask 255.0.0.0" + print "" + print "" + print "#### LAN configuration" + print "config interface lan" + print " option type bridge" + p("ifname", "lan_ifname") + p("macaddr", "lan_macaddr") + print " option proto static" + print " option ipaddr 192.168.1.1" + print " option netmask 255.255.255.0" + print "" + print "" + print "#### WAN configuration" + print "config interface wan" + p("ifname", "wan_ifname") + p("macaddr", "wan_macaddr") + print " option proto dhcp" + }' > /etc/config/network +} + diff --git a/package/admswconfig/files/admswswitch.sh b/package/admswconfig/files/admswswitch.sh new file mode 100644 index 000000000..984d7eea7 --- /dev/null +++ b/package/admswconfig/files/admswswitch.sh @@ -0,0 +1,28 @@ +#!/bin/sh +# Copyright (C) 2006 OpenWrt.org + +setup_switch_vlan() { + config_get ports "$CONFIG_SECTION" "eth$1" + ports=`echo "$ports"| sed s/" "/""/g` + ifconfig eth$1 down + admswconfig eth$1 ${ports}c + ifconfig eth$1 up +} + +setup_switch() { + config_cb() { + case "$1" in + switch) + option_cb() { + case "$1" in + eth*) setup_switch_vlan "${1##eth}";; + esac + } + ;; + *) + option_cb() { return 0; } + ;; + esac + } + config_load network +} diff --git a/package/admswconfig/patches/001-matrix.patch b/package/admswconfig/patches/001-matrix.patch new file mode 100644 index 000000000..e50d51575 --- /dev/null +++ b/package/admswconfig/patches/001-matrix.patch @@ -0,0 +1,15 @@ +--- a/admswconfig.c ++++ b/admswconfig.c +@@ -111,9 +111,9 @@ int main(int argc, char **argv) + } + } else { + /* display matrix */ +- printf("ethX\tport0\tport1\tport2\tport3\tport4"); +- if (info.ports == 6) +- printf("\tport5"); ++ printf("ethX"); ++ for (i = 0; i < info.ports; i++) ++ printf("\tport%d", i); + printf("\tCPU\n"); + for (i = 0; i < info.ports; i++) { + printf("%d", i); diff --git a/package/apex/Makefile b/package/apex/Makefile new file mode 100644 index 000000000..f17118e46 --- /dev/null +++ b/package/apex/Makefile @@ -0,0 +1,58 @@ +# +# Copyright (C) 2006-2011 OpenWrt.org +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +include $(TOPDIR)/rules.mk + +PKG_NAME:=apex +PKG_VERSION:=1.6.9 +PKG_RELEASE:=1 + +PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz +PKG_SOURCE_URL:=ftp://ftp.buici.com/pub/apex/ \ + ftp://metalab.unc.edu/pub/Linux/system/boot/apex/ +PKG_MD5SUM:=9606cf2e3fd2c9a86fe0b61388509a30 +PKG_TARGETS:=bin + +include $(INCLUDE_DIR)/package.mk + +export GCC_HONOUR_COPTS=s + +define Package/apex + SECTION:=boot + CATEGORY:=Boot Loaders + DEPENDS:=@TARGET_ixp4xx + DEFAULT:=y + TITLE:=Boot loader for NSLU2, FSG3, NAS100D and others + URL:=http://wiki.buici.com/wiki/Apex_Bootloader +endef + +define build_apex + $(MAKE) -C $(PKG_BUILD_DIR) \ + ARCH=arm \ + $(1)_config + $(MAKE) -C $(PKG_BUILD_DIR) \ + $(TARGET_CONFIGURE_OPTS) \ + KBUILD_HAVE_NLS=no \ + ARCH=arm \ + clean all + $(INSTALL_BIN) $(PKG_BUILD_DIR)/apex.bin $(PKG_BUILD_DIR)/out/apex-$(2).bin +endef + +define Build/Compile + $(INSTALL_DIR) $(PKG_BUILD_DIR)/out + $(call build_apex,slugos-nslu2-armeb,nslu2-armeb) + $(call build_apex,slugos-nslu2-16mb-armeb,nslu2-16mb-armeb) + $(call build_apex,slugos-fsg3-armeb,fsg3-armeb) + $(call build_apex,slugos-nas100d-armeb,nas100d-armeb) +endef + +define Package/apex/install + $(INSTALL_DIR) $(STAGING_DIR)/apex + $(CP) $(PKG_BUILD_DIR)/out/*.bin $(1)/ +endef + +$(eval $(call BuildPackage,apex)) diff --git a/package/apex/patches/001-compile_fix.patch b/package/apex/patches/001-compile_fix.patch new file mode 100644 index 000000000..8a25de657 --- /dev/null +++ b/package/apex/patches/001-compile_fix.patch @@ -0,0 +1,20 @@ +--- a/Makefile ++++ b/Makefile +@@ -444,7 +444,7 @@ ifeq ($(config-targets),1) + include $(srctree)/src/arch-$(SRCARCH)/Makefile + export KBUILD_DEFCONFIG + +-config %config: scripts_basic outputmakefile FORCE ++%config: scripts_basic outputmakefile FORCE + $(Q)mkdir -p include/linux include/config + $(Q)$(MAKE) $(build)=scripts/kconfig $@ + +@@ -1585,7 +1585,7 @@ endif + $(Q)$(MAKE) $(build)=$(build-dir) $(target-dir)$(notdir $@) + + # Modules +-/ %/: prepare scripts FORCE ++%/: prepare scripts FORCE + $(cmd_crmodverdir) + $(Q)$(MAKE) KBUILD_MODULES=$(if $(CONFIG_MODULES),1) \ + $(build)=$(build-dir) diff --git a/package/apex/patches/100-openwrt_nslu2_armeb_config.patch b/package/apex/patches/100-openwrt_nslu2_armeb_config.patch new file mode 100644 index 000000000..7e9cfdff1 --- /dev/null +++ b/package/apex/patches/100-openwrt_nslu2_armeb_config.patch @@ -0,0 +1,23 @@ +--- a/src/mach-ixp42x/slugos-nslu2-armeb_config ++++ b/src/mach-ixp42x/slugos-nslu2-armeb_config +@@ -19,7 +19,7 @@ CONFIG_EXPERIMENTAL=y + # + # General Setup + # +-CONFIG_TARGET_DESCRIPTION="SlugOS NSLU2 (bigendian)" ++CONFIG_TARGET_DESCRIPTION="OpenWRT NSLU2 (8MiB Flash)" + CONFIG_CROSS_COMPILE="" + CONFIG_AEABI=y + # CONFIG_DRIVER_LONG_LONG_SIZE is not set +@@ -163,9 +163,9 @@ CONFIG_ENV_REGION_KERNEL_ALT="fis://kern + # Overrides + # + CONFIG_ENV_DEFAULT_CMDLINE_OVERRIDE=y +-CONFIG_ENV_DEFAULT_CMDLINE="root=/dev/mtdblock4 rootfstype=jffs2 console=ttyS0,115200 init=/linuxrc" ++CONFIG_ENV_DEFAULT_CMDLINE="root=/dev/mtdblock4 rootfstype=squashfs,jffs2 console=ttyS0,115200 init=/etc/preinit noinitrd" + CONFIG_ENV_DEFAULT_CMDLINE_ALT_P=y +-CONFIG_ENV_DEFAULT_CMDLINE_ALT="root=/dev/mtdblock4 rootfstype=jffs2 console=ttyS0,115200 init=/linuxrc" ++CONFIG_ENV_DEFAULT_CMDLINE_ALT="root=/dev/mtdblock4 rootfstype=squashfs,jffs2 console=ttyS0,115200 init=/etc/preinit noinitrd" + # CONFIG_ENV_DEFAULT_STARTUP_OVERRIDE is not set + # CONFIG_ENV_DEFAULT_STARTUP_ALT_P is not set + CONFIG_USES_NOR_BOOTFLASH=y diff --git a/package/apex/patches/120-openwrt_nslu2_16mb_armeb_config.patch b/package/apex/patches/120-openwrt_nslu2_16mb_armeb_config.patch new file mode 100644 index 000000000..614ef7fe8 --- /dev/null +++ b/package/apex/patches/120-openwrt_nslu2_16mb_armeb_config.patch @@ -0,0 +1,23 @@ +--- a/src/mach-ixp42x/slugos-nslu2-16mb-armeb_config ++++ b/src/mach-ixp42x/slugos-nslu2-16mb-armeb_config +@@ -19,7 +19,7 @@ CONFIG_EXPERIMENTAL=y + # + # General Setup + # +-CONFIG_TARGET_DESCRIPTION="SlugOS NSLU2/BE (16MiB Flash)" ++CONFIG_TARGET_DESCRIPTION="OpenWRT NSLU2 (16MiB Flash)" + CONFIG_CROSS_COMPILE="" + CONFIG_AEABI=y + # CONFIG_DRIVER_LONG_LONG_SIZE is not set +@@ -163,9 +163,9 @@ CONFIG_ENV_REGION_KERNEL_ALT="fis://kern + # Overrides + # + CONFIG_ENV_DEFAULT_CMDLINE_OVERRIDE=y +-CONFIG_ENV_DEFAULT_CMDLINE="root=/dev/mtdblock4 rootfstype=jffs2 console=ttyS0,115200 init=/linuxrc" ++CONFIG_ENV_DEFAULT_CMDLINE="root=/dev/mtdblock4 rootfstype=squashfs,jffs2 console=ttyS0,115200 init=/etc/preinit noinitrd" + CONFIG_ENV_DEFAULT_CMDLINE_ALT_P=y +-CONFIG_ENV_DEFAULT_CMDLINE_ALT="root=/dev/mtdblock4 rootfstype=jffs2 console=ttyS0,115200 init=/linuxrc" ++CONFIG_ENV_DEFAULT_CMDLINE_ALT="root=/dev/mtdblock4 rootfstype=squashfs,jffs2 console=ttyS0,115200 init=/etc/preinit noinitrd" + # CONFIG_ENV_DEFAULT_STARTUP_OVERRIDE is not set + # CONFIG_ENV_DEFAULT_STARTUP_ALT_P is not set + CONFIG_USES_NOR_BOOTFLASH=y diff --git a/package/apex/patches/140-openwrt_fsg3_armeb_config.patch b/package/apex/patches/140-openwrt_fsg3_armeb_config.patch new file mode 100644 index 000000000..a1651e69a --- /dev/null +++ b/package/apex/patches/140-openwrt_fsg3_armeb_config.patch @@ -0,0 +1,23 @@ +--- a/src/mach-ixp42x/slugos-fsg3-armeb_config ++++ b/src/mach-ixp42x/slugos-fsg3-armeb_config +@@ -17,7 +17,7 @@ CONFIG_EXPERIMENTAL=y + # + # General Setup + # +-CONFIG_TARGET_DESCRIPTION="SlugOS FSG3/BE" ++CONFIG_TARGET_DESCRIPTION="OpenWRT FSG3" + CONFIG_CROSS_COMPILE="" + CONFIG_AEABI=y + CONFIG_CC_OPTIMIZE_FOR_SIZE=y +@@ -148,9 +148,9 @@ CONFIG_ENV_REGION_KERNEL_ALT="fis://kern + # Overrides + # + CONFIG_ENV_DEFAULT_CMDLINE_OVERRIDE=y +-CONFIG_ENV_DEFAULT_CMDLINE="root=/dev/sda1 rootdelay=10 console=ttyS0,115200" ++CONFIG_ENV_DEFAULT_CMDLINE="root=/dev/sda1 rootdelay=10 console=ttyS0,115200 init=/etc/preinit noinitrd" + CONFIG_ENV_DEFAULT_CMDLINE_ALT_P=y +-CONFIG_ENV_DEFAULT_CMDLINE_ALT="root=/dev/sda2 rootdelay=10 console=ttyS0,115200" ++CONFIG_ENV_DEFAULT_CMDLINE_ALT="root=/dev/mtdblock2 rootfstype=squashfs console=ttyS0,115200 init=/etc/preinit noinitrd" + # CONFIG_ENV_DEFAULT_STARTUP_OVERRIDE is not set + # CONFIG_ENV_DEFAULT_STARTUP_ALT_P is not set + CONFIG_USES_NOR_BOOTFLASH=y diff --git a/package/apex/patches/150-limit_ram_to_64mb.patch b/package/apex/patches/150-limit_ram_to_64mb.patch new file mode 100644 index 000000000..3e178166e --- /dev/null +++ b/package/apex/patches/150-limit_ram_to_64mb.patch @@ -0,0 +1,22 @@ +--- a/src/mach-ixp42x/slugos-nslu2-armeb_config ++++ b/src/mach-ixp42x/slugos-nslu2-armeb_config +@@ -137,7 +137,7 @@ CONFIG_AUTOBOOT_DELAY=10 + CONFIG_ENV_STARTUP_KERNEL_COPY=y + # CONFIG_ENV_REGION_KERNEL_SWAP is not set + CONFIG_ENV_STARTUP_PREFIX_P=y +-CONFIG_ENV_STARTUP_PREFIX="sdram-init; memscan -u 0+256m" ++CONFIG_ENV_STARTUP_PREFIX="sdram-init; memscan -u 0+64m" + + # + # Regions +--- a/src/mach-ixp42x/slugos-nslu2-16mb-armeb_config ++++ b/src/mach-ixp42x/slugos-nslu2-16mb-armeb_config +@@ -137,7 +137,7 @@ CONFIG_AUTOBOOT_DELAY=10 + CONFIG_ENV_STARTUP_KERNEL_COPY=y + # CONFIG_ENV_REGION_KERNEL_SWAP is not set + CONFIG_ENV_STARTUP_PREFIX_P=y +-CONFIG_ENV_STARTUP_PREFIX="sdram-init; memscan -u 0+256m" ++CONFIG_ENV_STARTUP_PREFIX="sdram-init; memscan -u 0+64m" + + # + # Regions diff --git a/package/apex/patches/160-openwrt_nas100d_armeb_config.patch b/package/apex/patches/160-openwrt_nas100d_armeb_config.patch new file mode 100644 index 000000000..0b0c985e4 --- /dev/null +++ b/package/apex/patches/160-openwrt_nas100d_armeb_config.patch @@ -0,0 +1,20 @@ +--- a/src/mach-ixp42x/slugos-nas100d-armeb_config ++++ b/src/mach-ixp42x/slugos-nas100d-armeb_config +@@ -19,7 +19,7 @@ CONFIG_EXPERIMENTAL=y + # + # General Setup + # +-CONFIG_TARGET_DESCRIPTION="SlugOS NAS100D/BE" ++CONFIG_TARGET_DESCRIPTION="OpenWRT NAS100D" + CONFIG_CROSS_COMPILE="" + CONFIG_AEABI=y + # CONFIG_DRIVER_LONG_LONG_SIZE is not set +@@ -158,7 +158,7 @@ CONFIG_ENV_REGION_KERNEL="fis://kernel" + # Overrides + # + CONFIG_ENV_DEFAULT_CMDLINE_OVERRIDE=y +-CONFIG_ENV_DEFAULT_CMDLINE="root=/dev/mtdblock2 rootfstype=jffs2 console=ttyS0,115200 init=/linuxrc" ++CONFIG_ENV_DEFAULT_CMDLINE="root=/dev/mtdblock2 rootfstype=squashfs,jffs2 console=ttyS0,115200 init=/etc/preinit noinitrd" + # CONFIG_ENV_DEFAULT_STARTUP_OVERRIDE is not set + CONFIG_USES_NOR_BOOTFLASH=y + CONFIG_RELOCATE_SIMPLE=y diff --git a/package/ar7-atm/Config.in b/package/ar7-atm/Config.in new file mode 100644 index 000000000..479b7ad07 --- /dev/null +++ b/package/ar7-atm/Config.in @@ -0,0 +1,22 @@ +menu "Configuration" + depends on (PACKAGE_kmod-sangam-atm-annex-a || PACKAGE_kmod-sangam-atm-annex-b) + +choice + prompt "Firmware version" + default AR7_ATM_FW_VERSION_704 + help + This option allows you to switch between firmware/driver versions which + might improve the DSL line speed. + +config AR7_ATM_FW_VERSION_705 + bool "D7.05.01.00" + +config AR7_ATM_FW_VERSION_704 + bool "D7.04.03.00" + +config AR7_ATM_FW_VERSION_703 + bool "D7.03.01.00" + +endchoice + +endmenu diff --git a/package/ar7-atm/Makefile b/package/ar7-atm/Makefile new file mode 100644 index 000000000..9568cce13 --- /dev/null +++ b/package/ar7-atm/Makefile @@ -0,0 +1,99 @@ +# +# Copyright (C) 2006-2009 OpenWrt.org +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +include $(TOPDIR)/rules.mk +include $(INCLUDE_DIR)/kernel.mk + +PKG_NAME:=sangam_atm + +ifeq ($(CONFIG_AR7_ATM_FW_VERSION_705),y) +PKG_VERSION:=D7.05.01.00 +PKG_MD5SUM:=42ee465be5cfbe9476fc25deb260d450 +PKG_RELEASE:=R1 +PATCH_DIR:=patches-$(PKG_VERSION) +endif + +ifeq ($(CONFIG_AR7_ATM_FW_VERSION_704),y) +PKG_VERSION:=D7.04.03.00 +PKG_MD5SUM:=3d76004e46f09e88931f91670cb420ad +PKG_RELEASE:=R1 +PATCH_DIR:=patches-$(PKG_VERSION) +endif + +ifeq ($(CONFIG_AR7_ATM_FW_VERSION_703),y) +PKG_VERSION:=D7.03.01.00 +PKG_MD5SUM:=bc6e9c6adb1be25820c7ee661de8ca7d +PKG_RELEASE:=R2 +PATCH_DIR:=patches-D7.04.03.00 +endif + +PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_RELEASE).tar.bz2 +PKG_SOURCE_URL:=http://mirror2.openwrt.org/sources + +include $(INCLUDE_DIR)/package.mk + +define KernelPackage/sangam-atm/Default + SUBMENU:=Network Devices + DEPENDS:=@TARGET_ar7 +kmod-atm + TITLE:=AR7 ADSL driver + FILES:=$(PKG_BUILD_DIR)/tiatm.ko + AUTOLOAD:=$(call AutoLoad,50,tiatm) + MENU:=1 +endef + +define KernelPackage/sangam-atm/config + source "$(SOURCE)/Config.in" +endef + +define KernelPackage/sangam-atm-annex-a +$(call KernelPackage/sangam-atm/Default) + TITLE+= (Annex A, ADSL over POTS) +endef + +define KernelPackage/sangam-atm-annex-a/description + The AR7 ADSL driver for Annex A (ADSL over POTS). +endef + +define KernelPackage/sangam-atm-annex-a/config +$(call KernelPackage/sangam-atm/config) +endef + +define KernelPackage/sangam-atm-annex-b +$(call KernelPackage/sangam-atm/Default) + TITLE+= (Annex B, ADSL over ISDN) +endef + +define KernelPackage/sangam-atm-annex-b/description + The AR7 ADSL driver for Annex B (ADSL over ISDN). +endef + +define KernelPackage/sangam-atm-annex-a/config +$(call KernelPackage/sangam-atm/config) +endef + +define Build/Compile + $(MAKE) -C "$(LINUX_DIR)" \ + CROSS_COMPILE="$(TARGET_CROSS)" \ + ARCH="$(LINUX_KARCH)" \ + SUBDIRS="$(PKG_BUILD_DIR)" \ + modules +endef + +define KernelPackage/sangam-atm-annex-a/install + mkdir -p $(1)/lib/firmware + $(INSTALL_DATA) $(PKG_BUILD_DIR)/ar0700mp.bin $(1)/lib/firmware/ + ln -sf ar0700mp.bin $(1)/lib/firmware/ar0700xx.bin +endef + +define KernelPackage/sangam-atm-annex-b/install + mkdir -p $(1)/lib/firmware + $(INSTALL_DATA) $(PKG_BUILD_DIR)/ar0700db.bin $(1)/lib/firmware/ + ln -sf ar0700db.bin $(1)/lib/firmware/ar0700xx.bin +endef + +$(eval $(call KernelPackage,sangam-atm-annex-a)) +$(eval $(call KernelPackage,sangam-atm-annex-b)) diff --git a/package/ar7-atm/patches-D7.04.03.00/100-compile_fix.patch b/package/ar7-atm/patches-D7.04.03.00/100-compile_fix.patch new file mode 100644 index 000000000..df5fe5396 --- /dev/null +++ b/package/ar7-atm/patches-D7.04.03.00/100-compile_fix.patch @@ -0,0 +1,768 @@ +--- a/cppi_cpaal5.c ++++ b/cppi_cpaal5.c +@@ -352,7 +352,7 @@ static int halRxReturn(HAL_RECEIVEINFO * + { + /* malloc failed, add this RCB to Needs Buffer List */ + TempRcb->FragCount = 1; /*MJH+030417*/ +- (HAL_RCB *)TempRcb->Eop = TempRcb; /* GSG +030430 */ ++ TempRcb->Eop = TempRcb; /* GSG +030430 */ + + if(HalDev->NeedsCount < MAX_NEEDS) /* +MJH 030410 */ + { /* +MJH 030410 */ +--- a/dsl_hal_api.c ++++ b/dsl_hal_api.c +@@ -254,15 +254,15 @@ + * of phyEnableDisableWord & phyControlWord to avoid changing API struct + * which may cause change required to application data structure. + ******************************************************************************/ +-#include +-#include +-#include ++#include "dev_host_interface.h" ++#include "dsl_hal_register.h" ++#include "dsl_hal_support.h" + + #ifndef NO_ADV_STATS +-#include ++#include "dsl_hal_logtable.h" + #endif + +-#include ++#include "dsl_hal_version.h" + + // UR8_MERGE_START CQ11054 Jack Zhang + static unsigned int highprecision_selected = 0; //By default we use low precision for backward compt. +--- a/dsl_hal_support.c ++++ b/dsl_hal_support.c +@@ -140,9 +140,9 @@ + * oamFeature are overriden + // UR8_MERGE_END CQ10774 Ram + *******************************************************************************/ +-#include +-#include +-#include ++#include "dev_host_interface.h" ++#include "dsl_hal_register.h" ++#include "dsl_hal_support.h" + + #define NUM_READ_RETRIES 3 + static unsigned int dslhal_support_adsl2ByteSwap32(unsigned int in32Bits); +--- a/dsl_hal_support.h ++++ b/dsl_hal_support.h +@@ -49,7 +49,7 @@ + * 04Nov05 0.11.00 CPH Fixed T1413 mode got Zero DS/US rate when DSL_BIT_TMODE is set. + *******************************************************************************/ + +-#include ++#include "dsl_hal_api.h" + + #define virtual2Physical(a) (((int)a)&~0xe0000000) + /* External Function Prototype Declarations */ +--- a/Makefile ++++ b/Makefile +@@ -1,18 +1,9 @@ +-# File: drivers/atm/ti_evm3/Makefile + # +-# Makefile for the Texas Instruments EVM3 ADSL/ATM driver. ++# Makefile for the TIATM device driver. + # +-# +-# Copyright (c) 2000 Texas Instruments Incorporated. +-# Jeff Harrell (jharrell@telogy.com) +-# Viren Balar (vbalar@ti.com) +-# Victor Wells (vwells@telogy.com) +-# +-include $(TOPDIR)/Rules.make +- +- +- +- +- +- + ++CONFIG_SANGAM_ATM=m ++#EXTRA_CFLAGS += -DEL -I. -DPOST_SILICON -DCOMMON_NSP -DCONFIG_LED_MODULE -DDEREGISTER_LED -DNO_ACT ++EXTRA_CFLAGS += -DEL -I$(PWD) -DPOST_SILICON -DCOMMON_NSP -DNO_ACT -D__NO__VOICE_PATCH__ -DEL ++obj-$(CONFIG_SANGAM_ATM) := tiatm.o ++tiatm-objs += cpsar.o aal5sar.o tn7sar.o tn7atm.o tn7dsl.o dsl_hal_api.o dsl_hal_support.o +--- a/tn7atm.c ++++ b/tn7atm.c +@@ -61,7 +61,6 @@ + * UR8_MERGE_END CQ11057* + *********************************************************************************************/ + +-#include + #include + #include + #include +@@ -69,11 +68,14 @@ + #include + #include + #include +-#include +-#include + #include + #include + #include ++ ++#include ++#include ++#include ++ + #include "dsl_hal_api.h" + #include "tn7atm.h" + #include "tn7api.h" +@@ -82,6 +84,7 @@ + #include "dsl_hal_register.h" + + #ifdef MODULE ++MODULE_LICENSE("GPL"); + MODULE_DESCRIPTION ("Tnetd73xx ATM Device Driver"); + MODULE_AUTHOR ("Zhicheng Tang"); + #endif +@@ -100,9 +103,9 @@ MODULE_AUTHOR ("Zhicheng Tang"); + + /*end of externs */ + +-#ifndef TI_STATIC_ALLOCATIONS +-#define TI_STATIC_ALLOCATIONS +-#endif ++//#ifndef TI_STATIC_ALLOCATIONS ++//#define TI_STATIC_ALLOCATIONS ++//#endif + + #define tn7atm_kfree_skb(x) dev_kfree_skb(x) + +@@ -114,7 +117,7 @@ static int EnableQoS = FALSE; + /* prototypes */ + static int tn7atm_set_can_support_adsl2 (int can); + +-static int tn7atm_open (struct atm_vcc *vcc, short vpi, int vci); ++static int tn7atm_open (struct atm_vcc *vcc); + + static void tn7atm_close (struct atm_vcc *vcc); + +@@ -257,13 +260,12 @@ static const struct atmdev_ops tn7atm_op + getsockopt: NULL, + setsockopt: NULL, + send: tn7atm_send, +- sg_send: NULL, + phy_put: NULL, + phy_get: NULL, + change_qos: tn7atm_change_qos, + }; + +-const char drv_proc_root_folder[] = "avalanche/"; ++const char drv_proc_root_folder[] = "avalanche"; + static struct proc_dir_entry *root_proc_dir_entry = NULL; + #define DRV_PROC_MODE 0644 + static int proc_root_already_exists = TRUE; +@@ -559,56 +561,6 @@ static int turbodsl_check_priority_type( + + /*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * +- * Function: int tn7atm_walk_vccs(struct atm_dev *dev, short *vcc, int *vci) +- * +- * Description: retrieve VPI/VCI for connection +- * +- *~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/ +-static int tn7atm_walk_vccs (struct atm_vcc *vcc, short *vpi, int *vci) +-{ +- struct atm_vcc *walk; +- +- /* +- * find a free VPI +- */ +- if (*vpi == ATM_VPI_ANY) +- { +- +- for (*vpi = 0, walk = vcc->dev->vccs; walk; walk = walk->next) +- { +- +- if ((walk->vci == *vci) && (walk->vpi == *vpi)) +- { +- (*vpi)++; +- walk = vcc->dev->vccs; +- } +- } +- } +- +- /* +- * find a free VCI +- */ +- if (*vci == ATM_VCI_ANY) +- { +- +- for (*vci = ATM_NOT_RSV_VCI, walk = vcc->dev->vccs; walk; +- walk = walk->next) +- { +- +- if ((walk->vpi = *vpi) && (walk->vci == *vci)) +- { +- *vci = walk->vci + 1; +- walk = vcc->dev->vccs; +- } +- } +- } +- +- return 0; +-} +- +- +-/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +- * + * Function: int tn7atm_sar_irq(void) + * + * Description: tnetd73xx SAR interrupt. +@@ -693,7 +645,7 @@ static int __init tn7atm_irq_request (st + * Register SAR interrupt + */ + priv->sar_irq = LNXINTNUM (ATM_SAR_INT); /* Interrupt line # */ +- if (request_irq (priv->sar_irq, tn7atm_sar_irq, SA_INTERRUPT, "SAR ", dev)) ++ if (request_irq (priv->sar_irq, tn7atm_sar_irq, IRQF_DISABLED, "SAR ", dev)) + printk ("Could not register tn7atm_sar_irq\n"); + + /* +@@ -704,14 +656,14 @@ static int __init tn7atm_irq_request (st + { + def_sar_inter_pace = os_atoi (ptr); + } +- avalanche_request_pacing (priv->sar_irq, ATM_SAR_INT_PACING_BLOCK_NUM, +- def_sar_inter_pace); ++/* avalanche_request_pacing (priv->sar_irq, ATM_SAR_INT_PACING_BLOCK_NUM, ++ def_sar_inter_pace);*/ + + /* + * Reigster Receive interrupt A + */ + priv->dsl_irq = LNXINTNUM (ATM_DSL_INT); /* Interrupt line # */ +- if (request_irq (priv->dsl_irq, tn7atm_dsl_irq, SA_INTERRUPT, "DSL ", dev)) ++ if (request_irq (priv->dsl_irq, tn7atm_dsl_irq, IRQF_DISABLED, "DSL ", dev)) + printk ("Could not register tn7atm_dsl_irq\n"); + + /***** VRB Tasklet Mode ****/ +@@ -875,11 +827,15 @@ static int __init tn7atm_get_ESI (struct + #define ATM_VBR_RT 5 + #endif + +-int tn7atm_open (struct atm_vcc *vcc, short vpi, int vci) ++int tn7atm_open (struct atm_vcc *vcc) + { + tn7atm_activate_vc_parm_t tn7atm_activate_vc_parm; + int rc; + //int flags; ++ tn7atm_activate_vc_parm.pcr = 0x20000; ++ tn7atm_activate_vc_parm.scr = 0x20000; ++ tn7atm_activate_vc_parm.mbs = 0x20000; ++ tn7atm_activate_vc_parm.cdvt = 10000; + + dgprintf(1, "tn7atm_open()\n"); + +@@ -891,24 +847,18 @@ int tn7atm_open (struct atm_vcc *vcc, sh + return -1; + } + +- MOD_INC_USE_COUNT; ++// MOD_INC_USE_COUNT; + +- /* find a free VPI/VCI */ +- tn7atm_walk_vccs(vcc, &vpi, &vci); +- +- vcc->vpi = vpi; +- vcc->vci = vci; +- +- if ((vci == ATM_VCI_UNSPEC) || (vpi == ATM_VCI_UNSPEC)) ++ if ((vcc->vci == ATM_VCI_UNSPEC) || (vcc->vpi == ATM_VCI_UNSPEC)) + { +- MOD_DEC_USE_COUNT; ++// MOD_DEC_USE_COUNT; + return -EBUSY; + } + +- tn7atm_activate_vc_parm.vpi = vpi; +- tn7atm_activate_vc_parm.vci = vci; ++ tn7atm_activate_vc_parm.vpi = vcc->vpi; ++ tn7atm_activate_vc_parm.vci = vcc->vci; + +- if ((vpi == CLEAR_EOC_VPI) && (vci == CLEAR_EOC_VCI)) ++ if ((vcc->vpi == CLEAR_EOC_VPI) && (vcc->vci == CLEAR_EOC_VCI)) + { + /* always use (max_dma_chan+1) for clear eoc */ + tn7atm_activate_vc_parm.chan = EOC_DMA_CHAN; +@@ -916,7 +866,7 @@ int tn7atm_open (struct atm_vcc *vcc, sh + /* check to see whether clear eoc is opened or not */ + if (tn7atm_activate_vc_parm.priv->lut[tn7atm_activate_vc_parm.chan].inuse) + { +- MOD_DEC_USE_COUNT; ++// MOD_DEC_USE_COUNT; + printk("tn7atm_open: Clear EOC channel (dmachan=%d) already in use.\n", tn7atm_activate_vc_parm.chan); + return -EBUSY; + } +@@ -925,7 +875,7 @@ int tn7atm_open (struct atm_vcc *vcc, sh + if (rc) + { + printk("tn7atm_open: failed to setup clear_eoc\n"); +- MOD_DEC_USE_COUNT; ++// MOD_DEC_USE_COUNT; + return -EBUSY; + } + tn7atm_set_lut(tn7atm_activate_vc_parm.priv,vcc, tn7atm_activate_vc_parm.chan); +@@ -934,17 +884,17 @@ int tn7atm_open (struct atm_vcc *vcc, sh + } + else /* PVC channel setup */ + { +- if ((vpi==REMOTE_MGMT_VPI) && (vci==REMOTE_MGMT_VCI)) ++ if ((vcc->vpi==REMOTE_MGMT_VPI) && (vcc->vci==REMOTE_MGMT_VCI)) + { + tn7atm_activate_vc_parm.chan = 14; /* always use chan 14 for MII PVC-base romote mgmt */ + } + else + { +- rc = tn7atm_lut_find(vpi, vci); ++ rc = tn7atm_lut_find(vcc->vpi, vcc->vci); + /* check to see whether PVC is opened or not */ + if(ATM_NO_DMA_CHAN != rc) + { +- MOD_DEC_USE_COUNT; ++// MOD_DEC_USE_COUNT; + printk("PVC already opened. dmachan = %d\n", rc); + return -EBUSY; + } +@@ -976,6 +926,7 @@ int tn7atm_open (struct atm_vcc *vcc, sh + tn7atm_activate_vc_parm.priority = 2; + break; + ++#if 0 + case ATM_VBR: /* Variable Bit Rate-Non RealTime*/ + tn7atm_activate_vc_parm.qos = 1; + tn7atm_activate_vc_parm.priority = 1; +@@ -997,6 +948,7 @@ int tn7atm_open (struct atm_vcc *vcc, sh + tn7atm_activate_vc_parm.mbs = vcc->qos.txtp.max_pcr; + tn7atm_activate_vc_parm.cdvt = vcc->qos.txtp.max_cdv; + break; ++#endif + + default: + tn7atm_activate_vc_parm.qos = 2; +@@ -1024,7 +976,7 @@ int tn7atm_open (struct atm_vcc *vcc, sh + if (rc < 0) + { + printk("failed to activate hw channel\n"); +- MOD_DEC_USE_COUNT; ++// MOD_DEC_USE_COUNT; + tn7atm_lut_clear(vcc, tn7atm_activate_vc_parm.chan); + //spin_unlock_irqrestore(&chan_init_lock, flags); + return -EBUSY; +@@ -1114,7 +1066,7 @@ void tn7atm_close (struct atm_vcc *vcc) + tn7atm_lut_clear (vcc, dmachan); + //spin_unlock_irqrestore (&closeLock, closeFlag); + +- MOD_DEC_USE_COUNT; ++// MOD_DEC_USE_COUNT; + + dgprintf (1, "Leave tn7atm_close\n"); + } +@@ -1528,8 +1480,7 @@ int tn7atm_receive (void *os_dev, int ch + * firewall is on */ + + dgprintf (3, "pushing the skb...\n"); +- +- skb->stamp = vcc->timestamp = xtime; ++ __net_timestamp(skb); + + xdump ((unsigned char *) skb->data, skb->len, 5); + +@@ -1725,8 +1676,7 @@ static void tn7atm_exit (void) + + kfree (dev->dev_data); + +- // atm_dev_deregister (dev); +- shutdown_atm_dev (dev); ++ atm_dev_deregister (dev); + + /* + * remove proc entries +@@ -1885,9 +1835,6 @@ static int __init tn7atm_detect (void) + /* + * Set up proc entry for atm stats + */ +- if (tn7atm_xlate_proc_name +- (drv_proc_root_folder, &root_proc_dir_entry, &residual)) +- { + printk ("Creating new root folder %s in the proc for the driver stats \n", + drv_proc_root_folder); + root_proc_dir_entry = proc_mkdir (drv_proc_root_folder, NULL); +@@ -1897,7 +1844,6 @@ static int __init tn7atm_detect (void) + return -ENOMEM; + } + proc_root_already_exists = FALSE; +- } + + /* + * AV: Clean-up. Moved all the definitions to the data structure. +@@ -2479,7 +2425,5 @@ static int tn7atm_proc_qos_write(struct + return count; + } + +-#ifdef MODULE + module_init (tn7atm_detect); + module_exit (tn7atm_exit); +-#endif /* MODULE */ +--- a/tn7atm.h ++++ b/tn7atm.h +@@ -19,7 +19,8 @@ + //#include "mips_support.h" + #include + +-#include ++#define MIPS_EXCEPTION_OFFSET 8 ++#define LNXINTNUM(x)((x) + MIPS_EXCEPTION_OFFSET) + + #ifdef CONFIG_MODVERSIONS + #include +--- a/tn7dsl.c ++++ b/tn7dsl.c +@@ -94,7 +94,6 @@ + * 1/02/07 JZ CQ11054: Data Precision and Range Changes for TR-069 Conformance + * UR8_MERGE_END CQ11054* + *********************************************************************************************/ +-#include + #include + #include + #include +@@ -102,8 +101,6 @@ + #include + #include + #include +-#include +-#include + #include + #include + #include +@@ -111,6 +108,12 @@ + #include + #include + #include ++#include ++ ++#include ++#include ++#include ++ + /* Modules specific header files */ + #include "tn7atm.h" + #include "tn7api.h" +@@ -173,7 +176,7 @@ led_reg_t ledreg[2]; + static struct led_funcs ledreg[2]; + #endif + +-#define DEV_DSLMOD 1 ++#define DEV_DSLMOD CTL_UNNUMBERED + #define MAX_STR_SIZE 256 + #define DSL_MOD_SIZE 256 + +@@ -299,7 +302,7 @@ static PITIDSLHW_T pIhw; + static volatile int bshutdown; + static char info[MAX_STR_SIZE]; + /* Used for DSL Polling enable */ +-static DECLARE_MUTEX_LOCKED (adsl_sem_overlay); ++static struct semaphore adsl_sem_overlay; + + //kthread_t overlay_thread; + /* end of module wide declars */ +@@ -323,6 +326,14 @@ static int tn7dsl_proc_snr_print (char * + #define gDot1(a) ((a>0)?(a%10):((-a)%10)) + // UR8_MERGE_END CQ11054* + ++int avalanche_request_intr_pacing(int irq_nr, unsigned int blk_num, ++ unsigned int pace_value) ++{ ++ printk("avalanche_request_pacing(%d, %u, %u); // not implemented\n", irq_nr, blk_num, pace_value); ++ return 0; ++} ++ ++ + int os_atoi(const char *pStr) + { + int MulNeg = (*pStr == '-' ? -1 : 1); +@@ -359,39 +370,6 @@ void dprintf (int uDbgLevel, char *szFmt + #endif + } + +-int strcmp(const char *s1, const char *s2) +-{ +- +- int size = strlen(s1); +- +- return(strncmp(s1, s2, size)); +-} +- +-int strncmp(const char *s1, const char *s2, size_t size) +-{ +- int i = 0; +- int max_size = (int)size; +- +- while((s1[i] != 0) && i < max_size) +- { +- if(s2[i] == 0) +- { +- return -1; +- } +- if(s1[i] != s2[i]) +- { +- return 1; +- } +- i++; +- } +- if(s2[i] != 0) +- { +- return 1; +- } +- +- return 0; +-} +- + // * UR8_MERGE_START CQ10640 Jack Zhang + int tn7dsl_dump_dsp_memory(char *input_str) //cph99 + { +@@ -441,101 +419,74 @@ unsigned int shim_osGetCpuFrequency(void + return CpuFrequency; + } + +-int shim_osLoadFWImage(unsigned char *ptr) ++static void avsar_release(struct device *dev) + { +- unsigned int bytesRead; +- mm_segment_t oldfs; +- static struct file *filp; +- unsigned int imageLength=0x5ffff; +- +- +- dgprintf(4, "tn7dsl_read_dsp()\n"); +- +- dgprintf(4,"open file %s\n", DSP_FIRMWARE_PATH); +- +- filp=filp_open(DSP_FIRMWARE_PATH,00,O_RDONLY); +- if(filp ==NULL) +- { +- printk("Failed: Could not open DSP binary file\n"); +- return -1; +- } +- +- if (filp->f_dentry != NULL) +- { +- if (filp->f_dentry->d_inode != NULL) +- { +- printk ("DSP binary filesize = %d bytes\n", +- (int) filp->f_dentry->d_inode->i_size); +- imageLength = (unsigned int)filp->f_dentry->d_inode->i_size + 0x200; +- } +- } +- +- if (filp->f_op->read==NULL) +- return -1; /* File(system) doesn't allow reads */ +- +- /* +- * Disable parameter checking +- */ +- oldfs = get_fs(); +- set_fs(KERNEL_DS); +- +- /* +- * Now read bytes from postion "StartPos" +- */ +- filp->f_pos = 0; +- +- bytesRead = filp->f_op->read(filp,ptr,imageLength,&filp->f_pos); +- +- dgprintf(4,"file length = %d\n", bytesRead); +- +- set_fs(oldfs); +- +- /* +- * Close the file +- */ +- fput(filp); +- +- return bytesRead; ++ printk(KERN_DEBUG "avsar firmware released\n"); + } + ++static struct device avsar = { ++ .bus_id = "vlynq", ++ .release = avsar_release, ++}; + +-unsigned int shim_read_overlay_page (void *ptr, unsigned int secOffset, +- unsigned int secLength) ++int shim_osLoadFWImage(unsigned char *ptr) + { +- unsigned int bytesRead; +- mm_segment_t oldfs; +- struct file *filp; +- +- dgprintf(4,"shim_read_overlay_page\n"); +- //dgprintf(4,"sec offset=%d, sec length =%d\n", secOffset, secLength); ++ const struct firmware *fw_entry; ++ size_t size; + +- filp=filp_open(DSP_FIRMWARE_PATH,00,O_RDONLY); +- if(filp ==NULL) +- { +- printk("Failed: Could not open DSP binary file\n"); +- return -1; +- } +- +- if (filp->f_op->read==NULL) +- return -1; /* File(system) doesn't allow reads */ +- +- /* +- * Now read bytes from postion "StartPos" +- */ +- +- if(filp->f_op->llseek) +- filp->f_op->llseek(filp,secOffset, 0); +- oldfs = get_fs(); +- set_fs(KERNEL_DS); +- filp->f_pos = secOffset; +- bytesRead = filp->f_op->read(filp,ptr,secLength,&filp->f_pos); +- +- set_fs(oldfs); +- /* +- * Close the file +- */ +- fput(filp); +- return bytesRead; ++ printk("requesting firmware image \"ar0700xx.bin\"\n"); ++ if(device_register(&avsar) < 0) { ++ printk(KERN_ERR ++ "avsar: device_register fails\n"); ++ return -1; ++ } ++ ++ if(request_firmware(&fw_entry, "ar0700xx.bin", &avsar)) { ++ printk(KERN_ERR ++ "avsar: Firmware not available\n"); ++ device_unregister(&avsar); ++ return -1; ++ } ++ size = fw_entry->size; ++ device_unregister(&avsar); ++ if(size > 0x5ffff) { ++ printk(KERN_ERR ++ "avsar: Firmware too big (%d bytes)\n", size); ++ release_firmware(fw_entry); ++ return -1; ++ } ++ memcpy(ptr, fw_entry->data, size); ++ release_firmware(fw_entry); ++ return size; ++} ++ ++unsigned int shim_read_overlay_page(void *ptr, unsigned int secOffset, unsigned int secLength) ++{ ++ const struct firmware *fw_entry; ++ ++ printk("requesting firmware image \"ar0700xx.bin\"\n"); ++ if(device_register(&avsar) < 0) { ++ printk(KERN_ERR ++ "avsar: device_register fails\n"); ++ return -1; ++ } ++ ++ if(request_firmware(&fw_entry, "ar0700xx.bin", &avsar)) { ++ printk(KERN_ERR ++ "avsar: Firmware not available\n"); ++ device_unregister(&avsar); ++ return -1; ++ } ++ device_unregister(&avsar); ++ if(fw_entry->size > secLength) { ++ printk(KERN_ERR ++ "avsar: Firmware too big (%d bytes)\n", fw_entry->size); ++ release_firmware(fw_entry); ++ return -1; ++ } ++ memcpy(ptr + secOffset, fw_entry->data, secLength); ++ release_firmware(fw_entry); ++ return secLength; + } + + int shim_osLoadDebugFWImage(unsigned char *ptr) +@@ -3064,6 +3015,7 @@ int tn7dsl_init(void *priv) + int high_precision_selected = 0; + // UR8_MERGE_END CQ11054* + ++ sema_init(&adsl_sem_overlay, 0); + /* + * start dsl + */ +@@ -3442,7 +3394,7 @@ static int dslmod_sysctl(ctl_table *ctl, + */ + if(write) + { +- ret = proc_dostring(ctl, write, filp, buffer, lenp); ++ ret = proc_dostring(ctl, write, filp, buffer, lenp, 0); + + switch (ctl->ctl_name) + { +@@ -3528,14 +3480,14 @@ static int dslmod_sysctl(ctl_table *ctl, + else + { + len += sprintf(info+len, mod_req); +- ret = proc_dostring(ctl, write, filp, buffer, lenp); ++ ret = proc_dostring(ctl, write, filp, buffer, lenp, 0); + } + return ret; + } + + + ctl_table dslmod_table[] = { +- {DEV_DSLMOD, "dslmod", info, DSL_MOD_SIZE, 0644, NULL, &dslmod_sysctl} ++ {DEV_DSLMOD, "dslmod", info, DSL_MOD_SIZE, 0644, NULL, NULL, &dslmod_sysctl, &sysctl_string} + , + {0} + }; +@@ -3558,8 +3510,7 @@ void tn7dsl_dslmod_sysctl_register(void) + if (initialized == 1) + return; + +- dslmod_sysctl_header = register_sysctl_table(dslmod_root_table, 1); +- dslmod_root_table->child->de->owner = THIS_MODULE; ++ dslmod_sysctl_header = register_sysctl_table(dslmod_root_table); + + /* + * set the defaults +@@ -4821,4 +4772,4 @@ int tn7dsl_proc_PMDus(char* buf, char ** + } + #endif //NO_ADV_STATS + #endif //TR69_PMD_IN +-// * UR8_MERGE_END CQ11057 * +\ No newline at end of file ++// * UR8_MERGE_END CQ11057 * +--- a/tn7sar.c ++++ b/tn7sar.c +@@ -42,7 +42,6 @@ + * UR8_MERGE_END CQ10700 + *******************************************************************************/ + +-#include + #include + #include + #include +@@ -50,12 +49,13 @@ + #include + #include + #include +-#include +-#include + #include + #include + #include + ++#include ++#include ++#include + + #define _CPHAL_AAL5 + #define _CPHAL_SAR diff --git a/package/ar7-atm/patches-D7.04.03.00/110-interrupt_fix.patch b/package/ar7-atm/patches-D7.04.03.00/110-interrupt_fix.patch new file mode 100644 index 000000000..9acb862e5 --- /dev/null +++ b/package/ar7-atm/patches-D7.04.03.00/110-interrupt_fix.patch @@ -0,0 +1,37 @@ +--- a/tn7atm.c ++++ b/tn7atm.c +@@ -566,7 +566,7 @@ static int turbodsl_check_priority_type( + * Description: tnetd73xx SAR interrupt. + * + *~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/ +-static void tn7atm_sar_irq (int irq, void *voiddev, struct pt_regs *regs) ++static irqreturn_t tn7atm_sar_irq (int irq, void *voiddev) + { + struct atm_dev *atmdev; + Tn7AtmPrivate *priv; +@@ -593,6 +593,7 @@ static void tn7atm_sar_irq (int irq, voi + #ifdef TIATM_INST_SUPP + psp_trace_par (ATM_DRV_SAR_ISR_EXIT, retval); + #endif ++ return IRQ_HANDLED; + } + + /*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +@@ -602,7 +603,7 @@ static void tn7atm_sar_irq (int irq, voi + * Description: tnetd73xx DSL interrupt. + * + *~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/ +-static void tn7atm_dsl_irq (int irq, void *voiddev, struct pt_regs *regs) ++static irqreturn_t tn7atm_dsl_irq (int irq, void *voiddev) + { + struct atm_dev *atmdev; + Tn7AtmPrivate *priv; +@@ -624,6 +625,8 @@ static void tn7atm_dsl_irq (int irq, voi + #ifdef TIATM_INST_SUPP + psp_trace_par (ATM_DRV_DSL_ISR_EXIT, retval); + #endif ++ ++ return IRQ_HANDLED; + } + + /*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/package/ar7-atm/patches-D7.04.03.00/120-no_dumb_inline.patch b/package/ar7-atm/patches-D7.04.03.00/120-no_dumb_inline.patch new file mode 100644 index 000000000..2968fdc16 --- /dev/null +++ b/package/ar7-atm/patches-D7.04.03.00/120-no_dumb_inline.patch @@ -0,0 +1,11 @@ +--- a/tn7api.h ++++ b/tn7api.h +@@ -107,7 +107,7 @@ int tn7dsl_proc_dbg_rmsgs4(char* buf, ch + + int tn7dsl_proc_write_stats(struct file *fp, const char * buf, unsigned long count, void * data); + int tn7dsl_proc_modem(char* buf, char **start, off_t offset, int count,int *eof, void *data); +-inline int tn7dsl_handle_interrupt(void); ++int tn7dsl_handle_interrupt(void); + + void tn7dsl_dslmod_sysctl_register(void); + void tn7dsl_dslmod_sysctl_unregister(void); diff --git a/package/ar7-atm/patches-D7.04.03.00/130-powercutback.patch b/package/ar7-atm/patches-D7.04.03.00/130-powercutback.patch new file mode 100644 index 000000000..ec00df97a --- /dev/null +++ b/package/ar7-atm/patches-D7.04.03.00/130-powercutback.patch @@ -0,0 +1,44 @@ +--- a/dsl_hal_advcfg.c ++++ b/dsl_hal_advcfg.c +@@ -36,9 +36,9 @@ + * 05Jul05 0.00.09 CPH CQ9775: Change dslhal_advcfg_configDsTones input parameters & support for ADSL2+ + * 24Jul05 0.00.10 CPH Fixed comments in dslhal_advcfg_configDsTones function header + *******************************************************************************/ +-#include +-#include +-#include ++#include "dev_host_interface.h" ++#include "dsl_hal_register.h" ++#include "dsl_hal_support.h" + + /*****************************************************************************/ + /* ACT API functions -- To be moved into their own independent module --RamP */ +--- a/Makefile ++++ b/Makefile +@@ -4,6 +4,7 @@ + + CONFIG_SANGAM_ATM=m + #EXTRA_CFLAGS += -DEL -I. -DPOST_SILICON -DCOMMON_NSP -DCONFIG_LED_MODULE -DDEREGISTER_LED -DNO_ACT +-EXTRA_CFLAGS += -DEL -I$(PWD) -DPOST_SILICON -DCOMMON_NSP -DNO_ACT -D__NO__VOICE_PATCH__ -DEL ++#EXTRA_CFLAGS += -DEL -I$(PWD) -DPOST_SILICON -DCOMMON_NSP -DNO_ACT -D__NO__VOICE_PATCH__ -DEL ++EXTRA_CFLAGS += -DEL -I$(PWD) -DPOST_SILICON -DCOMMON_NSP -D__NO__VOICE_PATCH__ -DEL + obj-$(CONFIG_SANGAM_ATM) := tiatm.o +-tiatm-objs += cpsar.o aal5sar.o tn7sar.o tn7atm.o tn7dsl.o dsl_hal_api.o dsl_hal_support.o ++tiatm-objs += cpsar.o aal5sar.o tn7sar.o tn7atm.o tn7dsl.o dsl_hal_api.o dsl_hal_support.o dsl_hal_advcfg.o +--- a/tn7dsl.c ++++ b/tn7dsl.c +@@ -2869,6 +2869,14 @@ static int tn7dsl_set_dsl(void) + dslhal_api_setRateAdaptFlag(pIhw, os_atoi(ptr)); + } + ++ // set powercutback ++ ptr = NULL; ++ ptr = prom_getenv("powercutback"); ++ if(ptr) ++ { ++ dslhal_advcfg_onOffPcb(pIhw, os_atoi(ptr)); ++ } ++ + // trellis + ptr = NULL; + ptr = prom_getenv("trellis"); diff --git a/package/ar7-atm/patches-D7.04.03.00/140-debug_mode.patch b/package/ar7-atm/patches-D7.04.03.00/140-debug_mode.patch new file mode 100644 index 000000000..ce3697b10 --- /dev/null +++ b/package/ar7-atm/patches-D7.04.03.00/140-debug_mode.patch @@ -0,0 +1,16 @@ +--- a/tn7sar.c ++++ b/tn7sar.c +@@ -103,10 +103,10 @@ enum + + #define RESERVED_OAM_CHANNEL 15 + +-#define AAL5_PARM "id=aal5, base = 0x03000000, offset = 0, int_line=15, ch0=[RxBufSize=1522; RxNumBuffers = 32; RxServiceMax = 50; TxServiceMax=50; TxNumBuffers=32; CpcsUU=0x5aa5; TxVc_CellRate=0x3000; TxVc_AtmHeader=0x00000640]" +-#define SAR_PARM "id=sar,base = 0x03000000, reset_bit = 9, offset = 0; UniNni = 0, PdspEnable = 1" ++#define CH0_PARM "RxBufSize=1522, RxNumBuffers=32, RxServiceMax=50, TxServiceMax=50, TxNumBuffers=32, CpcsUU=0x5aa5, TxVc_CellRate=0x3000, TxVc_AtmHeader=0x00000640" ++#define AAL5_PARM "id=aal5, base=0x03000000, offset=0, int_line=15, ch0=[" CH0_PARM "]" ++#define SAR_PARM "id=sar, base=0x03000000, reset_bit=9, offset=0; UniNni=0, PdspEnable=1, Debug=0xFFFFFFFF" + #define RESET_PARM "id=ResetControl, base=0xA8611600" +-#define CH0_PARM "RxBufSize=1522, RxNumBuffers = 32, RxServiceMax = 50, TxServiceMax=50, TxNumBuffers=32, CpcsUU=0x5aa5, TxVc_CellRate=0x3000, TxVc_AtmHeader=0x00000640" + + #define MAX_PVC_TABLE_ENTRY 16 + diff --git a/package/ar7-atm/patches-D7.04.03.00/150-tasklet_mode.patch b/package/ar7-atm/patches-D7.04.03.00/150-tasklet_mode.patch new file mode 100644 index 000000000..97b8cecdd --- /dev/null +++ b/package/ar7-atm/patches-D7.04.03.00/150-tasklet_mode.patch @@ -0,0 +1,11 @@ +--- a/Makefile ++++ b/Makefile +@@ -5,6 +5,7 @@ + CONFIG_SANGAM_ATM=m + #EXTRA_CFLAGS += -DEL -I. -DPOST_SILICON -DCOMMON_NSP -DCONFIG_LED_MODULE -DDEREGISTER_LED -DNO_ACT + #EXTRA_CFLAGS += -DEL -I$(PWD) -DPOST_SILICON -DCOMMON_NSP -DNO_ACT -D__NO__VOICE_PATCH__ -DEL +-EXTRA_CFLAGS += -DEL -I$(PWD) -DPOST_SILICON -DCOMMON_NSP -D__NO__VOICE_PATCH__ -DEL ++#EXTRA_CFLAGS += -DEL -I$(PWD) -DPOST_SILICON -DCOMMON_NSP -D__NO__VOICE_PATCH__ -DEL ++EXTRA_CFLAGS += -DEL -I$(PWD) -DPOST_SILICON -DCOMMON_NSP -D__NO__VOICE_PATCH__ -DEL -DCPATM_TASKLET_MODE + obj-$(CONFIG_SANGAM_ATM) := tiatm.o + tiatm-objs += cpsar.o aal5sar.o tn7sar.o tn7atm.o tn7dsl.o dsl_hal_api.o dsl_hal_support.o dsl_hal_advcfg.o diff --git a/package/ar7-atm/patches-D7.04.03.00/160-module-params.patch b/package/ar7-atm/patches-D7.04.03.00/160-module-params.patch new file mode 100644 index 000000000..5b3dcbfe3 --- /dev/null +++ b/package/ar7-atm/patches-D7.04.03.00/160-module-params.patch @@ -0,0 +1,577 @@ +--- a/tn7atm.c ++++ b/tn7atm.c +@@ -87,6 +87,146 @@ + MODULE_LICENSE("GPL"); + MODULE_DESCRIPTION ("Tnetd73xx ATM Device Driver"); + MODULE_AUTHOR ("Zhicheng Tang"); ++ ++int mp_sar_ipacemax = -1; ++module_param_named(ipacemax, mp_sar_ipacemax, int, 0); ++MODULE_PARM_DESC(ipacemax, "Interrupt pacing"); ++ ++char *mp_macc = NULL; ++module_param_named(macc, mp_macc, charp, 0); ++MODULE_PARM_DESC(macc, "MAC address"); ++ ++int mp_dsp_noboost = -1; ++module_param_named(dsp_noboost, mp_dsp_noboost, int, 0); ++MODULE_PARM_DESC(dsp_noboost, "Suppress DSP frequency boost"); ++ ++int mp_dsp_freq = -1; ++module_param_named(dsp_freq, mp_dsp_freq, int, 0); ++MODULE_PARM_DESC(dsp_freq, "Frequency to boost the DSP to"); ++ ++char *mp_featctl0 = NULL; ++module_param_named(featctl0, mp_featctl0, charp, 0); ++MODULE_PARM_DESC(featctl0, "DSL feature control 0"); ++ ++char *mp_featctl1 = NULL; ++module_param_named(featctl1, mp_featctl1, charp, 0); ++MODULE_PARM_DESC(featctl1, "DSL feature control 1"); ++ ++char *mp_phyctl0 = NULL; ++module_param_named(phyctl0, mp_phyctl0, charp, 0); ++MODULE_PARM_DESC(phyctl0, "DSL PHY control 0"); ++ ++char *mp_phyctl1 = NULL; ++module_param_named(phyctl1, mp_phyctl1, charp, 0); ++MODULE_PARM_DESC(phyctl1, "DSL PHY control 1"); ++ ++int mp_turbodsl = -1; ++module_param_named(turbodsl, mp_turbodsl, int, 0); ++MODULE_PARM_DESC(turbodsl, "Enable TurboDSL"); ++ ++int mp_sar_rxbuf = -1; ++module_param_named(sar_rxbuf, mp_sar_rxbuf, int, 0); ++MODULE_PARM_DESC(sar_rxbuf, "SAR RxBuf size"); ++ ++int mp_sar_rxmax = -1; ++module_param_named(sar_rxmax, mp_sar_rxmax, int, 0); ++MODULE_PARM_DESC(sar_rxmax, "SAR RxMax size"); ++ ++int mp_sar_txbuf = -1; ++module_param_named(sar_txbuf, mp_sar_txbuf, int, 0); ++MODULE_PARM_DESC(sar_txbuf, "SAR TxBuf size"); ++ ++int mp_sar_txmax = -1; ++module_param_named(sar_txmax, mp_sar_txmax, int, 0); ++MODULE_PARM_DESC(sar_txmax, "SAR TxMax size"); ++ ++char *mp_modulation = NULL; ++module_param_named(modulation, mp_modulation, charp, 0); ++MODULE_PARM_DESC(modulation, "Modulation"); ++ ++int mp_fine_gain_control = -1; ++module_param_named(fine_gain_control, mp_fine_gain_control, int, 0); ++MODULE_PARM_DESC(fine_gain_control, "Fine gain control"); ++ ++int mp_fine_gain_value = -1; ++module_param_named(fine_gain_value, mp_fine_gain_value, int, 0); ++MODULE_PARM_DESC(fine_gain_value, "Fine gain value"); ++ ++int mp_enable_margin_retrain = -1; ++module_param_named(enable_margin_retrain, mp_enable_margin_retrain, int, 0); ++MODULE_PARM_DESC(enable_margin_retrain, "Enable margin retrain"); ++ ++int mp_margin_threshold = -1; ++module_param_named(margin_threshold, mp_margin_threshold, int, 0); ++MODULE_PARM_DESC(margin_threshold, "Margin retrain treshold"); ++ ++int mp_enable_rate_adapt = -1; ++module_param_named(enable_rate_adapt, mp_enable_rate_adapt, int, 0); ++MODULE_PARM_DESC(enable_rate_adapt, "Enable rate adaption"); ++ ++int mp_powercutback = -1; ++module_param_named(powercutback, mp_powercutback, int, 0); ++MODULE_PARM_DESC(powercutback, "Enable / disable powercutback"); ++ ++int mp_trellis = -1; ++module_param_named(trellis, mp_trellis, int, 0); ++MODULE_PARM_DESC(trellis, "Enable / disable trellis coding"); ++ ++int mp_bitswap = -1; ++module_param_named(bitswap, mp_bitswap, int, 0); ++MODULE_PARM_DESC(bitswap, "Enable / disable bitswap"); ++ ++int mp_maximum_bits_per_carrier = -1; ++module_param_named(maximum_bits_per_carrier, mp_maximum_bits_per_carrier, int, 0); ++MODULE_PARM_DESC(maximum_bits_per_carrier, "Maximum bits per carrier"); ++ ++int mp_maximum_interleave_depth = -1; ++module_param_named(maximum_interleave_depth, mp_maximum_interleave_depth, int, 0); ++MODULE_PARM_DESC(maximum_interleave_depth, "Maximum interleave depth"); ++ ++int mp_pair_selection = -1; ++module_param_named(pair_selection, mp_pair_selection, int, 0); ++MODULE_PARM_DESC(pair_selection, "Pair selection"); ++ ++int mp_dgas_polarity = -1; ++module_param_named(dgas_polarity, mp_dgas_polarity, int, 0); ++MODULE_PARM_DESC(dgas_polarity, "DGAS polarity"); ++ ++int mp_los_alarm = -1; ++module_param_named(los_alarm, mp_los_alarm, int, 0); ++MODULE_PARM_DESC(los_alarm, "LOS alarm"); ++ ++char *mp_eoc_vendor_id = NULL; ++module_param_named(eoc_vendor_id, mp_eoc_vendor_id, charp, 0); ++MODULE_PARM_DESC(eoc_vendor_id, "EOC vendor id"); ++ ++int mp_eoc_vendor_revision = -1; ++module_param_named(eoc_vendor_revision, mp_eoc_vendor_revision, int, 0); ++MODULE_PARM_DESC(eoc_vendor_revision, "EOC vendor revision"); ++ ++char *mp_eoc_vendor_serialnum = NULL; ++module_param_named(eoc_vendor_serialnum, mp_eoc_vendor_serialnum, charp, 0); ++MODULE_PARM_DESC(eoc_vendor_serialnum, "EOC vendor serial number"); ++ ++char *mp_invntry_vernum = NULL; ++module_param_named(invntry_vernum, mp_invntry_vernum, charp, 0); ++MODULE_PARM_DESC(invntry_vernum, "Inventory revision number"); ++ ++int mp_dsl_bit_tmode = -1; ++module_param_named(dsl_bit_tmode, mp_dsl_bit_tmode, int, 0); ++MODULE_PARM_DESC(dsl_bit_tmode, "DSL bit training mode"); ++ ++int mp_high_precision = -1; ++module_param_named(high_precision, mp_high_precision, int, 0); ++MODULE_PARM_DESC(high_precision, "High precision"); ++ ++int mp_autopvc_enable = -1; ++module_param_named(autopvc_enable, mp_autopvc_enable, int, 0); ++MODULE_PARM_DESC(autopvc_enable, "Enable / disable automatic PVC"); ++ ++int mp_oam_lb_timeout = -1; ++module_param_named(oam_lb_timeout, mp_oam_lb_timeout, int, 0); ++MODULE_PARM_DESC(oam_lb_timeout, "OAM LB timeout"); + #endif + + #ifndef TRUE +@@ -655,9 +795,9 @@ static int __init tn7atm_irq_request (st + * interrupt pacing + */ + ptr = prom_getenv ("sar_ipacemax"); +- if (ptr) ++ if (ptr || mp_sar_ipacemax != -1) + { +- def_sar_inter_pace = os_atoi (ptr); ++ def_sar_inter_pace = mp_sar_ipacemax == -1 ? os_atoi (ptr) : mp_sar_ipacemax; + } + /* avalanche_request_pacing (priv->sar_irq, ATM_SAR_INT_PACING_BLOCK_NUM, + def_sar_inter_pace);*/ +@@ -797,7 +937,7 @@ static int __init tn7atm_get_ESI (struct + char esi_addr[ESI_LEN] = { 0x00, 0x00, 0x11, 0x22, 0x33, 0x44 }; + char *esiaddr_str = NULL; + +- esiaddr_str = prom_getenv ("maca"); ++ esiaddr_str = mp_macc ? mp_macc : prom_getenv ("maca"); + + if (!esiaddr_str) + { +@@ -1930,15 +2070,15 @@ static int tn7atm_autoDetectDspBoost (vo + //UR8_MERGE_END CQ10450* + + cp = prom_getenv ("dsp_noboost"); +- if (cp) ++ if (cp || mp_dsp_noboost != -1) + { +- dsp_noboost = os_atoi (cp); ++ dsp_noboost = mp_dsp_noboost == -1 ? os_atoi (cp) : mp_dsp_noboost; + } + + cp = (char *) prom_getenv ("dsp_freq"); +- if (cp) ++ if (cp || mp_dsp_freq != -1) + { +- dspfreq = os_atoi (cp); ++ dspfreq = mp_dsp_freq == -1 ? os_atoi (cp) : mp_dsp_freq; + if (dspfreq == 250) + { + boostDsp = 1; +@@ -2187,8 +2327,9 @@ static int __init tn7atm_init (struct at + // Inter-Op DSL phy Control + // Note the setting of _dsl_Feature_0 and _dsl_Feature_1 must before + // dslhal_api_dslStartup (in tn7dsl_init()). +- if ((ptr = prom_getenv ("DSL_FEATURE_CNTL_0")) != NULL) ++ if ((ptr = prom_getenv ("DSL_FEATURE_CNTL_0")) != NULL || mp_featctl0 != NULL) + { ++ if (mp_featctl0 != NULL) ptr = mp_featctl0; + if ((ptr[0] == '0') && (ptr[1] == 'x')) // skip 0x before pass to + // os_atoh + ptr += 2; +@@ -2196,8 +2337,9 @@ static int __init tn7atm_init (struct at + _dsl_Feature_0_defined = 1; + } + +- if ((ptr = prom_getenv ("DSL_FEATURE_CNTL_1")) != NULL) ++ if ((ptr = prom_getenv ("DSL_FEATURE_CNTL_1")) != NULL || mp_featctl1 != NULL) + { ++ if (mp_featctl1 != NULL) ptr = mp_featctl1; + if ((ptr[0] == '0') && (ptr[1] == 'x')) // skip 0x before pass to + // os_atoh + ptr += 2; +@@ -2209,8 +2351,9 @@ static int __init tn7atm_init (struct at + // DSL phy Feature Control + // Note the setting of _dsl_PhyControl_0 and _dsl_PhyControl_1 must before + // dslhal_api_dslStartup (in tn7dsl_init()). +- if ((ptr = prom_getenv ("DSL_PHY_CNTL_0")) != NULL) ++ if ((ptr = prom_getenv ("DSL_PHY_CNTL_0")) != NULL || mp_phyctl0 != NULL) + { ++ if (mp_phyctl0 != NULL) ptr = mp_phyctl0; + if ((ptr[0] == '0') && (ptr[1] == 'x')) // skip 0x before pass to + // os_atoh + ptr += 2; +@@ -2218,8 +2361,9 @@ static int __init tn7atm_init (struct at + _dsl_PhyControl_0_defined = 1; + } + +- if ((ptr = prom_getenv ("DSL_PHY_CNTL_1")) != NULL) ++ if ((ptr = prom_getenv ("DSL_PHY_CNTL_1")) != NULL || mp_phyctl1 != NULL) + { ++ if (mp_phyctl1 != NULL) ptr = mp_phyctl1; + if ((ptr[0] == '0') && (ptr[1] == 'x')) // skip 0x before pass to + // os_atoh + ptr += 2; +@@ -2247,9 +2391,9 @@ static int __init tn7atm_init (struct at + priv->bTurboDsl = 1; + // read config for turbo dsl + ptr = prom_getenv ("TurboDSL"); +- if (ptr) ++ if (ptr || mp_turbodsl != -1) + { +- priv->bTurboDsl = os_atoi (ptr); ++ priv->bTurboDsl = mp_turbodsl == -1 ? os_atoi (ptr) : mp_turbodsl; + } + + // @Added to make Rx buffer number & Service max configurable through +@@ -2257,30 +2401,30 @@ static int __init tn7atm_init (struct at + priv->sarRxBuf = RX_BUFFER_NUM; + ptr = NULL; + ptr = prom_getenv ("SarRxBuf"); +- if (ptr) ++ if (ptr || mp_sar_rxbuf != -1) + { +- priv->sarRxBuf = os_atoi (ptr); ++ priv->sarRxBuf = mp_sar_rxbuf == -1 ? os_atoi (ptr) : mp_sar_rxbuf; + } + priv->sarRxMax = RX_SERVICE_MAX; + ptr = NULL; + ptr = prom_getenv ("SarRxMax"); +- if (ptr) ++ if (ptr || mp_sar_rxmax != -1) + { +- priv->sarRxMax = os_atoi (ptr); ++ priv->sarRxMax = mp_sar_rxmax == -1 ? os_atoi (ptr) : mp_sar_rxmax; + } + priv->sarTxBuf = TX_BUFFER_NUM; + ptr = NULL; + ptr = prom_getenv ("SarTxBuf"); +- if (ptr) ++ if (ptr || mp_sar_txbuf != -1) + { +- priv->sarTxBuf = os_atoi (ptr); ++ priv->sarTxBuf = mp_sar_txbuf == -1 ? os_atoi (ptr) : mp_sar_txbuf; + } + priv->sarTxMax = TX_SERVICE_MAX; + ptr = NULL; + ptr = prom_getenv ("SarTxMax"); +- if (ptr) ++ if (ptr || mp_sar_txmax != -1) + { +- priv->sarTxMax = os_atoi (ptr); ++ priv->sarTxMax = mp_sar_txmax == -1 ? os_atoi (ptr) : mp_sar_txmax; + } + + return 0; +--- a/tn7dsl.c ++++ b/tn7dsl.c +@@ -136,6 +136,27 @@ + #define NEW_TRAINING_VAL_T1413 128 + #define NEW_TRAINING_VAL_MMODE 255 + ++extern char *mp_modulation; ++extern int mp_fine_gain_control; ++extern int mp_fine_gain_value; ++extern int mp_enable_margin_retrain; ++extern int mp_margin_threshold; ++extern int mp_enable_rate_adapt; ++extern int mp_powercutback; ++extern int mp_trellis; ++extern int mp_bitswap; ++extern int mp_maximum_bits_per_carrier; ++extern int mp_maximum_interleave_depth; ++extern int mp_pair_selection; ++extern int mp_dgas_polarity; ++extern int mp_los_alarm; ++extern char *mp_eoc_vendor_id; ++extern int mp_eoc_vendor_revision; ++extern char *mp_eoc_vendor_serialnum; ++extern char *mp_invntry_vernum; ++extern int mp_dsl_bit_tmode; ++extern int mp_high_precision; ++ + int testflag1 = 0; + extern int __guDbgLevel; + extern sar_stat_t sarStat; +@@ -2818,84 +2839,80 @@ static int tn7dsl_set_dsl(void) + + // modulation + ptr = prom_getenv("modulation"); +- if (ptr) ++ if (ptr || mp_modulation != NULL) + { +- tn7dsl_set_modulation(ptr, FALSE); ++ tn7dsl_set_modulation(mp_modulation == NULL ? ptr : mp_modulation, FALSE); + } + + // Fine Gains + ptr = prom_getenv("fine_gain_control"); +- if (ptr) ++ if (ptr || mp_fine_gain_control != -1) + { +- value = os_atoi(ptr); ++ value = mp_fine_gain_control == -1 ? os_atoi(ptr) : mp_fine_gain_control; + tn7dsl_ctrl_fineGain(value); + } + ptr = NULL; + ptr = prom_getenv("fine_gain_value"); +- if(ptr) +- tn7dsl_set_fineGainValue(os_atoh(ptr)); ++ if(ptr || mp_fine_gain_value != -1) ++ tn7dsl_set_fineGainValue(mp_fine_gain_value == -1 ? os_atoh(ptr) : mp_fine_gain_value); + + // margin retrain + ptr = NULL; + ptr = prom_getenv("enable_margin_retrain"); +- if(ptr) ++ value = mp_enable_margin_retrain == -1 ? (ptr ? os_atoi(ptr) : 0) : mp_enable_margin_retrain; ++ ++ if (value == 1) + { +- value = os_atoi(ptr); +- if(value == 1) ++ dslhal_api_setMarginMonitorFlags(pIhw, 0, 1); ++ bMarginRetrainEnable = 1; ++ //printk("enable showtime margin monitor.\n"); ++ ++ ptr = NULL; ++ ptr = prom_getenv("margin_threshold"); ++ value = mp_margin_threshold == -1 ? (ptr ? os_atoi(ptr) : 0) : mp_margin_threshold; ++ ++ if(value >= 0) + { +- dslhal_api_setMarginMonitorFlags(pIhw, 0, 1); +- bMarginRetrainEnable = 1; +- //printk("enable showtime margin monitor.\n"); +- ptr = NULL; +- ptr = prom_getenv("margin_threshold"); +- if(ptr) +- { +- value = os_atoi(ptr); +- //printk("Set margin threshold to %d x 0.5 db\n",value); +- if(value >= 0) +- { +- dslhal_api_setMarginThreshold(pIhw, value); +- bMarginThConfig=1; +- } +- } ++ dslhal_api_setMarginThreshold(pIhw, value); ++ bMarginThConfig=1; + } + } + + // rate adapt + ptr = NULL; + ptr = prom_getenv("enable_rate_adapt"); +- if(ptr) ++ if(ptr || mp_enable_rate_adapt != -1) + { +- dslhal_api_setRateAdaptFlag(pIhw, os_atoi(ptr)); ++ dslhal_api_setRateAdaptFlag(pIhw, mp_enable_rate_adapt == -1 ? os_atoi(ptr) : mp_enable_rate_adapt); + } + + // set powercutback + ptr = NULL; + ptr = prom_getenv("powercutback"); +- if(ptr) ++ if(ptr || mp_powercutback != -1) + { +- dslhal_advcfg_onOffPcb(pIhw, os_atoi(ptr)); ++ dslhal_advcfg_onOffPcb(pIhw, mp_powercutback == -1 ? os_atoi(ptr) : mp_powercutback); + } + + // trellis + ptr = NULL; + ptr = prom_getenv("trellis"); +- if(ptr) ++ if(ptr || mp_trellis != -1) + { +- dslhal_api_setTrellisFlag(pIhw, os_atoi(ptr)); +- trellis = os_atoi(ptr); ++ trellis = mp_trellis == -1 ? os_atoi(ptr) : mp_trellis; ++ dslhal_api_setTrellisFlag(pIhw, trellis); + //printk("trellis=%d\n"); + } + + // bitswap + ptr = NULL; + ptr = prom_getenv("bitswap"); +- if(ptr) ++ if(ptr || mp_bitswap != -1) + { + int offset[2] = {33, 0}; + unsigned int bitswap; + +- bitswap = os_atoi(ptr); ++ bitswap = mp_bitswap == -1 ? os_atoi(ptr) : mp_bitswap; + + tn7dsl_generic_read(2, offset); + dslReg &= dslhal_support_byteSwap32(0xFFFFFF00); +@@ -2913,46 +2930,47 @@ static int tn7dsl_set_dsl(void) + // maximum bits per carrier + ptr = NULL; + ptr = prom_getenv("maximum_bits_per_carrier"); +- if(ptr) ++ if(ptr || mp_maximum_bits_per_carrier != -1) + { +- dslhal_api_setMaxBitsPerCarrierUpstream(pIhw, os_atoi(ptr)); ++ dslhal_api_setMaxBitsPerCarrierUpstream(pIhw, mp_maximum_bits_per_carrier == -1 ? os_atoi(ptr) : mp_maximum_bits_per_carrier); + } + + // maximum interleave depth + ptr = NULL; + ptr = prom_getenv("maximum_interleave_depth"); +- if(ptr) ++ if(ptr || mp_maximum_interleave_depth != -1) + { +- dslhal_api_setMaxInterleaverDepth(pIhw, os_atoi(ptr)); ++ dslhal_api_setMaxInterleaverDepth(pIhw, mp_maximum_interleave_depth == -1 ? os_atoi(ptr) : mp_maximum_interleave_depth); + } + + // inner and outer pairs + ptr = NULL; + ptr = prom_getenv("pair_selection"); +- if(ptr) ++ if(ptr || mp_pair_selection != -1) + { +- dslhal_api_selectInnerOuterPair(pIhw, os_atoi(ptr)); ++ dslhal_api_selectInnerOuterPair(pIhw, mp_pair_selection == -1 ? os_atoi(ptr) : mp_pair_selection); + } + + ptr = NULL; + ptr = prom_getenv("dgas_polarity"); +- if(ptr) ++ if(ptr || mp_dgas_polarity != -1) + { + dslhal_api_configureDgaspLpr(pIhw, 1, 1); +- dslhal_api_configureDgaspLpr(pIhw, 0, os_atoi(ptr)); ++ dslhal_api_configureDgaspLpr(pIhw, 0, mp_dgas_polarity == -1 ? os_atoi(ptr) : mp_dgas_polarity); + } + + ptr = NULL; + ptr = prom_getenv("los_alarm"); +- if(ptr) ++ if(ptr || mp_los_alarm != -1) + { +- dslhal_api_disableLosAlarm(pIhw, os_atoi(ptr)); ++ dslhal_api_disableLosAlarm(pIhw, mp_los_alarm == -1 ? os_atoi(ptr) : mp_los_alarm); + } + + ptr = NULL; + ptr = prom_getenv("eoc_vendor_id"); +- if(ptr) ++ if(ptr || mp_eoc_vendor_id != NULL) + { ++ ptr = mp_eoc_vendor_id == NULL ? ptr : mp_eoc_vendor_id; + for(i=0;i<8;i++) + { + tmp[0]=ptr[i*2]; +@@ -2977,26 +2995,26 @@ static int tn7dsl_set_dsl(void) + } + ptr = NULL; + ptr = prom_getenv("eoc_vendor_revision"); +- if(ptr) ++ if(ptr || mp_eoc_vendor_revision != -1) + { +- value = os_atoi(ptr); ++ value = mp_eoc_vendor_revision == -1 ? os_atoi(ptr) : mp_eoc_vendor_revision; + //printk("eoc rev=%d\n", os_atoi(ptr)); + dslhal_api_setEocRevisionNumber(pIhw, (char *)&value); + + } + ptr = NULL; + ptr = prom_getenv("eoc_vendor_serialnum"); +- if(ptr) ++ if(ptr || mp_eoc_vendor_serialnum != NULL) + { +- dslhal_api_setEocSerialNumber(pIhw, ptr); ++ dslhal_api_setEocSerialNumber(pIhw, mp_eoc_vendor_serialnum == NULL ? ptr : mp_eoc_vendor_serialnum); + } + + // CQ10037 Added invntry_vernum environment variable to be able to set version number in ADSL2, ADSL2+ modes. + ptr = NULL; + ptr = prom_getenv("invntry_vernum"); +- if(ptr) ++ if(ptr || mp_invntry_vernum != NULL) + { +- dslhal_api_setEocRevisionNumber(pIhw, ptr); ++ dslhal_api_setEocRevisionNumber(pIhw, mp_invntry_vernum == NULL ? ptr : mp_invntry_vernum); + } + + return 0; +@@ -3041,7 +3059,7 @@ int tn7dsl_init(void *priv) + * backward compatibility. + */ + cp = prom_getenv("DSL_BIT_TMODE"); +- if (cp) ++ if (cp || mp_dsl_bit_tmode != -1) + { + printk("%s : env var DSL_BIT_TMODE is set\n", __FUNCTION__); + /* +@@ -3070,9 +3088,9 @@ int tn7dsl_init(void *priv) + + // UR8_MERGE_START CQ11054 Jack Zhang + cp = prom_getenv("high_precision"); +- if (cp) ++ if (cp || mp_high_precision != -1) + { +- high_precision_selected = os_atoi(cp); ++ high_precision_selected = mp_high_precision == -1 ? os_atoi(cp) : mp_high_precision; + } + if ( high_precision_selected) + { +--- a/tn7sar.c ++++ b/tn7sar.c +@@ -74,6 +74,8 @@ typedef void OS_SETUP; + /* PDSP Firmware files */ + #include "tnetd7300_sar_firm.h" + ++extern int mp_oam_lb_timeout; ++extern int mp_autopvc_enable; + + enum + { +@@ -817,9 +819,9 @@ int tn7sar_setup_oam_channel(Tn7AtmPriva + pHalDev = (HAL_DEVICE *)priv->pSarHalDev; + + pauto_pvc = prom_getenv("autopvc_enable"); +- if(pauto_pvc) //CQ10273 ++ if(pauto_pvc || mp_autopvc_enable != -1) //CQ10273 + { +- auto_pvc =tn7sar_strtoul(pauto_pvc, NULL, 10); ++ auto_pvc = mp_autopvc_enable == -1 ? tn7sar_strtoul(pauto_pvc, NULL, 10) : mp_autopvc_enable; + } + + memset(&chInfo, 0xff, sizeof(chInfo)); +@@ -985,9 +987,9 @@ int tn7sar_init(struct atm_dev *dev, Tn7 + + /* read in oam lb timeout value */ + pLbTimeout = prom_getenv("oam_lb_timeout"); +- if(pLbTimeout) ++ if(pLbTimeout || mp_oam_lb_timeout != -1) + { +- lbTimeout =tn7sar_strtoul(pLbTimeout, NULL, 10); ++ lbTimeout = mp_oam_lb_timeout == -1 ? tn7sar_strtoul(pLbTimeout, NULL, 10) : mp_oam_lb_timeout; + oamLbTimeout = lbTimeout; + pHalFunc->Control(pHalDev,"OamLbTimeout", "Set", &lbTimeout); + } diff --git a/package/ar7-atm/patches-D7.04.03.00/170-bus_id_removal.patch b/package/ar7-atm/patches-D7.04.03.00/170-bus_id_removal.patch new file mode 100644 index 000000000..9f1f0fdae --- /dev/null +++ b/package/ar7-atm/patches-D7.04.03.00/170-bus_id_removal.patch @@ -0,0 +1,30 @@ +--- a/tn7dsl.c ++++ b/tn7dsl.c +@@ -109,6 +109,7 @@ + #include + #include + #include ++#include + + #include + #include +@@ -446,7 +447,9 @@ static void avsar_release(struct device + } + + static struct device avsar = { ++#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,30) + .bus_id = "vlynq", ++#endif + .release = avsar_release, + }; + +@@ -455,6 +458,9 @@ int shim_osLoadFWImage(unsigned char *pt + const struct firmware *fw_entry; + size_t size; + ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,30) ++ dev_set_name(&avsar, "avsar"); ++#endif + printk("requesting firmware image \"ar0700xx.bin\"\n"); + if(device_register(&avsar) < 0) { + printk(KERN_ERR diff --git a/package/ar7-atm/patches-D7.04.03.00/180-git_headers_include.patch b/package/ar7-atm/patches-D7.04.03.00/180-git_headers_include.patch new file mode 100644 index 000000000..6bd8f4876 --- /dev/null +++ b/package/ar7-atm/patches-D7.04.03.00/180-git_headers_include.patch @@ -0,0 +1,54 @@ +--- a/tn7atm.c ++++ b/tn7atm.c +@@ -71,10 +71,16 @@ + #include + #include + #include ++#include + + #include ++#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,31) + #include + #include ++#else ++#include ++#include ++#endif + + #include "dsl_hal_api.h" + #include "tn7atm.h" +--- a/tn7dsl.c ++++ b/tn7dsl.c +@@ -112,8 +112,13 @@ + #include + + #include ++#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,31) + #include + #include ++#else ++#include ++#include ++#endif + + /* Modules specific header files */ + #include "tn7atm.h" +--- a/tn7sar.c ++++ b/tn7sar.c +@@ -52,10 +52,16 @@ + #include + #include + #include ++#include + + #include ++#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,31) + #include + #include ++#else ++#include ++#include ++#endif + + #define _CPHAL_AAL5 + #define _CPHAL_SAR diff --git a/package/ar7-atm/patches-D7.04.03.00/190-2.6.32_proc_fixes.patch b/package/ar7-atm/patches-D7.04.03.00/190-2.6.32_proc_fixes.patch new file mode 100644 index 000000000..11487bf7a --- /dev/null +++ b/package/ar7-atm/patches-D7.04.03.00/190-2.6.32_proc_fixes.patch @@ -0,0 +1,79 @@ +--- a/tn7dsl.c ++++ b/tn7dsl.c +@@ -203,7 +203,11 @@ led_reg_t ledreg[2]; + static struct led_funcs ledreg[2]; + #endif + ++#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,33) + #define DEV_DSLMOD CTL_UNNUMBERED ++#else ++#define DEV_DSLMOD 0 ++#endif + #define MAX_STR_SIZE 256 + #define DSL_MOD_SIZE 256 + +@@ -3431,9 +3435,16 @@ static int dslmod_sysctl(ctl_table *ctl, + */ + if(write) + { ++#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,32) + ret = proc_dostring(ctl, write, filp, buffer, lenp, 0); +- ++#else ++ ret = proc_dostring(ctl, write, buffer, lenp, 0); ++#endif ++#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,33) + switch (ctl->ctl_name) ++#else ++ switch ((long)ctl->extra2) ++#endif + { + case DEV_DSLMOD: + ptr = strpbrk(info, " \t"); +@@ -3517,14 +3528,29 @@ static int dslmod_sysctl(ctl_table *ctl, + else + { + len += sprintf(info+len, mod_req); ++#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,32) + ret = proc_dostring(ctl, write, filp, buffer, lenp, 0); ++#else ++ ret = proc_dostring(ctl, write, buffer, lenp, 0); ++#endif + } + return ret; + } + + + ctl_table dslmod_table[] = { ++#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,33) + {DEV_DSLMOD, "dslmod", info, DSL_MOD_SIZE, 0644, NULL, NULL, &dslmod_sysctl, &sysctl_string} ++#else ++ { ++ .procname = "dslmod", ++ .data = info, ++ .maxlen = DSL_MOD_SIZE, ++ .mode = 0644, ++ .proc_handler = &dslmod_sysctl, ++ .extra2 = (void *)DEV_DSLMOD, ++ } ++#endif + , + {0} + }; +@@ -3532,7 +3558,16 @@ ctl_table dslmod_table[] = { + /* Make sure that /proc/sys/dev is there */ + ctl_table dslmod_root_table[] = { + #ifdef CONFIG_PROC_FS ++ #if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,33) + {CTL_DEV, "dev", NULL, 0, 0555, dslmod_table} ++ #else ++ { ++ .procname = "dev", ++ .maxlen = 0, ++ .mode = 0555, ++ .child = dslmod_table, ++ } ++ #endif + , + #endif /* CONFIG_PROC_FS */ + {0} diff --git a/package/ar7-atm/patches-D7.04.03.00/200-2.6.37_args.patch b/package/ar7-atm/patches-D7.04.03.00/200-2.6.37_args.patch new file mode 100644 index 000000000..59c1d58d1 --- /dev/null +++ b/package/ar7-atm/patches-D7.04.03.00/200-2.6.37_args.patch @@ -0,0 +1,36 @@ +--- a/tn7atm.c ++++ b/tn7atm.c +@@ -1867,7 +1867,11 @@ static int __init tn7atm_register (Tn7At + + dgprintf (4, "device %s being registered\n", priv->name); + ++ #if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,37) + mydev = atm_dev_register (priv->proc_name, &tn7atm_ops, -1, NULL); ++ #else ++ mydev = atm_dev_register (priv->proc_name, NULL, &tn7atm_ops, -1, NULL); ++ #endif + + if (mydev == NULL) + { +--- a/tn7dsl.c ++++ b/tn7dsl.c +@@ -466,14 +466,17 @@ int shim_osLoadFWImage(unsigned char *pt + { + const struct firmware *fw_entry; + size_t size; ++ int ret; + + #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,30) + dev_set_name(&avsar, "avsar"); + #endif + printk("requesting firmware image \"ar0700xx.bin\"\n"); +- if(device_register(&avsar) < 0) { ++ dev_set_name(&avsar, "avsar"); ++ ret = device_register(&avsar); ++ if (ret < 0) { + printk(KERN_ERR +- "avsar: device_register fails\n"); ++ "avsar: device_register fails, error%i\n", ret); + return -1; + } + diff --git a/package/ar7-atm/patches-D7.04.03.00/210-3.3-remove-smp_lock.h.patch b/package/ar7-atm/patches-D7.04.03.00/210-3.3-remove-smp_lock.h.patch new file mode 100644 index 000000000..525218c3b --- /dev/null +++ b/package/ar7-atm/patches-D7.04.03.00/210-3.3-remove-smp_lock.h.patch @@ -0,0 +1,33 @@ +--- a/tn7atm.c ++++ b/tn7atm.c +@@ -67,7 +67,7 @@ + #include + #include + #include +-#include ++#include + #include + #include + #include +--- a/tn7sar.c ++++ b/tn7sar.c +@@ -48,7 +48,7 @@ + #include + #include + #include +-#include ++#include + #include + #include + #include +--- a/tn7dsl.c ++++ b/tn7dsl.c +@@ -100,7 +100,7 @@ + #include + #include + #include +-#include ++#include + #include + #include + #include diff --git a/package/ar7-atm/patches-D7.05.01.00/100-compile_fix.patch b/package/ar7-atm/patches-D7.05.01.00/100-compile_fix.patch new file mode 100644 index 000000000..7dee22025 --- /dev/null +++ b/package/ar7-atm/patches-D7.05.01.00/100-compile_fix.patch @@ -0,0 +1,808 @@ +--- a/cppi_cpaal5.c ++++ b/cppi_cpaal5.c +@@ -360,7 +360,7 @@ static int halRxReturn(HAL_RECEIVEINFO * + { + /* malloc failed, add this RCB to Needs Buffer List */ + TempRcb->FragCount = 1; /*MJH+030417*/ +- (HAL_RCB *)TempRcb->Eop = TempRcb; /* GSG +030430 */ ++ TempRcb->Eop = TempRcb; /* GSG +030430 */ + + if(HalDev->NeedsCount < MAX_NEEDS) /* +MJH 030410 */ + { /* +MJH 030410 */ +--- a/dsl_hal_api.c ++++ b/dsl_hal_api.c +@@ -273,15 +273,15 @@ + * 09/15/07 CPH CQ11466 Added EFM support + * 09/27/07 EYin CQ11929: Added NFEC/INP/Lp/Rp reporting for only ADSL2/2+ mode. + ******************************************************************************/ +-#include +-#include +-#include ++#include "dev_host_interface.h" ++#include "dsl_hal_register.h" ++#include "dsl_hal_support.h" + + #ifndef NO_ADV_STATS +-#include ++#include "dsl_hal_logtable.h" + #endif + +-#include ++#include "dsl_hal_version.h" + + // UR8_MERGE_START CQ11054 Jack Zhang + static unsigned int highprecision_selected = 0; //By default we use low precision for backward compt. +--- a/dsl_hal_support.c ++++ b/dsl_hal_support.c +@@ -142,9 +142,9 @@ + * UR8_MERGE_START_END CQ11922 Tim + * 04Sep07 0.14.00 Tim CQ11922: Added support for new scratchram for INP NDR tables + *******************************************************************************/ +-#include +-#include +-#include ++#include "dev_host_interface.h" ++#include "dsl_hal_register.h" ++#include "dsl_hal_support.h" + + #define NUM_READ_RETRIES 3 + static unsigned int dslhal_support_adsl2ByteSwap32(unsigned int in32Bits); +--- a/dsl_hal_support.h ++++ b/dsl_hal_support.h +@@ -49,7 +49,7 @@ + * 04Nov05 0.11.00 CPH Fixed T1413 mode got Zero DS/US rate when DSL_BIT_TMODE is set. + *******************************************************************************/ + +-#include ++#include "dsl_hal_api.h" + + #define virtual2Physical(a) (((int)a)&~0xe0000000) + /* External Function Prototype Declarations */ +--- a/Makefile ++++ b/Makefile +@@ -1,18 +1,9 @@ +-# File: drivers/atm/ti_evm3/Makefile + # +-# Makefile for the Texas Instruments EVM3 ADSL/ATM driver. ++# Makefile for the TIATM device driver. + # +-# +-# Copyright (c) 2000 Texas Instruments Incorporated. +-# Jeff Harrell (jharrell@telogy.com) +-# Viren Balar (vbalar@ti.com) +-# Victor Wells (vwells@telogy.com) +-# +-include $(TOPDIR)/Rules.make +- +- +- +- +- +- + ++CONFIG_SANGAM_ATM=m ++#EXTRA_CFLAGS += -DEL -I. -DPOST_SILICON -DCOMMON_NSP -DCONFIG_LED_MODULE -DDEREGISTER_LED -DNO_ACT ++EXTRA_CFLAGS += -DEL -I$(PWD) -DPOST_SILICON -DCOMMON_NSP -DNO_ACT -D__NO__VOICE_PATCH__ -DEL ++obj-$(CONFIG_SANGAM_ATM) := tiatm.o ++tiatm-objs += cpsar.o aal5sar.o tn7sar.o tn7atm.o tn7dsl.o dsl_hal_api.o dsl_hal_support.o +--- a/tn7atm.c ++++ b/tn7atm.c +@@ -66,7 +66,6 @@ + * 09/18/07 CPH CQ11466 Added EFM Support + *********************************************************************************************/ + +-#include + #include + #include + #include +@@ -74,11 +73,14 @@ + #include + #include + #include +-#include +-#include + #include + #include + #include ++ ++#include ++#include ++#include ++ + #include "dsl_hal_api.h" + #ifdef AR7_EFM + #include "tn7efm.h" +@@ -90,6 +92,7 @@ + #include "dsl_hal_register.h" + + #ifdef MODULE ++MODULE_LICENSE("GPL"); + MODULE_DESCRIPTION ("Tnetd73xx ATM Device Driver"); + MODULE_AUTHOR ("Zhicheng Tang"); + #endif +@@ -108,9 +111,9 @@ MODULE_AUTHOR ("Zhicheng Tang"); + + /*end of externs */ + +-#ifndef TI_STATIC_ALLOCATIONS +-#define TI_STATIC_ALLOCATIONS +-#endif ++//#ifndef TI_STATIC_ALLOCATIONS ++//#define TI_STATIC_ALLOCATIONS ++//#endif + + #define tn7atm_kfree_skb(x) dev_kfree_skb(x) + +@@ -135,7 +138,7 @@ static int EnableQoS = FALSE; + /* prototypes */ + static int tn7atm_set_can_support_adsl2 (int can); + +-static int tn7atm_open (struct atm_vcc *vcc, short vpi, int vci); ++static int tn7atm_open (struct atm_vcc *vcc); + + void tn7atm_close (struct atm_vcc *vcc); + +@@ -298,13 +301,12 @@ static const struct atmdev_ops tn7atm_op + getsockopt: NULL, + setsockopt: NULL, + send: tn7atm_send, +- sg_send: NULL, + phy_put: NULL, + phy_get: NULL, + change_qos: tn7atm_change_qos, + }; + +-const char drv_proc_root_folder[] = "avalanche/"; ++const char drv_proc_root_folder[] = "avalanche"; + static struct proc_dir_entry *root_proc_dir_entry = NULL; + #define DRV_PROC_MODE 0644 + static int proc_root_already_exists = TRUE; +@@ -626,56 +628,6 @@ static int turbodsl_check_priority_type( + + /*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * +- * Function: int tn7atm_walk_vccs(struct atm_dev *dev, short *vcc, int *vci) +- * +- * Description: retrieve VPI/VCI for connection +- * +- *~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/ +-static int tn7atm_walk_vccs (struct atm_vcc *vcc, short *vpi, int *vci) +-{ +- struct atm_vcc *walk; +- +- /* +- * find a free VPI +- */ +- if (*vpi == ATM_VPI_ANY) +- { +- +- for (*vpi = 0, walk = vcc->dev->vccs; walk; walk = walk->next) +- { +- +- if ((walk->vci == *vci) && (walk->vpi == *vpi)) +- { +- (*vpi)++; +- walk = vcc->dev->vccs; +- } +- } +- } +- +- /* +- * find a free VCI +- */ +- if (*vci == ATM_VCI_ANY) +- { +- +- for (*vci = ATM_NOT_RSV_VCI, walk = vcc->dev->vccs; walk; +- walk = walk->next) +- { +- +- if ((walk->vpi = *vpi) && (walk->vci == *vci)) +- { +- *vci = walk->vci + 1; +- walk = vcc->dev->vccs; +- } +- } +- } +- +- return 0; +-} +- +- +-/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +- * + * Function: int tn7atm_sar_irq(void) + * + * Description: tnetd73xx SAR interrupt. +@@ -766,7 +718,7 @@ static int __init tn7atm_irq_request (st + + priv->sar_irq = LNXINTNUM (ATM_SAR_INT); /* Interrupt line # */ + +- if (request_irq (priv->sar_irq, tn7atm_sar_irq, SA_INTERRUPT, "SAR ", dev)) ++ if (request_irq (priv->sar_irq, tn7atm_sar_irq, IRQF_DISABLED, "SAR ", dev)) + printk ("Could not register tn7atm_sar_irq\n"); + + /* +@@ -777,8 +729,8 @@ static int __init tn7atm_irq_request (st + { + def_sar_inter_pace = os_atoi (ptr); + } +- avalanche_request_pacing (priv->sar_irq, ATM_SAR_INT_PACING_BLOCK_NUM, +- def_sar_inter_pace); ++ /* avalanche_request_pacing (priv->sar_irq, ATM_SAR_INT_PACING_BLOCK_NUM, ++ def_sar_inter_pace); */ + + + #ifdef AR7_EFM +@@ -790,7 +742,7 @@ static int __init tn7atm_irq_request (st + * Reigster Receive interrupt A + */ + priv->dsl_irq = LNXINTNUM (ATM_DSL_INT); /* Interrupt line # */ +- if (request_irq (priv->dsl_irq, tn7atm_dsl_irq, SA_INTERRUPT, "DSL ", dev)) ++ if (request_irq (priv->dsl_irq, tn7atm_dsl_irq, IRQF_DISABLED, "DSL ", dev)) + printk ("Could not register tn7atm_dsl_irq\n"); + + /***** VRB Tasklet Mode ****/ +@@ -958,11 +910,15 @@ static int __init tn7atm_get_ESI (struct + #define ATM_VBR_RT 5 + #endif + +-int tn7atm_open (struct atm_vcc *vcc, short vpi, int vci) ++int tn7atm_open (struct atm_vcc *vcc) + { + tn7atm_activate_vc_parm_t tn7atm_activate_vc_parm; + int rc; + //int flags; ++ tn7atm_activate_vc_parm.pcr = 0x20000; ++ tn7atm_activate_vc_parm.scr = 0x20000; ++ tn7atm_activate_vc_parm.mbs = 0x20000; ++ tn7atm_activate_vc_parm.cdvt = 10000; + + dgprintf(1, "tn7atm_open()\n"); + +@@ -974,24 +930,18 @@ int tn7atm_open (struct atm_vcc *vcc, sh + return -1; + } + +- MOD_INC_USE_COUNT; ++// MOD_INC_USE_COUNT; + +- /* find a free VPI/VCI */ +- tn7atm_walk_vccs(vcc, &vpi, &vci); +- +- vcc->vpi = vpi; +- vcc->vci = vci; +- +- if ((vci == ATM_VCI_UNSPEC) || (vpi == ATM_VCI_UNSPEC)) ++ if ((vcc->vci == ATM_VCI_UNSPEC) || (vcc->vpi == ATM_VCI_UNSPEC)) + { +- MOD_DEC_USE_COUNT; ++// MOD_DEC_USE_COUNT; + return -EBUSY; + } + +- tn7atm_activate_vc_parm.vpi = vpi; +- tn7atm_activate_vc_parm.vci = vci; ++ tn7atm_activate_vc_parm.vpi = vcc->vpi; ++ tn7atm_activate_vc_parm.vci = vcc->vci; + +- if ((vpi == CLEAR_EOC_VPI) && (vci == CLEAR_EOC_VCI)) ++ if ((vcc->vpi == CLEAR_EOC_VPI) && (vcc->vci == CLEAR_EOC_VCI)) + { + /* always use (max_dma_chan+1) for clear eoc */ + tn7atm_activate_vc_parm.chan = EOC_DMA_CHAN; +@@ -999,7 +949,7 @@ int tn7atm_open (struct atm_vcc *vcc, sh + /* check to see whether clear eoc is opened or not */ + if (tn7atm_activate_vc_parm.priv->lut[tn7atm_activate_vc_parm.chan].inuse) + { +- MOD_DEC_USE_COUNT; ++// MOD_DEC_USE_COUNT; + printk("tn7atm_open: Clear EOC channel (dmachan=%d) already in use.\n", tn7atm_activate_vc_parm.chan); + return -EBUSY; + } +@@ -1008,7 +958,7 @@ int tn7atm_open (struct atm_vcc *vcc, sh + if (rc) + { + printk("tn7atm_open: failed to setup clear_eoc\n"); +- MOD_DEC_USE_COUNT; ++// MOD_DEC_USE_COUNT; + return -EBUSY; + } + tn7atm_set_lut(tn7atm_activate_vc_parm.priv,vcc, tn7atm_activate_vc_parm.chan); +@@ -1017,17 +967,17 @@ int tn7atm_open (struct atm_vcc *vcc, sh + } + else /* PVC channel setup */ + { +- if ((vpi==REMOTE_MGMT_VPI) && (vci==REMOTE_MGMT_VCI)) ++ if ((vcc->vpi==REMOTE_MGMT_VPI) && (vcc->vci==REMOTE_MGMT_VCI)) + { + tn7atm_activate_vc_parm.chan = 14; /* always use chan 14 for MII PVC-base romote mgmt */ + } + else + { +- rc = tn7atm_lut_find(vpi, vci); ++ rc = tn7atm_lut_find(vcc->vpi, vcc->vci); + /* check to see whether PVC is opened or not */ + if(ATM_NO_DMA_CHAN != rc) + { +- MOD_DEC_USE_COUNT; ++// MOD_DEC_USE_COUNT; + printk("PVC already opened. dmachan = %d\n", rc); + return -EBUSY; + } +@@ -1059,6 +1009,7 @@ int tn7atm_open (struct atm_vcc *vcc, sh + tn7atm_activate_vc_parm.priority = 2; + break; + ++#if 0 + case ATM_VBR: /* Variable Bit Rate-Non RealTime*/ + tn7atm_activate_vc_parm.qos = 1; + tn7atm_activate_vc_parm.priority = 1; +@@ -1080,6 +1031,7 @@ int tn7atm_open (struct atm_vcc *vcc, sh + tn7atm_activate_vc_parm.mbs = vcc->qos.txtp.max_pcr; + tn7atm_activate_vc_parm.cdvt = vcc->qos.txtp.max_cdv; + break; ++#endif + + default: + tn7atm_activate_vc_parm.qos = 2; +@@ -1107,7 +1059,7 @@ int tn7atm_open (struct atm_vcc *vcc, sh + if (rc < 0) + { + printk("failed to activate hw channel\n"); +- MOD_DEC_USE_COUNT; ++// MOD_DEC_USE_COUNT; + tn7atm_lut_clear(vcc, tn7atm_activate_vc_parm.chan); + //spin_unlock_irqrestore(&chan_init_lock, flags); + return -EBUSY; +@@ -1197,7 +1149,7 @@ void tn7atm_close (struct atm_vcc *vcc) + tn7atm_lut_clear (vcc, dmachan); + //spin_unlock_irqrestore (&closeLock, closeFlag); + +- MOD_DEC_USE_COUNT; ++// MOD_DEC_USE_COUNT; + + dgprintf (1, "Leave tn7atm_close\n"); + } +@@ -1630,8 +1582,7 @@ int tn7atm_receive (void *os_dev, int ch + * firewall is on */ + + dgprintf (3, "pushing the skb...\n"); +- +- skb->stamp = vcc->timestamp = xtime; ++ __net_timestamp(skb); + + xdump ((unsigned char *) skb->data, skb->len, 5); + +@@ -1854,8 +1805,7 @@ printk("!!!free atm irq: tn7atm_exit\n") + + kfree (dev->dev_data); + +- // atm_dev_deregister (dev); +- shutdown_atm_dev (dev); ++ atm_dev_deregister (dev); + + /* + * remove proc entries +@@ -2086,9 +2036,6 @@ static int __init tn7atm_detect (void) + * Set up proc entry for atm stats + */ + +- if (tn7atm_xlate_proc_name +- (drv_proc_root_folder, &root_proc_dir_entry, &residual)) +- { + printk ("Creating new root folder %s in the proc for the driver stats \n", + drv_proc_root_folder); + root_proc_dir_entry = proc_mkdir (drv_proc_root_folder, NULL); +@@ -2098,7 +2045,6 @@ static int __init tn7atm_detect (void) + return -ENOMEM; + } + proc_root_already_exists = FALSE; +- } + + + /* +@@ -2731,7 +2677,5 @@ int tn7atm_proc_turbodsl_write(struct fi + return count; + } + +-#ifdef MODULE + module_init (tn7atm_detect); + module_exit (tn7atm_exit); +-#endif /* MODULE */ +--- a/tn7atm.h ++++ b/tn7atm.h +@@ -20,7 +20,8 @@ + //#include "mips_support.h" + #include + +-#include ++#define MIPS_EXCEPTION_OFFSET 8 ++#define LNXINTNUM(x)((x) + MIPS_EXCEPTION_OFFSET) + + #ifdef CONFIG_MODVERSIONS + #include +--- a/tn7dsl.c ++++ b/tn7dsl.c +@@ -102,7 +102,6 @@ + * UR8_MERGE_END CQ11813 + * 09/18/07 CPH CQ11466: Added EFM support. + *********************************************************************************************/ +-#include + #include + #include + #include +@@ -110,8 +109,6 @@ + #include + #include + #include +-#include +-#include + #include + #include + #include +@@ -119,6 +116,12 @@ + #include + #include + #include ++#include ++ ++#include ++#include ++#include ++ + /* Modules specific header files */ + #ifdef AR7_EFM + #include "tn7efm.h" +@@ -185,7 +188,7 @@ led_reg_t ledreg[2]; + static struct led_funcs ledreg[2]; + #endif + +-#define DEV_DSLMOD 1 ++#define DEV_DSLMOD CTL_UNNUMBERED + #define MAX_STR_SIZE 256 + #define DSL_MOD_SIZE 256 + +@@ -316,7 +319,7 @@ static PITIDSLHW_T pIhw; + static volatile int bshutdown; + static char info[MAX_STR_SIZE]; + /* Used for DSL Polling enable */ +-static DECLARE_MUTEX_LOCKED (adsl_sem_overlay); ++static struct semaphore adsl_sem_overlay; + + //kthread_t overlay_thread; + /* end of module wide declars */ +@@ -369,6 +372,14 @@ int os_atoih (const char *pstr) + return val; + } + ++int avalanche_request_intr_pacing(int irq_nr, unsigned int blk_num, ++ unsigned int pace_value) ++{ ++ printk("avalanche_request_pacing(%d, %u, %u); // not implemented\n", irq_nr, blk_num, pace_value); ++ return 0; ++} ++ ++ + int os_atoi(const char *pStr) + { + int MulNeg = (*pStr == '-' ? -1 : 1); +@@ -405,39 +416,6 @@ void dprintf (int uDbgLevel, char *szFmt + #endif + } + +-int strcmp(const char *s1, const char *s2) +-{ +- +- int size = strlen(s1); +- +- return(strncmp(s1, s2, size)); +-} +- +-int strncmp(const char *s1, const char *s2, size_t size) +-{ +- int i = 0; +- int max_size = (int)size; +- +- while((s1[i] != 0) && i < max_size) +- { +- if(s2[i] == 0) +- { +- return -1; +- } +- if(s1[i] != s2[i]) +- { +- return 1; +- } +- i++; +- } +- if(s2[i] != 0) +- { +- return 1; +- } +- +- return 0; +-} +- + // * UR8_MERGE_START CQ10640 Jack Zhang + int tn7dsl_dump_dsp_memory(char *input_str) //cph99 + { +@@ -487,144 +465,78 @@ unsigned int shim_osGetCpuFrequency(void + return CpuFrequency; + } + +-int shim_osLoadFWImage(unsigned char *ptr) ++static void avsar_release(struct device *dev) + { +- unsigned int bytesRead; +- mm_segment_t oldfs; +- static struct file *filp; +- unsigned int imageLength=0x5ffff; +- +-#ifdef AR7_EFM +- int dp_alt=0; +- char *ptr1=NULL; +-#ifdef EFM_DEBUG +- char *ptr2=NULL; +- char *ptr3=NULL; +-#endif +- +- if ((ptr1 = prom_getenv("DSL_DP_ALT")) != NULL) +- { +- dp_alt=os_atoi(ptr1); +- if (dp_alt==1) +- { +- filp = filp_open(DSP_DEBUG_FIRMWARE_PATH,00,O_RDONLY); +- if (!IS_ERR(filp)) +- { +- strcpy (DSP_FIRMWARE_PATH, DSP_DEBUG_FIRMWARE_PATH); +- } +- } +-#ifdef EFM_DEBUG +- else if (dp_alt==2) +- { +- if ((ptr2 = prom_getenv("DSL_DP")) != NULL) +- { +- if (!strncmp(ptr2, "DSL_DP", 6)) +- { // indirect naming +- if ((ptr3 = prom_getenv(ptr2)) != NULL) +- filp = filp_open(ptr3,00,O_RDONLY); +- ptr2 = ptr3; // redirect ptr2 to ptr3 +- } +- +- filp = filp_open(ptr2,00,O_RDONLY); +- if (!IS_ERR(filp)) +- { +- strcpy (DSP_FIRMWARE_PATH, ptr2); +- } +- } +- } +- printk("dp_path=%s\n", DSP_FIRMWARE_PATH); +-#endif +- } +-#endif +- +- dgprintf(4, "tn7dsl_read_dsp()\n"); +- +- dgprintf(4,"open file %s\n", DSP_FIRMWARE_PATH); +- +- filp=filp_open(DSP_FIRMWARE_PATH,00,O_RDONLY); +- if(IS_ERR(filp)) +- { +- printk("Failed: Could not open DSP binary file\n"); +- return -1; +- } +- +- if (filp->f_dentry != NULL) +- { +- if (filp->f_dentry->d_inode != NULL) +- { +- printk ("DSP binary filesize = %d bytes\n", +- (int) filp->f_dentry->d_inode->i_size); +- imageLength = (unsigned int)filp->f_dentry->d_inode->i_size + 0x200; +- } +- } +- +- if (filp->f_op->read==NULL) +- return -1; /* File(system) doesn't allow reads */ +- +- /* +- * Disable parameter checking +- */ +- oldfs = get_fs(); +- set_fs(KERNEL_DS); +- +- /* +- * Now read bytes from postion "StartPos" +- */ +- filp->f_pos = 0; +- +- bytesRead = filp->f_op->read(filp,ptr,imageLength,&filp->f_pos); +- +- dgprintf(4,"file length = %d\n", bytesRead); +- +- set_fs(oldfs); +- +- /* +- * Close the file +- */ +- fput(filp); +- +- return bytesRead; ++ printk(KERN_DEBUG "avsar firmware released\n"); + } + ++static struct device avsar = { ++ .bus_id = "vlynq", ++ .release = avsar_release, ++}; + +-unsigned int shim_read_overlay_page (void *ptr, unsigned int secOffset, +- unsigned int secLength) ++int shim_osLoadFWImage(unsigned char *ptr) + { +- unsigned int bytesRead; +- mm_segment_t oldfs; +- struct file *filp; +- +- dgprintf(4,"shim_read_overlay_page\n"); +- //dgprintf(4,"sec offset=%d, sec length =%d\n", secOffset, secLength); ++ const struct firmware *fw_entry; ++ size_t size; + +- filp=filp_open(DSP_FIRMWARE_PATH,00,O_RDONLY); +- if(filp ==NULL) +- { +- printk("Failed: Could not open DSP binary file\n"); +- return -1; +- } +- +- if (filp->f_op->read==NULL) +- return -1; /* File(system) doesn't allow reads */ +- +- /* +- * Now read bytes from postion "StartPos" +- */ ++ printk("requesting firmware image \"ar0700xx.bin\"\n"); ++ if(device_register(&avsar) < 0) { ++ printk(KERN_ERR ++ "avsar: device_register fails\n"); ++ return -1; ++ } ++ ++ if (request_firmware(&fw_entry, "ar0700xx.bin", &avsar)) { ++ printk(KERN_ERR ++ "avsar: Firmware not available\n"); ++ device_unregister(&avsar); ++ return -1; ++ } ++ size = fw_entry->size; ++ device_unregister(&avsar); ++ if (size > 0x6ffff) { ++ printk(KERN_ERR ++ "avsar: Firmware too big (%d bytes)\n", size); ++ release_firmware(fw_entry); ++ return -1; ++ } ++ memcpy(ptr, fw_entry->data, size); ++ release_firmware(fw_entry); ++ return size; ++} ++ ++unsigned int shim_read_overlay_page(void *ptr, unsigned int secOffset, unsigned int secLength) ++{ ++ const struct firmware *fw_entry; ++ ++ printk("requesting firmware image \"ar0700xx.bin\"\n"); ++ if (device_register(&avsar) < 0) { ++ printk(KERN_ERR ++ "avsar: device_register fails\n"); ++ return -1; ++ } ++ ++ if (request_firmware(&fw_entry, "ar0700xx.bin", &avsar)) { ++ printk(KERN_ERR ++ "avsar: Firmware not available\n"); ++ device_unregister(&avsar); ++ return -1; ++ } ++ ++ device_unregister(&avsar); ++ if (fw_entry->size > secLength) { ++ printk(KERN_ERR ++ "avsar: Firmware too big (%d bytes)\n", fw_entry->size); ++ release_firmware(fw_entry); ++ return -1; ++ } ++ memcpy(ptr + secOffset, fw_entry->data, secLength); ++ release_firmware(fw_entry); ++ return secLength; ++} + +- if(filp->f_op->llseek) +- filp->f_op->llseek(filp,secOffset, 0); +- oldfs = get_fs(); +- set_fs(KERNEL_DS); +- filp->f_pos = secOffset; +- bytesRead = filp->f_op->read(filp,ptr,secLength,&filp->f_pos); + +- set_fs(oldfs); +- /* +- * Close the file +- */ +- fput(filp); +- return bytesRead; +-} + + int shim_osLoadDebugFWImage(unsigned char *ptr) + { +@@ -3287,6 +3199,7 @@ int tn7dsl_init(void *priv) + int high_precision_selected = 0; + // UR8_MERGE_END CQ11054* + ++ sema_init(&adsl_sem_overlay, 0); + /* + * start dsl + */ +@@ -3665,7 +3578,7 @@ static int dslmod_sysctl(ctl_table *ctl, + */ + if(write) + { +- ret = proc_dostring(ctl, write, filp, buffer, lenp); ++ ret = proc_dostring(ctl, write, filp, buffer, lenp, 0); + + switch (ctl->ctl_name) + { +@@ -3751,14 +3664,14 @@ static int dslmod_sysctl(ctl_table *ctl, + else + { + len += sprintf(info+len, mod_req); +- ret = proc_dostring(ctl, write, filp, buffer, lenp); ++ ret = proc_dostring(ctl, write, filp, buffer, lenp, 0); + } + return ret; + } + + + ctl_table dslmod_table[] = { +- {DEV_DSLMOD, "dslmod", info, DSL_MOD_SIZE, 0644, NULL, &dslmod_sysctl} ++ {DEV_DSLMOD, "dslmod", info, DSL_MOD_SIZE, 0644, NULL, NULL, &dslmod_sysctl, &sysctl_string} + , + {0} + }; +@@ -3781,8 +3694,7 @@ void tn7dsl_dslmod_sysctl_register(void) + if (initialized == 1) + return; + +- dslmod_sysctl_header = register_sysctl_table(dslmod_root_table, 1); +- dslmod_root_table->child->de->owner = THIS_MODULE; ++ dslmod_sysctl_header = register_sysctl_table(dslmod_root_table); + + /* + * set the defaults +--- a/tn7sar.c ++++ b/tn7sar.c +@@ -43,7 +43,6 @@ + * 09/18/07 CPH CQ11466: Added EFM support. + *******************************************************************************/ + +-#include + #include + #include + #include +@@ -51,12 +50,13 @@ + #include + #include + #include +-#include +-#include + #include + #include + #include + ++#include ++#include ++#include + + #define _CPHAL_AAL5 + #define _CPHAL_SAR diff --git a/package/ar7-atm/patches-D7.05.01.00/110-interrupt_fix.patch b/package/ar7-atm/patches-D7.05.01.00/110-interrupt_fix.patch new file mode 100644 index 000000000..112245769 --- /dev/null +++ b/package/ar7-atm/patches-D7.05.01.00/110-interrupt_fix.patch @@ -0,0 +1,37 @@ +--- a/tn7atm.c ++++ b/tn7atm.c +@@ -633,7 +633,7 @@ static int turbodsl_check_priority_type( + * Description: tnetd73xx SAR interrupt. + * + *~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/ +-static void tn7atm_sar_irq (int irq, void *voiddev, struct pt_regs *regs) ++static irqreturn_t tn7atm_sar_irq (int irq, void *voiddev) + { + struct atm_dev *atmdev; + Tn7AtmPrivate *priv; +@@ -660,6 +660,7 @@ static void tn7atm_sar_irq (int irq, voi + #ifdef TIATM_INST_SUPP + psp_trace_par (ATM_DRV_SAR_ISR_EXIT, retval); + #endif ++ return IRQ_HANDLED; + } + + /*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +@@ -669,7 +670,7 @@ static void tn7atm_sar_irq (int irq, voi + * Description: tnetd73xx DSL interrupt. + * + *~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/ +-static void tn7atm_dsl_irq (int irq, void *voiddev, struct pt_regs *regs) ++static irqreturn_t tn7atm_dsl_irq (int irq, void *voiddev) + { + struct atm_dev *atmdev; + Tn7AtmPrivate *priv; +@@ -691,6 +692,8 @@ static void tn7atm_dsl_irq (int irq, voi + #ifdef TIATM_INST_SUPP + psp_trace_par (ATM_DRV_DSL_ISR_EXIT, retval); + #endif ++ ++ return IRQ_HANDLED; + } + + /*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/package/ar7-atm/patches-D7.05.01.00/120-no_dumb_inline.patch b/package/ar7-atm/patches-D7.05.01.00/120-no_dumb_inline.patch new file mode 100644 index 000000000..e9d99dff4 --- /dev/null +++ b/package/ar7-atm/patches-D7.05.01.00/120-no_dumb_inline.patch @@ -0,0 +1,11 @@ +--- a/tn7api.h ++++ b/tn7api.h +@@ -118,7 +118,7 @@ int tn7dsl_proc_dbgmsg_write(struct file + int tn7dsl_proc_dbgmsg_read(char* buf, char **start, off_t offset, int count,int *eof, void *data); + #endif + //UR8_MERGE_END CQ11813 +-inline int tn7dsl_handle_interrupt(void); ++int tn7dsl_handle_interrupt(void); + + void tn7dsl_dslmod_sysctl_register(void); + void tn7dsl_dslmod_sysctl_unregister(void); diff --git a/package/ar7-atm/patches-D7.05.01.00/130-powercutback.patch b/package/ar7-atm/patches-D7.05.01.00/130-powercutback.patch new file mode 100644 index 000000000..415486482 --- /dev/null +++ b/package/ar7-atm/patches-D7.05.01.00/130-powercutback.patch @@ -0,0 +1,44 @@ +--- a/dsl_hal_advcfg.c ++++ b/dsl_hal_advcfg.c +@@ -36,9 +36,9 @@ + * 05Jul05 0.00.09 CPH CQ9775: Change dslhal_advcfg_configDsTones input parameters & support for ADSL2+ + * 24Jul05 0.00.10 CPH Fixed comments in dslhal_advcfg_configDsTones function header + *******************************************************************************/ +-#include +-#include +-#include ++#include "dev_host_interface.h" ++#include "dsl_hal_register.h" ++#include "dsl_hal_support.h" + + /*****************************************************************************/ + /* ACT API functions -- To be moved into their own independent module --RamP */ +--- a/Makefile ++++ b/Makefile +@@ -4,6 +4,7 @@ + + CONFIG_SANGAM_ATM=m + #EXTRA_CFLAGS += -DEL -I. -DPOST_SILICON -DCOMMON_NSP -DCONFIG_LED_MODULE -DDEREGISTER_LED -DNO_ACT +-EXTRA_CFLAGS += -DEL -I$(PWD) -DPOST_SILICON -DCOMMON_NSP -DNO_ACT -D__NO__VOICE_PATCH__ -DEL ++#EXTRA_CFLAGS += -DEL -I$(PWD) -DPOST_SILICON -DCOMMON_NSP -DNO_ACT -D__NO__VOICE_PATCH__ -DEL ++EXTRA_CFLAGS += -DEL -I$(PWD) -DPOST_SILICON -DCOMMON_NSP -D__NO__VOICE_PATCH__ -DEL + obj-$(CONFIG_SANGAM_ATM) := tiatm.o +-tiatm-objs += cpsar.o aal5sar.o tn7sar.o tn7atm.o tn7dsl.o dsl_hal_api.o dsl_hal_support.o ++tiatm-objs += cpsar.o aal5sar.o tn7sar.o tn7atm.o tn7dsl.o dsl_hal_api.o dsl_hal_support.o dsl_hal_advcfg.o +--- a/tn7dsl.c ++++ b/tn7dsl.c +@@ -3053,6 +3053,14 @@ static int tn7dsl_set_dsl(void) + dslhal_api_setRateAdaptFlag(pIhw, os_atoi(ptr)); + } + ++ // set powercutback ++ ptr = NULL; ++ ptr = prom_getenv("powercutback"); ++ if(ptr) ++ { ++ dslhal_advcfg_onOffPcb(pIhw, os_atoi(ptr)); ++ } ++ + // trellis + ptr = NULL; + ptr = prom_getenv("trellis"); diff --git a/package/ar7-atm/patches-D7.05.01.00/140-debug_mode.patch b/package/ar7-atm/patches-D7.05.01.00/140-debug_mode.patch new file mode 100644 index 000000000..3873827af --- /dev/null +++ b/package/ar7-atm/patches-D7.05.01.00/140-debug_mode.patch @@ -0,0 +1,16 @@ +--- a/tn7sar.c ++++ b/tn7sar.c +@@ -125,10 +125,10 @@ enum + //09/05/07: cph, move to tn7atm.h + // #define RESERVED_OAM_CHANNEL 15 + +-#define AAL5_PARM "id=aal5, base = 0x03000000, offset = 0, int_line=15, ch0=[RxBufSize=1522; RxNumBuffers = 32; RxServiceMax = 50; TxServiceMax=50; TxNumBuffers=32; CpcsUU=0x5aa5; TxVc_CellRate=0x3000; TxVc_AtmHeader=0x00000640]" +-#define SAR_PARM "id=sar,base = 0x03000000, reset_bit = 9, offset = 0; UniNni = 0, PdspEnable = 1" ++#define CH0_PARM "RxBufSize=1522, RxNumBuffers=32, RxServiceMax=50, TxServiceMax=50, TxNumBuffers=32, CpcsUU=0x5aa5, TxVc_CellRate=0x3000, TxVc_AtmHeader=0x00000640" ++#define AAL5_PARM "id=aal5, base=0x03000000, offset=0, int_line=15, ch0=[" CH0_PARM "]" ++#define SAR_PARM "id=sar, base=0x03000000, reset_bit=9, offset=0; UniNni=0, PdspEnable=1, Debug=0xFFFFFFFF" + #define RESET_PARM "id=ResetControl, base=0xA8611600" +-#define CH0_PARM "RxBufSize=1522, RxNumBuffers = 32, RxServiceMax = 50, TxServiceMax=50, TxNumBuffers=32, CpcsUU=0x5aa5, TxVc_CellRate=0x3000, TxVc_AtmHeader=0x00000640" + + #define MAX_PVC_TABLE_ENTRY 16 + diff --git a/package/ar7-atm/patches-D7.05.01.00/150-tasklet_mode.patch b/package/ar7-atm/patches-D7.05.01.00/150-tasklet_mode.patch new file mode 100644 index 000000000..97b8cecdd --- /dev/null +++ b/package/ar7-atm/patches-D7.05.01.00/150-tasklet_mode.patch @@ -0,0 +1,11 @@ +--- a/Makefile ++++ b/Makefile +@@ -5,6 +5,7 @@ + CONFIG_SANGAM_ATM=m + #EXTRA_CFLAGS += -DEL -I. -DPOST_SILICON -DCOMMON_NSP -DCONFIG_LED_MODULE -DDEREGISTER_LED -DNO_ACT + #EXTRA_CFLAGS += -DEL -I$(PWD) -DPOST_SILICON -DCOMMON_NSP -DNO_ACT -D__NO__VOICE_PATCH__ -DEL +-EXTRA_CFLAGS += -DEL -I$(PWD) -DPOST_SILICON -DCOMMON_NSP -D__NO__VOICE_PATCH__ -DEL ++#EXTRA_CFLAGS += -DEL -I$(PWD) -DPOST_SILICON -DCOMMON_NSP -D__NO__VOICE_PATCH__ -DEL ++EXTRA_CFLAGS += -DEL -I$(PWD) -DPOST_SILICON -DCOMMON_NSP -D__NO__VOICE_PATCH__ -DEL -DCPATM_TASKLET_MODE + obj-$(CONFIG_SANGAM_ATM) := tiatm.o + tiatm-objs += cpsar.o aal5sar.o tn7sar.o tn7atm.o tn7dsl.o dsl_hal_api.o dsl_hal_support.o dsl_hal_advcfg.o diff --git a/package/ar7-atm/patches-D7.05.01.00/160-module-params.patch b/package/ar7-atm/patches-D7.05.01.00/160-module-params.patch new file mode 100644 index 000000000..6e7d9de18 --- /dev/null +++ b/package/ar7-atm/patches-D7.05.01.00/160-module-params.patch @@ -0,0 +1,663 @@ +--- a/tn7atm.c ++++ b/tn7atm.c +@@ -95,6 +95,146 @@ + MODULE_LICENSE("GPL"); + MODULE_DESCRIPTION ("Tnetd73xx ATM Device Driver"); + MODULE_AUTHOR ("Zhicheng Tang"); ++ ++int mp_sar_ipacemax = -1; ++module_param_named(ipacemax, mp_sar_ipacemax, int, 0); ++MODULE_PARM_DESC(ipacemax, "Interrupt pacing"); ++ ++char *mp_macc = NULL; ++module_param_named(macc, mp_macc, charp, 0); ++MODULE_PARM_DESC(macc, "MAC address"); ++ ++int mp_dsp_noboost = -1; ++module_param_named(dsp_noboost, mp_dsp_noboost, int, 0); ++MODULE_PARM_DESC(dsp_noboost, "Suppress DSP frequency boost"); ++ ++int mp_dsp_freq = -1; ++module_param_named(dsp_freq, mp_dsp_freq, int, 0); ++MODULE_PARM_DESC(dsp_freq, "Frequency to boost the DSP to"); ++ ++char *mp_featctl0 = NULL; ++module_param_named(featctl0, mp_featctl0, charp, 0); ++MODULE_PARM_DESC(featctl0, "DSL feature control 0"); ++ ++char *mp_featctl1 = NULL; ++module_param_named(featctl1, mp_featctl1, charp, 0); ++MODULE_PARM_DESC(featctl1, "DSL feature control 1"); ++ ++char *mp_phyctl0 = NULL; ++module_param_named(phyctl0, mp_phyctl0, charp, 0); ++MODULE_PARM_DESC(phyctl0, "DSL PHY control 0"); ++ ++char *mp_phyctl1 = NULL; ++module_param_named(phyctl1, mp_phyctl1, charp, 0); ++MODULE_PARM_DESC(phyctl1, "DSL PHY control 1"); ++ ++int mp_turbodsl = -1; ++module_param_named(turbodsl, mp_turbodsl, int, 0); ++MODULE_PARM_DESC(turbodsl, "Enable TurboDSL"); ++ ++int mp_sar_rxbuf = -1; ++module_param_named(sar_rxbuf, mp_sar_rxbuf, int, 0); ++MODULE_PARM_DESC(sar_rxbuf, "SAR RxBuf size"); ++ ++int mp_sar_rxmax = -1; ++module_param_named(sar_rxmax, mp_sar_rxmax, int, 0); ++MODULE_PARM_DESC(sar_rxmax, "SAR RxMax size"); ++ ++int mp_sar_txbuf = -1; ++module_param_named(sar_txbuf, mp_sar_txbuf, int, 0); ++MODULE_PARM_DESC(sar_txbuf, "SAR TxBuf size"); ++ ++int mp_sar_txmax = -1; ++module_param_named(sar_txmax, mp_sar_txmax, int, 0); ++MODULE_PARM_DESC(sar_txmax, "SAR TxMax size"); ++ ++char *mp_modulation = NULL; ++module_param_named(modulation, mp_modulation, charp, 0); ++MODULE_PARM_DESC(modulation, "Modulation"); ++ ++int mp_fine_gain_control = -1; ++module_param_named(fine_gain_control, mp_fine_gain_control, int, 0); ++MODULE_PARM_DESC(fine_gain_control, "Fine gain control"); ++ ++int mp_fine_gain_value = -1; ++module_param_named(fine_gain_value, mp_fine_gain_value, int, 0); ++MODULE_PARM_DESC(fine_gain_value, "Fine gain value"); ++ ++int mp_enable_margin_retrain = -1; ++module_param_named(enable_margin_retrain, mp_enable_margin_retrain, int, 0); ++MODULE_PARM_DESC(enable_margin_retrain, "Enable margin retrain"); ++ ++int mp_margin_threshold = -1; ++module_param_named(margin_threshold, mp_margin_threshold, int, 0); ++MODULE_PARM_DESC(margin_threshold, "Margin retrain treshold"); ++ ++int mp_enable_rate_adapt = -1; ++module_param_named(enable_rate_adapt, mp_enable_rate_adapt, int, 0); ++MODULE_PARM_DESC(enable_rate_adapt, "Enable rate adaption"); ++ ++int mp_powercutback = -1; ++module_param_named(powercutback, mp_powercutback, int, 0); ++MODULE_PARM_DESC(powercutback, "Enable / disable powercutback"); ++ ++int mp_trellis = -1; ++module_param_named(trellis, mp_trellis, int, 0); ++MODULE_PARM_DESC(trellis, "Enable / disable trellis coding"); ++ ++int mp_bitswap = -1; ++module_param_named(bitswap, mp_bitswap, int, 0); ++MODULE_PARM_DESC(bitswap, "Enable / disable bitswap"); ++ ++int mp_maximum_bits_per_carrier = -1; ++module_param_named(maximum_bits_per_carrier, mp_maximum_bits_per_carrier, int, 0); ++MODULE_PARM_DESC(maximum_bits_per_carrier, "Maximum bits per carrier"); ++ ++int mp_maximum_interleave_depth = -1; ++module_param_named(maximum_interleave_depth, mp_maximum_interleave_depth, int, 0); ++MODULE_PARM_DESC(maximum_interleave_depth, "Maximum interleave depth"); ++ ++int mp_pair_selection = -1; ++module_param_named(pair_selection, mp_pair_selection, int, 0); ++MODULE_PARM_DESC(pair_selection, "Pair selection"); ++ ++int mp_dgas_polarity = -1; ++module_param_named(dgas_polarity, mp_dgas_polarity, int, 0); ++MODULE_PARM_DESC(dgas_polarity, "DGAS polarity"); ++ ++int mp_los_alarm = -1; ++module_param_named(los_alarm, mp_los_alarm, int, 0); ++MODULE_PARM_DESC(los_alarm, "LOS alarm"); ++ ++char *mp_eoc_vendor_id = NULL; ++module_param_named(eoc_vendor_id, mp_eoc_vendor_id, charp, 0); ++MODULE_PARM_DESC(eoc_vendor_id, "EOC vendor id"); ++ ++int mp_eoc_vendor_revision = -1; ++module_param_named(eoc_vendor_revision, mp_eoc_vendor_revision, int, 0); ++MODULE_PARM_DESC(eoc_vendor_revision, "EOC vendor revision"); ++ ++char *mp_eoc_vendor_serialnum = NULL; ++module_param_named(eoc_vendor_serialnum, mp_eoc_vendor_serialnum, charp, 0); ++MODULE_PARM_DESC(eoc_vendor_serialnum, "EOC vendor serial number"); ++ ++char *mp_invntry_vernum = NULL; ++module_param_named(invntry_vernum, mp_invntry_vernum, charp, 0); ++MODULE_PARM_DESC(invntry_vernum, "Inventory revision number"); ++ ++int mp_dsl_bit_tmode = -1; ++module_param_named(dsl_bit_tmode, mp_dsl_bit_tmode, int, 0); ++MODULE_PARM_DESC(dsl_bit_tmode, "DSL bit training mode"); ++ ++int mp_high_precision = -1; ++module_param_named(high_precision, mp_high_precision, int, 0); ++MODULE_PARM_DESC(high_precision, "High precision"); ++ ++int mp_autopvc_enable = -1; ++module_param_named(autopvc_enable, mp_autopvc_enable, int, 0); ++MODULE_PARM_DESC(autopvc_enable, "Enable / disable automatic PVC"); ++ ++int mp_oam_lb_timeout = -1; ++module_param_named(oam_lb_timeout, mp_oam_lb_timeout, int, 0); ++MODULE_PARM_DESC(oam_lb_timeout, "OAM LB timeout"); + #endif + + #ifndef TRUE +@@ -728,9 +868,9 @@ static int __init tn7atm_irq_request (st + * interrupt pacing + */ + ptr = prom_getenv ("sar_ipacemax"); +- if (ptr) ++ if (ptr || mp_sar_ipacemax != -1) + { +- def_sar_inter_pace = os_atoi (ptr); ++ def_sar_inter_pace = mp_sar_ipacemax == -1 ? os_atoi (ptr) : mp_sar_ipacemax; + } + /* avalanche_request_pacing (priv->sar_irq, ATM_SAR_INT_PACING_BLOCK_NUM, + def_sar_inter_pace); */ +@@ -880,7 +1020,7 @@ static int __init tn7atm_get_ESI (struct + char esi_addr[ESI_LEN] = { 0x00, 0x00, 0x11, 0x22, 0x33, 0x44 }; + char *esiaddr_str = NULL; + +- esiaddr_str = prom_getenv ("macc"); ++ esiaddr_str = mp_macc ? mp_macc : prom_getenv ("maca"); + + if (!esiaddr_str) + { +@@ -2139,15 +2279,15 @@ static int tn7atm_autoDetectDspBoost (vo + //UR8_MERGE_END CQ10450* + + cp = prom_getenv ("dsp_noboost"); +- if (cp) ++ if (cp || mp_dsp_noboost != -1) + { +- dsp_noboost = os_atoi (cp); ++ dsp_noboost = mp_dsp_noboost == -1 ? os_atoi (cp) : mp_dsp_noboost; + } + + cp = (char *) prom_getenv ("dsp_freq"); +- if (cp) ++ if (cp || mp_dsp_freq != -1) + { +- dspfreq = os_atoi (cp); ++ dspfreq = mp_dsp_freq == -1 ? os_atoi (cp) : mp_dsp_freq; + if (dspfreq == 250) + { + boostDsp = 1; +@@ -2396,15 +2536,17 @@ static int __init tn7atm_init (struct at + // Inter-Op DSL phy Control + // Note the setting of _dsl_Feature_0 and _dsl_Feature_1 must before + // dslhal_api_dslStartup (in tn7dsl_init()). +- if ((ptr = prom_getenv ("DSL_FEATURE_CNTL_0")) != NULL) ++ if ((ptr = prom_getenv ("DSL_FEATURE_CNTL_0")) != NULL || mp_featctl0 != NULL) + { +- _dsl_Feature_0 = os_atoih (ptr); ++ if (mp_featctl0 != NULL) ptr = mp_featctl0; ++ _dsl_Feature_0 = os_atoh (ptr); + _dsl_Feature_0_defined = 1; + } + +- if ((ptr = prom_getenv ("DSL_FEATURE_CNTL_1")) != NULL) ++ if ((ptr = prom_getenv ("DSL_FEATURE_CNTL_1")) != NULL || mp_featctl1 != NULL) + { +- _dsl_Feature_1 = os_atoih (ptr); ++ if (mp_featctl1 != NULL) ptr = mp_featctl1; ++ _dsl_Feature_1 = os_atoh (ptr); + _dsl_Feature_1_defined = 1; + } + +@@ -2412,15 +2554,17 @@ static int __init tn7atm_init (struct at + // DSL phy Feature Control + // Note the setting of _dsl_PhyControl_0 and _dsl_PhyControl_1 must before + // dslhal_api_dslStartup (in tn7dsl_init()). +- if ((ptr = prom_getenv ("DSL_PHY_CNTL_0")) != NULL) ++ if ((ptr = prom_getenv ("DSL_PHY_CNTL_0")) != NULL || mp_phyctl0 != NULL) + { +- _dsl_PhyControl_0 = os_atoih (ptr); ++ if (mp_phyctl0 != NULL) ptr = mp_phyctl0; ++ _dsl_PhyControl_0 = os_atoh (ptr); + _dsl_PhyControl_0_defined = 1; + } + +- if ((ptr = prom_getenv ("DSL_PHY_CNTL_1")) != NULL) ++ if ((ptr = prom_getenv ("DSL_PHY_CNTL_1")) != NULL || mp_phyctl1 != NULL) + { +- _dsl_PhyControl_1 = os_atoih (ptr); ++ if (mp_phyctl1 != NULL) ptr = mp_phyctl1; ++ _dsl_PhyControl_1 = os_atoh (ptr); + _dsl_PhyControl_1_defined = 1; + } + +@@ -2440,12 +2584,12 @@ static int __init tn7atm_init (struct at + // read config for turbo dsl + + ptr = prom_getenv ("TurboDSL"); +- if (ptr) ++ if (ptr || mp_turbodsl != -1) + { + #if 1 //[KT] + bTurboDsl = os_atoi (ptr); + #else +- priv->bTurboDsl = os_atoi (ptr); ++ priv->bTurboDsl = mp_turbodsl == -1 ? os_atoi (ptr) : mp_turbodsl; + #endif + } + else +@@ -2459,33 +2603,33 @@ static int __init tn7atm_init (struct at + priv->sarRxBuf = RX_BUFFER_NUM; + ptr = NULL; + ptr = prom_getenv ("SarRxBuf"); +- if (ptr) ++ if (ptr || mp_sar_rxbuf != -1) + { +- priv->sarRxBuf = os_atoi (ptr); ++ priv->sarRxBuf = mp_sar_rxbuf == -1 ? os_atoi (ptr) : mp_sar_rxbuf; + } + + priv->sarRxMax = RX_SERVICE_MAX; + ptr = NULL; + ptr = prom_getenv ("SarRxMax"); +- if (ptr) ++ if (ptr || mp_sar_rxmax != -1) + { +- priv->sarRxMax = os_atoi (ptr); ++ priv->sarRxMax = mp_sar_rxmax == -1 ? os_atoi (ptr) : mp_sar_rxmax; + } + + priv->sarTxBuf = TX_BUFFER_NUM; + ptr = NULL; + ptr = prom_getenv ("SarTxBuf"); +- if (ptr) ++ if (ptr || mp_sar_txbuf != -1) + { +- priv->sarTxBuf = os_atoi (ptr); ++ priv->sarTxBuf = mp_sar_txbuf == -1 ? os_atoi (ptr) : mp_sar_txbuf; + } + + priv->sarTxMax = TX_SERVICE_MAX; + ptr = NULL; + ptr = prom_getenv ("SarTxMax"); +- if (ptr) ++ if (ptr || mp_sar_txmax != -1) + { +- priv->sarTxMax = os_atoi (ptr); ++ priv->sarTxMax = mp_sar_txmax == -1 ? os_atoi (ptr) : mp_sar_txmax; + } + + #ifdef AR7_EFM +--- a/tn7dsl.c ++++ b/tn7dsl.c +@@ -148,6 +148,27 @@ + #define NEW_TRAINING_VAL_T1413 128 + #define NEW_TRAINING_VAL_MMODE 255 + ++extern char *mp_modulation; ++extern int mp_fine_gain_control; ++extern int mp_fine_gain_value; ++extern int mp_enable_margin_retrain; ++extern int mp_margin_threshold; ++extern int mp_enable_rate_adapt; ++extern int mp_powercutback; ++extern int mp_trellis; ++extern int mp_bitswap; ++extern int mp_maximum_bits_per_carrier; ++extern int mp_maximum_interleave_depth; ++extern int mp_pair_selection; ++extern int mp_dgas_polarity; ++extern int mp_los_alarm; ++extern char *mp_eoc_vendor_id; ++extern int mp_eoc_vendor_revision; ++extern char *mp_eoc_vendor_serialnum; ++extern char *mp_invntry_vernum; ++extern int mp_dsl_bit_tmode; ++extern int mp_high_precision; ++ + int testflag1 = 0; + extern int __guDbgLevel; + extern sar_stat_t sarStat; +@@ -2933,24 +2954,24 @@ static int tn7dsl_set_dsl(void) + (unsigned char *) &oamFeature, 4); + + ptr = prom_getenv("DSL_FEATURE_CNTL_0"); +- if(!ptr) +- prom_setenv("DSL_FEATURE_CNTL_0", "0x00004000"); ++ //if(!ptr) ++ //prom_setenv("DSL_FEATURE_CNTL_0", "0x00004000"); + + ptr = prom_getenv("DSL_FEATURE_CNTL_1"); +- if(!ptr) +- prom_setenv("DSL_FEATURE_CNTL_1", "0x00000000"); ++ //if(!ptr) ++ //prom_setenv("DSL_FEATURE_CNTL_1", "0x00000000"); + + ptr = prom_getenv("DSL_PHY_CNTL_0"); +- if(!ptr) +- prom_setenv("DSL_PHY_CNTL_0", "0x00000400"); ++ //if(!ptr) ++ //prom_setenv("DSL_PHY_CNTL_0", "0x00000400"); + + ptr = prom_getenv("enable_margin_retrain"); +- if(!ptr) +- prom_setenv("enable_margin_retrain", "0"); ++ //if(!ptr) ++ //prom_setenv("enable_margin_retrain", "0"); + + ptr = prom_getenv("modulation"); +- if(!ptr) +- prom_setenv("modulation", "0xbf"); ++ //if(!ptr) ++ //prom_setenv("modulation", "0xbf"); + + #define EOC_VENDOR_ID "4200534153000000" + #define EOC_VENDOR_REVISION "FW370090708b1_55" +@@ -2959,25 +2980,25 @@ static int tn7dsl_set_dsl(void) + ptr = prom_getenv("eoc_vendor_id"); + if(!ptr || strcmp(ptr,EOC_VENDOR_ID) != 0 || strlen(ptr) != strlen(EOC_VENDOR_ID)) + { +- if(ptr) +- prom_unsetenv("eoc_vendor_id"); +- prom_setenv("eoc_vendor_id",EOC_VENDOR_ID); ++ //if(ptr) ++ //prom_unsetenv("eoc_vendor_id"); ++ //prom_setenv("eoc_vendor_id",EOC_VENDOR_ID); + } + + ptr = prom_getenv("eoc_vendor_revision"); + if(!ptr || strcmp(ptr,EOC_VENDOR_REVISION) != 0 || strlen(ptr) != strlen(EOC_VENDOR_REVISION)) + { +- if(ptr) +- prom_unsetenv("eoc_vendor_revision"); +- prom_setenv("eoc_vendor_revision",EOC_VENDOR_REVISION); ++ //if(ptr) ++ //prom_unsetenv("eoc_vendor_revision"); ++ //prom_setenv("eoc_vendor_revision",EOC_VENDOR_REVISION); + } + + ptr = prom_getenv("eoc_vendor_serialnum"); + if(!ptr || strcmp(ptr,EOC_VENDOR_SERIALNUM) != 0 || strlen(ptr) != strlen(EOC_VENDOR_SERIALNUM)) + { +- if(ptr) +- prom_unsetenv("eoc_vendor_serialnum"); +- prom_setenv("eoc_vendor_serialnum",EOC_VENDOR_SERIALNUM); ++ //if(ptr) ++ // prom_unsetenv("eoc_vendor_serialnum"); ++ //prom_setenv("eoc_vendor_serialnum",EOC_VENDOR_SERIALNUM); + } + + /* Do only if we are in the new Base PSP 7.4.*/ +@@ -2994,92 +3015,88 @@ static int tn7dsl_set_dsl(void) + we clear the modulation environment variable, as this could potentially + not have the same meaning in the new mode. + */ +- prom_unsetenv("modulation"); +- prom_setenv("DSL_UPG_DONE", "1"); ++ //prom_unsetenv("modulation"); ++ //prom_setenv("DSL_UPG_DONE", "1"); + } + } + #endif + + // modulation + ptr = prom_getenv("modulation"); +- if (ptr) ++ if (ptr || mp_modulation != NULL) + { +- tn7dsl_set_modulation(ptr, FALSE); ++ tn7dsl_set_modulation(mp_modulation == NULL ? ptr : mp_modulation, FALSE); + } + + // Fine Gains + ptr = prom_getenv("fine_gain_control"); +- if (ptr) ++ if (ptr || mp_fine_gain_control != -1) + { +- value = os_atoi(ptr); ++ value = mp_fine_gain_control == -1 ? os_atoi(ptr) : mp_fine_gain_control; + tn7dsl_ctrl_fineGain(value); + } + ptr = NULL; + ptr = prom_getenv("fine_gain_value"); +- if(ptr) +- tn7dsl_set_fineGainValue(os_atoh(ptr)); ++ if(ptr || mp_fine_gain_value != -1) ++ tn7dsl_set_fineGainValue(mp_fine_gain_value == -1 ? os_atoh(ptr) : mp_fine_gain_value); + + // margin retrain + ptr = NULL; + ptr = prom_getenv("enable_margin_retrain"); +- if(ptr) ++ value = mp_enable_margin_retrain == -1 ? (ptr ? os_atoi(ptr) : 0) : mp_enable_margin_retrain; ++ ++ if (value == 1) + { +- value = os_atoi(ptr); +- if(value == 1) ++ dslhal_api_setMarginMonitorFlags(pIhw, 0, 1); ++ bMarginRetrainEnable = 1; ++ //printk("enable showtime margin monitor.\n"); ++ ++ ptr = NULL; ++ ptr = prom_getenv("margin_threshold"); ++ value = mp_margin_threshold == -1 ? (ptr ? os_atoi(ptr) : 0) : mp_margin_threshold; ++ ++ if(value >= 0) + { +- dslhal_api_setMarginMonitorFlags(pIhw, 0, 1); +- bMarginRetrainEnable = 1; +- //printk("enable showtime margin monitor.\n"); +- ptr = NULL; +- ptr = prom_getenv("margin_threshold"); +- if(ptr) +- { +- value = os_atoi(ptr); +- //printk("Set margin threshold to %d x 0.5 db\n",value); +- if(value >= 0) +- { +- dslhal_api_setMarginThreshold(pIhw, value); +- bMarginThConfig=1; +- } +- } ++ dslhal_api_setMarginThreshold(pIhw, value); ++ bMarginThConfig=1; + } + } + + // rate adapt + ptr = NULL; + ptr = prom_getenv("enable_rate_adapt"); +- if(ptr) ++ if(ptr || mp_enable_rate_adapt != -1) + { +- dslhal_api_setRateAdaptFlag(pIhw, os_atoi(ptr)); ++ dslhal_api_setRateAdaptFlag(pIhw, mp_enable_rate_adapt == -1 ? os_atoi(ptr) : mp_enable_rate_adapt); + } + + // set powercutback + ptr = NULL; + ptr = prom_getenv("powercutback"); +- if(ptr) ++ if(ptr || mp_powercutback != -1) + { +- dslhal_advcfg_onOffPcb(pIhw, os_atoi(ptr)); ++ dslhal_advcfg_onOffPcb(pIhw, mp_powercutback == -1 ? os_atoi(ptr) : mp_powercutback); + } + + // trellis + ptr = NULL; + ptr = prom_getenv("trellis"); +- if(ptr) ++ if(ptr || mp_trellis != -1) + { +- dslhal_api_setTrellisFlag(pIhw, os_atoi(ptr)); +- trellis = os_atoi(ptr); ++ trellis = mp_trellis == -1 ? os_atoi(ptr) : mp_trellis; ++ dslhal_api_setTrellisFlag(pIhw, trellis); + //printk("trellis=%d\n"); + } + + // bitswap + ptr = NULL; + ptr = prom_getenv("bitswap"); +- if(ptr) ++ if(ptr || mp_bitswap != -1) + { + int offset[2] = {33, 0}; + unsigned int bitswap; + +- bitswap = os_atoi(ptr); ++ bitswap = mp_bitswap == -1 ? os_atoi(ptr) : mp_bitswap; + + tn7dsl_generic_read(2, offset); + dslReg &= dslhal_support_byteSwap32(0xFFFFFF00); +@@ -3097,46 +3114,47 @@ static int tn7dsl_set_dsl(void) + // maximum bits per carrier + ptr = NULL; + ptr = prom_getenv("maximum_bits_per_carrier"); +- if(ptr) ++ if(ptr || mp_maximum_bits_per_carrier != -1) + { +- dslhal_api_setMaxBitsPerCarrierUpstream(pIhw, os_atoi(ptr)); ++ dslhal_api_setMaxBitsPerCarrierUpstream(pIhw, mp_maximum_bits_per_carrier == -1 ? os_atoi(ptr) : mp_maximum_bits_per_carrier); + } + + // maximum interleave depth + ptr = NULL; + ptr = prom_getenv("maximum_interleave_depth"); +- if(ptr) ++ if(ptr || mp_maximum_interleave_depth != -1) + { +- dslhal_api_setMaxInterleaverDepth(pIhw, os_atoi(ptr)); ++ dslhal_api_setMaxInterleaverDepth(pIhw, mp_maximum_interleave_depth == -1 ? os_atoi(ptr) : mp_maximum_interleave_depth); + } + + // inner and outer pairs + ptr = NULL; + ptr = prom_getenv("pair_selection"); +- if(ptr) ++ if(ptr || mp_pair_selection != -1) + { +- dslhal_api_selectInnerOuterPair(pIhw, os_atoi(ptr)); ++ dslhal_api_selectInnerOuterPair(pIhw, mp_pair_selection == -1 ? os_atoi(ptr) : mp_pair_selection); + } + + ptr = NULL; + ptr = prom_getenv("dgas_polarity"); +- if(ptr) ++ if(ptr || mp_dgas_polarity != -1) + { + dslhal_api_configureDgaspLpr(pIhw, 1, 1); +- dslhal_api_configureDgaspLpr(pIhw, 0, os_atoi(ptr)); ++ dslhal_api_configureDgaspLpr(pIhw, 0, mp_dgas_polarity == -1 ? os_atoi(ptr) : mp_dgas_polarity); + } + + ptr = NULL; + ptr = prom_getenv("los_alarm"); +- if(ptr) ++ if(ptr || mp_los_alarm != -1) + { +- dslhal_api_disableLosAlarm(pIhw, os_atoi(ptr)); ++ dslhal_api_disableLosAlarm(pIhw, mp_los_alarm == -1 ? os_atoi(ptr) : mp_los_alarm); + } + + ptr = NULL; + ptr = prom_getenv("eoc_vendor_id"); +- if(ptr) ++ if(ptr || mp_eoc_vendor_id != NULL) + { ++ ptr = mp_eoc_vendor_id == NULL ? ptr : mp_eoc_vendor_id; + for(i=0;i<8;i++) + { + tmp[0]=ptr[i*2]; +@@ -3161,26 +3179,26 @@ static int tn7dsl_set_dsl(void) + } + ptr = NULL; + ptr = prom_getenv("eoc_vendor_revision"); +- if(ptr) ++ if(ptr || mp_eoc_vendor_revision != -1) + { +- value = os_atoi(ptr); ++ value = mp_eoc_vendor_revision == -1 ? os_atoi(ptr) : mp_eoc_vendor_revision; + //printk("eoc rev=%d\n", os_atoi(ptr)); + dslhal_api_setEocRevisionNumber(pIhw, (char *)&value); + + } + ptr = NULL; + ptr = prom_getenv("eoc_vendor_serialnum"); +- if(ptr) ++ if(ptr || mp_eoc_vendor_serialnum != NULL) + { +- dslhal_api_setEocSerialNumber(pIhw, ptr); ++ dslhal_api_setEocSerialNumber(pIhw, mp_eoc_vendor_serialnum == NULL ? ptr : mp_eoc_vendor_serialnum); + } + + // CQ10037 Added invntry_vernum environment variable to be able to set version number in ADSL2, ADSL2+ modes. + ptr = NULL; + ptr = prom_getenv("invntry_vernum"); +- if(ptr) ++ if(ptr || mp_invntry_vernum != NULL) + { +- dslhal_api_setEocRevisionNumber(pIhw, ptr); ++ dslhal_api_setEocRevisionNumber(pIhw, mp_invntry_vernum == NULL ? ptr : mp_invntry_vernum); + } + + return 0; +@@ -3225,7 +3243,7 @@ int tn7dsl_init(void *priv) + * backward compatibility. + */ + cp = prom_getenv("DSL_BIT_TMODE"); +- if (cp) ++ if (cp || mp_dsl_bit_tmode != -1) + { + printk("%s : env var DSL_BIT_TMODE is set\n", __FUNCTION__); + /* +@@ -3254,9 +3272,9 @@ int tn7dsl_init(void *priv) + + // UR8_MERGE_START CQ11054 Jack Zhang + cp = prom_getenv("high_precision"); +- if (cp) ++ if (cp || mp_high_precision != -1) + { +- high_precision_selected = os_atoi(cp); ++ high_precision_selected = mp_high_precision == -1 ? os_atoi(cp) : mp_high_precision; + } + if ( high_precision_selected) + { +--- a/tn7sar.c ++++ b/tn7sar.c +@@ -76,6 +76,8 @@ typedef void OS_SETUP; + #include "tn7atm.h" + #include "tn7api.h" + ++extern int mp_oam_lb_timeout; ++extern int mp_autopvc_enable; + + /* PDSP Firmware files */ + #include "tnetd7300_sar_firm.h" +@@ -932,9 +934,9 @@ int tn7sar_setup_oam_channel(Tn7AtmPriva + pHalDev = (HAL_DEVICE *)priv->pSarHalDev; + + pauto_pvc = prom_getenv("autopvc_enable"); +- if(pauto_pvc) //CQ10273 ++ if(pauto_pvc || mp_autopvc_enable != -1) //CQ10273 + { +- auto_pvc =tn7sar_strtoul(pauto_pvc, NULL, 10); ++ auto_pvc = mp_autopvc_enable == -1 ? tn7sar_strtoul(pauto_pvc, NULL, 10) : mp_autopvc_enable; + } + + memset(&chInfo, 0xff, sizeof(chInfo)); +@@ -1133,9 +1135,9 @@ int tn7sar_init(struct atm_dev *dev, Tn7 + + /* read in oam lb timeout value */ + pLbTimeout = prom_getenv("oam_lb_timeout"); +- if(pLbTimeout) ++ if(pLbTimeout || mp_oam_lb_timeout != -1) + { +- lbTimeout =tn7sar_strtoul(pLbTimeout, NULL, 10); ++ lbTimeout = mp_oam_lb_timeout == -1 ? tn7sar_strtoul(pLbTimeout, NULL, 10) : mp_oam_lb_timeout; + oamLbTimeout = lbTimeout; + pHalFunc->Control(pHalDev,"OamLbTimeout", "Set", &lbTimeout); + } diff --git a/package/ar7-atm/patches-D7.05.01.00/170-bus_id_removal.patch b/package/ar7-atm/patches-D7.05.01.00/170-bus_id_removal.patch new file mode 100644 index 000000000..6692f40f6 --- /dev/null +++ b/package/ar7-atm/patches-D7.05.01.00/170-bus_id_removal.patch @@ -0,0 +1,30 @@ +--- a/tn7dsl.c ++++ b/tn7dsl.c +@@ -117,6 +117,7 @@ + #include + #include + #include ++#include + + #include + #include +@@ -492,7 +493,9 @@ static void avsar_release(struct device + } + + static struct device avsar = { ++#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,30) + .bus_id = "vlynq", ++#endif + .release = avsar_release, + }; + +@@ -501,6 +504,9 @@ int shim_osLoadFWImage(unsigned char *pt + const struct firmware *fw_entry; + size_t size; + ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,30) ++ dev_set_name(&avsar, "avsar"); ++#endif + printk("requesting firmware image \"ar0700xx.bin\"\n"); + if(device_register(&avsar) < 0) { + printk(KERN_ERR diff --git a/package/ar7-atm/patches-D7.05.01.00/180-git_headers_include.patch b/package/ar7-atm/patches-D7.05.01.00/180-git_headers_include.patch new file mode 100644 index 000000000..feb6ea860 --- /dev/null +++ b/package/ar7-atm/patches-D7.05.01.00/180-git_headers_include.patch @@ -0,0 +1,54 @@ +--- a/tn7atm.c ++++ b/tn7atm.c +@@ -76,10 +76,16 @@ + #include + #include + #include ++#include + + #include ++#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,31) + #include + #include ++#else ++#include ++#include ++#endif + + #include "dsl_hal_api.h" + #ifdef AR7_EFM +--- a/tn7dsl.c ++++ b/tn7dsl.c +@@ -120,8 +120,13 @@ + #include + + #include ++#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,31) + #include + #include ++#else ++#include ++#include ++#endif + + /* Modules specific header files */ + #ifdef AR7_EFM +--- a/tn7sar.c ++++ b/tn7sar.c +@@ -53,10 +53,16 @@ + #include + #include + #include ++#include + + #include ++#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,31) + #include + #include ++#else ++#include ++#include ++#endif + + #define _CPHAL_AAL5 + #define _CPHAL_SAR diff --git a/package/ar7-atm/patches-D7.05.01.00/190-2.6.32_proc_fixes.patch b/package/ar7-atm/patches-D7.05.01.00/190-2.6.32_proc_fixes.patch new file mode 100644 index 000000000..52ebbc152 --- /dev/null +++ b/package/ar7-atm/patches-D7.05.01.00/190-2.6.32_proc_fixes.patch @@ -0,0 +1,79 @@ +--- a/tn7dsl.c ++++ b/tn7dsl.c +@@ -215,7 +215,11 @@ led_reg_t ledreg[2]; + static struct led_funcs ledreg[2]; + #endif + ++#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,33) + #define DEV_DSLMOD CTL_UNNUMBERED ++#else ++#define DEV_DSLMOD 0 ++#endif + #define MAX_STR_SIZE 256 + #define DSL_MOD_SIZE 256 + +@@ -3615,9 +3619,16 @@ static int dslmod_sysctl(ctl_table *ctl, + */ + if(write) + { ++#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,32) + ret = proc_dostring(ctl, write, filp, buffer, lenp, 0); +- ++#else ++ ret = proc_dostring(ctl, write, buffer, lenp, 0); ++#endif ++#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,33) + switch (ctl->ctl_name) ++#else ++ switch ((long)ctl->extra2) ++#endif + { + case DEV_DSLMOD: + ptr = strpbrk(info, " \t"); +@@ -3701,14 +3712,29 @@ static int dslmod_sysctl(ctl_table *ctl, + else + { + len += sprintf(info+len, mod_req); ++#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,32) + ret = proc_dostring(ctl, write, filp, buffer, lenp, 0); ++#else ++ ret = proc_dostring(ctl, write, buffer, lenp, 0); ++#endif + } + return ret; + } + + + ctl_table dslmod_table[] = { ++#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,33) + {DEV_DSLMOD, "dslmod", info, DSL_MOD_SIZE, 0644, NULL, NULL, &dslmod_sysctl, &sysctl_string} ++#else ++ { ++ .procname = "dslmod", ++ .data = info, ++ .maxlen = DSL_MOD_SIZE, ++ .mode = 0644, ++ .proc_handler = &dslmod_sysctl, ++ .extra2 = (void *)DEV_DSLMOD, ++ } ++#endif + , + {0} + }; +@@ -3716,7 +3742,16 @@ ctl_table dslmod_table[] = { + /* Make sure that /proc/sys/dev is there */ + ctl_table dslmod_root_table[] = { + #ifdef CONFIG_PROC_FS ++ #if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,33) + {CTL_DEV, "dev", NULL, 0, 0555, dslmod_table} ++ #else ++ { ++ .procname = "dev", ++ .maxlen = 0, ++ .mode = 0555, ++ .child = dslmod_table, ++ } ++ #endif + , + #endif /* CONFIG_PROC_FS */ + {0} diff --git a/package/ar7-atm/patches-D7.05.01.00/200-2.6.37_args.patch b/package/ar7-atm/patches-D7.05.01.00/200-2.6.37_args.patch new file mode 100644 index 000000000..a3bff1b94 --- /dev/null +++ b/package/ar7-atm/patches-D7.05.01.00/200-2.6.37_args.patch @@ -0,0 +1,36 @@ +--- a/tn7atm.c ++++ b/tn7atm.c +@@ -2000,7 +2000,11 @@ static int __init tn7atm_register (Tn7At + + dgprintf (4, "device %s being registered\n", priv->name); + ++ #if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,37) + mydev = atm_dev_register (priv->proc_name, &tn7atm_ops, -1, NULL); ++ #else ++ mydev = atm_dev_register (priv->proc_name, NULL, &tn7atm_ops, -1, NULL); ++ #endif + + if (mydev == NULL) + { +--- a/tn7dsl.c ++++ b/tn7dsl.c +@@ -512,14 +512,17 @@ int shim_osLoadFWImage(unsigned char *pt + { + const struct firmware *fw_entry; + size_t size; ++ int ret; + + #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,30) + dev_set_name(&avsar, "avsar"); + #endif + printk("requesting firmware image \"ar0700xx.bin\"\n"); +- if(device_register(&avsar) < 0) { ++ dev_set_name(&avsar, "avsar"); ++ ret = device_register(&avsar); ++ if (ret < 0) { + printk(KERN_ERR +- "avsar: device_register fails\n"); ++ "avsar: device_register fails, error%i\n", ret); + return -1; + } + diff --git a/package/ar7-atm/patches-D7.05.01.00/210-3.3-remove-smp_lock.h.patch b/package/ar7-atm/patches-D7.05.01.00/210-3.3-remove-smp_lock.h.patch new file mode 100644 index 000000000..975ebaf29 --- /dev/null +++ b/package/ar7-atm/patches-D7.05.01.00/210-3.3-remove-smp_lock.h.patch @@ -0,0 +1,33 @@ +--- a/tn7atm.c ++++ b/tn7atm.c +@@ -72,7 +72,7 @@ + #include + #include + #include +-#include ++#include + #include + #include + #include +--- a/tn7sar.c ++++ b/tn7sar.c +@@ -49,7 +49,7 @@ + #include + #include + #include +-#include ++#include + #include + #include + #include +--- a/tn7dsl.c ++++ b/tn7dsl.c +@@ -108,7 +108,7 @@ + #include + #include + #include +-#include ++#include + #include + #include + #include diff --git a/package/arptables/Makefile b/package/arptables/Makefile new file mode 100644 index 000000000..9d61813a2 --- /dev/null +++ b/package/arptables/Makefile @@ -0,0 +1,42 @@ +# Copyright (C) 2006-2010 OpenWrt.org +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +include $(TOPDIR)/rules.mk + +PKG_NAME:=arptables +PKG_VERSION:=0.0.3-4 +PKG_RELEASE:=1 + +PKG_SOURCE:=$(PKG_NAME)-v$(PKG_VERSION).tar.gz +PKG_SOURCE_URL:=@SF/ebtables +PKG_MD5SUM:=1d4ab05761f063b0751645d8f2b8f8e5 + +PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-v$(PKG_VERSION) + +include $(INCLUDE_DIR)/package.mk + +define Package/arptables + SECTION:=net + CATEGORY:=Network + SUBMENU:=Firewall + TITLE:=ARP firewalling software + DEPENDS:=+kmod-arptables + URL:=http://ebtables.sourceforge.net +endef + +define Build/Compile + $(MAKE) -C $(PKG_BUILD_DIR) \ + $(TARGET_CONFIGURE_OPTS) \ + COPT_FLAGS="$(TARGET_CFLAGS)" \ + KERNEL_DIR="./include/linux" +endef + +define Package/arptables/install + $(INSTALL_DIR) $(1)/usr/sbin + $(CP) $(PKG_BUILD_DIR)/$(PKG_NAME) $(1)/usr/sbin/ +endef + +$(eval $(call BuildPackage,arptables)) diff --git a/package/arptables/patches/100-always_optimize.patch b/package/arptables/patches/100-always_optimize.patch new file mode 100644 index 000000000..b120eb783 --- /dev/null +++ b/package/arptables/patches/100-always_optimize.patch @@ -0,0 +1,19 @@ +Index: arptables-v0.0.3-4/libarptc/libarptc_incl.c +=================================================================== +--- arptables-v0.0.3-4.orig/libarptc/libarptc_incl.c 2010-03-08 16:49:28.000000000 +0100 ++++ arptables-v0.0.3-4/libarptc/libarptc_incl.c 2012-08-14 12:10:29.527945144 +0200 +@@ -11,14 +11,6 @@ + /* (C)1999 Paul ``Rusty'' Russell - Placed under the GNU GPL (See + COPYING for details). */ + +-#ifndef __OPTIMIZE__ +-STRUCT_ENTRY_TARGET * +-GET_TARGET(STRUCT_ENTRY *e) +-{ +- return (void *)e + e->target_offset; +-} +-#endif +- + static int sockfd = -1; + static void *arptc_fn = NULL; + diff --git a/package/avila-wdt/Makefile b/package/avila-wdt/Makefile new file mode 100644 index 000000000..5bf6bf4ad --- /dev/null +++ b/package/avila-wdt/Makefile @@ -0,0 +1,40 @@ +# +# Copyright (C) 2008 OpenWrt.org +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +include $(TOPDIR)/rules.mk +include $(INCLUDE_DIR)/kernel.mk + +PKG_NAME:=avila-wdt +PKG_RELEASE:=1 + +include $(INCLUDE_DIR)/package.mk + +define KernelPackage/avila-wdt + SUBMENU:=Other modules + TITLE:=GPIO hardware watchdog driver for modified Avila boards + DEPENDS:=@GPIO_SUPPORT @TARGET_ixp4xx + FILES:=$(PKG_BUILD_DIR)/avila-wdt.ko + AUTOLOAD:=$(call AutoLoad,10,avila-wdt) +endef + +MAKE_OPTS:= \ + ARCH="$(LINUX_KARCH)" \ + CROSS_COMPILE="$(TARGET_CROSS)" \ + SUBDIRS="$(PKG_BUILD_DIR)" + +define Build/Prepare + mkdir -p $(PKG_BUILD_DIR) + $(CP) ./src/* $(PKG_BUILD_DIR)/ +endef + +define Build/Compile + $(MAKE) -C "$(LINUX_DIR)" \ + $(MAKE_OPTS) \ + modules +endef + +$(eval $(call KernelPackage,avila-wdt)) diff --git a/package/avila-wdt/src/Makefile b/package/avila-wdt/src/Makefile new file mode 100644 index 000000000..90d90657e --- /dev/null +++ b/package/avila-wdt/src/Makefile @@ -0,0 +1 @@ +obj-m := avila-wdt.o diff --git a/package/avila-wdt/src/avila-wdt.c b/package/avila-wdt/src/avila-wdt.c new file mode 100644 index 000000000..981f3857a --- /dev/null +++ b/package/avila-wdt/src/avila-wdt.c @@ -0,0 +1,231 @@ +/* + * avila-wdt.c + * Copyright (C) 2009 Felix Fietkau + * + * based on: + * drivers/char/watchdog/ixp4xx_wdt.c + * + * Watchdog driver for Intel IXP4xx network processors + * + * Author: Deepak Saxena + * + * Copyright 2004 (c) MontaVista, Software, Inc. + * Based on sa1100 driver, Copyright (C) 2000 Oleg Drokin + * + * This file is licensed under the terms of the GNU General Public + * License version 2. This program is licensed "as is" without any + * warranty of any kind, whether express or implied. + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +static int nowayout = WATCHDOG_NOWAYOUT; +static int heartbeat = 20; /* (secs) Default is 20 seconds */ +static unsigned long wdt_status; +static atomic_t wdt_counter; +struct timer_list wdt_timer; + +#define WDT_IN_USE 0 +#define WDT_OK_TO_CLOSE 1 +#define WDT_RUNNING 2 + +static void wdt_refresh(unsigned long data) +{ + if (test_bit(WDT_RUNNING, &wdt_status)) { + if (atomic_dec_and_test(&wdt_counter)) { + printk(KERN_WARNING "Avila watchdog expired, expect a reboot soon!\n"); + clear_bit(WDT_RUNNING, &wdt_status); + return; + } + } + + /* strobe to the watchdog */ + gpio_line_set(14, IXP4XX_GPIO_HIGH); + gpio_line_set(14, IXP4XX_GPIO_LOW); + + mod_timer(&wdt_timer, jiffies + msecs_to_jiffies(500)); +} + +static void wdt_enable(void) +{ + atomic_set(&wdt_counter, heartbeat * 2); + + /* Disable clock generator output on GPIO 14/15 */ + *IXP4XX_GPIO_GPCLKR &= ~(1 << 8); + + /* activate GPIO 14 out */ + gpio_line_config(14, IXP4XX_GPIO_OUT); + gpio_line_set(14, IXP4XX_GPIO_LOW); + + if (!test_bit(WDT_RUNNING, &wdt_status)) + wdt_refresh(0); + set_bit(WDT_RUNNING, &wdt_status); +} + +static void wdt_disable(void) +{ + /* Re-enable clock generator output on GPIO 14/15 */ + *IXP4XX_GPIO_GPCLKR |= (1 << 8); +} + +static int avila_wdt_open(struct inode *inode, struct file *file) +{ + if (test_and_set_bit(WDT_IN_USE, &wdt_status)) + return -EBUSY; + + clear_bit(WDT_OK_TO_CLOSE, &wdt_status); + wdt_enable(); + return nonseekable_open(inode, file); +} + +static ssize_t +avila_wdt_write(struct file *file, const char *data, size_t len, loff_t *ppos) +{ + if (len) { + if (!nowayout) { + size_t i; + + clear_bit(WDT_OK_TO_CLOSE, &wdt_status); + + for (i = 0; i != len; i++) { + char c; + + if (get_user(c, data + i)) + return -EFAULT; + if (c == 'V') + set_bit(WDT_OK_TO_CLOSE, &wdt_status); + } + } + wdt_enable(); + } + return len; +} + +static struct watchdog_info ident = { + .options = WDIOF_CARDRESET | WDIOF_MAGICCLOSE | + WDIOF_SETTIMEOUT | WDIOF_KEEPALIVEPING, + .identity = "Avila Watchdog", +}; + + +static long avila_wdt_ioctl(struct file *file, unsigned int cmd, + unsigned long arg) +{ + int ret = -ENOTTY; + int time; + + switch (cmd) { + case WDIOC_GETSUPPORT: + ret = copy_to_user((struct watchdog_info *)arg, &ident, + sizeof(ident)) ? -EFAULT : 0; + break; + + case WDIOC_GETSTATUS: + ret = put_user(0, (int *)arg); + break; + + case WDIOC_KEEPALIVE: + wdt_enable(); + ret = 0; + break; + + case WDIOC_SETTIMEOUT: + ret = get_user(time, (int *)arg); + if (ret) + break; + + if (time <= 0 || time > 60) { + ret = -EINVAL; + break; + } + + heartbeat = time; + wdt_enable(); + /* Fall through */ + + case WDIOC_GETTIMEOUT: + ret = put_user(heartbeat, (int *)arg); + break; + } + return ret; +} + +static int avila_wdt_release(struct inode *inode, struct file *file) +{ + if (test_bit(WDT_OK_TO_CLOSE, &wdt_status)) + wdt_disable(); + else + printk(KERN_CRIT "WATCHDOG: Device closed unexpectedly - " + "timer will not stop\n"); + clear_bit(WDT_IN_USE, &wdt_status); + clear_bit(WDT_OK_TO_CLOSE, &wdt_status); + + return 0; +} + + +static const struct file_operations avila_wdt_fops = { + .owner = THIS_MODULE, + .llseek = no_llseek, + .write = avila_wdt_write, + .unlocked_ioctl = avila_wdt_ioctl, + .open = avila_wdt_open, + .release = avila_wdt_release, +}; + +static struct miscdevice avila_wdt_miscdev = { + .minor = WATCHDOG_MINOR + 1, + .name = "avila_watchdog", + .fops = &avila_wdt_fops, +}; + +static int __init avila_wdt_init(void) +{ + int ret; + + init_timer(&wdt_timer); + wdt_timer.expires = 0; + wdt_timer.data = 0; + wdt_timer.function = wdt_refresh; + ret = misc_register(&avila_wdt_miscdev); + if (ret == 0) + printk(KERN_INFO "Avila Watchdog Timer: heartbeat %d sec\n", + heartbeat); + return ret; +} + +static void __exit avila_wdt_exit(void) +{ + misc_deregister(&avila_wdt_miscdev); + del_timer(&wdt_timer); + wdt_disable(); +} + + +module_init(avila_wdt_init); +module_exit(avila_wdt_exit); + +MODULE_AUTHOR("Felix Fietkau "); +MODULE_DESCRIPTION("Gateworks Avila Hardware Watchdog"); + +module_param(heartbeat, int, 0); +MODULE_PARM_DESC(heartbeat, "Watchdog heartbeat in seconds (default 20s)"); + +module_param(nowayout, int, 0); +MODULE_PARM_DESC(nowayout, "Watchdog cannot be stopped once started"); + +MODULE_LICENSE("GPL"); +MODULE_ALIAS_MISCDEV(WATCHDOG_MINOR); + diff --git a/package/base-files/Makefile b/package/base-files/Makefile new file mode 100644 index 000000000..1d56e9fc7 --- /dev/null +++ b/package/base-files/Makefile @@ -0,0 +1,155 @@ +# +# Copyright (C) 2007-2012 OpenWrt.org +# Copyright (C) 2010 Vertical Communications +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +include $(TOPDIR)/rules.mk +include $(INCLUDE_DIR)/kernel.mk +include $(INCLUDE_DIR)/version.mk + +PKG_NAME:=base-files +PKG_RELEASE:=117 + +PKG_FILE_DEPENDS:=$(PLATFORM_DIR)/ $(GENERIC_PLATFORM_DIR)/base-files/ +PKG_BUILD_DEPENDS:=opkg/host + +include $(INCLUDE_DIR)/package.mk + +ifneq ($(DUMP),1) + TARGET:=-$(BOARD) + ifneq ($(wildcard $(PLATFORM_DIR)/base-files-$(PROFILE) $(PLATFORM_SUBDIR)/base-files-$(PROFILE)),) + TARGET:=$(TARGET)-$(PROFILE) + endif +endif + +define Package/base-files + SECTION:=base + CATEGORY:=Base system + DEPENDS:=+netifd +libc + TITLE:=Base filesystem for OpenWrt + URL:=http://openwrt.org/ + VERSION:=$(PKG_RELEASE)-$(REVISION) +endef + +define Package/base-files/conffiles +/etc/hosts +/etc/inittab +/etc/group +/etc/passwd +/etc/shadow +/etc/profile +/etc/shells +/etc/sysctl.conf +/etc/rc.local +/etc/sysupgrade.conf +/etc/config/ +/etc/dropbear/ +/etc/crontabs/ +$(call $(TARGET)/conffiles) +endef + +define Package/base-files/description + This package contains a base filesystem and system scripts for OpenWrt. +endef + +ifneq ($(CONFIG_PREINITOPT),) +define ImageConfigOptions + mkdir -p $(1)/lib/preinit + echo 'pi_suppress_stderr="$(CONFIG_TARGET_PREINIT_SUPPRESS_STDERR)"' >$(1)/lib/preinit/00_preinit.conf + echo 'fs_failsafe_wait_timeout=$(if $(CONFIG_TARGET_PREINIT_TIMEOUT),$(CONFIG_TARGET_PREINIT_TIMEOUT),2)' >>$(1)/lib/preinit/00_preinit.conf + echo 'pi_init_path=$(if $(CONFIG_TARGET_INIT_PATH),$(CONFIG_TARGET_INIT_PATH),"/bin:/sbin:/usr/bin:/usr/sbin")' >>$(1)/lib/preinit/00_preinit.conf + echo 'pi_init_env=$(if $(CONFIG_TARGET_INIT_ENV),$(CONFIG_TARGET_INIT_ENV),"")' >>$(1)/lib/preinit/00_preinit.conf + echo 'pi_init_cmd=$(if $(CONFIG_TARGET_INIT_CMD),$(CONFIG_TARGET_INIT_CMD),"/sbin/init")' >>$(1)/lib/preinit/00_preinit.conf + echo 'pi_init_suppress_stderr="$(CONFIG_TARGET_INIT_SUPPRESS_STDERR)"' >>$(1)/lib/preinit/00_preinit.conf + echo 'pi_ifname=$(if $(CONFIG_TARGET_PREINIT_IFNAME),$(CONFIG_TARGET_PREINIT_IFNAME),"")' >>$(1)/lib/preinit/00_preinit.conf + echo 'pi_ip=$(if $(CONFIG_TARGET_PREINIT_IP),$(CONFIG_TARGET_PREINIT_IP),"192.168.1.1")' >>$(1)/lib/preinit/00_preinit.conf + echo 'pi_netmask=$(if $(CONFIG_TARGET_PREINIT_NETMASK),$(CONFIG_TARGET_PREINIT_NETMASK),"255.255.255.0")' >>$(1)/lib/preinit/00_preinit.conf + echo 'pi_broadcast=$(if $(CONFIG_TARGET_PREINIT_BROADCAST),$(CONFIG_TARGET_PREINIT_BROADCAST),"192.168.1.255")' >>$(1)/lib/preinit/00_preinit.conf + echo 'pi_preinit_net_messages="$(CONFIG_TARGET_PREINIT_SHOW_NETMSG)"' >>$(1)/lib/preinit/00_preinit.conf + echo 'pi_preinit_no_failsafe_netmsg="$(CONFIG_TARGET_PREINIT_SUPPRESS_FAILSAFE_NETMSG)"' >>$(1)/lib/preinit/00_preinit.conf +endef +endif + +define Build/Prepare + mkdir -p $(PKG_BUILD_DIR) +endef + +define Build/Compile/Default + +endef +Build/Compile = $(Build/Compile/Default) + +define Package/base-files/install + $(CP) ./files/* $(1)/ + if [ -d $(GENERIC_PLATFORM_DIR)/base-files/. ]; then \ + $(CP) $(GENERIC_PLATFORM_DIR)/base-files/* $(1)/; \ + fi + if [ -d $(PLATFORM_DIR)/base-files/. ]; then \ + $(CP) $(PLATFORM_DIR)/base-files/* $(1)/; \ + fi + if [ -d $(PLATFORM_DIR)/base-files-$(PROFILE)/. ]; then \ + $(CP) $(PLATFORM_DIR)/base-files-$(PROFILE)/* $(1)/; \ + fi + if [ -d $(PLATFORM_DIR)/$(PROFILE)/base-files/. ]; then \ + $(CP) $(PLATFORM_DIR)/$(PROFILE)/base-files/* $(1)/; \ + fi + $(if $(filter-out $(PLATFORM_DIR),$(PLATFORM_SUBDIR)), \ + if [ -d $(PLATFORM_SUBDIR)/base-files/. ]; then \ + $(CP) $(PLATFORM_SUBDIR)/base-files/* $(1)/; \ + fi; \ + if [ -d $(PLATFORM_SUBDIR)/base-files-$(PROFILE)/. ]; then \ + $(CP) $(PLATFORM_SUBDIR)/base-files-$(PROFILE)/* $(1)/; \ + fi; \ + if [ -d $(PLATFORM_SUBDIR)/$(PROFILE)/base-files/. ]; then \ + $(CP) $(PLATFORM_SUBDIR)/$(PROFILE)/base-files/* $(1)/; \ + fi \ + ) + + $(VERSION_SED) \ + $(1)/etc/banner \ + $(1)/etc/openwrt_version \ + $(1)/etc/openwrt_release + + mkdir -p $(1)/CONTROL + mkdir -p $(1)/dev + mkdir -p $(1)/etc/crontabs + mkdir -p $(1)/etc/rc.d + mkdir -p $(1)/overlay + mkdir -p $(1)/lib/firmware + $(if $(LIB_SUFFIX),-ln -s lib $(1)/lib$(LIB_SUFFIX)) + mkdir -p $(1)/mnt + mkdir -p $(1)/proc + mkdir -p $(1)/tmp + mkdir -p $(1)/usr/lib + $(if $(LIB_SUFFIX),-ln -s lib $(1)/usr/lib$(LIB_SUFFIX)) + mkdir -p $(1)/usr/bin + mkdir -p $(1)/sys + mkdir -p $(1)/www + mkdir -p $(1)/root + ln -sf /proc/mounts $(1)/etc/mtab + rm -f $(1)/var + ln -sf /tmp $(1)/var + mkdir -p $(1)/etc + ln -sf /tmp/resolv.conf /tmp/fstab /tmp/TZ $(1)/etc/ + + chmod 0600 $(1)/etc/shadow + chmod 1777 $(1)/tmp + + $(call ImageConfigOptions,$(1)) + $(call Package/base-files/install-target,$(1)) + for conffile in $(1)/etc/config/*; do \ + if [ -f "$$$$conffile" ]; then \ + grep "$$$${conffile##$(1)}" $(1)/CONTROL/conffiles || \ + echo "$$$${conffile##$(1)}" >> $(1)/CONTROL/conffiles; \ + fi \ + done +endef + +ifneq ($(DUMP),1) + -include $(PLATFORM_DIR)/base-files.mk +endif + +$(eval $(call BuildPackage,base-files)) diff --git a/package/base-files/files/bin/ipcalc.sh b/package/base-files/files/bin/ipcalc.sh new file mode 100755 index 000000000..d6ef16870 --- /dev/null +++ b/package/base-files/files/bin/ipcalc.sh @@ -0,0 +1,62 @@ +#!/bin/sh + +awk -f - $* <limit) end=limit + + print "IP="int2ip(ipaddr) + print "NETMASK="int2ip(netmask) + print "BROADCAST="int2ip(broadcast) + print "NETWORK="int2ip(network) + print "PREFIX="32-bitcount(compl(netmask)) + + # range calculations: + # ipcalc + + if (ARGC > 3) { + print "START="int2ip(start) + print "END="int2ip(end) + } +} +EOF diff --git a/package/base-files/files/bin/login.sh b/package/base-files/files/bin/login.sh new file mode 100755 index 000000000..04b3fe250 --- /dev/null +++ b/package/base-files/files/bin/login.sh @@ -0,0 +1,19 @@ +#!/bin/sh +# Copyright (C) 2006-2011 OpenWrt.org + +if ( ! grep -qs '^root:[!x]\?:' /etc/shadow || \ + ! grep -qs '^root:[!x]\?:' /etc/passwd ) && \ + [ -z "$FAILSAFE" ] +then + echo "Login failed." + exit 0 +else +cat << EOF + === IMPORTANT ============================ + Use 'passwd' to set your login password + this will disable telnet and enable SSH + ------------------------------------------ +EOF +fi + +exec /bin/ash --login diff --git a/package/base-files/files/etc/banner b/package/base-files/files/etc/banner new file mode 100644 index 000000000..058cb5573 --- /dev/null +++ b/package/base-files/files/etc/banner @@ -0,0 +1,16 @@ + _______ ________ __ + | |.-----.-----.-----.| | | |.----.| |_ + | - || _ | -__| || | | || _|| _| + |_______|| __|_____|__|__||________||__| |____| + |__| W I R E L E S S F R E E D O M + ----------------------------------------------------- + ATTITUDE ADJUSTMENT (%C, %R) + ----------------------------------------------------- + * 1/4 oz Vodka Pour all ingredients into mixing + * 1/4 oz Gin tin with ice, strain into glass. + * 1/4 oz Amaretto + * 1/4 oz Triple sec + * 1/4 oz Peach schnapps + * 1/4 oz Sour mix + * 1 splash Cranberry juice + ----------------------------------------------------- diff --git a/package/base-files/files/etc/config/network b/package/base-files/files/etc/config/network new file mode 100644 index 000000000..a35fd2ef9 --- /dev/null +++ b/package/base-files/files/etc/config/network @@ -0,0 +1,14 @@ +# Copyright (C) 2006 OpenWrt.org + +config interface loopback + option ifname lo + option proto static + option ipaddr 127.0.0.1 + option netmask 255.0.0.0 + +config interface lan + option ifname eth0 + option type bridge + option proto static + option ipaddr 192.168.1.1 + option netmask 255.255.255.0 diff --git a/package/base-files/files/etc/config/system b/package/base-files/files/etc/config/system new file mode 100644 index 000000000..d2124e417 --- /dev/null +++ b/package/base-files/files/etc/config/system @@ -0,0 +1,10 @@ +config system + option hostname OpenWrt + option timezone UTC + +config timeserver ntp + list server 0.openwrt.pool.ntp.org + list server 1.openwrt.pool.ntp.org + list server 2.openwrt.pool.ntp.org + list server 3.openwrt.pool.ntp.org + option enable_server 0 diff --git a/package/base-files/files/etc/diag.sh b/package/base-files/files/etc/diag.sh new file mode 100644 index 000000000..8726a4398 --- /dev/null +++ b/package/base-files/files/etc/diag.sh @@ -0,0 +1,4 @@ +#!/bin/sh +# Copyright (C) 2006-2009 OpenWrt.org + +set_state() { :; } diff --git a/package/base-files/files/etc/functions.sh b/package/base-files/files/etc/functions.sh new file mode 120000 index 000000000..13b3190e7 --- /dev/null +++ b/package/base-files/files/etc/functions.sh @@ -0,0 +1 @@ +../lib/functions.sh \ No newline at end of file diff --git a/package/base-files/files/etc/group b/package/base-files/files/etc/group new file mode 100644 index 000000000..d36685139 --- /dev/null +++ b/package/base-files/files/etc/group @@ -0,0 +1,10 @@ +root:x:0: +daemon:x:1: +adm:x:4: +mail:x:8: +audio:x:29: +www-data:x:33: +ftp:x:55: +users:x:100: +network:x:101: +nogroup:x:65534: diff --git a/package/base-files/files/etc/hosts b/package/base-files/files/etc/hosts new file mode 100644 index 000000000..75721cd5a --- /dev/null +++ b/package/base-files/files/etc/hosts @@ -0,0 +1 @@ +127.0.0.1 localhost diff --git a/package/base-files/files/etc/hotplug.d/ieee1394/10-ieee1394 b/package/base-files/files/etc/hotplug.d/ieee1394/10-ieee1394 new file mode 100644 index 000000000..7e142a211 --- /dev/null +++ b/package/base-files/files/etc/hotplug.d/ieee1394/10-ieee1394 @@ -0,0 +1,13 @@ +#!/bin/sh + +# Copyright (C) 2009 OpenWrt.org + +case "$ACTION" in + add) + # update LEDs + ;; + remove) + # update LEDs + ;; +esac + diff --git a/package/base-files/files/etc/hotplug.d/usb/10-usb b/package/base-files/files/etc/hotplug.d/usb/10-usb new file mode 100644 index 000000000..7e142a211 --- /dev/null +++ b/package/base-files/files/etc/hotplug.d/usb/10-usb @@ -0,0 +1,13 @@ +#!/bin/sh + +# Copyright (C) 2009 OpenWrt.org + +case "$ACTION" in + add) + # update LEDs + ;; + remove) + # update LEDs + ;; +esac + diff --git a/package/base-files/files/etc/hotplug2-common.rules b/package/base-files/files/etc/hotplug2-common.rules new file mode 100644 index 000000000..c284f8f3f --- /dev/null +++ b/package/base-files/files/etc/hotplug2-common.rules @@ -0,0 +1,43 @@ + +# uncomment me to log hotplug events +# DEVPATH is set { +# exec logger -s -t hotplug -p daemon.info "name=%DEVNAME%, path=%DEVPATH%" +# } + +$include /etc/hotplug2-platform.rules + +DEVNAME ~~ (^null$|^full$|^ptmx$|^zero$|^gpio|^hvc) { + makedev /dev/%DEVNAME% 0666 + next-event +} + +DEVNAME == mapper/control { + makedev /dev/%DEVNAME% 0600 + next-event +} + +ACTION == add, DEVPATH is set { + makedev /dev/%DEVNAME% 0644 +} + +ACTION == add, DEVPATH is set, DEVNAME ~~ ^tty { + chmod 0666 /dev/%DEVNAME% +} + +ACTION == add, DEVPATH is set, DEVNAME ~~ ^ppp { + chmod 0600 /dev/%DEVNAME% +} + +ACTION == remove, DEVPATH is set, MAJOR is set, MINOR is set { + remove /dev/%DEVNAME% +} + +FIRMWARE is set, ACTION == add { + exec /sbin/hotplug-call firmware + load-firmware /lib/firmware + next-event +} + +SUBSYSTEM == platform { + exec /sbin/hotplug-call %SUBSYSTEM% +} diff --git a/package/base-files/files/etc/hotplug2-init.rules b/package/base-files/files/etc/hotplug2-init.rules new file mode 100644 index 000000000..f01169776 --- /dev/null +++ b/package/base-files/files/etc/hotplug2-init.rules @@ -0,0 +1,5 @@ +$include /etc/hotplug2-common.rules + +SUBSYSTEM == button { + exec kill -USR1 1 +} diff --git a/package/base-files/files/etc/init.d/boot b/package/base-files/files/etc/init.d/boot new file mode 100755 index 000000000..43837a80f --- /dev/null +++ b/package/base-files/files/etc/init.d/boot @@ -0,0 +1,103 @@ +#!/bin/sh /etc/rc.common +# Copyright (C) 2006-2011 OpenWrt.org + +START=10 +STOP=98 + +system_config() { + local cfg="$1" + + local hostname conloglevel timezone + + config_get hostname "$cfg" hostname 'OpenWrt' + echo "$hostname" > /proc/sys/kernel/hostname + + config_get conloglevel "$cfg" conloglevel + config_get buffersize "$cfg" buffersize + [ -z "$conloglevel" -a -z "$buffersize" ] || dmesg ${conloglevel:+-n $conloglevel} ${buffersize:+-s $buffersize} + + config_get timezone "$cfg" timezone 'UTC' + echo "$timezone" > /tmp/TZ + + config_get zonename "$cfg" zonename + [ -n "$zonename" ] && [ -f "/usr/share/zoneinfo/$zonename" ] && ln -s "/usr/share/zoneinfo/$zonename" /tmp/localtime + + # apply timezone to kernel + date -k + + if [ -x /sbin/syslogd ]; then + local args log_ip log_size log_port log_type log_file + config_get log_ip "$cfg" log_ip + config_get log_size "$cfg" log_size 16 + config_get log_port "$cfg" log_port 514 + config_get log_type "$cfg" log_type circular + config_get log_file "$cfg" log_file "/var/log/messages" + args="${log_ip:+-L -R ${log_ip}:${log_port}} ${conloglevel:+-l $conloglevel}" + if [ "$log_type" = "file" ]; then + args="$args -s $log_size -O $log_file -S" + else + args="$args -C${log_size}" + fi + service_start /sbin/syslogd $args + fi + if [ -x /sbin/klogd ]; then + config_get klogconloglevel "$cfg" klogconloglevel + args="${klogconloglevel:+-c $klogconloglevel}" + service_start /sbin/klogd $args + fi +} + +apply_uci_config() { + sh -c '. /lib/functions.sh; include /lib/config; uci_apply_defaults' +} + +start() { + [ -f /proc/mounts ] || /sbin/mount_root + [ -f /proc/jffs2_bbc ] && echo "S" > /proc/jffs2_bbc + [ -f /proc/net/vlan/config ] && vconfig set_name_type DEV_PLUS_VID_NO_PAD + + mkdir -p /var/run + mkdir -p /var/log + mkdir -p /var/lock + mkdir -p /var/state + mkdir -p /tmp/.uci + chmod 0700 /tmp/.uci + touch /var/log/wtmp + touch /var/log/lastlog + touch /tmp/resolv.conf.auto + ln -sf /tmp/resolv.conf.auto /tmp/resolv.conf + grep -q debugfs /proc/filesystems && mount -t debugfs debugfs /sys/kernel/debug + [ "$FAILSAFE" = "true" ] && touch /tmp/.failsafe + + load_modules /etc/modules.d/* + + # allow wifi modules time to settle + sleep 1 + + /sbin/wifi detect > /tmp/wireless.tmp + [ -s /tmp/wireless.tmp ] && { + cat /tmp/wireless.tmp >> /etc/config/wireless + } + rm -f /tmp/wireless.tmp + + apply_uci_config + config_load system + config_foreach system_config system + + killall -q hotplug2 + [ -x /sbin/hotplug2 ] && /sbin/hotplug2 --override --persistent \ + --set-rules-file /etc/hotplug2.rules \ + --set-coldplug-cmd /sbin/udevtrigger \ + --max-children 1 >/dev/null 2>&1 & + + # create /dev/root if it doesn't exist + [ -e /dev/root -o -h /dev/root ] || { + rootdev=$(awk 'BEGIN { RS=" "; FS="="; } $1 == "root" { print $2 }' < /proc/cmdline) + [ -n "$rootdev" ] && ln -s "$rootdev" /dev/root + } +} + +stop() { + service_stop /sbin/klogd + service_stop /sbin/syslogd +} diff --git a/package/base-files/files/etc/init.d/done b/package/base-files/files/etc/init.d/done new file mode 100755 index 000000000..827866912 --- /dev/null +++ b/package/base-files/files/etc/init.d/done @@ -0,0 +1,20 @@ +#!/bin/sh /etc/rc.common +# Copyright (C) 2006 OpenWrt.org + +START=95 +boot() { + [ -d /tmp/root ] && { + lock /tmp/.switch2jffs + firstboot switch2jffs + lock -u /tmp/.switch2jffs + } + + # process user commands + [ -f /etc/rc.local ] && { + sh /etc/rc.local + } + + # set leds to normal state + . /etc/diag.sh + set_state done +} diff --git a/package/base-files/files/etc/init.d/led b/package/base-files/files/etc/init.d/led new file mode 100755 index 000000000..43964bf0b --- /dev/null +++ b/package/base-files/files/etc/init.d/led @@ -0,0 +1,80 @@ +#!/bin/sh /etc/rc.common +# (C) 2008 openwrt.org + +START=96 + +load_led() { + local name + local sysfs + local trigger + local dev + local mode + local default + local delayon + local delayoff + local interval + + config_get sysfs $1 sysfs + config_get name $1 name "$sysfs" + config_get trigger $1 trigger "none" + config_get dev $1 dev + config_get mode $1 mode "link" + config_get_bool default $1 default "nil" + config_get delayon $1 delayon + config_get delayoff $1 delayoff + config_get interval $1 interval "50" + config_get port_state $1 port_state + + [ -e /sys/class/leds/${sysfs}/brightness ] && { + echo "setting up led ${name}" + [ "$default" != nil ] && { + [ $default -eq 1 ] && + echo 1 >/sys/class/leds/${sysfs}/brightness + [ $default -eq 1 ] || + echo 0 >/sys/class/leds/${sysfs}/brightness + } + echo $trigger > /sys/class/leds/${sysfs}/trigger + case "$trigger" in + "netdev") + [ -n "$dev" ] && { + echo $dev > /sys/class/leds/${sysfs}/device_name + echo $mode > /sys/class/leds/${sysfs}/mode + } + ;; + + "timer") + [ -n "$delayon" ] && \ + echo $delayon > /sys/class/leds/${sysfs}/delay_on + [ -n "$delayoff" ] && \ + echo $delayoff > /sys/class/leds/${sysfs}/delay_off + ;; + + "usbdev") + [ -n "$dev" ] && { + echo $dev > /sys/class/leds/${sysfs}/device_name + echo $interval > /sys/class/leds/${sysfs}/activity_interval + } + ;; + + "port_state") + [ -n "$port_state" ] && \ + echo $port_state > /sys/class/leds/${sysfs}/port_state + ;; + + switch[0-9]*) + local port_mask + + config_get port_mask $1 port_mask + [ -n "$port_mask" ] && \ + echo $port_mask > /sys/class/leds/${sysfs}/port_mask + ;; + esac + } +} + +start() { + [ -e /sys/class/leds/ ] && { + config_load system + config_foreach load_led led + } +} diff --git a/package/base-files/files/etc/init.d/rcS b/package/base-files/files/etc/init.d/rcS new file mode 100755 index 000000000..3ec9bfef6 --- /dev/null +++ b/package/base-files/files/etc/init.d/rcS @@ -0,0 +1,26 @@ +#!/bin/sh +# Copyright (C) 2006 OpenWrt.org + +run_scripts() { + for i in /etc/rc.d/$1*; do + [ -x $i ] && $i $2 2>&1 + done | $LOGGER +} + +system_config() { + config_get_bool foreground $1 foreground 0 +} + +LOGGER="cat" +[ -x /usr/bin/logger ] && LOGGER="logger -s -p 6 -t sysinit" + +. /lib/functions.sh + +config_load system +config_foreach system_config system + +if [ "$1" = "S" -a "$foreground" != "1" ]; then + run_scripts "$1" "$2" & +else + run_scripts "$1" "$2" +fi diff --git a/package/base-files/files/etc/init.d/sysctl b/package/base-files/files/etc/init.d/sysctl new file mode 100755 index 000000000..239779055 --- /dev/null +++ b/package/base-files/files/etc/init.d/sysctl @@ -0,0 +1,7 @@ +#!/bin/sh /etc/rc.common +# Copyright (C) 2006 OpenWrt.org + +START=99 +start() { + [ -f /etc/sysctl.conf ] && sysctl -p -e >&- +} diff --git a/package/base-files/files/etc/init.d/sysntpd b/package/base-files/files/etc/init.d/sysntpd new file mode 100755 index 000000000..bb42ef7d3 --- /dev/null +++ b/package/base-files/files/etc/init.d/sysntpd @@ -0,0 +1,37 @@ +#!/bin/sh /etc/rc.common +# Copyright (C) 2011 OpenWrt.org + +START=98 + +SERVICE_DAEMONIZE=1 +SERVICE_WRITE_PID=1 +SERVICE_PID_FILE=/var/run/sysntpd.pid + +start() { + local peers + local args="-n" + local enable_server + + config_load system + config_get peers ntp server + config_get_bool enable_server ntp enable_server 0 + + if [ $enable_server -ne 0 ]; then + append args "-l" + fi + + if [ -n "$peers" ]; then + local peer + for peer in $peers; do + append args "-p $peer" + done + fi + + if [ "$args" != "-n" ]; then + service_start /usr/sbin/ntpd $args + fi +} + +stop() { + service_stop /usr/sbin/ntpd +} diff --git a/package/base-files/files/etc/init.d/umount b/package/base-files/files/etc/init.d/umount new file mode 100755 index 000000000..5a750b93c --- /dev/null +++ b/package/base-files/files/etc/init.d/umount @@ -0,0 +1,8 @@ +#!/bin/sh /etc/rc.common +# Copyright (C) 2006 OpenWrt.org + +STOP=99 +stop() { + sync + umount -a -d -r +} diff --git a/package/base-files/files/etc/init.d/usb b/package/base-files/files/etc/init.d/usb new file mode 100755 index 000000000..7b443b651 --- /dev/null +++ b/package/base-files/files/etc/init.d/usb @@ -0,0 +1,9 @@ +#!/bin/sh /etc/rc.common +# Copyright (C) 2006 OpenWrt.org + +START=39 +start() { + [ -d /proc/bus/usb ] && { + /bin/mount -t usbfs none /proc/bus/usb + } +} diff --git a/package/base-files/files/etc/init.d/watchdog b/package/base-files/files/etc/init.d/watchdog new file mode 100755 index 000000000..299c89142 --- /dev/null +++ b/package/base-files/files/etc/init.d/watchdog @@ -0,0 +1,13 @@ +#!/bin/sh /etc/rc.common +# Copyright (C) 2008-2011 OpenWrt.org + +START=97 + +start() { + [ -c /dev/watchdog ] || return 1 + [ -x /sbin/watchdog ] || return 1 + service_start /sbin/watchdog -t 5 /dev/watchdog +} +stop() { + service_stop /sbin/watchdog +} diff --git a/package/base-files/files/etc/inittab b/package/base-files/files/etc/inittab new file mode 100644 index 000000000..ca90fd8a2 --- /dev/null +++ b/package/base-files/files/etc/inittab @@ -0,0 +1,4 @@ +::sysinit:/etc/init.d/rcS S boot +::shutdown:/etc/init.d/rcS K shutdown +ttyS0::askfirst:/bin/ash --login +tty1::askfirst:/bin/ash --login diff --git a/package/base-files/files/etc/openwrt_release b/package/base-files/files/etc/openwrt_release new file mode 100644 index 000000000..8ad2d9d4f --- /dev/null +++ b/package/base-files/files/etc/openwrt_release @@ -0,0 +1,6 @@ +DISTRIB_ID="%D" +DISTRIB_RELEASE="%C" +DISTRIB_REVISION="%R" +DISTRIB_CODENAME="%n" +DISTRIB_TARGET="%S" +DISTRIB_DESCRIPTION="%D %N %V" diff --git a/package/base-files/files/etc/openwrt_version b/package/base-files/files/etc/openwrt_version new file mode 100644 index 000000000..4b14f596f --- /dev/null +++ b/package/base-files/files/etc/openwrt_version @@ -0,0 +1 @@ +%V diff --git a/package/base-files/files/etc/passwd b/package/base-files/files/etc/passwd new file mode 100644 index 000000000..1d06a8036 --- /dev/null +++ b/package/base-files/files/etc/passwd @@ -0,0 +1,5 @@ +root:x:0:0:root:/root:/bin/ash +daemon:*:1:1:daemon:/var:/bin/false +ftp:*:55:55:ftp:/home/ftp:/bin/false +network:*:101:101:network:/var:/bin/false +nobody:*:65534:65534:nobody:/var:/bin/false diff --git a/package/base-files/files/etc/preinit b/package/base-files/files/etc/preinit new file mode 100755 index 000000000..0fdfa8cf8 --- /dev/null +++ b/package/base-files/files/etc/preinit @@ -0,0 +1,44 @@ +#!/bin/sh +# Copyright (C) 2006 OpenWrt.org +# Copyright (C) 2010 Vertical Communications + +export PATH=/bin:/sbin:/usr/bin:/usr/sbin + +pi_ifname= +pi_ip=192.168.1.1 +pi_broadcast=192.168.1.255 +pi_netmask=255.255.255.0 + +fs_failsafe_ifname= +fs_failsafe_ip=192.168.1.1 +fs_failsafe_broadcast=192.168.1.255 +fs_failsafe_netmask=255.255.255.0 + +fs_failsafe_wait_timeout=2 + +pi_suppress_stderr="y" +pi_init_suppress_stderr="y" +pi_init_path="/bin:/sbin:/usr/bin:/usr/sbin" +pi_init_cmd="/sbin/init" + +. /lib/functions.sh +. /lib/functions/boot.sh + +boot_hook_init preinit_essential +boot_hook_init preinit_main +boot_hook_init failsafe +boot_hook_init initramfs +boot_hook_init preinit_mount_root + +for pi_source_file in /lib/preinit/*; do + . $pi_source_file +done + +boot_run_hook preinit_essential + +pi_mount_skip_next=false +pi_jffs2_mount_success=false +pi_failsafe_net_message=false + +boot_run_hook preinit_main + diff --git a/package/base-files/files/etc/profile b/package/base-files/files/etc/profile new file mode 100644 index 000000000..171adc18e --- /dev/null +++ b/package/base-files/files/etc/profile @@ -0,0 +1,15 @@ +#!/bin/sh +[ -f /etc/banner ] && cat /etc/banner + +export PATH=/bin:/sbin:/usr/bin:/usr/sbin +export HOME=$(grep -e "^${USER:-root}:" /etc/passwd | cut -d ":" -f 6) +export HOME=${HOME:-/root} +export PS1='\u@\h:\w\$ ' + +[ -x /bin/more ] || alias more=less +[ -x /usr/bin/vim ] && alias vi=vim || alias vim=vi + +[ -z "$KSH_VERSION" -o \! -s /etc/mkshrc ] || . /etc/mkshrc + +[ -x /usr/bin/arp ] || arp() { cat /proc/net/arp; } +[ -x /usr/bin/ldd ] || ldd() { LD_TRACE_LOADED_OBJECTS=1 $*; } diff --git a/package/base-files/files/etc/protocols b/package/base-files/files/etc/protocols new file mode 100644 index 000000000..53fecb6d3 --- /dev/null +++ b/package/base-files/files/etc/protocols @@ -0,0 +1,56 @@ +# Internet (IP) protocols +# +# Updated from http://www.iana.org/assignments/protocol-numbers and other +# sources. +# New protocols will be added on request if they have been officially +# assigned by IANA and are not historical. +# If you need a huge list of used numbers please install the nmap package. + +ip 0 IP # internet protocol, pseudo protocol number +#hopopt 0 HOPOPT # IPv6 Hop-by-Hop Option [RFC1883] +icmp 1 ICMP # internet control message protocol +igmp 2 IGMP # Internet Group Management +ggp 3 GGP # gateway-gateway protocol +ipencap 4 IP-ENCAP # IP encapsulated in IP (officially ``IP'') +st 5 ST # ST datagram mode +tcp 6 TCP # transmission control protocol +egp 8 EGP # exterior gateway protocol +igp 9 IGP # any private interior gateway (Cisco) +pup 12 PUP # PARC universal packet protocol +udp 17 UDP # user datagram protocol +hmp 20 HMP # host monitoring protocol +xns-idp 22 XNS-IDP # Xerox NS IDP +rdp 27 RDP # "reliable datagram" protocol +iso-tp4 29 ISO-TP4 # ISO Transport Protocol class 4 [RFC905] +xtp 36 XTP # Xpress Transfer Protocol +ddp 37 DDP # Datagram Delivery Protocol +idpr-cmtp 38 IDPR-CMTP # IDPR Control Message Transport +ipv6 41 IPv6 # Internet Protocol, version 6 +ipv6-route 43 IPv6-Route # Routing Header for IPv6 +ipv6-frag 44 IPv6-Frag # Fragment Header for IPv6 +idrp 45 IDRP # Inter-Domain Routing Protocol +rsvp 46 RSVP # Reservation Protocol +gre 47 GRE # General Routing Encapsulation +esp 50 IPSEC-ESP # Encap Security Payload [RFC2046] +ah 51 IPSEC-AH # Authentication Header [RFC2402] +skip 57 SKIP # SKIP +ipv6-icmp 58 IPv6-ICMP # ICMP for IPv6 +ipv6-nonxt 59 IPv6-NoNxt # No Next Header for IPv6 +ipv6-opts 60 IPv6-Opts # Destination Options for IPv6 +rspf 73 RSPF CPHB # Radio Shortest Path First (officially CPHB) +vmtp 81 VMTP # Versatile Message Transport +eigrp 88 EIGRP # Enhanced Interior Routing Protocol (Cisco) +ospf 89 OSPFIGP # Open Shortest Path First IGP +ax.25 93 AX.25 # AX.25 frames +ipip 94 IPIP # IP-within-IP Encapsulation Protocol +etherip 97 ETHERIP # Ethernet-within-IP Encapsulation [RFC3378] +encap 98 ENCAP # Yet Another IP encapsulation [RFC1241] +# 99 # any private encryption scheme +pim 103 PIM # Protocol Independent Multicast +ipcomp 108 IPCOMP # IP Payload Compression Protocol +vrrp 112 VRRP # Virtual Router Redundancy Protocol +l2tp 115 L2TP # Layer Two Tunneling Protocol [RFC2661] +isis 124 ISIS # IS-IS over IPv4 +sctp 132 SCTP # Stream Control Transmission Protocol +fc 133 FC # Fibre Channel + diff --git a/package/base-files/files/etc/rc.common b/package/base-files/files/etc/rc.common new file mode 100755 index 000000000..fa2df6cd2 --- /dev/null +++ b/package/base-files/files/etc/rc.common @@ -0,0 +1,85 @@ +#!/bin/sh +# Copyright (C) 2006-2012 OpenWrt.org + +. $IPKG_INSTROOT/lib/functions.sh +. $IPKG_INSTROOT/lib/functions/service.sh + +initscript=$1 +action=${2:-help} +shift 2 + +start() { + return 0 +} + +stop() { + return 0 +} + +reload() { + return 1 +} + +restart() { + trap '' TERM + stop "$@" + start "$@" +} + +boot() { + start "$@" +} + +shutdown() { + stop +} + +disable() { + name="$(basename "${initscript}")" + rm -f "$IPKG_INSTROOT"/etc/rc.d/S??$name + rm -f "$IPKG_INSTROOT"/etc/rc.d/K??$name +} + +enable() { + name="$(basename "${initscript}")" + disable + [ -n "$START" -o -n "$STOP" ] || { + echo "/etc/init.d/$name does not have a START or STOP value" + return 1 + } + [ "$START" ] && ln -s "../init.d/$name" "$IPKG_INSTROOT/etc/rc.d/S${START}${name##S[0-9][0-9]}" + [ "$STOP" ] && ln -s "../init.d/$name" "$IPKG_INSTROOT/etc/rc.d/K${STOP}${name##K[0-9][0-9]}" +} + +enabled() { + name="$(basename "${initscript}")" + [ -x "$IPKG_INSTROOT/etc/rc.d/S${START}${name##S[0-9][0-9]}" ] +} + +depends() { + return 0 +} + +help() { + cat </dev/null +} + +boot_hook_add no_fo no_fo_mount_jffs diff --git a/package/base-files/files/lib/firstboot/20_reset_clear_jffs b/package/base-files/files/lib/firstboot/20_reset_clear_jffs new file mode 100644 index 000000000..a3cd24fe9 --- /dev/null +++ b/package/base-files/files/lib/firstboot/20_reset_clear_jffs @@ -0,0 +1,14 @@ +#!/bin/sh + +# Copyright (C) 2006-2010 OpenWrt.org +# Copyright (C) 2010 Vertical Communications + +reset_clear_jffs() { + [ "$reset_has_fo" = "true" ] && { + rm -rf $jffs/* 2>&- + mount -o remount $jffs / 2>&- + exit 0 + } || reset_has_fo=false +} + +boot_hook_add jffs2reset reset_clear_jffs diff --git a/package/base-files/files/lib/firstboot/30_is_rootfs_mounted b/package/base-files/files/lib/firstboot/30_is_rootfs_mounted new file mode 100644 index 000000000..e2ba01d50 --- /dev/null +++ b/package/base-files/files/lib/firstboot/30_is_rootfs_mounted @@ -0,0 +1,10 @@ +#!/bin/sh + +# Copyright (C) 2006-2010 OpenWrt.org +# Copyright (C) 2010 Vertical Communications + +skip_if_rootfs_mounted() { + mount "$mtdpart" /rom/overlay -t jffs2 || exit +} + +boot_hook_add switch2jffs skip_if_rootfs_mounted diff --git a/package/base-files/files/lib/firstboot/30_no_fo_pivot b/package/base-files/files/lib/firstboot/30_no_fo_pivot new file mode 100644 index 000000000..b5c2601ee --- /dev/null +++ b/package/base-files/files/lib/firstboot/30_no_fo_pivot @@ -0,0 +1,11 @@ +#!/bin/sh + +# Copyright (C) 2006-2010 OpenWrt.org +# Copyright (C) 2010 Vertical Communications + +no_fo_pivot() { + # switch to the new (empty) jffs2 + fopivot /overlay /rom 1 +} + +boot_hook_add no_fo no_fo_pivot diff --git a/package/base-files/files/lib/firstboot/30_reset_copy_rom b/package/base-files/files/lib/firstboot/30_reset_copy_rom new file mode 100644 index 000000000..d91c68947 --- /dev/null +++ b/package/base-files/files/lib/firstboot/30_reset_copy_rom @@ -0,0 +1,13 @@ +#!/bin/sh + +# Copyright (C) 2006-2010 OpenWrt.org +# Copyright (C) 2010 Vertical Communications + +reset_copy_rom() { + [ "$reset_has_fo" != "true" ] && { + dupe $jffs $rom + exit 0 + } +} + +boot_hook_add jffs2reset reset_copy_rom diff --git a/package/base-files/files/lib/firstboot/40_copy_ramoverlay b/package/base-files/files/lib/firstboot/40_copy_ramoverlay new file mode 100644 index 000000000..39c2edacb --- /dev/null +++ b/package/base-files/files/lib/firstboot/40_copy_ramoverlay @@ -0,0 +1,15 @@ +#!/bin/sh + +# Copyright (C) 2006-2010 OpenWrt.org +# Copyright (C) 2010 Vertical Communications + +copy_ramoverlay() { + # try to avoid fs changing while copying + mount -o remount,ro none / 2>&- + # copy ramoverlay to jffs2 + echo -n "copying files ... " + cp -a /tmp/root/* /rom/overlay 2>&- + echo "done" +} + +boot_hook_add switch2jffs copy_ramoverlay diff --git a/package/base-files/files/lib/firstboot/40_no_fo_copy_ramoverlay b/package/base-files/files/lib/firstboot/40_no_fo_copy_ramoverlay new file mode 100644 index 000000000..ced7c1b66 --- /dev/null +++ b/package/base-files/files/lib/firstboot/40_no_fo_copy_ramoverlay @@ -0,0 +1,14 @@ +#!/bin/sh + +# Copyright (C) 2006-2010 OpenWrt.org +# Copyright (C) 2010 Vertical Communications + +no_fo_copy_ramoverlay() { + # copy ramoverlay to jffs2, must be done after switching + # to the new rootfs to avoid creating opaque directories + echo -n "copying files ... " + cp -a /tmp/root/* / >/dev/null 2>&1 + sync +} + +boot_hook_add no_fo no_fo_ramoverlay diff --git a/package/base-files/files/lib/firstboot/50_pivot b/package/base-files/files/lib/firstboot/50_pivot new file mode 100644 index 000000000..53801d7a8 --- /dev/null +++ b/package/base-files/files/lib/firstboot/50_pivot @@ -0,0 +1,17 @@ +#!/bin/sh + +# Copyright (C) 2006-2010 OpenWrt.org +# Copyright (C) 2010 Vertical Communications + +with_fo_pivot() { + # switch back to squashfs (temporarily) + # and park the ramdisk ontop of /tmp/root + pivot /rom /mnt + mount -o move /mnt /tmp/root + + # /overlay is the overlay + # /rom is the readonly + fopivot /overlay /rom +} + +boot_hook_add switch2jffs with_fo_pivot diff --git a/package/base-files/files/lib/firstboot/99_10_no_fo_cleanup b/package/base-files/files/lib/firstboot/99_10_no_fo_cleanup new file mode 100644 index 000000000..6dedcb1e8 --- /dev/null +++ b/package/base-files/files/lib/firstboot/99_10_no_fo_cleanup @@ -0,0 +1,13 @@ +#!/bin/sh + +# Copyright (C) 2006-2010 OpenWrt.org +# Copyright (C) 2010 Vertical Communications + +no_fo_cleanup() { + echo "done" + umount -l /overlay + umount -l /tmp/root + exit 0 +} + +boot_hook_add no_fo no_fo_cleanup diff --git a/package/base-files/files/lib/firstboot/99_10_with_fo_cleanup b/package/base-files/files/lib/firstboot/99_10_with_fo_cleanup new file mode 100644 index 000000000..0181b39d4 --- /dev/null +++ b/package/base-files/files/lib/firstboot/99_10_with_fo_cleanup @@ -0,0 +1,25 @@ +#!/bin/sh + +# Copyright (C) 2006-2010 OpenWrt.org +# Copyright (C) 2010 Vertical Communications + +with_fo_cleanup() { + # try to get rid of /tmp/root + # this will almost always fail + umount /tmp/root 2>&- + grep -q overlay /proc/filesystems && { + cd / + ( + cd /overlay + find -type l + ) | while read FILE; do + [ -z "$FILE" ] && break + if ls -la "$FILE" 2>&- | grep -q '(overlay-whiteout)'; then + rm -f "$FILE" + fi + done + } + exit 0 +} + +boot_hook_add switch2jffs with_fo_cleanup diff --git a/package/base-files/files/lib/functions.sh b/package/base-files/files/lib/functions.sh new file mode 100755 index 000000000..b3a3885f2 --- /dev/null +++ b/package/base-files/files/lib/functions.sh @@ -0,0 +1,340 @@ +#!/bin/sh +# Copyright (C) 2006-2011 OpenWrt.org +# Copyright (C) 2006 Fokus Fraunhofer + + +debug () { + ${DEBUG:-:} "$@" +} +mount() { + busybox mount "$@" +} + +# newline +N=" +" + +_C=0 +NO_EXPORT=1 +LOAD_STATE=1 +LIST_SEP=" " + +hotplug_dev() { + env -i ACTION=$1 INTERFACE=$2 /sbin/hotplug-call net +} + +append() { + local var="$1" + local value="$2" + local sep="${3:- }" + + eval "export ${NO_EXPORT:+-n} -- \"$var=\${$var:+\${$var}\${value:+\$sep}}\$value\"" +} + +list_contains() { + local var="$1" + local str="$2" + local val + + eval "val=\" \${$var} \"" + [ "${val%% $str *}" != "$val" ] +} + +list_remove() { + local var="$1" + local remove="$2" + local val + + eval "val=\" \${$var} \"" + val1="${val%% $remove *}" + [ "$val1" = "$val" ] && return + val2="${val##* $remove }" + [ "$val2" = "$val" ] && return + val="${val1## } ${val2%% }" + val="${val%% }" + eval "export ${NO_EXPORT:+-n} -- \"$var=\$val\"" +} + +config_load() { + [ -n "$IPKG_INSTROOT" ] && return 0 + uci_load "$@" +} + +reset_cb() { + config_cb() { return 0; } + option_cb() { return 0; } + list_cb() { return 0; } +} +reset_cb + +package() { + return 0 +} + +config () { + local cfgtype="$1" + local name="$2" + + export ${NO_EXPORT:+-n} CONFIG_NUM_SECTIONS=$(($CONFIG_NUM_SECTIONS + 1)) + name="${name:-cfg$CONFIG_NUM_SECTIONS}" + append CONFIG_SECTIONS "$name" + [ -n "$NO_CALLBACK" ] || config_cb "$cfgtype" "$name" + export ${NO_EXPORT:+-n} CONFIG_SECTION="$name" + export ${NO_EXPORT:+-n} "CONFIG_${CONFIG_SECTION}_TYPE=$cfgtype" +} + +option () { + local varname="$1"; shift + local value="$*" + + export ${NO_EXPORT:+-n} "CONFIG_${CONFIG_SECTION}_${varname}=$value" + [ -n "$NO_CALLBACK" ] || option_cb "$varname" "$*" +} + +list() { + local varname="$1"; shift + local value="$*" + local len + + config_get len "$CONFIG_SECTION" "${varname}_LENGTH" 0 + [ $len = 0 ] && append CONFIG_LIST_STATE "${CONFIG_SECTION}_${varname}" + len=$(($len + 1)) + config_set "$CONFIG_SECTION" "${varname}_ITEM$len" "$value" + config_set "$CONFIG_SECTION" "${varname}_LENGTH" "$len" + append "CONFIG_${CONFIG_SECTION}_${varname}" "$value" "$LIST_SEP" + list_cb "$varname" "$*" +} + +config_rename() { + local OLD="$1" + local NEW="$2" + local oldvar + local newvar + + [ -n "$OLD" -a -n "$NEW" ] || return + for oldvar in `set | grep ^CONFIG_${OLD}_ | \ + sed -e 's/\(.*\)=.*$/\1/'` ; do + newvar="CONFIG_${NEW}_${oldvar##CONFIG_${OLD}_}" + eval "export ${NO_EXPORT:+-n} \"$newvar=\${$oldvar}\"" + unset "$oldvar" + done + export ${NO_EXPORT:+-n} CONFIG_SECTIONS="$(echo " $CONFIG_SECTIONS " | sed -e "s, $OLD , $NEW ,")" + + [ "$CONFIG_SECTION" = "$OLD" ] && export ${NO_EXPORT:+-n} CONFIG_SECTION="$NEW" +} + +config_unset() { + config_set "$1" "$2" "" +} + +config_clear() { + local SECTION="$1" + local oldvar + + list_remove CONFIG_SECTIONS "$SECTION" + export ${NO_EXPORT:+-n} CONFIG_SECTIONS="${SECTION:+$CONFIG_SECTIONS}" + + for oldvar in `set | grep ^CONFIG_${SECTION:+${SECTION}_} | \ + sed -e 's/\(.*\)=.*$/\1/'` ; do + unset $oldvar + done +} + +# config_get