Cleanup local patchset.
authorDavid-John Willis <John.Willis@Distant-earth.com>
Wed, 18 Mar 2009 08:57:43 +0000 (08:57 +0000)
committerDavid-John Willis <John.Willis@Distant-earth.com>
Wed, 18 Mar 2009 08:57:43 +0000 (08:57 +0000)
packages/linux/omap3-pandora-kernel/defconfig.bak [deleted file]
packages/pandora-system/pandora-libpnd.bb [new file with mode: 0755]
packages/pandora-system/pandora-wifi-tools_git.bb
packages/pandora-system/pandora-wifi.inc
packages/pandora-system/pandora-wifi/0011-Add-in-the-start-of-wireless-extensions-support-ioc.patch [new file with mode: 0755]
packages/pandora-system/pandora-wifi/rc.tiwifi
packages/pandora-system/pandora-wifi_git.bb
packages/tasks/task-pandora-core.bb
packages/tasks/task-pandora-desktop.bb
packages/tasks/task-pandora-gui.bb

diff --git a/packages/linux/omap3-pandora-kernel/defconfig.bak b/packages/linux/omap3-pandora-kernel/defconfig.bak
deleted file mode 100755 (executable)
index 92f3c08..0000000
+++ /dev/null
@@ -1,1970 +0,0 @@
-#
-# Automatically generated make config: don't edit
-# Linux kernel version: 2.6.27-omap1
-# Mon Jan 12 18:36:10 2009
-#
-CONFIG_ARM=y
-CONFIG_SYS_SUPPORTS_APM_EMULATION=y
-CONFIG_GENERIC_GPIO=y
-CONFIG_GENERIC_TIME=y
-CONFIG_GENERIC_CLOCKEVENTS=y
-CONFIG_MMU=y
-# CONFIG_NO_IOPORT is not set
-CONFIG_GENERIC_HARDIRQS=y
-CONFIG_STACKTRACE_SUPPORT=y
-CONFIG_HAVE_LATENCYTOP_SUPPORT=y
-CONFIG_LOCKDEP_SUPPORT=y
-CONFIG_TRACE_IRQFLAGS_SUPPORT=y
-CONFIG_HARDIRQS_SW_RESEND=y
-CONFIG_GENERIC_IRQ_PROBE=y
-CONFIG_RWSEM_GENERIC_SPINLOCK=y
-# CONFIG_ARCH_HAS_ILOG2_U32 is not set
-# CONFIG_ARCH_HAS_ILOG2_U64 is not set
-CONFIG_GENERIC_HWEIGHT=y
-CONFIG_GENERIC_CALIBRATE_DELAY=y
-CONFIG_ARCH_SUPPORTS_AOUT=y
-CONFIG_ZONE_DMA=y
-CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
-CONFIG_OPROFILE_ARMV7=y
-CONFIG_VECTORS_BASE=0xffff0000
-CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
-
-#
-# General setup
-#
-CONFIG_EXPERIMENTAL=y
-CONFIG_BROKEN_ON_SMP=y
-CONFIG_INIT_ENV_ARG_LIMIT=32
-CONFIG_LOCALVERSION=""
-CONFIG_LOCALVERSION_AUTO=y
-CONFIG_SWAP=y
-CONFIG_SYSVIPC=y
-CONFIG_SYSVIPC_SYSCTL=y
-# CONFIG_POSIX_MQUEUE is not set
-CONFIG_BSD_PROCESS_ACCT=y
-# CONFIG_BSD_PROCESS_ACCT_V3 is not set
-# CONFIG_TASKSTATS is not set
-# CONFIG_AUDIT is not set
-CONFIG_IKCONFIG=y
-CONFIG_IKCONFIG_PROC=y
-CONFIG_LOG_BUF_SHIFT=14
-CONFIG_CGROUPS=y
-# CONFIG_CGROUP_DEBUG is not set
-# CONFIG_CGROUP_NS is not set
-CONFIG_CGROUP_DEVICE=y
-CONFIG_GROUP_SCHED=y
-CONFIG_FAIR_GROUP_SCHED=y
-# CONFIG_RT_GROUP_SCHED is not set
-CONFIG_USER_SCHED=y
-# CONFIG_CGROUP_SCHED is not set
-CONFIG_SYSFS_DEPRECATED=y
-CONFIG_SYSFS_DEPRECATED_V2=y
-# CONFIG_RELAY is not set
-CONFIG_NAMESPACES=y
-CONFIG_UTS_NS=y
-CONFIG_IPC_NS=y
-CONFIG_USER_NS=y
-CONFIG_PID_NS=y
-CONFIG_BLK_DEV_INITRD=y
-CONFIG_INITRAMFS_SOURCE=""
-CONFIG_CC_OPTIMIZE_FOR_SIZE=y
-CONFIG_SYSCTL=y
-CONFIG_EMBEDDED=y
-CONFIG_UID16=y
-# CONFIG_SYSCTL_SYSCALL is not set
-CONFIG_KALLSYMS=y
-# CONFIG_KALLSYMS_ALL is not set
-CONFIG_KALLSYMS_EXTRA_PASS=y
-CONFIG_HOTPLUG=y
-CONFIG_PRINTK=y
-CONFIG_BUG=y
-CONFIG_ELF_CORE=y
-CONFIG_COMPAT_BRK=y
-CONFIG_BASE_FULL=y
-CONFIG_FUTEX=y
-CONFIG_ANON_INODES=y
-CONFIG_EPOLL=y
-CONFIG_SIGNALFD=y
-CONFIG_TIMERFD=y
-CONFIG_EVENTFD=y
-CONFIG_SHMEM=y
-CONFIG_VM_EVENT_COUNTERS=y
-CONFIG_SLAB=y
-# CONFIG_SLUB is not set
-# CONFIG_SLOB is not set
-# CONFIG_PROFILING is not set
-# CONFIG_MARKERS is not set
-CONFIG_HAVE_OPROFILE=y
-# CONFIG_KPROBES is not set
-# CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS is not set
-# CONFIG_HAVE_IOREMAP_PROT is not set
-CONFIG_HAVE_KPROBES=y
-CONFIG_HAVE_KRETPROBES=y
-# CONFIG_HAVE_ARCH_TRACEHOOK is not set
-# CONFIG_HAVE_DMA_ATTRS is not set
-# CONFIG_USE_GENERIC_SMP_HELPERS is not set
-CONFIG_HAVE_CLK=y
-CONFIG_PROC_PAGE_MONITOR=y
-CONFIG_HAVE_GENERIC_DMA_COHERENT=y
-CONFIG_SLABINFO=y
-CONFIG_RT_MUTEXES=y
-# CONFIG_TINY_SHMEM is not set
-CONFIG_BASE_SMALL=0
-CONFIG_MODULES=y
-CONFIG_MODULE_FORCE_LOAD=y
-CONFIG_MODULE_UNLOAD=y
-CONFIG_MODULE_FORCE_UNLOAD=y
-CONFIG_MODVERSIONS=y
-CONFIG_MODULE_SRCVERSION_ALL=y
-CONFIG_KMOD=y
-CONFIG_BLOCK=y
-CONFIG_LBD=y
-# CONFIG_BLK_DEV_IO_TRACE is not set
-CONFIG_LSF=y
-# CONFIG_BLK_DEV_BSG is not set
-# CONFIG_BLK_DEV_INTEGRITY is not set
-
-#
-# IO Schedulers
-#
-CONFIG_IOSCHED_NOOP=y
-CONFIG_IOSCHED_AS=y
-CONFIG_IOSCHED_DEADLINE=y
-CONFIG_IOSCHED_CFQ=y
-# CONFIG_DEFAULT_AS is not set
-# CONFIG_DEFAULT_DEADLINE is not set
-CONFIG_DEFAULT_CFQ=y
-# CONFIG_DEFAULT_NOOP is not set
-CONFIG_DEFAULT_IOSCHED="cfq"
-CONFIG_CLASSIC_RCU=y
-
-#
-# System Type
-#
-# CONFIG_ARCH_AAEC2000 is not set
-# CONFIG_ARCH_INTEGRATOR is not set
-# CONFIG_ARCH_REALVIEW is not set
-# CONFIG_ARCH_VERSATILE is not set
-# CONFIG_ARCH_AT91 is not set
-# CONFIG_ARCH_CLPS7500 is not set
-# CONFIG_ARCH_CLPS711X is not set
-# CONFIG_ARCH_EBSA110 is not set
-# CONFIG_ARCH_EP93XX is not set
-# CONFIG_ARCH_FOOTBRIDGE is not set
-# CONFIG_ARCH_NETX is not set
-# CONFIG_ARCH_H720X is not set
-# CONFIG_ARCH_IMX is not set
-# CONFIG_ARCH_IOP13XX is not set
-# CONFIG_ARCH_IOP32X is not set
-# CONFIG_ARCH_IOP33X is not set
-# CONFIG_ARCH_IXP23XX is not set
-# CONFIG_ARCH_IXP2000 is not set
-# CONFIG_ARCH_IXP4XX is not set
-# CONFIG_ARCH_L7200 is not set
-# CONFIG_ARCH_KIRKWOOD is not set
-# CONFIG_ARCH_KS8695 is not set
-# CONFIG_ARCH_NS9XXX is not set
-# CONFIG_ARCH_LOKI is not set
-# CONFIG_ARCH_MV78XX0 is not set
-# CONFIG_ARCH_MXC is not set
-# CONFIG_ARCH_ORION5X is not set
-# CONFIG_ARCH_PNX4008 is not set
-# CONFIG_ARCH_PXA is not set
-# CONFIG_ARCH_RPC is not set
-# CONFIG_ARCH_SA1100 is not set
-# CONFIG_ARCH_S3C2410 is not set
-# CONFIG_ARCH_SHARK is not set
-# CONFIG_ARCH_LH7A40X is not set
-# CONFIG_ARCH_DAVINCI is not set
-CONFIG_ARCH_OMAP=y
-# CONFIG_ARCH_MSM7X00A is not set
-
-#
-# TI OMAP Implementations
-#
-CONFIG_ARCH_OMAP_OTG=y
-# CONFIG_ARCH_OMAP1 is not set
-# CONFIG_ARCH_OMAP2 is not set
-CONFIG_ARCH_OMAP3=y
-
-#
-# OMAP Feature Selections
-#
-# CONFIG_OMAP_DEBUG_POWERDOMAIN is not set
-# CONFIG_OMAP_DEBUG_CLOCKDOMAIN is not set
-CONFIG_OMAP_SMARTREFLEX=y
-# CONFIG_OMAP_SMARTREFLEX_TESTING is not set
-CONFIG_OMAP_RESET_CLOCKS=y
-CONFIG_OMAP_BOOT_TAG=y
-CONFIG_OMAP_BOOT_REASON=y
-# CONFIG_OMAP_COMPONENT_VERSION is not set
-# CONFIG_OMAP_GPIO_SWITCH is not set
-# CONFIG_OMAP_MUX is not set
-CONFIG_OMAP_MCBSP=y
-# CONFIG_OMAP_MMU_FWK is not set
-# CONFIG_OMAP_MBOX_FWK is not set
-# CONFIG_OMAP_MPU_TIMER is not set
-CONFIG_OMAP_32K_TIMER=y
-CONFIG_OMAP_32K_TIMER_HZ=128
-CONFIG_OMAP_DM_TIMER=y
-# CONFIG_OMAP_LL_DEBUG_UART1 is not set
-# CONFIG_OMAP_LL_DEBUG_UART2 is not set
-CONFIG_OMAP_LL_DEBUG_UART3=y
-CONFIG_ARCH_OMAP34XX=y
-CONFIG_ARCH_OMAP3430=y
-
-#
-# OMAP Board Type
-#
-# CONFIG_MACH_OMAP_LDP is not set
-# CONFIG_MACH_OMAP_3430SDP is not set
-# CONFIG_MACH_OMAP3EVM is not set
-# CONFIG_MACH_OMAP3_BEAGLE is not set
-# CONFIG_MACH_OVERO is not set
-CONFIG_MACH_OMAP3_PANDORA=y
-CONFIG_OMAP_TICK_GPTIMER=12
-
-#
-# Boot options
-#
-
-#
-# Power management
-#
-
-#
-# Processor Type
-#
-CONFIG_CPU_32=y
-CONFIG_CPU_32v6K=y
-CONFIG_CPU_V7=y
-CONFIG_CPU_32v7=y
-CONFIG_CPU_ABRT_EV7=y
-CONFIG_CPU_PABRT_IFAR=y
-CONFIG_CPU_CACHE_V7=y
-CONFIG_CPU_CACHE_VIPT=y
-CONFIG_CPU_COPY_V6=y
-CONFIG_CPU_TLB_V7=y
-CONFIG_CPU_HAS_ASID=y
-CONFIG_CPU_CP15=y
-CONFIG_CPU_CP15_MMU=y
-
-#
-# Processor Features
-#
-CONFIG_ARM_THUMB=y
-CONFIG_ARM_THUMBEE=y
-# CONFIG_CPU_ICACHE_DISABLE is not set
-# CONFIG_CPU_DCACHE_DISABLE is not set
-# CONFIG_CPU_BPREDICT_DISABLE is not set
-CONFIG_HAS_TLS_REG=y
-# CONFIG_OUTER_CACHE is not set
-
-#
-# Bus support
-#
-# CONFIG_PCI_SYSCALL is not set
-# CONFIG_ARCH_SUPPORTS_MSI is not set
-# CONFIG_PCCARD is not set
-
-#
-# Kernel Features
-#
-CONFIG_TICK_ONESHOT=y
-CONFIG_NO_HZ=y
-CONFIG_HIGH_RES_TIMERS=y
-CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
-# CONFIG_PREEMPT is not set
-CONFIG_HZ=128
-CONFIG_AEABI=y
-# CONFIG_OABI_COMPAT is not set
-CONFIG_ARCH_FLATMEM_HAS_HOLES=y
-# CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set
-CONFIG_SELECT_MEMORY_MODEL=y
-CONFIG_FLATMEM_MANUAL=y
-# CONFIG_DISCONTIGMEM_MANUAL is not set
-# CONFIG_SPARSEMEM_MANUAL is not set
-CONFIG_FLATMEM=y
-CONFIG_FLAT_NODE_MEM_MAP=y
-# CONFIG_SPARSEMEM_STATIC is not set
-# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
-CONFIG_PAGEFLAGS_EXTENDED=y
-CONFIG_SPLIT_PTLOCK_CPUS=4
-# CONFIG_RESOURCES_64BIT is not set
-CONFIG_ZONE_DMA_FLAG=1
-CONFIG_BOUNCE=y
-CONFIG_VIRT_TO_BUS=y
-CONFIG_LEDS=y
-CONFIG_ALIGNMENT_TRAP=y
-
-#
-# Boot options
-#
-CONFIG_ZBOOT_ROM_TEXT=0x0
-CONFIG_ZBOOT_ROM_BSS=0x0
-CONFIG_CMDLINE=" debug "
-# CONFIG_XIP_KERNEL is not set
-CONFIG_KEXEC=y
-CONFIG_ATAGS_PROC=y
-
-#
-# CPU Frequency scaling
-#
-# CONFIG_CPU_FREQ is not set
-
-#
-# Floating point emulation
-#
-
-#
-# At least one emulation must be selected
-#
-CONFIG_FPE_NWFPE=y
-# CONFIG_FPE_NWFPE_XP is not set
-# CONFIG_FPE_FASTFPE is not set
-CONFIG_VFP=y
-CONFIG_VFPv3=y
-CONFIG_NEON=y
-
-#
-# Userspace binary formats
-#
-CONFIG_BINFMT_ELF=y
-CONFIG_BINFMT_AOUT=m
-CONFIG_BINFMT_MISC=y
-
-#
-# Power management options
-#
-CONFIG_PM=y
-# CONFIG_PM_DEBUG is not set
-CONFIG_PM_SLEEP=y
-CONFIG_SUSPEND=y
-CONFIG_SUSPEND_FREEZER=y
-# CONFIG_APM_EMULATION is not set
-CONFIG_ARCH_SUSPEND_POSSIBLE=y
-CONFIG_NET=y
-
-#
-# Networking options
-#
-CONFIG_PACKET=y
-CONFIG_PACKET_MMAP=y
-CONFIG_UNIX=y
-CONFIG_XFRM=y
-# CONFIG_XFRM_USER is not set
-# CONFIG_XFRM_SUB_POLICY is not set
-# CONFIG_XFRM_MIGRATE is not set
-# CONFIG_XFRM_STATISTICS is not set
-CONFIG_NET_KEY=y
-# CONFIG_NET_KEY_MIGRATE is not set
-CONFIG_INET=y
-# CONFIG_IP_MULTICAST is not set
-# CONFIG_IP_ADVANCED_ROUTER is not set
-CONFIG_IP_FIB_HASH=y
-CONFIG_IP_PNP=y
-CONFIG_IP_PNP_DHCP=y
-CONFIG_IP_PNP_BOOTP=y
-CONFIG_IP_PNP_RARP=y
-# CONFIG_NET_IPIP is not set
-# CONFIG_NET_IPGRE is not set
-# CONFIG_ARPD is not set
-# CONFIG_SYN_COOKIES is not set
-# CONFIG_INET_AH is not set
-# CONFIG_INET_ESP is not set
-# CONFIG_INET_IPCOMP is not set
-# CONFIG_INET_XFRM_TUNNEL is not set
-CONFIG_INET_TUNNEL=m
-CONFIG_INET_XFRM_MODE_TRANSPORT=y
-CONFIG_INET_XFRM_MODE_TUNNEL=y
-CONFIG_INET_XFRM_MODE_BEET=y
-# CONFIG_INET_LRO is not set
-CONFIG_INET_DIAG=y
-CONFIG_INET_TCP_DIAG=y
-# CONFIG_TCP_CONG_ADVANCED is not set
-CONFIG_TCP_CONG_CUBIC=y
-CONFIG_DEFAULT_TCP_CONG="cubic"
-# CONFIG_TCP_MD5SIG is not set
-CONFIG_IPV6=m
-# CONFIG_IPV6_PRIVACY is not set
-# CONFIG_IPV6_ROUTER_PREF is not set
-# CONFIG_IPV6_OPTIMISTIC_DAD is not set
-# CONFIG_INET6_AH is not set
-# CONFIG_INET6_ESP is not set
-# CONFIG_INET6_IPCOMP is not set
-# CONFIG_IPV6_MIP6 is not set
-# CONFIG_INET6_XFRM_TUNNEL is not set
-# CONFIG_INET6_TUNNEL is not set
-CONFIG_INET6_XFRM_MODE_TRANSPORT=m
-CONFIG_INET6_XFRM_MODE_TUNNEL=m
-CONFIG_INET6_XFRM_MODE_BEET=m
-# CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION is not set
-CONFIG_IPV6_SIT=m
-CONFIG_IPV6_NDISC_NODETYPE=y
-# CONFIG_IPV6_TUNNEL is not set
-# CONFIG_IPV6_MULTIPLE_TABLES is not set
-# CONFIG_IPV6_MROUTE is not set
-# CONFIG_NETWORK_SECMARK is not set
-# CONFIG_NETFILTER is not set
-# CONFIG_IP_DCCP is not set
-# CONFIG_IP_SCTP is not set
-# CONFIG_TIPC is not set
-# CONFIG_ATM is not set
-# CONFIG_BRIDGE is not set
-# CONFIG_VLAN_8021Q is not set
-# CONFIG_DECNET is not set
-# CONFIG_LLC2 is not set
-# CONFIG_IPX is not set
-# CONFIG_ATALK is not set
-# CONFIG_X25 is not set
-# CONFIG_LAPB is not set
-# CONFIG_ECONET is not set
-# CONFIG_WAN_ROUTER is not set
-# CONFIG_NET_SCHED is not set
-
-#
-# Network testing
-#
-# CONFIG_NET_PKTGEN is not set
-# CONFIG_HAMRADIO is not set
-# CONFIG_CAN is not set
-# CONFIG_IRDA is not set
-CONFIG_BT=y
-CONFIG_BT_L2CAP=y
-CONFIG_BT_SCO=y
-CONFIG_BT_RFCOMM=y
-CONFIG_BT_RFCOMM_TTY=y
-CONFIG_BT_BNEP=y
-CONFIG_BT_BNEP_MC_FILTER=y
-CONFIG_BT_BNEP_PROTO_FILTER=y
-CONFIG_BT_HIDP=y
-
-#
-# Bluetooth device drivers
-#
-CONFIG_BT_HCIUSB=y
-CONFIG_BT_HCIUSB_SCO=y
-# CONFIG_BT_HCIBTUSB is not set
-CONFIG_BT_HCIBTSDIO=y
-# CONFIG_BT_HCIUART is not set
-CONFIG_BT_HCIBCM203X=y
-CONFIG_BT_HCIBPA10X=y
-# CONFIG_BT_HCIBFUSB is not set
-# CONFIG_BT_HCIBRF6150 is not set
-CONFIG_BT_HCIH4P=y
-# CONFIG_BT_HCIVHCI is not set
-# CONFIG_AF_RXRPC is not set
-
-#
-# Wireless
-#
-CONFIG_CFG80211=y
-CONFIG_NL80211=y
-CONFIG_WIRELESS_EXT=y
-CONFIG_WIRELESS_EXT_SYSFS=y
-CONFIG_MAC80211=y
-
-#
-# Rate control algorithm selection
-#
-CONFIG_MAC80211_RC_PID=y
-CONFIG_MAC80211_RC_DEFAULT_PID=y
-CONFIG_MAC80211_RC_DEFAULT="pid"
-# CONFIG_MAC80211_MESH is not set
-CONFIG_MAC80211_LEDS=y
-# CONFIG_MAC80211_DEBUG_MENU is not set
-CONFIG_IEEE80211=y
-# CONFIG_IEEE80211_DEBUG is not set
-CONFIG_IEEE80211_CRYPT_WEP=y
-CONFIG_IEEE80211_CRYPT_CCMP=y
-CONFIG_IEEE80211_CRYPT_TKIP=y
-# CONFIG_RFKILL is not set
-# CONFIG_NET_9P is not set
-
-#
-# Device Drivers
-#
-
-#
-# Generic Driver Options
-#
-CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
-CONFIG_STANDALONE=y
-CONFIG_PREVENT_FIRMWARE_BUILD=y
-CONFIG_FW_LOADER=y
-CONFIG_FIRMWARE_IN_KERNEL=y
-CONFIG_EXTRA_FIRMWARE=""
-# CONFIG_DEBUG_DRIVER is not set
-# CONFIG_DEBUG_DEVRES is not set
-# CONFIG_SYS_HYPERVISOR is not set
-# CONFIG_CONNECTOR is not set
-CONFIG_MTD=y
-# CONFIG_MTD_DEBUG is not set
-CONFIG_MTD_CONCAT=y
-CONFIG_MTD_PARTITIONS=y
-# CONFIG_MTD_REDBOOT_PARTS is not set
-# CONFIG_MTD_CMDLINE_PARTS is not set
-# CONFIG_MTD_AFS_PARTS is not set
-# CONFIG_MTD_AR7_PARTS is not set
-
-#
-# User Modules And Translation Layers
-#
-CONFIG_MTD_CHAR=y
-CONFIG_MTD_BLKDEVS=y
-CONFIG_MTD_BLOCK=y
-# CONFIG_FTL is not set
-# CONFIG_NFTL is not set
-# CONFIG_INFTL is not set
-# CONFIG_RFD_FTL is not set
-# CONFIG_SSFDC is not set
-# CONFIG_MTD_OOPS is not set
-
-#
-# RAM/ROM/Flash chip drivers
-#
-# CONFIG_MTD_CFI is not set
-# CONFIG_MTD_JEDECPROBE is not set
-CONFIG_MTD_MAP_BANK_WIDTH_1=y
-CONFIG_MTD_MAP_BANK_WIDTH_2=y
-CONFIG_MTD_MAP_BANK_WIDTH_4=y
-# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
-# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
-# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
-CONFIG_MTD_CFI_I1=y
-CONFIG_MTD_CFI_I2=y
-# CONFIG_MTD_CFI_I4 is not set
-# CONFIG_MTD_CFI_I8 is not set
-# CONFIG_MTD_RAM is not set
-# CONFIG_MTD_ROM is not set
-# CONFIG_MTD_ABSENT is not set
-
-#
-# Mapping drivers for chip access
-#
-# CONFIG_MTD_COMPLEX_MAPPINGS is not set
-# CONFIG_MTD_PLATRAM is not set
-
-#
-# Self-contained MTD device drivers
-#
-# CONFIG_MTD_DATAFLASH is not set
-# CONFIG_MTD_M25P80 is not set
-# CONFIG_MTD_SLRAM is not set
-# CONFIG_MTD_PHRAM is not set
-# CONFIG_MTD_MTDRAM is not set
-# CONFIG_MTD_BLOCK2MTD is not set
-
-#
-# Disk-On-Chip Device Drivers
-#
-# CONFIG_MTD_DOC2000 is not set
-# CONFIG_MTD_DOC2001 is not set
-# CONFIG_MTD_DOC2001PLUS is not set
-CONFIG_MTD_NAND=y
-# CONFIG_MTD_NAND_VERIFY_WRITE is not set
-# CONFIG_MTD_NAND_ECC_SMC is not set
-# CONFIG_MTD_NAND_MUSEUM_IDS is not set
-CONFIG_MTD_NAND_OMAP2=y
-CONFIG_MTD_NAND_IDS=y
-# CONFIG_MTD_NAND_DISKONCHIP is not set
-# CONFIG_MTD_NAND_NANDSIM is not set
-CONFIG_MTD_NAND_PLATFORM=y
-# CONFIG_MTD_ALAUDA is not set
-# CONFIG_MTD_ONENAND is not set
-
-#
-# UBI - Unsorted block images
-#
-# CONFIG_MTD_UBI is not set
-# CONFIG_PARPORT is not set
-CONFIG_BLK_DEV=y
-# CONFIG_BLK_DEV_COW_COMMON is not set
-CONFIG_BLK_DEV_LOOP=y
-CONFIG_BLK_DEV_CRYPTOLOOP=m
-# CONFIG_BLK_DEV_NBD is not set
-# CONFIG_BLK_DEV_UB is not set
-CONFIG_BLK_DEV_RAM=y
-CONFIG_BLK_DEV_RAM_COUNT=16
-CONFIG_BLK_DEV_RAM_SIZE=16384
-# CONFIG_BLK_DEV_XIP is not set
-CONFIG_CDROM_PKTCDVD=m
-CONFIG_CDROM_PKTCDVD_BUFFERS=8
-# CONFIG_CDROM_PKTCDVD_WCACHE is not set
-# CONFIG_ATA_OVER_ETH is not set
-CONFIG_MISC_DEVICES=y
-CONFIG_EEPROM_93CX6=y
-# CONFIG_OMAP_STI is not set
-# CONFIG_ENCLOSURE_SERVICES is not set
-CONFIG_PANDORA_GAME_CONSOLE=y
-CONFIG_HAVE_IDE=y
-# CONFIG_IDE is not set
-
-#
-# SCSI device support
-#
-# CONFIG_RAID_ATTRS is not set
-CONFIG_SCSI=y
-CONFIG_SCSI_DMA=y
-# CONFIG_SCSI_TGT is not set
-# CONFIG_SCSI_NETLINK is not set
-CONFIG_SCSI_PROC_FS=y
-
-#
-# SCSI support type (disk, tape, CD-ROM)
-#
-CONFIG_BLK_DEV_SD=y
-# CONFIG_CHR_DEV_ST is not set
-# CONFIG_CHR_DEV_OSST is not set
-CONFIG_BLK_DEV_SR=m
-# CONFIG_BLK_DEV_SR_VENDOR is not set
-CONFIG_CHR_DEV_SG=m
-CONFIG_CHR_DEV_SCH=m
-
-#
-# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
-#
-CONFIG_SCSI_MULTI_LUN=y
-# CONFIG_SCSI_CONSTANTS is not set
-# CONFIG_SCSI_LOGGING is not set
-# CONFIG_SCSI_SCAN_ASYNC is not set
-CONFIG_SCSI_WAIT_SCAN=m
-
-#
-# SCSI Transports
-#
-# CONFIG_SCSI_SPI_ATTRS is not set
-# CONFIG_SCSI_FC_ATTRS is not set
-# CONFIG_SCSI_ISCSI_ATTRS is not set
-# CONFIG_SCSI_SAS_LIBSAS is not set
-# CONFIG_SCSI_SRP_ATTRS is not set
-CONFIG_SCSI_LOWLEVEL=y
-# CONFIG_ISCSI_TCP is not set
-# CONFIG_SCSI_DEBUG is not set
-# CONFIG_SCSI_DH is not set
-# CONFIG_ATA is not set
-# CONFIG_MD is not set
-CONFIG_NETDEVICES=y
-# CONFIG_DUMMY is not set
-# CONFIG_BONDING is not set
-# CONFIG_MACVLAN is not set
-# CONFIG_EQUALIZER is not set
-# CONFIG_TUN is not set
-# CONFIG_VETH is not set
-# CONFIG_NET_ETHERNET is not set
-# CONFIG_NETDEV_1000 is not set
-# CONFIG_NETDEV_10000 is not set
-
-#
-# Wireless LAN
-#
-# CONFIG_WLAN_PRE80211 is not set
-CONFIG_WLAN_80211=y
-CONFIG_LIBERTAS=m
-CONFIG_LIBERTAS_USB=m
-# CONFIG_LIBERTAS_SDIO is not set
-# CONFIG_LIBERTAS_DEBUG is not set
-CONFIG_USB_ZD1201=y
-CONFIG_USB_NET_RNDIS_WLAN=y
-CONFIG_RTL8187=y
-# CONFIG_MAC80211_HWSIM is not set
-CONFIG_P54_COMMON=y
-CONFIG_P54_USB=y
-# CONFIG_IWLWIFI_LEDS is not set
-CONFIG_HOSTAP=m
-CONFIG_HOSTAP_FIRMWARE=y
-CONFIG_HOSTAP_FIRMWARE_NVRAM=y
-# CONFIG_B43 is not set
-# CONFIG_B43LEGACY is not set
-CONFIG_ZD1211RW=y
-# CONFIG_ZD1211RW_DEBUG is not set
-CONFIG_RT2X00=y
-CONFIG_RT2X00_LIB=y
-CONFIG_RT2X00_LIB_USB=y
-CONFIG_RT2X00_LIB_FIRMWARE=y
-CONFIG_RT2X00_LIB_LEDS=y
-CONFIG_RT2500USB=y
-CONFIG_RT2500USB_LEDS=y
-CONFIG_RT73USB=y
-CONFIG_RT73USB_LEDS=y
-# CONFIG_RT2X00_DEBUG is not set
-
-#
-# USB Network Adapters
-#
-CONFIG_USB_CATC=m
-CONFIG_USB_KAWETH=m
-CONFIG_USB_PEGASUS=m
-CONFIG_USB_RTL8150=m
-CONFIG_USB_USBNET=y
-CONFIG_USB_NET_AX8817X=y
-CONFIG_USB_NET_CDCETHER=y
-CONFIG_USB_NET_DM9601=m
-CONFIG_USB_NET_GL620A=m
-CONFIG_USB_NET_NET1080=m
-CONFIG_USB_NET_PLUSB=m
-CONFIG_USB_NET_MCS7830=m
-CONFIG_USB_NET_RNDIS_HOST=y
-CONFIG_USB_NET_CDC_SUBSET=m
-CONFIG_USB_ALI_M5632=y
-CONFIG_USB_AN2720=y
-CONFIG_USB_BELKIN=y
-CONFIG_USB_ARMLINUX=y
-CONFIG_USB_EPSON2888=y
-CONFIG_USB_KC2190=y
-CONFIG_USB_NET_ZAURUS=m
-# CONFIG_WAN is not set
-CONFIG_PPP=m
-CONFIG_PPP_MULTILINK=y
-CONFIG_PPP_FILTER=y
-CONFIG_PPP_ASYNC=m
-CONFIG_PPP_SYNC_TTY=m
-CONFIG_PPP_DEFLATE=m
-CONFIG_PPP_BSDCOMP=m
-CONFIG_PPP_MPPE=m
-CONFIG_PPPOE=m
-CONFIG_PPPOL2TP=m
-# CONFIG_SLIP is not set
-CONFIG_SLHC=m
-# CONFIG_NETCONSOLE is not set
-# CONFIG_NETPOLL is not set
-# CONFIG_NET_POLL_CONTROLLER is not set
-# CONFIG_ISDN is not set
-
-#
-# Input device support
-#
-CONFIG_INPUT=y
-# CONFIG_INPUT_FF_MEMLESS is not set
-# CONFIG_INPUT_POLLDEV is not set
-
-#
-# Userland interfaces
-#
-CONFIG_INPUT_MOUSEDEV=y
-CONFIG_INPUT_MOUSEDEV_PSAUX=y
-CONFIG_INPUT_MOUSEDEV_SCREEN_X=800
-CONFIG_INPUT_MOUSEDEV_SCREEN_Y=480
-CONFIG_INPUT_JOYDEV=y
-CONFIG_INPUT_EVDEV=y
-# CONFIG_INPUT_EVBUG is not set
-
-#
-# Input Device Drivers
-#
-CONFIG_INPUT_KEYBOARD=y
-# CONFIG_KEYBOARD_ATKBD is not set
-# CONFIG_KEYBOARD_SUNKBD is not set
-# CONFIG_KEYBOARD_LKKBD is not set
-# CONFIG_KEYBOARD_XTKBD is not set
-# CONFIG_KEYBOARD_NEWTON is not set
-# CONFIG_KEYBOARD_STOWAWAY is not set
-CONFIG_KEYBOARD_TWL4030=y
-# CONFIG_KEYBOARD_LM8323 is not set
-CONFIG_KEYBOARD_GPIO=y
-CONFIG_INPUT_MOUSE=y
-# CONFIG_MOUSE_PS2 is not set
-# CONFIG_MOUSE_SERIAL is not set
-# CONFIG_MOUSE_APPLETOUCH is not set
-# CONFIG_MOUSE_BCM5974 is not set
-# CONFIG_MOUSE_VSXXXAA is not set
-# CONFIG_MOUSE_GPIO is not set
-# CONFIG_INPUT_JOYSTICK is not set
-# CONFIG_INPUT_TABLET is not set
-CONFIG_INPUT_TOUCHSCREEN=y
-CONFIG_TOUCHSCREEN_ADS7846=y
-# CONFIG_TOUCHSCREEN_FUJITSU is not set
-# CONFIG_TOUCHSCREEN_GUNZE is not set
-# CONFIG_TOUCHSCREEN_ELO is not set
-# CONFIG_TOUCHSCREEN_MTOUCH is not set
-# CONFIG_TOUCHSCREEN_INEXIO is not set
-# CONFIG_TOUCHSCREEN_MK712 is not set
-# CONFIG_TOUCHSCREEN_PENMOUNT is not set
-# CONFIG_TOUCHSCREEN_TOUCHRIGHT is not set
-# CONFIG_TOUCHSCREEN_TOUCHWIN is not set
-# CONFIG_TOUCHSCREEN_TSC2005 is not set
-# CONFIG_TOUCHSCREEN_TSC2102 is not set
-# CONFIG_TOUCHSCREEN_TSC210X is not set
-# CONFIG_TOUCHSCREEN_UCB1400 is not set
-# CONFIG_TOUCHSCREEN_USB_COMPOSITE is not set
-# CONFIG_TOUCHSCREEN_TOUCHIT213 is not set
-CONFIG_INPUT_MISC=y
-# CONFIG_INPUT_ATI_REMOTE is not set
-# CONFIG_INPUT_ATI_REMOTE2 is not set
-# CONFIG_INPUT_KEYSPAN_REMOTE is not set
-# CONFIG_INPUT_POWERMATE is not set
-# CONFIG_INPUT_YEALINK is not set
-# CONFIG_INPUT_UINPUT is not set
-CONFIG_INPUT_VSENSE=y
-
-#
-# Hardware I/O ports
-#
-CONFIG_SERIO=y
-CONFIG_SERIO_SERPORT=y
-CONFIG_SERIO_LIBPS2=y
-# CONFIG_SERIO_RAW is not set
-# CONFIG_GAMEPORT is not set
-
-#
-# Character devices
-#
-CONFIG_VT=y
-CONFIG_CONSOLE_TRANSLATIONS=y
-CONFIG_VT_CONSOLE=y
-CONFIG_HW_CONSOLE=y
-CONFIG_VT_HW_CONSOLE_BINDING=y
-CONFIG_DEVKMEM=y
-# CONFIG_SERIAL_NONSTANDARD is not set
-
-#
-# Serial drivers
-#
-CONFIG_SERIAL_8250=y
-CONFIG_SERIAL_8250_CONSOLE=y
-CONFIG_SERIAL_8250_NR_UARTS=32
-CONFIG_SERIAL_8250_RUNTIME_UARTS=4
-CONFIG_SERIAL_8250_EXTENDED=y
-CONFIG_SERIAL_8250_MANY_PORTS=y
-CONFIG_SERIAL_8250_SHARE_IRQ=y
-CONFIG_SERIAL_8250_DETECT_IRQ=y
-CONFIG_SERIAL_8250_RSA=y
-
-#
-# Non-8250 serial port support
-#
-CONFIG_SERIAL_CORE=y
-CONFIG_SERIAL_CORE_CONSOLE=y
-CONFIG_UNIX98_PTYS=y
-# CONFIG_LEGACY_PTYS is not set
-# CONFIG_IPMI_HANDLER is not set
-CONFIG_HW_RANDOM=y
-# CONFIG_NVRAM is not set
-# CONFIG_R3964 is not set
-# CONFIG_RAW_DRIVER is not set
-# CONFIG_TCG_TPM is not set
-CONFIG_I2C=y
-CONFIG_I2C_BOARDINFO=y
-CONFIG_I2C_CHARDEV=y
-CONFIG_I2C_HELPER_AUTO=y
-
-#
-# I2C Hardware Bus support
-#
-
-#
-# I2C system bus drivers (mostly embedded / system-on-chip)
-#
-# CONFIG_I2C_GPIO is not set
-# CONFIG_I2C_OCORES is not set
-CONFIG_I2C_OMAP=y
-# CONFIG_I2C_SIMTEC is not set
-
-#
-# External I2C/SMBus adapter drivers
-#
-# CONFIG_I2C_PARPORT_LIGHT is not set
-# CONFIG_I2C_TAOS_EVM is not set
-# CONFIG_I2C_TINY_USB is not set
-
-#
-# Other I2C/SMBus bus drivers
-#
-# CONFIG_I2C_PCA_PLATFORM is not set
-# CONFIG_I2C_STUB is not set
-
-#
-# Miscellaneous I2C Chip support
-#
-# CONFIG_DS1682 is not set
-# CONFIG_AT24 is not set
-CONFIG_SENSORS_EEPROM=y
-# CONFIG_SENSORS_PCF8574 is not set
-# CONFIG_PCF8575 is not set
-# CONFIG_SENSORS_PCA9539 is not set
-# CONFIG_SENSORS_PCF8591 is not set
-# CONFIG_ISP1301_OMAP is not set
-# CONFIG_TPS65010 is not set
-# CONFIG_SENSORS_TLV320AIC23 is not set
-CONFIG_TWL4030_MADC=m
-CONFIG_TWL4030_USB=y
-CONFIG_TWL4030_PWRBUTTON=y
-CONFIG_TWL4030_POWEROFF=y
-# CONFIG_SENSORS_MAX6875 is not set
-# CONFIG_SENSORS_TSL2550 is not set
-# CONFIG_LP5521 is not set
-# CONFIG_I2C_DEBUG_CORE is not set
-# CONFIG_I2C_DEBUG_ALGO is not set
-# CONFIG_I2C_DEBUG_BUS is not set
-# CONFIG_I2C_DEBUG_CHIP is not set
-CONFIG_SPI=y
-# CONFIG_SPI_DEBUG is not set
-CONFIG_SPI_MASTER=y
-
-#
-# SPI Master Controller Drivers
-#
-# CONFIG_SPI_BITBANG is not set
-CONFIG_SPI_OMAP24XX=y
-
-#
-# SPI Protocol Masters
-#
-# CONFIG_SPI_AT25 is not set
-# CONFIG_SPI_TSC2101 is not set
-# CONFIG_SPI_TSC2102 is not set
-# CONFIG_SPI_TSC210X is not set
-# CONFIG_SPI_TSC2301 is not set
-# CONFIG_SPI_SPIDEV is not set
-# CONFIG_SPI_TLE62X0 is not set
-CONFIG_ARCH_REQUIRE_GPIOLIB=y
-CONFIG_GPIOLIB=y
-# CONFIG_DEBUG_GPIO is not set
-CONFIG_GPIO_SYSFS=y
-
-#
-# I2C GPIO expanders:
-#
-# CONFIG_GPIO_MAX732X is not set
-# CONFIG_GPIO_PCA953X is not set
-# CONFIG_GPIO_PCF857X is not set
-CONFIG_GPIO_TWL4030=y
-
-#
-# PCI GPIO expanders:
-#
-
-#
-# SPI GPIO expanders:
-#
-# CONFIG_GPIO_MAX7301 is not set
-# CONFIG_GPIO_MCP23S08 is not set
-# CONFIG_W1 is not set
-# CONFIG_POWER_SUPPLY is not set
-# CONFIG_HWMON is not set
-# CONFIG_WATCHDOG is not set
-
-#
-# Sonics Silicon Backplane
-#
-CONFIG_SSB_POSSIBLE=y
-# CONFIG_SSB is not set
-
-#
-# Multifunction device drivers
-#
-# CONFIG_MFD_CORE is not set
-# CONFIG_MFD_SM501 is not set
-# CONFIG_MFD_ASIC3 is not set
-# CONFIG_HTC_EGPIO is not set
-# CONFIG_HTC_PASIC3 is not set
-CONFIG_TWL4030_CORE=y
-CONFIG_TWL4030_POWER=y
-# CONFIG_MFD_TMIO is not set
-# CONFIG_MFD_T7L66XB is not set
-# CONFIG_MFD_TC6387XB is not set
-# CONFIG_MFD_TC6393XB is not set
-
-#
-# Multimedia devices
-#
-
-#
-# Multimedia core support
-#
-CONFIG_VIDEO_DEV=m
-CONFIG_VIDEO_V4L2_COMMON=m
-CONFIG_VIDEO_ALLOW_V4L1=y
-CONFIG_VIDEO_V4L1_COMPAT=y
-CONFIG_DVB_CORE=m
-CONFIG_VIDEO_MEDIA=m
-
-#
-# Multimedia drivers
-#
-CONFIG_MEDIA_ATTACH=y
-CONFIG_MEDIA_TUNER=m
-# CONFIG_MEDIA_TUNER_CUSTOMIZE is not set
-CONFIG_MEDIA_TUNER_SIMPLE=m
-CONFIG_MEDIA_TUNER_TDA8290=m
-CONFIG_MEDIA_TUNER_TDA827X=m
-CONFIG_MEDIA_TUNER_TDA18271=m
-CONFIG_MEDIA_TUNER_TDA9887=m
-CONFIG_MEDIA_TUNER_TEA5761=m
-CONFIG_MEDIA_TUNER_TEA5767=m
-CONFIG_MEDIA_TUNER_MT20XX=m
-CONFIG_MEDIA_TUNER_MT2060=m
-CONFIG_MEDIA_TUNER_MT2266=m
-CONFIG_MEDIA_TUNER_QT1010=m
-CONFIG_MEDIA_TUNER_XC2028=m
-CONFIG_MEDIA_TUNER_XC5000=m
-CONFIG_MEDIA_TUNER_MXL5005S=m
-CONFIG_VIDEO_V4L2=m
-CONFIG_VIDEO_V4L1=m
-CONFIG_VIDEO_TVEEPROM=m
-CONFIG_VIDEO_TUNER=m
-CONFIG_VIDEO_CAPTURE_DRIVERS=y
-# CONFIG_VIDEO_ADV_DEBUG is not set
-CONFIG_VIDEO_HELPER_CHIPS_AUTO=y
-CONFIG_VIDEO_MSP3400=m
-CONFIG_VIDEO_CS53L32A=m
-CONFIG_VIDEO_WM8775=m
-CONFIG_VIDEO_SAA711X=m
-CONFIG_VIDEO_CX25840=m
-CONFIG_VIDEO_CX2341X=m
-# CONFIG_VIDEO_VIVI is not set
-# CONFIG_VIDEO_CPIA is not set
-# CONFIG_VIDEO_CPIA2 is not set
-# CONFIG_VIDEO_SAA5246A is not set
-# CONFIG_VIDEO_SAA5249 is not set
-# CONFIG_TUNER_3036 is not set
-# CONFIG_VIDEO_AU0828 is not set
-CONFIG_V4L_USB_DRIVERS=y
-CONFIG_USB_VIDEO_CLASS=m
-CONFIG_USB_VIDEO_CLASS_INPUT_EVDEV=y
-# CONFIG_USB_GSPCA is not set
-CONFIG_VIDEO_PVRUSB2=m
-CONFIG_VIDEO_PVRUSB2_SYSFS=y
-CONFIG_VIDEO_PVRUSB2_DVB=y
-# CONFIG_VIDEO_PVRUSB2_DEBUGIFC is not set
-# CONFIG_VIDEO_EM28XX is not set
-CONFIG_VIDEO_USBVISION=m
-CONFIG_VIDEO_USBVIDEO=m
-CONFIG_USB_VICAM=m
-CONFIG_USB_IBMCAM=m
-CONFIG_USB_KONICAWC=m
-CONFIG_USB_QUICKCAM_MESSENGER=m
-# CONFIG_USB_ET61X251 is not set
-CONFIG_VIDEO_OVCAMCHIP=m
-CONFIG_USB_W9968CF=m
-CONFIG_USB_OV511=m
-CONFIG_USB_SE401=m
-CONFIG_USB_SN9C102=m
-CONFIG_USB_STV680=m
-# CONFIG_USB_ZC0301 is not set
-CONFIG_USB_PWC=m
-# CONFIG_USB_PWC_DEBUG is not set
-CONFIG_USB_ZR364XX=m
-# CONFIG_USB_STKWEBCAM is not set
-# CONFIG_USB_S2255 is not set
-# CONFIG_SOC_CAMERA is not set
-# CONFIG_VIDEO_SH_MOBILE_CEU is not set
-CONFIG_RADIO_ADAPTERS=y
-# CONFIG_RADIO_TEA5761 is not set
-# CONFIG_USB_DSBR is not set
-# CONFIG_USB_SI470X is not set
-CONFIG_DVB_CAPTURE_DRIVERS=y
-# CONFIG_TTPCI_EEPROM is not set
-
-#
-# Supported USB Adapters
-#
-CONFIG_DVB_USB=m
-# CONFIG_DVB_USB_DEBUG is not set
-CONFIG_DVB_USB_A800=m
-CONFIG_DVB_USB_DIBUSB_MB=m
-# CONFIG_DVB_USB_DIBUSB_MB_FAULTY is not set
-CONFIG_DVB_USB_DIBUSB_MC=m
-CONFIG_DVB_USB_DIB0700=m
-CONFIG_DVB_USB_UMT_010=m
-CONFIG_DVB_USB_CXUSB=m
-CONFIG_DVB_USB_M920X=m
-CONFIG_DVB_USB_GL861=m
-CONFIG_DVB_USB_AU6610=m
-CONFIG_DVB_USB_DIGITV=m
-CONFIG_DVB_USB_VP7045=m
-CONFIG_DVB_USB_VP702X=m
-CONFIG_DVB_USB_GP8PSK=m
-CONFIG_DVB_USB_NOVA_T_USB2=m
-CONFIG_DVB_USB_TTUSB2=m
-CONFIG_DVB_USB_DTT200U=m
-CONFIG_DVB_USB_OPERA1=m
-CONFIG_DVB_USB_AF9005=m
-CONFIG_DVB_USB_AF9005_REMOTE=m
-# CONFIG_DVB_USB_DW2102 is not set
-# CONFIG_DVB_USB_ANYSEE is not set
-CONFIG_DVB_TTUSB_BUDGET=m
-CONFIG_DVB_TTUSB_DEC=m
-CONFIG_DVB_CINERGYT2=m
-# CONFIG_DVB_CINERGYT2_TUNING is not set
-# CONFIG_DVB_SIANO_SMS1XXX is not set
-
-#
-# Supported FlexCopII (B2C2) Adapters
-#
-# CONFIG_DVB_B2C2_FLEXCOP is not set
-
-#
-# Supported DVB Frontends
-#
-
-#
-# Customise DVB Frontends
-#
-# CONFIG_DVB_FE_CUSTOMISE is not set
-
-#
-# DVB-S (satellite) frontends
-#
-CONFIG_DVB_CX24110=m
-CONFIG_DVB_CX24123=m
-CONFIG_DVB_MT312=m
-CONFIG_DVB_S5H1420=m
-CONFIG_DVB_STV0299=m
-CONFIG_DVB_TDA8083=m
-CONFIG_DVB_TDA10086=m
-CONFIG_DVB_VES1X93=m
-CONFIG_DVB_TUNER_ITD1000=m
-CONFIG_DVB_TDA826X=m
-CONFIG_DVB_TUA6100=m
-
-#
-# DVB-T (terrestrial) frontends
-#
-CONFIG_DVB_SP8870=m
-CONFIG_DVB_SP887X=m
-CONFIG_DVB_CX22700=m
-CONFIG_DVB_CX22702=m
-# CONFIG_DVB_DRX397XD is not set
-CONFIG_DVB_L64781=m
-CONFIG_DVB_TDA1004X=m
-CONFIG_DVB_NXT6000=m
-CONFIG_DVB_MT352=m
-CONFIG_DVB_ZL10353=m
-CONFIG_DVB_DIB3000MB=m
-CONFIG_DVB_DIB3000MC=m
-CONFIG_DVB_DIB7000M=m
-CONFIG_DVB_DIB7000P=m
-CONFIG_DVB_TDA10048=m
-
-#
-# DVB-C (cable) frontends
-#
-CONFIG_DVB_VES1820=m
-CONFIG_DVB_TDA10021=m
-CONFIG_DVB_TDA10023=m
-CONFIG_DVB_STV0297=m
-
-#
-# ATSC (North American/Korean Terrestrial/Cable DTV) frontends
-#
-CONFIG_DVB_NXT200X=m
-# CONFIG_DVB_OR51211 is not set
-# CONFIG_DVB_OR51132 is not set
-CONFIG_DVB_BCM3510=m
-CONFIG_DVB_LGDT330X=m
-CONFIG_DVB_S5H1409=m
-CONFIG_DVB_AU8522=m
-CONFIG_DVB_S5H1411=m
-
-#
-# Digital terrestrial only tuners/PLL
-#
-CONFIG_DVB_PLL=m
-CONFIG_DVB_TUNER_DIB0070=m
-
-#
-# SEC control devices for DVB-S
-#
-CONFIG_DVB_LNBP21=m
-# CONFIG_DVB_ISL6405 is not set
-CONFIG_DVB_ISL6421=m
-CONFIG_DAB=y
-
-#
-# Graphics support
-#
-# CONFIG_VGASTATE is not set
-# CONFIG_VIDEO_OUTPUT_CONTROL is not set
-CONFIG_FB=y
-# CONFIG_FIRMWARE_EDID is not set
-# CONFIG_FB_DDC is not set
-CONFIG_FB_CFB_FILLRECT=y
-CONFIG_FB_CFB_COPYAREA=y
-CONFIG_FB_CFB_IMAGEBLIT=y
-# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set
-# CONFIG_FB_SYS_FILLRECT is not set
-# CONFIG_FB_SYS_COPYAREA is not set
-# CONFIG_FB_SYS_IMAGEBLIT is not set
-# CONFIG_FB_FOREIGN_ENDIAN is not set
-# CONFIG_FB_SYS_FOPS is not set
-# CONFIG_FB_SVGALIB is not set
-# CONFIG_FB_MACMODES is not set
-# CONFIG_FB_BACKLIGHT is not set
-# CONFIG_FB_MODE_HELPERS is not set
-# CONFIG_FB_TILEBLITTING is not set
-
-#
-# Frame buffer hardware drivers
-#
-# CONFIG_FB_S1D13XXX is not set
-# CONFIG_FB_VIRTUAL is not set
-CONFIG_FB_OMAP=y
-# CONFIG_FB_OMAP_LCDC_EXTERNAL is not set
-# CONFIG_FB_OMAP_BOOTLOADER_INIT is not set
-CONFIG_FB_OMAP_CONSISTENT_DMA_SIZE=4
-CONFIG_BACKLIGHT_LCD_SUPPORT=y
-# CONFIG_LCD_CLASS_DEVICE is not set
-CONFIG_BACKLIGHT_CLASS_DEVICE=y
-# CONFIG_BACKLIGHT_CORGI is not set
-CONFIG_BACKLIGHT_GPIO=y
-
-#
-# Display device support
-#
-CONFIG_DISPLAY_SUPPORT=y
-
-#
-# Display hardware drivers
-#
-
-#
-# Console display driver support
-#
-# CONFIG_VGA_CONSOLE is not set
-CONFIG_DUMMY_CONSOLE=y
-CONFIG_FRAMEBUFFER_CONSOLE=y
-# CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY is not set
-CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y
-CONFIG_FONTS=y
-CONFIG_FONT_8x8=y
-CONFIG_FONT_8x16=y
-# CONFIG_FONT_6x11 is not set
-# CONFIG_FONT_7x14 is not set
-# CONFIG_FONT_PEARL_8x8 is not set
-# CONFIG_FONT_ACORN_8x8 is not set
-# CONFIG_FONT_MINI_4x6 is not set
-# CONFIG_FONT_SUN8x16 is not set
-# CONFIG_FONT_SUN12x22 is not set
-# CONFIG_FONT_10x18 is not set
-CONFIG_LOGO=y
-# CONFIG_LOGO_LINUX_MONO is not set
-# CONFIG_LOGO_LINUX_VGA16 is not set
-# CONFIG_LOGO_LINUX_CLUT224 is not set
-CONFIG_LOGO_PANDORA_CLUT224=y
-CONFIG_SOUND=y
-CONFIG_SND=y
-CONFIG_SND_TIMER=y
-CONFIG_SND_PCM=y
-CONFIG_SND_HWDEP=y
-CONFIG_SND_RAWMIDI=y
-CONFIG_SND_SEQUENCER=m
-# CONFIG_SND_SEQ_DUMMY is not set
-CONFIG_SND_OSSEMUL=y
-CONFIG_SND_MIXER_OSS=y
-CONFIG_SND_PCM_OSS=y
-CONFIG_SND_PCM_OSS_PLUGINS=y
-# CONFIG_SND_DYNAMIC_MINORS is not set
-CONFIG_SND_SUPPORT_OLD_API=y
-CONFIG_SND_VERBOSE_PROCFS=y
-# CONFIG_SND_VERBOSE_PRINTK is not set
-# CONFIG_SND_DEBUG is not set
-CCONFIG_SND_DRIVERS=y
-# CONFIG_SND_DUMMY is not set
-# CONFIG_SND_VIRMIDI is not set
-# CONFIG_SND_MTPAV is not set
-# CONFIG_SND_SERIAL_U16550 is not set
-# CONFIG_SND_MPU401 is not set
-CONFIG_SND_ARM=y
-# CONFIG_SND_OMAP_AIC23 is not set
-# CONFIG_SND_OMAP_TSC2101 is not set
-# CONFIG_SND_SX1 is not set
-# CONFIG_SND_OMAP_TSC2102 is not set
-# CONFIG_SND_OMAP24XX_EAC is not set
-CONFIG_SND_SPI=y
-CONFIG_SND_USB=y
-CONFIG_SND_USB_AUDIO=y
-CONFIG_SND_USB_CAIAQ=m
-CONFIG_SND_USB_CAIAQ_INPUT=y
-CONFIG_SND_SOC=y
-CONFIG_SND_OMAP_SOC=y
-CONFIG_SND_OMAP_SOC_MCBSP=y
-CONFIG_SND_OMAP_SOC_OMAP3_PANDORA=y
-CONFIG_SND_SOC_TWL4030=y
-# CONFIG_SOUND_PRIME is not set
-CONFIG_HID_SUPPORT=y
-CONFIG_HID=y
-CONFIG_HID_DEBUG=y
-# CONFIG_HIDRAW is not set
-
-#
-# USB Input Devices
-#
-CONFIG_USB_HID=y
-# CONFIG_USB_HIDINPUT_POWERBOOK is not set
-# CONFIG_HID_FF is not set
-# CONFIG_USB_HIDDEV is not set
-CONFIG_USB_SUPPORT=y
-CONFIG_USB_ARCH_HAS_HCD=y
-CONFIG_USB_ARCH_HAS_OHCI=y
-CONFIG_USB_ARCH_HAS_EHCI=y
-CONFIG_USB=y
-# CONFIG_USB_DEBUG is not set
-CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
-
-#
-# Miscellaneous USB options
-#
-CONFIG_USB_DEVICEFS=y
-CONFIG_USB_DEVICE_CLASS=y
-# CONFIG_USB_DYNAMIC_MINORS is not set
-CONFIG_USB_SUSPEND=y
-CONFIG_USB_OTG=y
-# CONFIG_USB_OTG_WHITELIST is not set
-# CONFIG_USB_OTG_BLACKLIST_HUB is not set
-CONFIG_USB_MON=y
-
-#
-# USB Host Controller Drivers
-#
-# CONFIG_USB_C67X00_HCD is not set
-CONFIG_USB_EHCI_HCD=y
-CONFIG_OMAP_EHCI_PHY_MODE=y
-# CONFIG_OMAP_EHCI_TLL_MODE is not set
-# CONFIG_USB_EHCI_ROOT_HUB_TT is not set
-# CONFIG_USB_EHCI_TT_NEWSCHED is not set
-# CONFIG_USB_ISP116X_HCD is not set
-# CONFIG_USB_ISP1760_HCD is not set
-# CONFIG_USB_OHCI_HCD is not set
-# CONFIG_USB_SL811_HCD is not set
-# CONFIG_USB_R8A66597_HCD is not set
-CONFIG_USB_MUSB_HDRC=y
-CONFIG_USB_MUSB_SOC=y
-
-#
-# OMAP 343x high speed USB support
-#
-# CONFIG_USB_MUSB_HOST is not set
-# CONFIG_USB_MUSB_PERIPHERAL is not set
-CONFIG_USB_MUSB_OTG=y
-CONFIG_USB_GADGET_MUSB_HDRC=y
-CONFIG_USB_MUSB_HDRC_HCD=y
-# CONFIG_MUSB_PIO_ONLY is not set
-CONFIG_USB_INVENTRA_DMA=y
-# CONFIG_USB_TI_CPPI_DMA is not set
-# CONFIG_USB_MUSB_DEBUG is not set
-
-#
-# USB Device Class drivers
-#
-CONFIG_USB_ACM=m
-CONFIG_USB_PRINTER=m
-CONFIG_USB_WDM=m
-
-#
-# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
-#
-
-#
-# may also be needed; see USB_STORAGE Help for more information
-#
-CONFIG_USB_STORAGE=y
-# CONFIG_USB_STORAGE_DEBUG is not set
-# CONFIG_USB_STORAGE_DATAFAB is not set
-# CONFIG_USB_STORAGE_FREECOM is not set
-# CONFIG_USB_STORAGE_ISD200 is not set
-# CONFIG_USB_STORAGE_DPCM is not set
-# CONFIG_USB_STORAGE_USBAT is not set
-# CONFIG_USB_STORAGE_SDDR09 is not set
-# CONFIG_USB_STORAGE_SDDR55 is not set
-# CONFIG_USB_STORAGE_JUMPSHOT is not set
-# CONFIG_USB_STORAGE_ALAUDA is not set
-# CONFIG_USB_STORAGE_ONETOUCH is not set
-# CONFIG_USB_STORAGE_KARMA is not set
-# CONFIG_USB_STORAGE_CYPRESS_ATACB is not set
-# CONFIG_USB_LIBUSUAL is not set
-
-#
-# USB Imaging devices
-#
-# CONFIG_USB_MDC800 is not set
-# CONFIG_USB_MICROTEK is not set
-
-#
-# USB port drivers
-#
-CONFIG_USB_SERIAL=m
-CONFIG_USB_EZUSB=y
-CONFIG_USB_SERIAL_GENERIC=y
-CONFIG_USB_SERIAL_AIRCABLE=m
-CONFIG_USB_SERIAL_ARK3116=m
-CONFIG_USB_SERIAL_BELKIN=m
-CONFIG_USB_SERIAL_CH341=m
-CONFIG_USB_SERIAL_WHITEHEAT=m
-CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m
-CONFIG_USB_SERIAL_CP2101=m
-CONFIG_USB_SERIAL_CYPRESS_M8=m
-CONFIG_USB_SERIAL_EMPEG=m
-CONFIG_USB_SERIAL_FTDI_SIO=m
-CONFIG_USB_SERIAL_FUNSOFT=m
-CONFIG_USB_SERIAL_VISOR=m
-CONFIG_USB_SERIAL_IPAQ=m
-CONFIG_USB_SERIAL_IR=m
-CONFIG_USB_SERIAL_EDGEPORT=m
-CONFIG_USB_SERIAL_EDGEPORT_TI=m
-CONFIG_USB_SERIAL_GARMIN=m
-CONFIG_USB_SERIAL_IPW=m
-CONFIG_USB_SERIAL_IUU=m
-CONFIG_USB_SERIAL_KEYSPAN_PDA=m
-CONFIG_USB_SERIAL_KEYSPAN=m
-CONFIG_USB_SERIAL_KEYSPAN_MPR=y
-CONFIG_USB_SERIAL_KEYSPAN_USA28=y
-CONFIG_USB_SERIAL_KEYSPAN_USA28X=y
-CONFIG_USB_SERIAL_KEYSPAN_USA28XA=y
-CONFIG_USB_SERIAL_KEYSPAN_USA28XB=y
-CONFIG_USB_SERIAL_KEYSPAN_USA19=y
-CONFIG_USB_SERIAL_KEYSPAN_USA18X=y
-CONFIG_USB_SERIAL_KEYSPAN_USA19W=y
-CONFIG_USB_SERIAL_KEYSPAN_USA19QW=y
-CONFIG_USB_SERIAL_KEYSPAN_USA19QI=y
-CONFIG_USB_SERIAL_KEYSPAN_USA49W=y
-CONFIG_USB_SERIAL_KEYSPAN_USA49WLC=y
-CONFIG_USB_SERIAL_KLSI=m
-CONFIG_USB_SERIAL_KOBIL_SCT=m
-CONFIG_USB_SERIAL_MCT_U232=m
-CONFIG_USB_SERIAL_MOS7720=m
-CONFIG_USB_SERIAL_MOS7840=m
-CONFIG_USB_SERIAL_MOTOROLA=m
-CONFIG_USB_SERIAL_NAVMAN=m
-CONFIG_USB_SERIAL_PL2303=m
-CONFIG_USB_SERIAL_OTI6858=m
-CONFIG_USB_SERIAL_SPCP8X5=m
-CONFIG_USB_SERIAL_HP4X=m
-CONFIG_USB_SERIAL_SAFE=m
-# CONFIG_USB_SERIAL_SAFE_PADDED is not set
-CONFIG_USB_SERIAL_SIERRAWIRELESS=m
-CONFIG_USB_SERIAL_TI=m
-CONFIG_USB_SERIAL_CYBERJACK=m
-CONFIG_USB_SERIAL_XIRCOM=m
-CONFIG_USB_SERIAL_OPTION=m
-CONFIG_USB_SERIAL_OMNINET=m
-CONFIG_USB_SERIAL_DEBUG=m
-
-#
-# USB Miscellaneous drivers
-#
-CONFIG_USB_EMI62=m
-CONFIG_USB_EMI26=m
-# CONFIG_USB_ADUTUX is not set
-# CONFIG_USB_RIO500 is not set
-CONFIG_USB_LEGOTOWER=m
-CONFIG_USB_LCD=m
-# CONFIG_USB_BERRY_CHARGE is not set
-CONFIG_USB_LED=m
-# CONFIG_USB_CYPRESS_CY7C63 is not set
-# CONFIG_USB_CYTHERM is not set
-# CONFIG_USB_PHIDGET is not set
-# CONFIG_USB_IDMOUSE is not set
-# CONFIG_USB_FTDI_ELAN is not set
-# CONFIG_USB_APPLEDISPLAY is not set
-# CONFIG_USB_SISUSBVGA is not set
-# CONFIG_USB_LD is not set
-# CONFIG_USB_TRANCEVIBRATOR is not set
-# CONFIG_USB_IOWARRIOR is not set
-CONFIG_USB_TEST=m
-# CONFIG_USB_ISIGHTFW is not set
-CONFIG_USB_GADGET=y
-# CONFIG_USB_GADGET_DEBUG is not set
-# CONFIG_USB_GADGET_DEBUG_FILES is not set
-# CONFIG_USB_GADGET_DEBUG_FS is not set
-CONFIG_USB_GADGET_SELECTED=y
-# CONFIG_USB_GADGET_AMD5536UDC is not set
-# CONFIG_USB_GADGET_ATMEL_USBA is not set
-# CONFIG_USB_GADGET_FSL_USB2 is not set
-# CONFIG_USB_GADGET_NET2280 is not set
-# CONFIG_USB_GADGET_PXA25X is not set
-# CONFIG_USB_GADGET_M66592 is not set
-# CONFIG_USB_GADGET_PXA27X is not set
-# CONFIG_USB_GADGET_GOKU is not set
-# CONFIG_USB_GADGET_LH7A40X is not set
-# CONFIG_USB_GADGET_OMAP is not set
-# CONFIG_USB_GADGET_S3C2410 is not set
-# CONFIG_USB_GADGET_AT91 is not set
-# CONFIG_USB_GADGET_DUMMY_HCD is not set
-CONFIG_USB_GADGET_DUALSPEED=y
-# CONFIG_USB_ZERO is not set
-CONFIG_USB_ETH=m
-CONFIG_USB_ETH_RNDIS=y
-# CONFIG_USB_GADGETFS is not set
-# CONFIG_USB_FILE_STORAGE is not set
-# CONFIG_USB_G_SERIAL is not set
-# CONFIG_USB_MIDI_GADGET is not set
-# CONFIG_USB_G_PRINTER is not set
-# CONFIG_USB_CDC_COMPOSITE is not set
-CONFIG_MMC=y
-# CONFIG_MMC_DEBUG is not set
-CONFIG_MMC_UNSAFE_RESUME=y
-
-#
-# MMC/SD Card Drivers
-#
-CONFIG_MMC_BLOCK=y
-CONFIG_MMC_BLOCK_BOUNCE=y
-CONFIG_SDIO_UART=y
-# CONFIG_MMC_TEST is not set
-
-#
-# MMC/SD Host Controller Drivers
-#
-# CONFIG_MMC_SDHCI is not set
-CONFIG_MMC_OMAP_HS=y
-CONFIG_MMC_SPI=m
-CONFIG_OMAP_HS_MMC1=y
-CONFIG_OMAP_HS_MMC2=y
-CONFIG_OMAP_HS_MMC3=y
-CONFIG_TIWLAN_SDIO=y
-CONFIG_TIWLAN_MMC_CONTROLLER=3
-# CONFIG_MMC_SPI is not set
-CONFIG_NEW_LEDS=y
-CONFIG_LEDS_CLASS=y
-
-#
-# LED drivers
-#
-# CONFIG_LEDS_OMAP_DEBUG is not set
-# CONFIG_LEDS_OMAP is not set
-# CONFIG_LEDS_OMAP_PWM is not set
-# CONFIG_LEDS_PCA9532 is not set
-CONFIG_LEDS_GPIO=y
-# CONFIG_LEDS_PCA955X is not set
-
-#
-# LED Triggers
-#
-CONFIG_LEDS_TRIGGERS=y
-CONFIG_LEDS_TRIGGER_TIMER=y
-CONFIG_LEDS_TRIGGER_HEARTBEAT=y
-CONFIG_LEDS_TRIGGER_DEFAULT_ON=y
-CONFIG_RTC_LIB=y
-CONFIG_RTC_CLASS=y
-CONFIG_RTC_HCTOSYS=y
-CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
-# CONFIG_RTC_DEBUG is not set
-
-#
-# RTC interfaces
-#
-CONFIG_RTC_INTF_SYSFS=y
-CONFIG_RTC_INTF_PROC=y
-CONFIG_RTC_INTF_DEV=y
-# CONFIG_RTC_INTF_DEV_UIE_EMUL is not set
-# CONFIG_RTC_DRV_TEST is not set
-
-#
-# I2C RTC drivers
-#
-# CONFIG_RTC_DRV_DS1307 is not set
-# CONFIG_RTC_DRV_DS1374 is not set
-# CONFIG_RTC_DRV_DS1672 is not set
-# CONFIG_RTC_DRV_MAX6900 is not set
-# CONFIG_RTC_DRV_RS5C372 is not set
-# CONFIG_RTC_DRV_ISL1208 is not set
-# CONFIG_RTC_DRV_X1205 is not set
-# CONFIG_RTC_DRV_PCF8563 is not set
-# CONFIG_RTC_DRV_PCF8583 is not set
-# CONFIG_RTC_DRV_M41T80 is not set
-CONFIG_RTC_DRV_TWL4030=y
-# CONFIG_RTC_DRV_S35390A is not set
-# CONFIG_RTC_DRV_FM3130 is not set
-
-#
-# SPI RTC drivers
-#
-# CONFIG_RTC_DRV_M41T94 is not set
-# CONFIG_RTC_DRV_DS1305 is not set
-# CONFIG_RTC_DRV_MAX6902 is not set
-# CONFIG_RTC_DRV_R9701 is not set
-# CONFIG_RTC_DRV_RS5C348 is not set
-
-#
-# Platform RTC drivers
-#
-# CONFIG_RTC_DRV_CMOS is not set
-# CONFIG_RTC_DRV_DS1511 is not set
-# CONFIG_RTC_DRV_DS1553 is not set
-# CONFIG_RTC_DRV_DS1742 is not set
-# CONFIG_RTC_DRV_STK17TA8 is not set
-# CONFIG_RTC_DRV_M48T86 is not set
-# CONFIG_RTC_DRV_M48T59 is not set
-# CONFIG_RTC_DRV_V3020 is not set
-
-#
-# on-CPU RTC drivers
-#
-# CONFIG_DMADEVICES is not set
-
-#
-# Voltage and Current regulators
-#
-# CONFIG_REGULATOR is not set
-# CONFIG_REGULATOR_FIXED_VOLTAGE is not set
-# CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set
-# CONFIG_REGULATOR_BQ24022 is not set
-# CONFIG_UIO is not set
-
-#
-# CBUS support
-#
-# CONFIG_CBUS is not set
-
-#
-# File systems
-#
-CONFIG_EXT2_FS=y
-# CONFIG_EXT2_FS_XATTR is not set
-# CONFIG_EXT2_FS_XIP is not set
-CONFIG_EXT3_FS=y
-# CONFIG_EXT3_FS_XATTR is not set
-# CONFIG_EXT4DEV_FS is not set
-CONFIG_JBD=y
-# CONFIG_JBD_DEBUG is not set
-# CONFIG_REISERFS_FS is not set
-# CONFIG_JFS_FS is not set
-CONFIG_FS_POSIX_ACL=y
-CONFIG_XFS_FS=m
-# CONFIG_XFS_QUOTA is not set
-# CONFIG_XFS_POSIX_ACL is not set
-# CONFIG_XFS_RT is not set
-# CONFIG_XFS_DEBUG is not set
-# CONFIG_GFS2_FS is not set
-# CONFIG_OCFS2_FS is not set
-CONFIG_DNOTIFY=y
-CONFIG_INOTIFY=y
-CONFIG_INOTIFY_USER=y
-CONFIG_QUOTA=y
-# CONFIG_QUOTA_NETLINK_INTERFACE is not set
-CONFIG_PRINT_QUOTA_WARNING=y
-# CONFIG_QFMT_V1 is not set
-CONFIG_QFMT_V2=y
-CONFIG_QUOTACTL=y
-# CONFIG_AUTOFS_FS is not set
-CONFIG_AUTOFS4_FS=m
-CONFIG_FUSE_FS=m
-
-#
-# CD-ROM/DVD Filesystems
-#
-CONFIG_ISO9660_FS=m
-CONFIG_JOLIET=y
-CONFIG_ZISOFS=y
-CONFIG_UDF_FS=m
-CONFIG_UDF_NLS=y
-
-#
-# DOS/FAT/NT Filesystems
-#
-CONFIG_FAT_FS=y
-CONFIG_MSDOS_FS=y
-CONFIG_VFAT_FS=y
-CONFIG_FAT_DEFAULT_CODEPAGE=437
-CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
-# CONFIG_NTFS_FS is not set
-
-#
-# Pseudo filesystems
-#
-CONFIG_PROC_FS=y
-CONFIG_PROC_SYSCTL=y
-CONFIG_SYSFS=y
-CONFIG_TMPFS=y
-# CONFIG_TMPFS_POSIX_ACL is not set
-# CONFIG_HUGETLB_PAGE is not set
-# CONFIG_CONFIGFS_FS is not set
-
-#
-# Miscellaneous filesystems
-#
-# CONFIG_ADFS_FS is not set
-# CONFIG_AFFS_FS is not set
-# CONFIG_HFS_FS is not set
-# CONFIG_HFSPLUS_FS is not set
-# CONFIG_BEFS_FS is not set
-# CONFIG_BFS_FS is not set
-# CONFIG_EFS_FS is not set
-CONFIG_JFFS2_FS=y
-CONFIG_JFFS2_FS_DEBUG=0
-CONFIG_JFFS2_FS_WRITEBUFFER=y
-# CONFIG_JFFS2_FS_WBUF_VERIFY is not set
-CONFIG_JFFS2_SUMMARY=y
-CONFIG_JFFS2_FS_XATTR=y
-CONFIG_JFFS2_FS_POSIX_ACL=y
-CONFIG_JFFS2_FS_SECURITY=y
-CONFIG_JFFS2_COMPRESSION_OPTIONS=y
-CONFIG_JFFS2_ZLIB=y
-CONFIG_JFFS2_LZO=y
-CONFIG_JFFS2_RTIME=y
-CONFIG_JFFS2_RUBIN=y
-# CONFIG_JFFS2_CMODE_NONE is not set
-CONFIG_JFFS2_CMODE_PRIORITY=y
-# CONFIG_JFFS2_CMODE_SIZE is not set
-# CONFIG_JFFS2_CMODE_FAVOURLZO is not set
-# CONFIG_CRAMFS is not set
-# CONFIG_VXFS_FS is not set
-# CONFIG_MINIX_FS is not set
-# CONFIG_OMFS_FS is not set
-# CONFIG_HPFS_FS is not set
-# CONFIG_QNX4FS_FS is not set
-# CONFIG_ROMFS_FS is not set
-# CONFIG_SYSV_FS is not set
-# CONFIG_UFS_FS is not set
-CONFIG_NETWORK_FILESYSTEMS=y
-CONFIG_NFS_FS=y
-CONFIG_NFS_V3=y
-# CONFIG_NFS_V3_ACL is not set
-CONFIG_NFS_V4=y
-CONFIG_ROOT_NFS=y
-# CONFIG_NFSD is not set
-CONFIG_LOCKD=y
-CONFIG_LOCKD_V4=y
-CONFIG_NFS_COMMON=y
-CONFIG_SUNRPC=y
-CONFIG_SUNRPC_GSS=y
-CONFIG_RPCSEC_GSS_KRB5=y
-# CONFIG_RPCSEC_GSS_SPKM3 is not set
-# CONFIG_SMB_FS is not set
-CONFIG_CIFS=y
-# CONFIG_CIFS_STATS is not set
-# CONFIG_CIFS_WEAK_PW_HASH is not set
-# CONFIG_CIFS_XATTR is not set
-# CONFIG_CIFS_DEBUG2 is not set
-# CONFIG_CIFS_EXPERIMENTAL is not set
-# CONFIG_NCP_FS is not set
-# CONFIG_CODA_FS is not set
-# CONFIG_AFS_FS is not set
-
-#
-# Partition Types
-#
-CONFIG_PARTITION_ADVANCED=y
-# CONFIG_ACORN_PARTITION is not set
-# CONFIG_OSF_PARTITION is not set
-# CONFIG_AMIGA_PARTITION is not set
-# CONFIG_ATARI_PARTITION is not set
-# CONFIG_MAC_PARTITION is not set
-CONFIG_MSDOS_PARTITION=y
-# CONFIG_BSD_DISKLABEL is not set
-# CONFIG_MINIX_SUBPARTITION is not set
-# CONFIG_SOLARIS_X86_PARTITION is not set
-# CONFIG_UNIXWARE_DISKLABEL is not set
-# CONFIG_LDM_PARTITION is not set
-# CONFIG_SGI_PARTITION is not set
-# CONFIG_ULTRIX_PARTITION is not set
-# CONFIG_SUN_PARTITION is not set
-# CONFIG_KARMA_PARTITION is not set
-# CONFIG_EFI_PARTITION is not set
-# CONFIG_SYSV68_PARTITION is not set
-CONFIG_NLS=y
-CONFIG_NLS_DEFAULT="iso8859-1"
-CONFIG_NLS_CODEPAGE_437=y
-# CONFIG_NLS_CODEPAGE_737 is not set
-# CONFIG_NLS_CODEPAGE_775 is not set
-# CONFIG_NLS_CODEPAGE_850 is not set
-# CONFIG_NLS_CODEPAGE_852 is not set
-# CONFIG_NLS_CODEPAGE_855 is not set
-# CONFIG_NLS_CODEPAGE_857 is not set
-# CONFIG_NLS_CODEPAGE_860 is not set
-# CONFIG_NLS_CODEPAGE_861 is not set
-# CONFIG_NLS_CODEPAGE_862 is not set
-# CONFIG_NLS_CODEPAGE_863 is not set
-# CONFIG_NLS_CODEPAGE_864 is not set
-# CONFIG_NLS_CODEPAGE_865 is not set
-# CONFIG_NLS_CODEPAGE_866 is not set
-# CONFIG_NLS_CODEPAGE_869 is not set
-# CONFIG_NLS_CODEPAGE_936 is not set
-# CONFIG_NLS_CODEPAGE_950 is not set
-# CONFIG_NLS_CODEPAGE_932 is not set
-# CONFIG_NLS_CODEPAGE_949 is not set
-# CONFIG_NLS_CODEPAGE_874 is not set
-# CONFIG_NLS_ISO8859_8 is not set
-# CONFIG_NLS_CODEPAGE_1250 is not set
-# CONFIG_NLS_CODEPAGE_1251 is not set
-# CONFIG_NLS_ASCII is not set
-CONFIG_NLS_ISO8859_1=y
-# CONFIG_NLS_ISO8859_2 is not set
-# CONFIG_NLS_ISO8859_3 is not set
-# CONFIG_NLS_ISO8859_4 is not set
-# CONFIG_NLS_ISO8859_5 is not set
-# CONFIG_NLS_ISO8859_6 is not set
-# CONFIG_NLS_ISO8859_7 is not set
-# CONFIG_NLS_ISO8859_9 is not set
-# CONFIG_NLS_ISO8859_13 is not set
-# CONFIG_NLS_ISO8859_14 is not set
-# CONFIG_NLS_ISO8859_15 is not set
-# CONFIG_NLS_KOI8_R is not set
-# CONFIG_NLS_KOI8_U is not set
-# CONFIG_NLS_UTF8 is not set
-# CONFIG_DLM is not set
-
-#
-# Kernel hacking
-#
-# CONFIG_PRINTK_TIME is not set
-CONFIG_ENABLE_WARN_DEPRECATED=y
-CONFIG_ENABLE_MUST_CHECK=y
-CONFIG_FRAME_WARN=1024
-CONFIG_MAGIC_SYSRQ=y
-# CONFIG_UNUSED_SYMBOLS is not set
-# CONFIG_DEBUG_FS is not set
-# CONFIG_HEADERS_CHECK is not set
-CONFIG_DEBUG_KERNEL=y
-# CONFIG_DEBUG_SHIRQ is not set
-CONFIG_DETECT_SOFTLOCKUP=y
-# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set
-CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0
-CONFIG_SCHED_DEBUG=y
-CONFIG_SCHEDSTATS=y
-CONFIG_TIMER_STATS=y
-# CONFIG_DEBUG_OBJECTS is not set
-# CONFIG_DEBUG_SLAB is not set
-# CONFIG_DEBUG_RT_MUTEXES is not set
-# CONFIG_RT_MUTEX_TESTER is not set
-# CONFIG_DEBUG_SPINLOCK is not set
-CONFIG_DEBUG_MUTEXES=y
-# CONFIG_DEBUG_LOCK_ALLOC is not set
-# CONFIG_PROVE_LOCKING is not set
-# CONFIG_LOCK_STAT is not set
-# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
-# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
-# CONFIG_DEBUG_KOBJECT is not set
-# CONFIG_DEBUG_BUGVERBOSE is not set
-# CONFIG_DEBUG_INFO is not set
-# CONFIG_DEBUG_VM is not set
-# CONFIG_DEBUG_WRITECOUNT is not set
-# CONFIG_DEBUG_MEMORY_INIT is not set
-# CONFIG_DEBUG_LIST is not set
-# CONFIG_DEBUG_SG is not set
-CONFIG_FRAME_POINTER=y
-# CONFIG_BOOT_PRINTK_DELAY is not set
-# CONFIG_RCU_TORTURE_TEST is not set
-# CONFIG_BACKTRACE_SELF_TEST is not set
-# CONFIG_FAULT_INJECTION is not set
-# CONFIG_LATENCYTOP is not set
-CONFIG_HAVE_FTRACE=y
-CONFIG_HAVE_DYNAMIC_FTRACE=y
-# CONFIG_FTRACE is not set
-# CONFIG_IRQSOFF_TRACER is not set
-# CONFIG_SCHED_TRACER is not set
-# CONFIG_CONTEXT_SWITCH_TRACER is not set
-# CONFIG_SAMPLES is not set
-CONFIG_HAVE_ARCH_KGDB=y
-# CONFIG_KGDB is not set
-# CONFIG_DEBUG_USER is not set
-# CONFIG_DEBUG_ERRORS is not set
-# CONFIG_DEBUG_STACK_USAGE is not set
-# CONFIG_DEBUG_LL is not set
-
-#
-# Security options
-#
-# CONFIG_KEYS is not set
-# CONFIG_SECURITY is not set
-# CONFIG_SECURITY_FILE_CAPABILITIES is not set
-CONFIG_XOR_BLOCKS=m
-CONFIG_ASYNC_CORE=m
-CONFIG_ASYNC_MEMCPY=m
-CONFIG_ASYNC_XOR=m
-CONFIG_CRYPTO=y
-
-#
-# Crypto core or helper
-#
-CONFIG_CRYPTO_ALGAPI=y
-CONFIG_CRYPTO_AEAD=m
-CONFIG_CRYPTO_BLKCIPHER=y
-CONFIG_CRYPTO_HASH=m
-CONFIG_CRYPTO_MANAGER=y
-CONFIG_CRYPTO_GF128MUL=m
-CONFIG_CRYPTO_NULL=m
-CONFIG_CRYPTO_CRYPTD=m
-# CONFIG_CRYPTO_AUTHENC is not set
-CONFIG_CRYPTO_TEST=m
-
-#
-# Authenticated Encryption with Associated Data
-#
-# CONFIG_CRYPTO_CCM is not set
-# CONFIG_CRYPTO_GCM is not set
-# CONFIG_CRYPTO_SEQIV is not set
-
-#
-# Block modes
-#
-CONFIG_CRYPTO_CBC=y
-# CONFIG_CRYPTO_CTR is not set
-# CONFIG_CRYPTO_CTS is not set
-CONFIG_CRYPTO_ECB=y
-CONFIG_CRYPTO_LRW=m
-CONFIG_CRYPTO_PCBC=m
-# CONFIG_CRYPTO_XTS is not set
-
-#
-# Hash modes
-#
-CONFIG_CRYPTO_HMAC=m
-CONFIG_CRYPTO_XCBC=m
-
-#
-# Digest
-#
-CONFIG_CRYPTO_CRC32C=m
-CONFIG_CRYPTO_MD4=m
-CONFIG_CRYPTO_MD5=y
-CONFIG_CRYPTO_MICHAEL_MIC=y
-# CONFIG_CRYPTO_RMD128 is not set
-# CONFIG_CRYPTO_RMD160 is not set
-# CONFIG_CRYPTO_RMD256 is not set
-# CONFIG_CRYPTO_RMD320 is not set
-CONFIG_CRYPTO_SHA1=m
-CONFIG_CRYPTO_SHA256=m
-CONFIG_CRYPTO_SHA512=m
-CONFIG_CRYPTO_TGR192=m
-CONFIG_CRYPTO_WP512=m
-
-#
-# Ciphers
-#
-CONFIG_CRYPTO_AES=y
-CONFIG_CRYPTO_ANUBIS=m
-CONFIG_CRYPTO_ARC4=y
-CONFIG_CRYPTO_BLOWFISH=m
-CONFIG_CRYPTO_CAMELLIA=m
-CONFIG_CRYPTO_CAST5=m
-CONFIG_CRYPTO_CAST6=m
-CONFIG_CRYPTO_DES=y
-CONFIG_CRYPTO_FCRYPT=m
-CONFIG_CRYPTO_KHAZAD=m
-# CONFIG_CRYPTO_SALSA20 is not set
-# CONFIG_CRYPTO_SEED is not set
-CONFIG_CRYPTO_SERPENT=m
-CONFIG_CRYPTO_TEA=m
-CONFIG_CRYPTO_TWOFISH=m
-CONFIG_CRYPTO_TWOFISH_COMMON=m
-
-#
-# Compression
-#
-CONFIG_CRYPTO_DEFLATE=m
-# CONFIG_CRYPTO_LZO is not set
-CONFIG_CRYPTO_HW=y
-
-#
-# Library routines
-#
-CONFIG_BITREVERSE=y
-# CONFIG_GENERIC_FIND_FIRST_BIT is not set
-# CONFIG_GENERIC_FIND_NEXT_BIT is not set
-CONFIG_CRC_CCITT=y
-CONFIG_CRC16=m
-CONFIG_CRC_T10DIF=y
-CONFIG_CRC_ITU_T=y
-CONFIG_CRC32=y
-CONFIG_CRC7=y
-CONFIG_LIBCRC32C=y
-CONFIG_ZLIB_INFLATE=y
-CONFIG_ZLIB_DEFLATE=y
-CONFIG_LZO_COMPRESS=y
-CONFIG_LZO_DECOMPRESS=y
-CONFIG_PLIST=y
-CONFIG_HAS_IOMEM=y
-CONFIG_HAS_IOPORT=y
-CONFIG_HAS_DMA=y
diff --git a/packages/pandora-system/pandora-libpnd.bb b/packages/pandora-system/pandora-libpnd.bb
new file mode 100755 (executable)
index 0000000..50a13c8
--- /dev/null
@@ -0,0 +1,29 @@
+DESCRIPTION = "Support for the PND format in Pandora images (lib, daemon, init script etc.)"
+LICENSE = "lGPL"
+
+PR = "r1"
+
+SRC_URI = " \
+          git://openpandora.org/pandora-libraries.git;protocol=git;branch=master \
+"
+
+SRCREV = "886aeeeba3b074ebb92be3d9ac1d961a156163a9"
+
+S = "${WORKDIR}/git"
+
+
+SRC_URI += " \
+#      file://wlan_cu_makefile.patch;patch=1 \
+"
+
+do_compile_prepend() {
+       cd ${S}/
+}
+
+do_install() {
+       install -d ${D}${bindir}
+       install -m 0755 ${S}/wlan_cu ${D}${bindir}
+#      install -m 0755 ${S}/tiwlan_loader ${D}${bindir}
+}
+
+FILES_${PN} += "${bindir} ${sbindir} ${bindir}/wlan_cu ${bindir}/tiwlan_loader"
index 52fff61..482caf9 100755 (executable)
@@ -3,7 +3,7 @@ LICENSE = "GPLv2"
 
 DEPENDS = "pandora-wifi"
 
 
 DEPENDS = "pandora-wifi"
 
-PR = "r3"
+PR = "r3.2"
 
 # Check the include for the source location/GIT SRCREV etc.
 require pandora-wifi.inc
 
 # Check the include for the source location/GIT SRCREV etc.
 require pandora-wifi.inc
@@ -19,6 +19,10 @@ do_compile_prepend() {
        cd ${S}/sta_dk_4_0_4_32/CUDK/CLI/
 }
 
        cd ${S}/sta_dk_4_0_4_32/CUDK/CLI/
 }
 
+#do_compile_append() {
+#      cd ${S}/sta_dk_4_0_4_32/CUDK/tiwlan_loader/ && oe_runmake CC=${TARGET_PREFIX}gcc AR= 
+#}
+
 do_install() {
        install -d ${D}${bindir}
        install -m 0755 ${S}/wlan_cu ${D}${bindir}
 do_install() {
        install -d ${D}${bindir}
        install -m 0755 ${S}/wlan_cu ${D}${bindir}
index 05020a0..98fe395 100755 (executable)
@@ -8,6 +8,8 @@ S = "${WORKDIR}/git"
 
 inherit module
 
 
 inherit module
 
+PARALLEL_MAKE = ""
+
 EXTRA_OEMAKE = " \
           'KERNELVER=${KERNEL_VERSION}' \
           'LINUXSRC=${STAGING_KERNEL_DIR}' \
 EXTRA_OEMAKE = " \
           'KERNELVER=${KERNEL_VERSION}' \
           'LINUXSRC=${STAGING_KERNEL_DIR}' \
@@ -16,6 +18,7 @@ EXTRA_OEMAKE = " \
 
 COMPATIBLE_MACHINE = "omap3-pandora"
 
 
 COMPATIBLE_MACHINE = "omap3-pandora"
 
+#Warning: Here be hacks as the build system is a little nuts.
 MAKE_TARGETS = "BUILD=debug ARCH=arm CROSS_COMPILE=${TARGET_PREFIX} KERNEL_DIR=${STAGING_KERNEL_DIR} OUTPUT_DIR=${S} AR=ar"
 
 KCFLAGS = "-D__KERNEL__ -DMODULE \
 MAKE_TARGETS = "BUILD=debug ARCH=arm CROSS_COMPILE=${TARGET_PREFIX} KERNEL_DIR=${STAGING_KERNEL_DIR} OUTPUT_DIR=${S} AR=ar"
 
 KCFLAGS = "-D__KERNEL__ -DMODULE \
diff --git a/packages/pandora-system/pandora-wifi/0011-Add-in-the-start-of-wireless-extensions-support-ioc.patch b/packages/pandora-system/pandora-wifi/0011-Add-in-the-start-of-wireless-extensions-support-ioc.patch
new file mode 100755 (executable)
index 0000000..a354b03
--- /dev/null
@@ -0,0 +1,1963 @@
+From ff10751bd182684f71ac7f572c06fb1fc662e5e0 Mon Sep 17 00:00:00 2001
+From: David-John Willis <John.Willis@Distant-earth.com>
+Date: Tue, 3 Mar 2009 20:36:24 +0000
+Subject: [PATCH] Add in the start of wireless extensions support (ioctl stuff).
+
+---
+ sta_dk_4_0_4_32/Makefile                   |    1 +
+ sta_dk_4_0_4_32/pform/linux/src/iw_ioctl.c | 1906 ++++++++++++++++++++++++++++
+ sta_dk_4_0_4_32/pform/linux/src/osapi.c    |    7 +-
+ 3 files changed, 1913 insertions(+), 1 deletions(-)
+ mode change 100644 => 100755 sta_dk_4_0_4_32/Makefile
+ create mode 100755 sta_dk_4_0_4_32/pform/linux/src/iw_ioctl.c
+ mode change 100644 => 100755 sta_dk_4_0_4_32/pform/linux/src/osapi.c
+
+diff --git a/sta_dk_4_0_4_32/Makefile b/sta_dk_4_0_4_32/Makefile
+old mode 100644
+new mode 100755
+index 76fbe48..339cfd5
+--- a/sta_dk_4_0_4_32/Makefile
++++ b/sta_dk_4_0_4_32/Makefile
+@@ -61,6 +61,7 @@ OS_SRCS = \
+     $(DK_ROOT)/pform/linux/src/ioctl_utils.c \
+     $(DK_ROOT)/pform/linux/src/osRgstry_parser.c \
+     $(DK_ROOT)/pform/linux/src/ipc_k.c \
++    $(DK_ROOT)/pform/linux/src/iw_ioctl.c \
+     $(DK_ROOT)/pform/linux/src/proc_stat.c
+     
+ ifeq ($(DRIVER_PROFILING),y)
+diff --git a/sta_dk_4_0_4_32/pform/linux/src/iw_ioctl.c b/sta_dk_4_0_4_32/pform/linux/src/iw_ioctl.c
+new file mode 100755
+index 0000000..3b02424
+--- /dev/null
++++ b/sta_dk_4_0_4_32/pform/linux/src/iw_ioctl.c
+@@ -0,0 +1,1906 @@
++/* ioctl() (mostly Linux Wireless Extensions) routines for TI 1251 driver */
++
++#include <linux/if_arp.h>
++#include <linux/wireless.h>
++#include <net/iw_handler.h>
++#include <net/ieee80211.h>
++#include "osAdapter.h"
++#include "tiioctl.h"
++#include "paramOut.h"
++#include "osUtil.h"
++#include "srcApi.h"
++#include "configMgr.h"
++#include "esta_drv.h"
++#include "osUtil.h"
++#include "scanMngrTypes.h"
++#include "scanMngrTypes.h"
++
++#define IOCTL_DBG 1
++
++static const long freq_list[] = { 2412, 2417, 2422, 2427, 2432, 2437, 2442,
++                                2447, 2452, 2457, 2462, 2467, 2472, 2484 };
++#define FREQ_COUNT (sizeof(freq_list) / sizeof(freq_list[0]))
++#define MAX_SSID_LEN 32
++#define MAX_NAME_LEN 32 /* this is assumed to be equal to MAX_SSID_LEN */
++#define VAL_DEFAULT_KEY_ID                    110
++#define WEP_KEYS      4
++//#define MEGA        1e6
++
++scan_Params_t iw_appScanParams;
++scan_Policy_t iw_scanPolicy;
++
++void init_scan_params(void)
++{
++    int i,j;
++
++    /* init application scan default params */
++    iw_appScanParams.desiredSsid.len = 0;
++    iw_appScanParams.scanType = SCAN_TYPE_NORMAL_ACTIVE;
++    iw_appScanParams.band = RADIO_BAND_2_4_GHZ;
++    iw_appScanParams.probeReqNumber = 3;
++    iw_appScanParams.probeRequestRate = DRV_RATE_MASK_2_BARKER;
++    iw_appScanParams.numOfChannels = 11;
++    for ( i = 0; i < 11; i++ )
++    {
++        for ( j = 0; j < 6; j++ )
++        {
++            iw_appScanParams.channelEntry[ i ].normalChannelEntry.bssId.addr[ j ] = 0xff;
++        }
++        iw_appScanParams.channelEntry[ i ].normalChannelEntry.earlyTerminationEvent = SCAN_ET_COND_DISABLE;
++        iw_appScanParams.channelEntry[ i ].normalChannelEntry.ETMaxNumOfAPframes = 0;
++        iw_appScanParams.channelEntry[ i ].normalChannelEntry.maxChannelDwellTime = 60000;
++        iw_appScanParams.channelEntry[ i ].normalChannelEntry.minChannelDwellTime = 30000;
++        iw_appScanParams.channelEntry[ i ].normalChannelEntry.txPowerDbm = MAX_POWER_LEVEL;
++        iw_appScanParams.channelEntry[ i ].normalChannelEntry.channel = i + 1;
++    }
++
++    /* init default scan policy */
++    iw_scanPolicy.normalScanInterval = 10000;
++    iw_scanPolicy.deterioratingScanInterval = 5000;
++    iw_scanPolicy.maxTrackFailures = 3;
++    iw_scanPolicy.BSSListSize = 4;
++    iw_scanPolicy.BSSNumberToStartDiscovery = 1;
++    iw_scanPolicy.numOfBands = 1;
++    iw_scanPolicy.bandScanPolicy[ 0 ].band = RADIO_BAND_2_4_GHZ;
++    iw_scanPolicy.bandScanPolicy[ 0 ].rxRSSIThreshold = -80;
++    iw_scanPolicy.bandScanPolicy[ 0 ].numOfChannles = 11;
++    iw_scanPolicy.bandScanPolicy[ 0 ].numOfChannlesForDiscovery = 3;
++    for ( i = 0; i < 11; i++ )
++    {
++        iw_scanPolicy.bandScanPolicy[ 0 ].channelList[ i ] = i + 1;
++    }
++    iw_scanPolicy.bandScanPolicy[ 0 ].trackingMethod.scanType = SCAN_TYPE_NORMAL_ACTIVE;
++    iw_scanPolicy.bandScanPolicy[ 0 ].trackingMethod.method.basicMethodParams.earlyTerminationEvent = SCAN_ET_COND_DISABLE;
++    iw_scanPolicy.bandScanPolicy[ 0 ].trackingMethod.method.basicMethodParams.ETMaxNumberOfApFrames = 0;
++    iw_scanPolicy.bandScanPolicy[ 0 ].trackingMethod.method.basicMethodParams.maxChannelDwellTime = 30000;
++    iw_scanPolicy.bandScanPolicy[ 0 ].trackingMethod.method.basicMethodParams.minChannelDwellTime = 15000;
++    iw_scanPolicy.bandScanPolicy[ 0 ].trackingMethod.method.basicMethodParams.probReqParams.bitrate = DRV_RATE_MASK_1_BARKER;
++    iw_scanPolicy.bandScanPolicy[ 0 ].trackingMethod.method.basicMethodParams.probReqParams.numOfProbeReqs = 3;
++    iw_scanPolicy.bandScanPolicy[ 0 ].trackingMethod.method.basicMethodParams.probReqParams.txPowerDbm = 1;
++    iw_scanPolicy.bandScanPolicy[ 0 ].discoveryMethod.scanType = SCAN_TYPE_NORMAL_ACTIVE;
++    iw_scanPolicy.bandScanPolicy[ 0 ].discoveryMethod.method.basicMethodParams.earlyTerminationEvent = SCAN_ET_COND_DISABLE;
++    iw_scanPolicy.bandScanPolicy[ 0 ].discoveryMethod.method.basicMethodParams.ETMaxNumberOfApFrames = 0;
++    iw_scanPolicy.bandScanPolicy[ 0 ].discoveryMethod.method.basicMethodParams.maxChannelDwellTime = 30000;
++    iw_scanPolicy.bandScanPolicy[ 0 ].discoveryMethod.method.basicMethodParams.minChannelDwellTime = 15000;
++    iw_scanPolicy.bandScanPolicy[ 0 ].discoveryMethod.method.basicMethodParams.probReqParams.bitrate = DRV_RATE_MASK_2_BARKER;
++    iw_scanPolicy.bandScanPolicy[ 0 ].discoveryMethod.method.basicMethodParams.probReqParams.numOfProbeReqs = 3;
++    iw_scanPolicy.bandScanPolicy[ 0 ].discoveryMethod.method.basicMethodParams.probReqParams.txPowerDbm = 1;
++    iw_scanPolicy.bandScanPolicy[ 0 ].immediateScanMethod.scanType = SCAN_TYPE_NORMAL_ACTIVE;
++    iw_scanPolicy.bandScanPolicy[ 0 ].immediateScanMethod.method.basicMethodParams.earlyTerminationEvent = SCAN_ET_COND_DISABLE;
++    iw_scanPolicy.bandScanPolicy[ 0 ].immediateScanMethod.method.basicMethodParams.ETMaxNumberOfApFrames = 0;
++    iw_scanPolicy.bandScanPolicy[ 0 ].immediateScanMethod.method.basicMethodParams.maxChannelDwellTime = 30000;
++    iw_scanPolicy.bandScanPolicy[ 0 ].immediateScanMethod.method.basicMethodParams.minChannelDwellTime = 15000;
++    iw_scanPolicy.bandScanPolicy[ 0 ].immediateScanMethod.method.basicMethodParams.probReqParams.bitrate = DRV_RATE_MASK_5_5_CCK;
++    iw_scanPolicy.bandScanPolicy[ 0 ].immediateScanMethod.method.basicMethodParams.probReqParams.numOfProbeReqs = 3;
++    iw_scanPolicy.bandScanPolicy[ 0 ].immediateScanMethod.method.basicMethodParams.probReqParams.txPowerDbm = 1;
++}
++
++static int iw_get_name(struct net_device *dev,
++                         struct iw_request_info *info,
++                         char *name, char *extra)
++{
++#if IOCTL_DBG
++      printk("%s Call\n", __FUNCTION__);
++#endif
++/*    
++      u8 rates[10];
++      int len, i, over2 = 0;
++
++      len = iw_get_datarates(dev, rates);
++
++      for (i = 0; i < len; i++) {
++              if (rates[i] == 0x0b || rates[i] == 0x16) {
++                      over2 = 1;
++                      break;
++              }
++      }
++*/
++      strcpy(name, "IEEE 802.11g");
++
++      return 0;
++}
++
++static int iw_ioctl_siwencode(struct net_device *dev,
++                                struct iw_request_info *info,
++                                struct iw_point *erq, char *keybuf)
++{
++      PTIWLN_ADAPTER_T pAdapter = &(((tiwlan_net_dev_t *)(dev->priv))->adapter);
++      cipherSuite_e   cipher;
++      int i;
++      ULONG len; 
++
++#if IOCTL_DBG
++      printk("%s Call\n", __FUNCTION__);
++#endif
++      i = erq->flags & IW_ENCODE_INDEX;
++      if (i < 1 || i > 4)
++      {
++              UINT32 ID = VAL_DEFAULT_KEY_ID;
++              ULONG ID_size = 4;
++              UtilInfoCodeQueryInformation(pAdapter, (UINT8 *)&ID, &ID_size);
++              i = *((UINT8 *)&ID);
++      }
++      else
++              i--;
++      if (i < 0 || i >= WEP_KEYS)
++              return -EINVAL;
++
++      UtilWepStatusGet(pAdapter, (UINT8 *)&cipher, &len);
++      
++      if (erq->flags & IW_ENCODE_DISABLED) {
++              cipherSuite_e val=RSN_CIPHER_NONE;
++              UtilWepStatusSet(pAdapter, (UINT8 *)&val, sizeof(val));
++              goto done;
++      }
++      else
++      {
++              if (erq->length > 0) {
++                      OS_802_11_WEP wep;
++                      int len = erq->length <= 5 ? 5 : 13;
++                      
++                      cipherSuite_e val=RSN_CIPHER_WEP;
++                      UtilWepStatusSet(pAdapter, (UINT8 *)&val, sizeof(val));
++                      
++                      if (len > erq->length)
++                              memset(keybuf + erq->length, 0, len - erq->length);
++                      memcpy(wep.KeyMaterial, keybuf, len);
++                      wep.Length = sizeof(wep);
++                      wep.KeyIndex = i;
++                      wep.KeyLength = len;
++                      UtilAddWep(pAdapter, (UINT8 *)&wep, wep.Length, true);
++              } else {
++                      /* No key data - just set the default TX key index */
++                      securityKeys_t key;
++                      UINT8 data[5];
++                      
++                      memset(&key, 0, sizeof(securityKeys_t));
++                      key.keyIndex = i;
++                      if (!UtilWepKeyGet(pAdapter, (UINT8 *)&key, sizeof(securityKeys_t)))
++                      {
++                              if (key.encLen > 0)
++                              {
++                                      *(UINT32 *)data = VAL_DEFAULT_KEY_ID;
++                                      data[4] = i;
++                                      UtilInfoCodeSetInformation(pAdapter, data, 5);
++                                      if (cipher == RSN_CIPHER_NONE)
++                                      {
++                                              cipherSuite_e val=RSN_CIPHER_WEP;
++                                              UtilWepStatusSet(pAdapter, (UINT8 *)&val, sizeof(val));
++                                      }
++                              }
++                              else
++                                      return -EINVAL;                         
++                      }
++                      else
++                              return -EINVAL;
++              }
++      }
++done: 
++      if (erq->flags & IW_ENCODE_OPEN)
++      {
++              UINT8 MixedMode = true;
++              UtilSetMixedMode(pAdapter, &MixedMode, 1);
++      }
++      else
++      {
++              UINT8 MixedMode = false;
++              UtilSetMixedMode(pAdapter, &MixedMode, 1);
++      }
++      return 0;
++}
++
++
++static int iw_ioctl_giwencode(struct net_device *dev,
++                                struct iw_request_info *info,
++                                struct iw_point *erq, char *key)
++{
++      PTIWLN_ADAPTER_T pAdapter = &(((tiwlan_net_dev_t *)(dev->priv))->adapter);
++      cipherSuite_e   cipher;
++      ULONG                   len, i;
++      UINT8                   MixedMode;
++
++#if IOCTL_DBG
++      printk("%s Call\n", __FUNCTION__);
++#endif
++      i = erq->flags & IW_ENCODE_INDEX;
++      if (i < 1 || i > 4)
++      {
++              UINT32 ID = VAL_DEFAULT_KEY_ID;
++              ULONG ID_size = 4;
++              UtilInfoCodeQueryInformation(pAdapter, (UINT8 *)&ID, &ID_size);
++              i = *((UINT8 *)&ID);
++      }
++      else
++              i--;
++      if (i < 0 || i >= WEP_KEYS)
++              return -EINVAL;
++
++      UtilWepStatusGet(pAdapter, (UINT8 *)&cipher, &len);
++      erq->flags = i + 1;
++
++#if IOCTL_DBG
++      printk("%s Call cipher=%d\n", __FUNCTION__, cipher);
++#endif
++
++      if (cipher == RSN_CIPHER_NONE) {
++              erq->length = 0;
++              erq->flags |= IW_ENCODE_DISABLED;
++      }
++      else
++      {
++              securityKeys_t wkey;
++              /* only WEP is supported with wireless extensions, so just
++               * report that encryption is used */
++              memset(&wkey, 0, sizeof(securityKeys_t));
++              wkey.keyIndex = i;
++              if (!UtilWepKeyGet(pAdapter, (PUCHAR)&wkey, sizeof(securityKeys_t)))
++              {
++              printk("iw_ioctl_giwencode KeyIndex  %x , keyLength=%d\n", 
++                      wkey.keyIndex, wkey.encLen);
++                      if (wkey.encLen > 0)
++                      {
++                              int j;
++                              erq->length = wkey.encLen;
++                              memcpy(key, wkey.encKey, erq->length);
++                              printk("key = ");
++                              for (j=0;j<erq->length;j++)
++                                      printk("%02x ", *(key+j));
++                              printk("\n");
++                              erq->flags |= IW_ENCODE_ENABLED;
++                      }
++                      else
++                      {
++                              erq->length = 0;
++                              erq->flags |= IW_ENCODE_DISABLED;
++                      }
++              }
++              else
++              {
++                      erq->length = 0;
++                      erq->flags |= IW_ENCODE_DISABLED;
++              }
++      }
++
++      UtilGetMixedMode(pAdapter, RSN_MIXED_MODE, &MixedMode, &len);
++      if (MixedMode)
++              erq->flags |= IW_ENCODE_OPEN;
++      else
++              erq->flags |= IW_ENCODE_RESTRICTED;
++              
++      
++      return 0;
++}
++
++static int iw_ioctl_siwrate(struct net_device *dev,
++                              struct iw_request_info *info,
++                              struct iw_param *rrq, char *extra)
++{
++      PTIWLN_ADAPTER_T pAdapter = &(((tiwlan_net_dev_t *)(dev->priv))->adapter);
++      u32 val;
++      
++#if IOCTL_DBG
++      printk("%s Call\n", __FUNCTION__);
++#endif
++      if (!rrq->fixed)
++              val = 0;
++      else
++              val = (rrq->value*2/1000000);
++      
++      return UtilDesiredRatesSet(pAdapter, (UINT8 *)&val, 4);
++}
++
++
++static int iw_ioctl_giwrate(struct net_device *dev,
++                              struct iw_request_info *info,
++                              struct iw_param *rrq, char *extra)
++{
++      PTIWLN_ADAPTER_T pAdapter = &(((tiwlan_net_dev_t *)(dev->priv))->adapter);
++      ULONG val=0, len;
++
++#if IOCTL_DBG
++      printk("%s Call\n", __FUNCTION__);
++#endif
++      if (UtilCurrentRatesGet(pAdapter, (UINT8 *)&val, &len))
++              return -EINVAL;
++
++      if (val > 0)
++      {
++              rrq->fixed = 1;
++              rrq->value = (val*1000000/2);
++      }
++      else
++      {
++              rrq->fixed = 1;
++              rrq->value = 54*1000000;
++      }
++
++      return 0;
++}
++
++static        UINT8  list_buf[10000];
++/* Deprecated in new wireless extension API */
++static int iw_ioctl_giwaplist(struct net_device *dev,
++                                struct iw_request_info *info,
++                                struct iw_point *data, char *extra)
++{
++      
++#if 1
++      PTIWLN_ADAPTER_T pAdapter = &(((tiwlan_net_dev_t *)(dev->priv))->adapter);
++      struct sockaddr addr[IW_MAX_AP];
++      struct iw_quality qual[IW_MAX_AP];
++      UINT32 number_items;
++      ULONG len=10000;
++      OS_802_11_BSSID_EX *bssid;
++      OS_802_11_BSSID_LIST_EX *list;
++      int i;
++      
++#if IOCTL_DBG
++      printk("%s Call\n", __FUNCTION__);
++#endif
++      printk("iw_ioctl_giwaplist\n");
++      memset(list_buf, 0, 10000);
++    UtilBssidListGet(pAdapter, list_buf, &len, TRUE, FALSE);
++
++    list = (OS_802_11_BSSID_LIST_EX *) list_buf;
++    bssid = &list->Bssid[0];
++    printk("bssid 0x%x\n",bssid);
++    number_items = list->NumberOfItems;
++    printk("number_items 0x%x\n",number_items);
++    
++      data->length = number_items;
++      
++      for (i=0;i<number_items;i++)
++      {
++              addr[i].sa_family = ARPHRD_ETHER;
++              memcpy(addr[i].sa_data, bssid->MacAddress, 6);
++              //memset((UINT8 *)qual[i], 0, size(struct iw_quality));
++              qual[i].qual = bssid->Rssi;
++              qual[i].level = 0;
++              qual[i].noise = 0;
++              qual[i].updated = 7;
++        bssid = (OS_802_11_BSSID_EX *) (((char *) bssid) + bssid->Length);
++      }
++      
++      memcpy(extra, &addr, sizeof(addr[0]) * data->length);
++      data->flags = 1; /* has quality information */
++      memcpy(extra + sizeof(addr[0]) * data->length, &qual,
++             sizeof(qual[0]) * data->length);
++
++      return 0;
++#endif
++}
++
++
++static int iw_ioctl_siwrts(struct net_device *dev,
++                             struct iw_request_info *info,
++                             struct iw_param *rts, char *extra)
++{
++      PTIWLN_ADAPTER_T pAdapter = &(((tiwlan_net_dev_t *)(dev->priv))->adapter);
++      u32 val;
++
++#if IOCTL_DBG
++      printk("%s Call\n", __FUNCTION__);
++#endif
++      if (rts->disabled)
++              val = 2347;
++      else if (rts->value < 0 || rts->value > 2347)
++              return -EINVAL;
++      else
++              val = rts->value;
++
++      UtilRtsThresholdSet(pAdapter, (UINT8 *)&val, 4);
++      
++      return 0;
++}
++
++static int iw_ioctl_giwrts(struct net_device *dev,
++                             struct iw_request_info *info,
++                             struct iw_param *rts, char *extra)
++{
++      PTIWLN_ADAPTER_T pAdapter = &(((tiwlan_net_dev_t *)(dev->priv))->adapter);
++      ULONG val, len;
++
++#if IOCTL_DBG
++      printk("%s Call\n", __FUNCTION__);
++#endif
++      if (UtilRtsThresholdGet(pAdapter, (UINT8 *)&val, &len))
++              return -EINVAL;
++      if (val >= 2347) val = 2347;
++      rts->value = val;
++      rts->disabled = (rts->value == 2347);
++      rts->fixed = 1;
++
++      return 0;
++}
++
++
++static int iw_ioctl_siwfrag(struct net_device *dev,
++                              struct iw_request_info *info,
++                              struct iw_param *rts, char *extra)
++{
++      PTIWLN_ADAPTER_T pAdapter = &(((tiwlan_net_dev_t *)(dev->priv))->adapter);
++      u32 val;
++
++#if IOCTL_DBG
++      printk("%s Call\n", __FUNCTION__);
++#endif
++      if (rts->disabled)
++              val = 2346;
++      else if (rts->value < 256 || rts->value > 2346)
++              return -EINVAL;
++      else
++              val = rts->value & ~0x1; /* even numbers only */
++
++      if (UtilFragmentationThresholdSet(pAdapter, (UINT8 *)&val, 4))
++              return -EINVAL;
++
++      return 0;
++}
++
++static int iw_ioctl_giwfrag(struct net_device *dev,
++                              struct iw_request_info *info,
++                              struct iw_param *rts, char *extra)
++{
++      PTIWLN_ADAPTER_T pAdapter = &(((tiwlan_net_dev_t *)(dev->priv))->adapter);
++      ULONG val, len;
++
++#if IOCTL_DBG
++      printk("%s Call\n", __FUNCTION__);
++#endif
++      if (UtilFragmentationThresholdGet(pAdapter, (UINT8 *)&val, &len))
++              return -EINVAL;
++
++      if (val >= 2346) val = 2346;
++      rts->value = val;
++      rts->disabled = (rts->value == 2346);
++      rts->fixed = 1;
++
++      return 0;
++}
++
++
++static int iw_ioctl_siwap(struct net_device *dev,
++                            struct iw_request_info *info,
++                            struct sockaddr *ap_addr, char *extra)
++{
++      PTIWLN_ADAPTER_T pAdapter = &(((tiwlan_net_dev_t *)(dev->priv))->adapter);
++
++#if IOCTL_DBG
++      printk("%s Call\n", __FUNCTION__);
++#endif
++      return UtilSetBSSID(pAdapter, (UINT8 *)&ap_addr->sa_data, ETH_ALEN);
++}
++
++static int iw_ioctl_giwap(struct net_device *dev,
++                            struct iw_request_info *info,
++                            struct sockaddr *ap_addr, char *extra)
++{
++      PTIWLN_ADAPTER_T pAdapter = &(((tiwlan_net_dev_t *)(dev->priv))->adapter);
++      ULONG len;
++
++#if IOCTL_DBG
++      printk("%s Call\n", __FUNCTION__);
++#endif
++      ap_addr->sa_family = ARPHRD_ETHER;
++      return UtilGetBSSID(pAdapter, (UINT8 *)&ap_addr->sa_data, &len);
++}
++
++static int iw_ioctl_giwnickn(struct net_device *dev,
++                               struct iw_request_info *info,
++                               struct iw_point *data, char *nickname)
++{
++#if IOCTL_DBG
++      printk("%s Call\n", __FUNCTION__);
++#endif
++      data->length = 7;
++      memcpy(nickname, "ti 1250", 7);
++
++      return 0;
++}
++
++
++static int iw_ioctl_siwfreq(struct net_device *dev,
++                              struct iw_request_info *info,
++                              struct iw_freq *freq, char *extra)
++{
++      PTIWLN_ADAPTER_T pAdapter = &(((tiwlan_net_dev_t *)(dev->priv))->adapter);
++
++#if IOCTL_DBG
++      printk("%s Call\n", __FUNCTION__);
++#endif
++      if (freq->m == -1)
++              return -EOPNOTSUPP;
++              
++      /* freq => chan. */
++      if (freq->e == 1 &&
++          freq->m / 100000 >= freq_list[0] &&
++          freq->m / 100000 <= freq_list[FREQ_COUNT - 1]) {
++              int ch;
++              int fr = freq->m / 100000;
++              for (ch = 0; ch < FREQ_COUNT; ch++) {
++                      if (fr == freq_list[ch]) {
++                              freq->e = 0;
++                              freq->m = ch + 1;
++                              break;
++                      }
++              }
++      }
++
++      if (freq->e != 0 || freq->m < 1 || freq->m > FREQ_COUNT)
++              return -EINVAL;
++
++      UtilDesiredChannelSet(pAdapter, (UINT8 *)&freq->m, 1);
++
++      return 0;
++}
++
++static int iw_ioctl_giwfreq(struct net_device *dev,
++                              struct iw_request_info *info,
++                              struct iw_freq *freq, char *extra)
++{
++      PTIWLN_ADAPTER_T pAdapter = &(((tiwlan_net_dev_t *)(dev->priv))->adapter);
++      ULONG val, len;
++
++#if IOCTL_DBG
++      printk("%s Call\n", __FUNCTION__);
++#endif
++      UtilDesiredChannelGet(pAdapter, (UINT8 *)&val, &len);
++      if (val < 1 || val > FREQ_COUNT)
++              return -EINVAL;
++
++      freq->m = freq_list[val - 1] * 100000;
++      freq->e = 1;
++
++      return 0;
++}
++
++
++static int iw_ioctl_siwessid(struct net_device *dev,
++                               struct iw_request_info *info,
++                               struct iw_point *data, char *ssid)
++{     
++      PTIWLN_ADAPTER_T pAdapter = &(((tiwlan_net_dev_t *)(dev->priv))->adapter);
++      OS_802_11_SSID essid;
++      OS_802_11_MAC_ADDRESS bssid = { 0xff,0xff,0xff,0xff,0xff,0xff };
++
++#if IOCTL_DBG
++      printk("%s Call\n", __FUNCTION__);
++#endif
++
++    UtilSetBSSID(pAdapter, (UINT8 *)&bssid, sizeof(OS_802_11_MAC_ADDRESS));
++
++      memset(&essid, 0, sizeof(OS_802_11_SSID));
++      memcpy(essid.Ssid, ssid, data->length);
++      essid.SsidLength = data->length;
++
++      if (UtilSetSSID(pAdapter, (UINT8 *)&essid, sizeof(OS_802_11_SSID))){
++              return -EINVAL;
++      }
++
++      return 0;
++}
++
++static int iw_ioctl_giwessid(struct net_device *dev,
++                               struct iw_request_info *info,
++                               struct iw_point *data, char *essid)
++{
++      PTIWLN_ADAPTER_T pAdapter = &(((tiwlan_net_dev_t *)(dev->priv))->adapter);
++      ULONG len=36;
++      OS_802_11_SSID ssid;
++
++#if IOCTL_DBG
++      printk("%s Call\n", __FUNCTION__);
++#endif
++      memset(&ssid, 0, sizeof(OS_802_11_SSID));
++      data->flags = 1; /* active */
++      UtilGetSSID(pAdapter, (UINT8 *)&ssid, &len);
++      data->length = ssid.SsidLength;
++      memcpy(essid, ssid.Ssid, ssid.SsidLength);
++      
++      return 0;
++}
++
++static int iw_ioctl_siwmode(struct net_device *dev,
++                              struct iw_request_info *info,
++                              __u32 *mode, char *extra)
++{
++      PTIWLN_ADAPTER_T pAdapter = &(((tiwlan_net_dev_t *)(dev->priv))->adapter);
++      u32 val;
++
++#if IOCTL_DBG
++      printk("%s Call\n", __FUNCTION__);
++#endif
++      if (*mode > IW_MODE_INFRA)
++              return -EOPNOTSUPP;
++
++      switch (*mode)
++      {
++      case IW_MODE_AUTO:
++              val = 2;
++              break;
++      case IW_MODE_ADHOC:
++              val = 0;
++              break;
++      case IW_MODE_INFRA:
++              val = 1;
++              break;
++      default:
++              val = 1;
++      }
++      
++    UtilInfrastructureModeSet(pAdapter, (UINT8 *)&val, 4);
++    
++      return 0;
++}
++
++
++static int iw_ioctl_giwmode(struct net_device *dev,
++                              struct iw_request_info *info,
++                              __u32 *mode, char *extra)
++{
++      PTIWLN_ADAPTER_T pAdapter = &(((tiwlan_net_dev_t *)(dev->priv))->adapter);
++      ULONG val, len;
++
++#if IOCTL_DBG
++      printk("%s Call\n", __FUNCTION__);
++#endif
++    UtilInfrastructureModeGet(pAdapter, (UINT8 *)&val, &len);
++      switch (val) {
++      case 0:
++              *mode = IW_MODE_ADHOC;
++              break;
++      case 1:
++              *mode = IW_MODE_INFRA;
++              break;
++      case 2:
++              *mode = IW_MODE_AUTO;
++              break;
++      default:
++              *mode = IW_MODE_INFRA;
++              break;
++      }
++      return 0;
++}
++
++int
++iw_ioctl_siwsens(struct ieee80211com *ic,
++                      struct iw_request_info *info,
++                      struct iw_param *sens, char *extra)
++{
++      return 0;
++}
++
++int
++iw_ioctl_giwsens(struct ieee80211com *ic,
++                      struct iw_request_info *info,
++                      struct iw_param *sens, char *extra)
++{
++      sens->value = 3;
++      sens->fixed = 1;
++
++      return 0;
++}
++
++int
++iw_ioctl_giwrange(struct net_device *dev,
++                       struct iw_request_info *info,
++                       struct iw_point *data, char *extra)
++{
++      PTIWLN_ADAPTER_T pAdapter = &(((tiwlan_net_dev_t *)(dev->priv))->adapter);
++      struct iw_range *range = (struct iw_range *) extra;
++      ULONG val, len, i;
++      rates_t rateSet;
++
++      data->length = sizeof(struct iw_range);
++      memset(range, 0, sizeof(struct iw_range));
++
++      /* TODO: could fill num_txpower and txpower array with
++       * something; however, there are 128 different values.. */
++
++      range->txpower_capa = IW_TXPOW_DBM;
++
++    UtilInfrastructureModeGet(pAdapter, (UINT8 *)&val, &len);
++      range->min_pmp = 1 * 1024;
++      range->max_pmp = 65535 * 1024;
++      range->min_pmt = 1 * 1024;
++      range->max_pmt = 1000 * 1024;
++      range->pmp_flags = IW_POWER_PERIOD;
++      range->pmt_flags = IW_POWER_TIMEOUT;
++      range->pm_capa = IW_POWER_PERIOD | IW_POWER_TIMEOUT |
++                      IW_POWER_UNICAST_R | IW_POWER_ALL_R;
++
++      range->we_version_compiled = WIRELESS_EXT;
++      range->we_version_source = 18;
++
++      range->retry_capa = IW_RETRY_LIMIT;
++      range->retry_flags = IW_RETRY_LIMIT;
++      range->min_retry = 0;
++      range->max_retry = 255;
++
++      range->num_channels = FREQ_COUNT;       /* XXX */
++
++      val = 0;
++      for (i = 0; i < FREQ_COUNT; i++) {
++              range->freq[val].i = i + 1;
++              range->freq[val].m = freq_list[i] * 100000;
++              range->freq[val].e = 1;
++              val++;
++              if (val == IW_MAX_FREQUENCIES)
++                      break;
++      }
++      range->num_frequency = val;
++
++      /* Max quality is max field value minus noise floor */
++      range->max_qual.qual  = 0xff - 161;
++
++      /*
++       * In order to use dBm measurements, 'level' must be lower
++       * than any possible measurement (see iw_print_stats() in
++       * wireless tools).  It's unclear how this is meant to be
++       * done, but setting zero in these values forces dBm and
++       * the actual numbers are not used.
++       */
++      range->max_qual.level = 0;
++      range->max_qual.noise = 0;
++
++      range->sensitivity = 3;
++
++      range->max_encoding_tokens = WEP_KEYS;
++      /* XXX query driver to find out supported key sizes */
++      range->num_encoding_sizes = 2;
++      range->encoding_size[0] = 5;            /* 40-bit */
++      range->encoding_size[1] = 13;           /* 104-bit */
++
++      /* XXX this only works for station mode */
++      UtilGetParam(pAdapter, SITE_MGR_DESIRED_SUPPORTED_RATE_SET_PARAM, (PUCHAR)&rateSet, sizeof(rates_t));
++      range->num_bitrates = 0;
++      for (i = 0; i < rateSet.len; i++) {
++              if (range->num_bitrates < IW_MAX_BITRATES) {
++                      range->bitrate[range->num_bitrates] =
++                              rateSet.ratesString[i] * 2 / 1000000;
++                      range->num_bitrates++;
++              }
++      }
++
++      /* estimated maximum TCP throughput values (bps) */
++      range->throughput = 5500000;
++
++      range->min_rts = 0;
++      range->max_rts = 2347;
++      range->min_frag = 256;
++      range->max_frag = 2346;
++
++#if WIRELESS_EXT > 16
++      /* Event capability (kernel + driver) */
++      range->event_capa[0] = (IW_EVENT_CAPA_K_0 |
++                              IW_EVENT_CAPA_MASK(SIOCGIWTHRSPY) |
++                              IW_EVENT_CAPA_MASK(SIOCGIWAP) |
++                              IW_EVENT_CAPA_MASK(SIOCGIWSCAN));
++      range->event_capa[1] = IW_EVENT_CAPA_K_1;
++      range->event_capa[4] = (IW_EVENT_CAPA_MASK(IWEVTXDROP) |
++                              IW_EVENT_CAPA_MASK(IWEVCUSTOM) |
++                              IW_EVENT_CAPA_MASK(IWEVREGISTERED) |
++                              IW_EVENT_CAPA_MASK(IWEVEXPIRED));
++#endif /* WIRELESS_EXT > 16 */
++
++#if WIRELESS_EXT > 17
++      range->enc_capa = IW_ENC_CAPA_WPA | IW_ENC_CAPA_WPA2 |
++              IW_ENC_CAPA_CIPHER_TKIP | IW_ENC_CAPA_CIPHER_CCMP;
++#endif /* WIRELESS_EXT > 17 */
++
++      return 0;}
++
++static int iw_ioctl_siwpower(struct net_device *dev,
++                               struct iw_request_info *info,
++                               struct iw_param *wrq, char *extra)
++{
++      PTIWLN_ADAPTER_T pAdapter = &(((tiwlan_net_dev_t *)(dev->priv))->adapter);
++      UINT32 val=POWER_MODE_ACTIVE;
++      
++#if IOCTL_DBG
++      printk("%s Call\n", __FUNCTION__);
++#endif
++
++      if (wrq->disabled)
++      {
++              UtilPowerModeSet(pAdapter, (UINT8 *)&val, sizeof(PowerMgr_PowerMode_e));
++              return 0;
++      }
++
++      switch (wrq->flags & IW_POWER_MODE) {
++      case IW_POWER_UNICAST_R:
++      case IW_POWER_ALL_R:
++      case IW_POWER_ON:
++              val = POWER_MODE_AUTO;
++              UtilPowerModeSet(pAdapter, &val, sizeof(PowerMgr_PowerMode_e));
++              break;
++      default:
++              return -EINVAL;
++      }
++
++      if (wrq->flags & IW_POWER_TIMEOUT) {
++              return -EOPNOTSUPP;
++      }
++      if (wrq->flags & IW_POWER_PERIOD) {
++              return -EOPNOTSUPP;
++      }
++
++      return 0;
++}
++
++
++static int iw_ioctl_giwpower(struct net_device *dev,
++                               struct iw_request_info *info,
++                               struct iw_param *rrq, char *extra)
++{
++      PTIWLN_ADAPTER_T pAdapter = &(((tiwlan_net_dev_t *)(dev->priv))->adapter);
++      UINT32 val=POWER_MODE_ACTIVE, len;
++      
++#if IOCTL_DBG
++      printk("%s Call\n", __FUNCTION__);
++#endif
++      UtilPowerModeGet(pAdapter, (UINT8 *)&val, &len);
++      
++      if (val==POWER_MODE_ACTIVE) {
++              rrq->disabled = 1;
++              return 0;
++      }
++
++      rrq->disabled = 0;
++
++      return 0;
++}
++
++
++static int iw_ioctl_siwretry(struct net_device *dev,
++                               struct iw_request_info *info,
++                               struct iw_param *rrq, char *extra)
++{
++      PTIWLN_ADAPTER_T pAdapter = &(((tiwlan_net_dev_t *)(dev->priv))->adapter);
++      
++#if IOCTL_DBG
++      printk("%s Call\n", __FUNCTION__);
++#endif
++      if (rrq->disabled)
++              return -EINVAL;
++
++      if (rrq->flags & IW_RETRY_LIMIT) {
++              if (rrq->flags & IW_RETRY_MAX)
++                      UtilLongRetrySet(pAdapter, (UINT8 *)&(rrq->value), sizeof(rrq->value));
++              else if (rrq->flags & IW_RETRY_MIN)
++                      UtilShortRetrySet(pAdapter, (UINT8 *)&(rrq->value), sizeof(rrq->value));
++              else {
++                      UtilLongRetrySet(pAdapter, (UINT8 *)&(rrq->value), sizeof(rrq->value));
++                      UtilShortRetrySet(pAdapter, (UINT8 *)&(rrq->value), sizeof(rrq->value));
++              }
++              return 0;
++      }
++
++      return -EOPNOTSUPP;
++}
++
++static int iw_ioctl_giwretry(struct net_device *dev,
++                               struct iw_request_info *info,
++                               struct iw_param *rrq, char *extra)
++{
++      PTIWLN_ADAPTER_T pAdapter = &(((tiwlan_net_dev_t *)(dev->priv))->adapter);
++      u16 shortretry, longretry;
++      ULONG len;
++      
++#if IOCTL_DBG
++      printk("%s Call\n", __FUNCTION__);
++#endif
++      if (UtilShortRetryGet(pAdapter, (UINT8 *)&shortretry, &len)!=0 || 
++              UtilLongRetryGet(pAdapter, (UINT8 *)&longretry, &len)!=0)
++              return -EINVAL;
++
++      rrq->disabled = 0;
++
++      if ((rrq->flags & IW_RETRY_TYPE) == IW_RETRY_LIFETIME) {
++              return -EOPNOTSUPP;
++      } else {
++              if ((rrq->flags & IW_RETRY_MAX)) {
++                      rrq->flags = IW_RETRY_LIMIT | IW_RETRY_MAX;
++                      rrq->value = longretry;
++              } else {
++                      rrq->flags = IW_RETRY_LIMIT;
++                      rrq->value = shortretry;
++                      if (shortretry != longretry)
++                              rrq->flags |= IW_RETRY_MIN;
++              }
++      }
++      return 0;
++}
++
++
++static int iw_ioctl_siwtxpow(struct net_device *dev,
++                               struct iw_request_info *info,
++                               struct iw_param *rrq, char *extra)
++{
++      return -EOPNOTSUPP;
++}
++
++static int iw_ioctl_giwtxpow(struct net_device *dev,
++                               struct iw_request_info *info,
++                               struct iw_param *rrq, char *extra)
++{
++      PTIWLN_ADAPTER_T pAdapter = &(((tiwlan_net_dev_t *)(dev->priv))->adapter);
++      INT8 val;
++      ULONG len;
++
++#if IOCTL_DBG
++      printk("%s Call\n", __FUNCTION__);
++#endif
++
++      UtilTxPowerLevelDbmGet(pAdapter, &val, &len);
++      rrq->flags = IW_TXPOW_DBM;
++      rrq->value = val;
++      rrq->disabled = 0;
++      rrq->fixed = 0;
++
++      return 0;
++}
++
++u32   scan_TimeStamp;
++
++static int iw_ioctl_siwscan(struct net_device *dev,
++                              struct iw_request_info *info,
++                              struct iw_point *data, char *extra)
++{
++#if IOCTL_DBG
++      printk("%s Call\n", __FUNCTION__);
++#endif
++      PTIWLN_ADAPTER_T pAdapter = &(((tiwlan_net_dev_t *)(dev->priv))->adapter);
++      int ret;
++      
++      scan_TimeStamp = jiffies;
++      init_scan_params();
++      
++      ret = UtilStartAppScanSet(pAdapter, (PCHAR)&iw_appScanParams, sizeof(iw_appScanParams));
++      
++      return ret;
++}
++
++static inline int iw_scan_list(struct net_device *dev,
++                                struct iw_request_info *info,
++                                struct iw_point *data, char *extra)
++{
++      PTIWLN_ADAPTER_T pAdapter = &(((tiwlan_net_dev_t *)(dev->priv))->adapter);
++      UINT32 number_items;
++      ULONG len=10000;
++      OS_802_11_BSSID_EX *bssid;
++      OS_802_11_BSSID_LIST_EX *list;
++      int i, j;
++      struct iw_event iwe;
++      char *current_ev = extra;
++      char *end_buf = extra + data->length;
++      u16 capabilities;
++      char *current_val;
++      char buf[64 * 2 + 30];
++    OS_802_11_VARIABLE_IEs  *pVarIes;
++    int IELen;
++      int chan;
++      u8 *pos;
++      spinlock_t lock;
++      
++#if IOCTL_DBG
++      printk("%s Call\n", __FUNCTION__);
++#endif
++      memset(list_buf, 0, 10000);
++    UtilBssidListGet(pAdapter, list_buf, &len, TRUE, FALSE);
++
++    list = (OS_802_11_BSSID_LIST_EX *) list_buf;
++    bssid = &list->Bssid[0];
++    number_items = list->NumberOfItems;
++    
++      spin_lock_bh(&lock);
++      for (i=0;i<number_items;i++)
++      {
++              memset(&iwe, 0, sizeof(iwe));
++              iwe.cmd = SIOCGIWAP;
++              iwe.u.ap_addr.sa_family = ARPHRD_ETHER;
++              memcpy(iwe.u.ap_addr.sa_data, bssid->MacAddress, ETH_ALEN);
++              iwe.len = IW_EV_ADDR_LEN;
++              current_ev = iwe_stream_add_event(current_ev, end_buf, &iwe,
++                                                IW_EV_ADDR_LEN);
++                                                
++              memset(&iwe, 0, sizeof(iwe));
++              iwe.cmd = SIOCGIWESSID;
++              iwe.u.data.length = bssid->Ssid.SsidLength;
++              iwe.u.data.flags = 1;
++              iwe.len = IW_EV_POINT_LEN + iwe.u.data.length;
++//            printk("essid=%s len=%d\n", bssid->Ssid.Ssid, bssid->Ssid.SsidLength);
++              current_ev = iwe_stream_add_point(current_ev, end_buf, &iwe, (char *)bssid->Ssid.Ssid);
++                                                        
++              memset(&iwe, 0, sizeof(iwe));
++              iwe.cmd = SIOCGIWMODE;
++              capabilities = bssid->Union.Capabilities;
++              if (capabilities & (WLAN_CAPABILITY_BSS |
++                                  WLAN_CAPABILITY_IBSS)) {
++                      if (capabilities & WLAN_CAPABILITY_BSS)
++                              iwe.u.mode = IW_MODE_MASTER;
++                      else
++                              iwe.u.mode = IW_MODE_ADHOC;
++                      iwe.len = IW_EV_UINT_LEN;
++                      current_ev = iwe_stream_add_event(current_ev, end_buf, &iwe,
++                                                        IW_EV_UINT_LEN);
++              }
++              
++              memset(&iwe, 0, sizeof(iwe));
++              iwe.cmd = SIOCGIWFREQ;
++              chan = bssid->Configuration.Union.channel;
++              if (chan > 0) {
++                      iwe.u.freq.m = chan;
++                      iwe.u.freq.e = 1;
++                      iwe.len = IW_EV_FREQ_LEN;
++                      current_ev = iwe_stream_add_event(current_ev, end_buf, &iwe,
++                                                        IW_EV_FREQ_LEN);
++              }
++              
++              memset(&iwe, 0, sizeof(iwe));
++              iwe.cmd = IWEVQUAL;
++              iwe.u.qual.qual = bssid->Rssi;
++              iwe.u.qual.level = 0;
++              iwe.u.qual.noise = 0;
++              iwe.u.qual.updated = IW_QUAL_LEVEL_UPDATED
++                              | IW_QUAL_NOISE_UPDATED
++                              | IW_QUAL_QUAL_INVALID;
++              iwe.len = IW_EV_QUAL_LEN;
++              current_ev = iwe_stream_add_event(current_ev, end_buf, &iwe,
++                                                IW_EV_QUAL_LEN);
++
++              memset(&iwe, 0, sizeof(iwe));
++              iwe.cmd = SIOCGIWENCODE;
++              if (capabilities & WLAN_CAPABILITY_PRIVACY)
++                      iwe.u.data.flags = IW_ENCODE_ENABLED | IW_ENCODE_NOKEY;
++              else
++                      iwe.u.data.flags = IW_ENCODE_DISABLED;
++              iwe.u.data.length = 0;
++              iwe.len = IW_EV_POINT_LEN + iwe.u.data.length;
++              current_ev = iwe_stream_add_point(current_ev, end_buf, &iwe, "");
++              
++              /* TODO: add SuppRates into BSS table */
++              memset(&iwe, 0, sizeof(iwe));
++              iwe.cmd = SIOCGIWRATE;
++              current_val = current_ev + IW_EV_LCP_LEN;
++              pos = bssid->SupportedRates;
++              for (j = 0; j < sizeof(bssid->SupportedRates); j++) {
++                      if (pos[j] == 0)
++                              break;
++                      /* Bit rate given in 500 kb/s units (+ 0x80) */
++                      iwe.u.bitrate.value = ((pos[j] & 0x7f) * 500000);
++                      current_val = iwe_stream_add_value(
++                              current_ev, current_val, end_buf, &iwe,
++                              IW_EV_PARAM_LEN);
++              }
++              /* Check if we added any event */
++              if ((current_val - current_ev) > IW_EV_LCP_LEN)
++                      current_ev = current_val;
++      
++              /* TODO: add BeaconInt,resp_rate,atim into BSS table */
++              memset(&iwe, 0, sizeof(iwe));
++              iwe.cmd = IWEVCUSTOM;
++              sprintf(buf, "bcn_int=%d",
++                      bssid->Configuration.BeaconPeriod);
++              iwe.u.data.length = strlen(buf);
++              current_ev = iwe_stream_add_point(current_ev, end_buf, &iwe,
++                                                buf);
++
++              if (capabilities & WLAN_CAPABILITY_IBSS) {
++                      memset(&iwe, 0, sizeof(iwe));
++                      iwe.cmd = IWEVCUSTOM;
++                      sprintf(buf, "atim=%d", bssid->Configuration.ATIMWindow);
++                      iwe.u.data.length = strlen(buf);
++                      current_ev = iwe_stream_add_point(current_ev, end_buf,
++                                                        &iwe, buf);
++              }
++              
++#if 1
++              IELen = 0;
++        IELen += sizeof(OS_802_11_FIXED_IEs);
++        pVarIes = (OS_802_11_VARIABLE_IEs*)&bssid->IEs[IELen];
++              while (IELen < bssid->IELength)
++              {
++//                    printk("IELen=%d pVarIes->ElementID=%d\n", IELen, pVarIes->ElementID);                
++                      if (pVarIes->ElementID == MFIE_TYPE_RSN || pVarIes->ElementID == MFIE_TYPE_GENERIC) {
++                              memset(&iwe, 0, sizeof(iwe));
++                              iwe.cmd = IWEVGENIE;
++                              iwe.u.data.length = pVarIes->Length;
++                              current_ev = iwe_stream_add_point(
++                                      current_ev, end_buf, &iwe, (char *)pVarIes);
++                      }
++              
++            IELen += (pVarIes->Length + 2);           
++              pVarIes = (OS_802_11_VARIABLE_IEs*)&bssid->IEs[IELen];
++              }
++#endif        
++              if ((end_buf - current_ev) <= IW_EV_ADDR_LEN) {
++                      /* Ask user space to try again with a bigger buffer */
++                      spin_unlock_bh(&lock);
++                      return -E2BIG;
++              }
++//            printk("current_ev=%x\n", current_ev);
++        bssid = (OS_802_11_BSSID_EX *) (((char *) bssid) + bssid->Length);
++      }
++      
++      spin_unlock_bh(&lock);
++      return current_ev - extra;
++}
++
++static int iw_ioctl_giwscan(struct net_device *dev,
++                              struct iw_request_info *info,
++                              struct iw_point *data, char *extra)
++{
++      PTIWLN_ADAPTER_T                pAdapter = &(((tiwlan_net_dev_t *)(dev->priv))->adapter);
++      u32                                     val, len;
++      int                                     res;
++
++#if IOCTL_DBG
++      printk("%s Call\n", __FUNCTION__);
++#endif
++#if 0
++      if (scan_TimeStamp &&
++          time_before(jiffies, scan_TimeStamp + 30 * HZ)) {
++              printk("iw_ioctl_giwscan time: 0x%x   0x%x\n",scan_TimeStamp,time_before(jiffies, scan_TimeStamp + 30 * HZ));
++              return -EAGAIN;
++      }
++#endif
++      if((jiffies - scan_TimeStamp) <= 4 * HZ){
++              return -EAGAIN;
++      }
++
++      res = iw_scan_list(dev, info, data, extra);
++//    printk("iw_ioctl_giwscan end res=%d\n", res);
++      if (res >= 0) {
++              data->length = res;
++              return 0;
++      } else {
++              data->length = 0;
++              return res;
++      }
++}
++
++#if 0
++static const struct iw_priv_args prism2_priv[] = {
++      { iw_ioctl_MONITOR,
++        IW_PRIV_TYPE_INT | IW_PRIV_SIZE_FIXED | 1, 0, "monitor" },
++      { iw_ioctl_READMIF,
++        IW_PRIV_TYPE_BYTE | IW_PRIV_SIZE_FIXED | 1,
++        IW_PRIV_TYPE_BYTE | IW_PRIV_SIZE_FIXED | 1, "readmif" },
++      { iw_ioctl_WRITEMIF,
++        IW_PRIV_TYPE_BYTE | IW_PRIV_SIZE_FIXED | 2, 0, "writemif" },
++      { iw_ioctl_RESET,
++        IW_PRIV_TYPE_INT | IW_PRIV_SIZE_FIXED | 1, 0, "reset" },
++      { iw_ioctl_INQUIRE,
++        IW_PRIV_TYPE_INT | IW_PRIV_SIZE_FIXED | 1, 0, "inquire" },
++      { iw_ioctl_SET_RID_WORD,
++        IW_PRIV_TYPE_INT | IW_PRIV_SIZE_FIXED | 2, 0, "set_rid_word" },
++      { iw_ioctl_MACCMD,
++        IW_PRIV_TYPE_INT | IW_PRIV_SIZE_FIXED | 1, 0, "maccmd" },
++#ifdef PRISM2_USE_WE_TYPE_ADDR
++      { iw_ioctl_WDS_ADD,
++        IW_PRIV_TYPE_ADDR | IW_PRIV_SIZE_FIXED | 1, 0, "wds_add" },
++      { iw_ioctl_WDS_DEL,
++        IW_PRIV_TYPE_ADDR | IW_PRIV_SIZE_FIXED | 1, 0, "wds_del" },
++      { iw_ioctl_ADDMAC,
++        IW_PRIV_TYPE_ADDR | IW_PRIV_SIZE_FIXED | 1, 0, "addmac" },
++      { iw_ioctl_DELMAC,
++        IW_PRIV_TYPE_ADDR | IW_PRIV_SIZE_FIXED | 1, 0, "delmac" },
++      { iw_ioctl_KICKMAC,
++        IW_PRIV_TYPE_ADDR | IW_PRIV_SIZE_FIXED | 1, 0, "kickmac" },
++#else /* PRISM2_USE_WE_TYPE_ADDR */
++      { iw_ioctl_WDS_ADD,
++        IW_PRIV_TYPE_CHAR | IW_PRIV_SIZE_FIXED | 18, 0, "wds_add" },
++      { iw_ioctl_WDS_DEL,
++        IW_PRIV_TYPE_CHAR | IW_PRIV_SIZE_FIXED | 18, 0, "wds_del" },
++      { iw_ioctl_ADDMAC,
++        IW_PRIV_TYPE_CHAR | IW_PRIV_SIZE_FIXED | 18, 0, "addmac" },
++      { iw_ioctl_DELMAC,
++        IW_PRIV_TYPE_CHAR | IW_PRIV_SIZE_FIXED | 18, 0, "delmac" },
++      { iw_ioctl_KICKMAC,
++        IW_PRIV_TYPE_CHAR | IW_PRIV_SIZE_FIXED | 18, 0, "kickmac" },
++#endif /* PRISM2_USE_WE_TYPE_ADDR */
++      /* --- raw access to sub-ioctls --- */
++      { iw_ioctl_PRISM2_PARAM,
++        IW_PRIV_TYPE_INT | IW_PRIV_SIZE_FIXED | 2, 0, "prism2_param" },
++      { iw_ioctl_GET_PRISM2_PARAM,
++        IW_PRIV_TYPE_INT | IW_PRIV_SIZE_FIXED | 1,
++        IW_PRIV_TYPE_INT | IW_PRIV_SIZE_FIXED | 1, "getprism2_param" },
++#ifdef PRISM2_USE_WE_SUB_IOCTLS
++      /* --- sub-ioctls handlers --- */
++      { iw_ioctl_PRISM2_PARAM,
++        IW_PRIV_TYPE_INT | IW_PRIV_SIZE_FIXED | 1, 0, "" },
++      { iw_ioctl_GET_PRISM2_PARAM,
++        0, IW_PRIV_TYPE_INT | IW_PRIV_SIZE_FIXED | 1, "" },
++      /* --- sub-ioctls definitions --- */
++      { PRISM2_PARAM_TXRATECTRL,
++        IW_PRIV_TYPE_INT | IW_PRIV_SIZE_FIXED | 1, 0, "txratectrl" },
++      { PRISM2_PARAM_TXRATECTRL,
++        0, IW_PRIV_TYPE_INT | IW_PRIV_SIZE_FIXED | 1, "gettxratectrl" },
++      { PRISM2_PARAM_BEACON_INT,
++        IW_PRIV_TYPE_INT | IW_PRIV_SIZE_FIXED | 1, 0, "beacon_int" },
++      { PRISM2_PARAM_BEACON_INT,
++        0, IW_PRIV_TYPE_INT | IW_PRIV_SIZE_FIXED | 1, "getbeacon_int" },
++#ifndef PRISM2_NO_STATION_MODES
++      { PRISM2_PARAM_PSEUDO_IBSS,
++        IW_PRIV_TYPE_INT | IW_PRIV_SIZE_FIXED | 1, 0, "pseudo_ibss" },
++      { PRISM2_PARAM_PSEUDO_IBSS,
++        0, IW_PRIV_TYPE_INT | IW_PRIV_SIZE_FIXED | 1, "getpseudo_ibss" },
++#endif /* PRISM2_NO_STATION_MODES */
++      { PRISM2_PARAM_ALC,
++        IW_PRIV_TYPE_INT | IW_PRIV_SIZE_FIXED | 1, 0, "alc" },
++      { PRISM2_PARAM_ALC,
++        0, IW_PRIV_TYPE_INT | IW_PRIV_SIZE_FIXED | 1, "getalc" },
++      { PRISM2_PARAM_DUMP,
++        IW_PRIV_TYPE_INT | IW_PRIV_SIZE_FIXED | 1, 0, "dump" },
++      { PRISM2_PARAM_DUMP,
++        0, IW_PRIV_TYPE_INT | IW_PRIV_SIZE_FIXED | 1, "getdump" },
++      { PRISM2_PARAM_OTHER_AP_POLICY,
++        IW_PRIV_TYPE_INT | IW_PRIV_SIZE_FIXED | 1, 0, "other_ap_policy" },
++      { PRISM2_PARAM_OTHER_AP_POLICY,
++        0, IW_PRIV_TYPE_INT | IW_PRIV_SIZE_FIXED | 1, "getother_ap_pol" },
++      { PRISM2_PARAM_AP_MAX_INACTIVITY,
++        IW_PRIV_TYPE_INT | IW_PRIV_SIZE_FIXED | 1, 0, "max_inactivity" },
++      { PRISM2_PARAM_AP_MAX_INACTIVITY,
++        0, IW_PRIV_TYPE_INT | IW_PRIV_SIZE_FIXED | 1, "getmax_inactivi" },
++      { PRISM2_PARAM_AP_BRIDGE_PACKETS,
++        IW_PRIV_TYPE_INT | IW_PRIV_SIZE_FIXED | 1, 0, "bridge_packets" },
++      { PRISM2_PARAM_AP_BRIDGE_PACKETS,
++        0, IW_PRIV_TYPE_INT | IW_PRIV_SIZE_FIXED | 1, "getbridge_packe" },
++      { PRISM2_PARAM_DTIM_PERIOD,
++        IW_PRIV_TYPE_INT | IW_PRIV_SIZE_FIXED | 1, 0, "dtim_period" },
++      { PRISM2_PARAM_DTIM_PERIOD,
++        0, IW_PRIV_TYPE_INT | IW_PRIV_SIZE_FIXED | 1, "getdtim_period" },
++      { PRISM2_PARAM_AP_NULLFUNC_ACK,
++        IW_PRIV_TYPE_INT | IW_PRIV_SIZE_FIXED | 1, 0, "nullfunc_ack" },
++      { PRISM2_PARAM_AP_NULLFUNC_ACK,
++        0, IW_PRIV_TYPE_INT | IW_PRIV_SIZE_FIXED | 1, "getnullfunc_ack" },
++      { PRISM2_PARAM_MAX_WDS,
++        IW_PRIV_TYPE_INT | IW_PRIV_SIZE_FIXED | 1, 0, "max_wds" },
++      { PRISM2_PARAM_MAX_WDS,
++        0, IW_PRIV_TYPE_INT | IW_PRIV_SIZE_FIXED | 1, "getmax_wds" },
++      { PRISM2_PARAM_AP_AUTOM_AP_WDS,
++        IW_PRIV_TYPE_INT | IW_PRIV_SIZE_FIXED | 1, 0, "autom_ap_wds" },
++      { PRISM2_PARAM_AP_AUTOM_AP_WDS,
++        0, IW_PRIV_TYPE_INT | IW_PRIV_SIZE_FIXED | 1, "getautom_ap_wds" },
++      { PRISM2_PARAM_AP_AUTH_ALGS,
++        IW_PRIV_TYPE_INT | IW_PRIV_SIZE_FIXED | 1, 0, "ap_auth_algs" },
++      { PRISM2_PARAM_AP_AUTH_ALGS,
++        0, IW_PRIV_TYPE_INT | IW_PRIV_SIZE_FIXED | 1, "getap_auth_algs" },
++      { PRISM2_PARAM_MONITOR_ALLOW_FCSERR,
++        IW_PRIV_TYPE_INT | IW_PRIV_SIZE_FIXED | 1, 0, "allow_fcserr" },
++      { PRISM2_PARAM_MONITOR_ALLOW_FCSERR,
++        0, IW_PRIV_TYPE_INT | IW_PRIV_SIZE_FIXED | 1, "getallow_fcserr" },
++      { PRISM2_PARAM_HOST_ENCRYPT,
++        IW_PRIV_TYPE_INT | IW_PRIV_SIZE_FIXED | 1, 0, "host_encrypt" },
++      { PRISM2_PARAM_HOST_ENCRYPT,
++        0, IW_PRIV_TYPE_INT | IW_PRIV_SIZE_FIXED | 1, "gethost_encrypt" },
++      { PRISM2_PARAM_HOST_DECRYPT,
++        IW_PRIV_TYPE_INT | IW_PRIV_SIZE_FIXED | 1, 0, "host_decrypt" },
++      { PRISM2_PARAM_HOST_DECRYPT,
++        0, IW_PRIV_TYPE_INT | IW_PRIV_SIZE_FIXED | 1, "gethost_decrypt" },
++      { PRISM2_PARAM_BUS_MASTER_THRESHOLD_RX,
++        IW_PRIV_TYPE_INT | IW_PRIV_SIZE_FIXED | 1, 0, "busmaster_rx" },
++      { PRISM2_PARAM_BUS_MASTER_THRESHOLD_RX,
++        0, IW_PRIV_TYPE_INT | IW_PRIV_SIZE_FIXED | 1, "getbusmaster_rx" },
++      { PRISM2_PARAM_BUS_MASTER_THRESHOLD_TX,
++        IW_PRIV_TYPE_INT | IW_PRIV_SIZE_FIXED | 1, 0, "busmaster_tx" },
++      { PRISM2_PARAM_BUS_MASTER_THRESHOLD_TX,
++        0, IW_PRIV_TYPE_INT | IW_PRIV_SIZE_FIXED | 1, "getbusmaster_tx" },
++#ifndef PRISM2_NO_STATION_MODES
++      { PRISM2_PARAM_HOST_ROAMING,
++        IW_PRIV_TYPE_INT | IW_PRIV_SIZE_FIXED | 1, 0, "host_roaming" },
++      { PRISM2_PARAM_HOST_ROAMING,
++        0, IW_PRIV_TYPE_INT | IW_PRIV_SIZE_FIXED | 1, "gethost_roaming" },
++#endif /* PRISM2_NO_STATION_MODES */
++      { PRISM2_PARAM_BCRX_STA_KEY,
++        IW_PRIV_TYPE_INT | IW_PRIV_SIZE_FIXED | 1, 0, "bcrx_sta_key" },
++      { PRISM2_PARAM_BCRX_STA_KEY,
++        0, IW_PRIV_TYPE_INT | IW_PRIV_SIZE_FIXED | 1, "getbcrx_sta_key" },
++      { PRISM2_PARAM_IEEE_802_1X,
++        IW_PRIV_TYPE_INT | IW_PRIV_SIZE_FIXED | 1, 0, "ieee_802_1x" },
++      { PRISM2_PARAM_IEEE_802_1X,
++        0, IW_PRIV_TYPE_INT | IW_PRIV_SIZE_FIXED | 1, "getieee_802_1x" },
++      { PRISM2_PARAM_ANTSEL_TX,
++        IW_PRIV_TYPE_INT | IW_PRIV_SIZE_FIXED | 1, 0, "antsel_tx" },
++      { PRISM2_PARAM_ANTSEL_TX,
++        0, IW_PRIV_TYPE_INT | IW_PRIV_SIZE_FIXED | 1, "getantsel_tx" },
++      { PRISM2_PARAM_ANTSEL_RX,
++        IW_PRIV_TYPE_INT | IW_PRIV_SIZE_FIXED | 1, 0, "antsel_rx" },
++      { PRISM2_PARAM_ANTSEL_RX,
++        0, IW_PRIV_TYPE_INT | IW_PRIV_SIZE_FIXED | 1, "getantsel_rx" },
++      { PRISM2_PARAM_MONITOR_TYPE,
++        IW_PRIV_TYPE_INT | IW_PRIV_SIZE_FIXED | 1, 0, "monitor_type" },
++      { PRISM2_PARAM_MONITOR_TYPE,
++        0, IW_PRIV_TYPE_INT | IW_PRIV_SIZE_FIXED | 1, "getmonitor_type" },
++      { PRISM2_PARAM_WDS_TYPE,
++        IW_PRIV_TYPE_INT | IW_PRIV_SIZE_FIXED | 1, 0, "wds_type" },
++      { PRISM2_PARAM_WDS_TYPE,
++        0, IW_PRIV_TYPE_INT | IW_PRIV_SIZE_FIXED | 1, "getwds_type" },
++      { PRISM2_PARAM_HOSTSCAN,
++        IW_PRIV_TYPE_INT | IW_PRIV_SIZE_FIXED | 1, 0, "hostscan" },
++      { PRISM2_PARAM_HOSTSCAN,
++        0, IW_PRIV_TYPE_INT | IW_PRIV_SIZE_FIXED | 1, "gethostscan" },
++      { PRISM2_PARAM_AP_SCAN,
++        IW_PRIV_TYPE_INT | IW_PRIV_SIZE_FIXED | 1, 0, "ap_scan" },
++      { PRISM2_PARAM_AP_SCAN,
++        0, IW_PRIV_TYPE_INT | IW_PRIV_SIZE_FIXED | 1, "getap_scan" },
++      { PRISM2_PARAM_ENH_SEC,
++        IW_PRIV_TYPE_INT | IW_PRIV_SIZE_FIXED | 1, 0, "enh_sec" },
++      { PRISM2_PARAM_ENH_SEC,
++        0, IW_PRIV_TYPE_INT | IW_PRIV_SIZE_FIXED | 1, "getenh_sec" },
++#ifdef PRISM2_IO_DEBUG
++      { PRISM2_PARAM_IO_DEBUG,
++        IW_PRIV_TYPE_INT | IW_PRIV_SIZE_FIXED | 1, 0, "io_debug" },
++      { PRISM2_PARAM_IO_DEBUG,
++        0, IW_PRIV_TYPE_INT | IW_PRIV_SIZE_FIXED | 1, "getio_debug" },
++#endif /* PRISM2_IO_DEBUG */
++      { PRISM2_PARAM_BASIC_RATES,
++        IW_PRIV_TYPE_INT | IW_PRIV_SIZE_FIXED | 1, 0, "basic_rates" },
++      { PRISM2_PARAM_BASIC_RATES,
++        0, IW_PRIV_TYPE_INT | IW_PRIV_SIZE_FIXED | 1, "getbasic_rates" },
++      { PRISM2_PARAM_OPER_RATES,
++        IW_PRIV_TYPE_INT | IW_PRIV_SIZE_FIXED | 1, 0, "oper_rates" },
++      { PRISM2_PARAM_OPER_RATES,
++        0, IW_PRIV_TYPE_INT | IW_PRIV_SIZE_FIXED | 1, "getoper_rates" },
++      { PRISM2_PARAM_HOSTAPD,
++        IW_PRIV_TYPE_INT | IW_PRIV_SIZE_FIXED | 1, 0, "hostapd" },
++      { PRISM2_PARAM_HOSTAPD,
++        0, IW_PRIV_TYPE_INT | IW_PRIV_SIZE_FIXED | 1, "gethostapd" },
++      { PRISM2_PARAM_HOSTAPD_STA,
++        IW_PRIV_TYPE_INT | IW_PRIV_SIZE_FIXED | 1, 0, "hostapd_sta" },
++      { PRISM2_PARAM_HOSTAPD_STA,
++        0, IW_PRIV_TYPE_INT | IW_PRIV_SIZE_FIXED | 1, "gethostapd_sta" },
++      { PRISM2_PARAM_WPA,
++        IW_PRIV_TYPE_INT | IW_PRIV_SIZE_FIXED | 1, 0, "wpa" },
++      { PRISM2_PARAM_WPA,
++        0, IW_PRIV_TYPE_INT | IW_PRIV_SIZE_FIXED | 1, "getwpa" },
++      { PRISM2_PARAM_PRIVACY_INVOKED,
++        IW_PRIV_TYPE_INT | IW_PRIV_SIZE_FIXED | 1, 0, "privacy_invoked" },
++      { PRISM2_PARAM_PRIVACY_INVOKED,
++        0, IW_PRIV_TYPE_INT | IW_PRIV_SIZE_FIXED | 1, "getprivacy_invo" },
++      { PRISM2_PARAM_TKIP_COUNTERMEASURES,
++        IW_PRIV_TYPE_INT | IW_PRIV_SIZE_FIXED | 1, 0, "tkip_countermea" },
++      { PRISM2_PARAM_TKIP_COUNTERMEASURES,
++        0, IW_PRIV_TYPE_INT | IW_PRIV_SIZE_FIXED | 1, "gettkip_counter" },
++      { PRISM2_PARAM_DROP_UNENCRYPTED,
++        IW_PRIV_TYPE_INT | IW_PRIV_SIZE_FIXED | 1, 0, "drop_unencrypte" },
++      { PRISM2_PARAM_DROP_UNENCRYPTED,
++        0, IW_PRIV_TYPE_INT | IW_PRIV_SIZE_FIXED | 1, "getdrop_unencry" },
++      { PRISM2_PARAM_SCAN_CHANNEL_MASK,
++        IW_PRIV_TYPE_INT | IW_PRIV_SIZE_FIXED | 1, 0, "scan_channels" },
++      { PRISM2_PARAM_SCAN_CHANNEL_MASK,
++        0, IW_PRIV_TYPE_INT | IW_PRIV_SIZE_FIXED | 1, "getscan_channel" },
++#endif /* PRISM2_USE_WE_SUB_IOCTLS */
++};
++#endif
++
++#if WIRELESS_EXT > 17
++static int iw_ioctl_siwauth(struct net_device *dev,
++                              struct iw_request_info *info,
++                              struct iw_param *data, char *extra)
++{
++#if 0
++      PTIWLN_ADAPTER_T pAdapter = &(((tiwlan_net_dev_t *)(dev->priv))->adapter);
++      u32 val, len;
++
++#if IOCTL_DBG
++      printk("%s Call\n", __FUNCTION__);
++#endif
++      switch (data->flags & IW_AUTH_INDEX) {
++      case IW_AUTH_WPA_VERSION:
++      case IW_AUTH_CIPHER_PAIRWISE:
++      case IW_AUTH_CIPHER_GROUP:
++      case IW_AUTH_KEY_MGMT:
++              /* Host AP driver does not use these parameters and allows
++               * wpa_supplicant to control them internally. */
++              break;
++      case IW_AUTH_TKIP_COUNTERMEASURES:
++              local->tkip_countermeasures = data->value;
++              break;
++      case IW_AUTH_DROP_UNENCRYPTED:
++              local->drop_unencrypted = data->value;
++              break;
++      case IW_AUTH_80211_AUTH_ALG:
++              local->auth_algs = data->value;
++              break;
++      case IW_AUTH_WPA_ENABLED:
++              if (data->value == 0) {
++                      local->wpa = 0;
++                      if (local->sta_fw_ver < PRISM2_FW_VER(1,7,0))
++                              break;
++                      prism2_set_genericelement(dev, "", 0);
++                      local->host_roaming = 0;
++                      local->privacy_invoked = 0;
++                      if (hostap_set_word(dev, HFA384X_RID_SSNHANDLINGMODE,
++                                          0) ||
++                          hostap_set_roaming(local) ||
++                          hostap_set_encryption(local) ||
++                          local->func->reset_port(dev))
++                              return -EINVAL;
++                      break;
++              }
++              if (local->sta_fw_ver < PRISM2_FW_VER(1,7,0))
++                      return -EOPNOTSUPP;
++              local->host_roaming = 2;
++              local->privacy_invoked = 1;
++              local->wpa = 1;
++              if (hostap_set_word(dev, HFA384X_RID_SSNHANDLINGMODE, 1) ||
++                  hostap_set_roaming(local) ||
++                  hostap_set_encryption(local) ||
++                  local->func->reset_port(dev))
++                      return -EINVAL;
++              break;
++      case IW_AUTH_RX_UNENCRYPTED_EAPOL:
++              local->ieee_802_1x = data->value;
++              break;
++      case IW_AUTH_PRIVACY_INVOKED:
++              local->privacy_invoked = data->value;
++              break;
++      default:
++              return -EOPNOTSUPP;
++      }
++      return 0;
++#endif
++      return -EOPNOTSUPP;     
++}
++
++
++static int iw_ioctl_giwauth(struct net_device *dev,
++                              struct iw_request_info *info,
++                              struct iw_param *data, char *extra)
++{
++#if 0
++      PTIWLN_ADAPTER_T pAdapter = &(((tiwlan_net_dev_t *)(dev->priv))->adapter);
++      u32 val, len;
++
++#if IOCTL_DBG
++      printk("%s Call\n", __FUNCTION__);
++#endif
++      switch (data->flags & IW_AUTH_INDEX) {
++      case IW_AUTH_WPA_VERSION:
++      case IW_AUTH_CIPHER_PAIRWISE:
++      case IW_AUTH_CIPHER_GROUP:
++      case IW_AUTH_KEY_MGMT:
++              /* Host AP driver does not use these parameters and allows
++               * wpa_supplicant to control them internally. */
++              return -EOPNOTSUPP;
++      case IW_AUTH_TKIP_COUNTERMEASURES:
++              data->value = local->tkip_countermeasures;
++              break;
++      case IW_AUTH_DROP_UNENCRYPTED:
++              data->value = local->drop_unencrypted;
++              break;
++      case IW_AUTH_80211_AUTH_ALG:
++              data->value = local->auth_algs;
++              break;
++      case IW_AUTH_WPA_ENABLED:
++              data->value = local->wpa;
++              break;
++      case IW_AUTH_RX_UNENCRYPTED_EAPOL:
++              data->value = local->ieee_802_1x;
++              break;
++      default:
++              return -EOPNOTSUPP;
++      }
++      return 0;
++#endif
++      return -EOPNOTSUPP;     
++}
++
++
++static int iw_ioctl_siwencodeext(struct net_device *dev,
++                                   struct iw_request_info *info,
++                                   struct iw_point *erq, char *extra)
++{
++
++#if IOCTL_DBG
++      printk("%s Call\n", __FUNCTION__);
++#endif
++#if 0 
++      struct hostap_interface *iface = dev->priv;
++      local_info_t *local = iface->local;
++      struct iw_encode_ext *ext = (struct iw_encode_ext *) extra;
++      int i, ret = 0;
++      struct hostap_crypto_ops *ops;
++      struct prism2_crypt_data **crypt;
++      void *sta_ptr;
++      u8 *addr;
++      const char *alg, *module;
++
++      i = erq->flags & IW_ENCODE_INDEX;
++      if (i > WEP_KEYS)
++              return -EINVAL;
++      if (i < 1 || i > WEP_KEYS)
++              i = local->tx_keyidx;
++      else
++              i--;
++      if (i < 0 || i >= WEP_KEYS)
++              return -EINVAL;
++
++      addr = ext->addr.sa_data;
++      if (addr[0] == 0xff && addr[1] == 0xff && addr[2] == 0xff &&
++          addr[3] == 0xff && addr[4] == 0xff && addr[5] == 0xff) {
++              sta_ptr = NULL;
++              crypt = &local->crypt[i];
++      } else {
++              if (i != 0)
++                      return -EINVAL;
++              sta_ptr = ap_crypt_get_ptrs(local->ap, addr, 0, &crypt);
++              if (sta_ptr == NULL) {
++                      if (local->iw_mode == IW_MODE_INFRA) {
++                              /* TODO: add STA entry for the current AP so
++                               * that unicast key can be used. For now, this
++                               * is emulated by using default key idx 0. */
++                              i = 0;
++                              crypt = &local->crypt[i];
++                      } else
++                              return -EINVAL;
++              }
++      }
++
++      if ((erq->flags & IW_ENCODE_DISABLED) ||
++          ext->alg == IW_ENCODE_ALG_NONE) {
++              if (*crypt)
++                      prism2_crypt_delayed_deinit(local, crypt);
++              goto done;
++      }
++
++      switch (ext->alg) {
++      case IW_ENCODE_ALG_WEP:
++              alg = "WEP";
++              module = "hostap_crypt_wep";
++              break;
++      case IW_ENCODE_ALG_TKIP:
++              alg = "TKIP";
++              module = "hostap_crypt_tkip";
++              break;
++      case IW_ENCODE_ALG_CCMP:
++              alg = "CCMP";
++              module = "hostap_crypt_ccmp";
++              break;
++      default:
++              printk(KERN_DEBUG "%s: unsupported algorithm %d\n",
++                     local->dev->name, ext->alg);
++              ret = -EOPNOTSUPP;
++              goto done;
++      }
++
++      ops = hostap_get_crypto_ops(alg);
++      if (ops == NULL) {
++              request_module(module);
++              ops = hostap_get_crypto_ops(alg);
++      }
++      if (ops == NULL) {
++              printk(KERN_DEBUG "%s: unknown crypto alg '%s'\n",
++                     local->dev->name, alg);
++              ret = -EOPNOTSUPP;
++              goto done;
++      }
++
++      if (sta_ptr || ext->alg != IW_ENCODE_ALG_WEP) {
++              /* station based encryption and other than WEP algorithms
++               * require host-based encryption, so force them on
++               * automatically */
++              local->host_decrypt = local->host_encrypt = 1;
++      }
++
++      if (*crypt == NULL || (*crypt)->ops != ops) {
++              struct prism2_crypt_data *new_crypt;
++
++              prism2_crypt_delayed_deinit(local, crypt);
++
++              new_crypt = (struct prism2_crypt_data *)
++                      kmalloc(sizeof(struct prism2_crypt_data), GFP_KERNEL);
++              if (new_crypt == NULL) {
++                      ret = -ENOMEM;
++                      goto done;
++              }
++              memset(new_crypt, 0, sizeof(struct prism2_crypt_data));
++              new_crypt->ops = ops;
++              new_crypt->priv = new_crypt->ops->init(i);
++              if (new_crypt->priv == NULL) {
++                      kfree(new_crypt);
++                      ret = -EINVAL;
++                      goto done;
++              }
++
++              *crypt = new_crypt;
++      }
++
++      /* TODO: if ext_flags does not have IW_ENCODE_EXT_RX_SEQ_VALID, the
++       * existing seq# should not be changed. */
++      /* TODO: if ext_flags has IW_ENCODE_EXT_TX_SEQ_VALID, next TX seq#
++       * should be changed to something else than zero. */
++      if ((!(ext->ext_flags & IW_ENCODE_EXT_SET_TX_KEY) || ext->key_len > 0)
++          && (*crypt)->ops->set_key &&
++          (*crypt)->ops->set_key(ext->key, ext->key_len, ext->rx_seq,
++                                 (*crypt)->priv) < 0) {
++              printk(KERN_DEBUG "%s: key setting failed\n",
++                     local->dev->name);
++              ret = -EINVAL;
++              goto done;
++      }
++
++      if (ext->ext_flags & IW_ENCODE_EXT_SET_TX_KEY) {
++              if (!sta_ptr)
++                      local->tx_keyidx = i;
++              else if (i) {
++                      ret = -EINVAL;
++                      goto done;
++              }
++      }
++
++
++      if (sta_ptr == NULL && ext->key_len > 0) {
++              int first = 1, j;
++              for (j = 0; j < WEP_KEYS; j++) {
++                      if (j != i && local->crypt[j]) {
++                              first = 0;
++                              break;
++                      }
++              }
++              if (first)
++                      local->tx_keyidx = i;
++      }
++
++ done:
++      if (sta_ptr)
++              hostap_handle_sta_release(sta_ptr);
++
++      local->open_wep = erq->flags & IW_ENCODE_OPEN;
++
++      /* Do not reset port0 if card is in Managed mode since resetting will
++       * generate new IEEE 802.11 authentication which may end up in looping
++       * with IEEE 802.1X. Prism2 documentation seem to require port reset
++       * after WEP configuration. However, keys are apparently changed at
++       * least in Managed mode. */
++      if (ret == 0 &&
++          (hostap_set_encryption(local) ||
++           (local->iw_mode != IW_MODE_INFRA &&
++            local->func->reset_port(local->dev))))
++              ret = -EINVAL;
++
++      return ret;
++#endif
++      return -EOPNOTSUPP;     
++}
++
++
++static int iw_ioctl_giwencodeext(struct net_device *dev,
++                                   struct iw_request_info *info,
++                                   struct iw_point *erq, char *extra)
++{
++#if IOCTL_DBG
++      printk("%s Call\n", __FUNCTION__);
++#endif
++#if 0 
++      struct hostap_interface *iface = dev->priv;
++      local_info_t *local = iface->local;
++      struct prism2_crypt_data **crypt;
++      void *sta_ptr;
++      int max_key_len, i;
++      struct iw_encode_ext *ext = (struct iw_encode_ext *) extra;
++      u8 *addr;
++
++      max_key_len = erq->length - sizeof(*ext);
++      if (max_key_len < 0)
++              return -EINVAL;
++
++      i = erq->flags & IW_ENCODE_INDEX;
++      if (i < 1 || i > WEP_KEYS)
++              i = local->tx_keyidx;
++      else
++              i--;
++
++      addr = ext->addr.sa_data;
++      if (addr[0] == 0xff && addr[1] == 0xff && addr[2] == 0xff &&
++          addr[3] == 0xff && addr[4] == 0xff && addr[5] == 0xff) {
++              sta_ptr = NULL;
++              crypt = &local->crypt[i];
++      } else {
++              i = 0;
++              sta_ptr = ap_crypt_get_ptrs(local->ap, addr, 0, &crypt);
++              if (sta_ptr == NULL)
++                      return -EINVAL;
++      }
++      erq->flags = i + 1;
++      memset(ext, 0, sizeof(*ext));
++
++      if (*crypt == NULL || (*crypt)->ops == NULL) {
++              ext->alg = IW_ENCODE_ALG_NONE;
++              ext->key_len = 0;
++              erq->flags |= IW_ENCODE_DISABLED;
++      } else {
++              if (strcmp((*crypt)->ops->name, "WEP") == 0)
++                      ext->alg = IW_ENCODE_ALG_WEP;
++              else if (strcmp((*crypt)->ops->name, "TKIP") == 0)
++                      ext->alg = IW_ENCODE_ALG_TKIP;
++              else if (strcmp((*crypt)->ops->name, "CCMP") == 0)
++                      ext->alg = IW_ENCODE_ALG_CCMP;
++              else
++                      return -EINVAL;
++
++              if ((*crypt)->ops->get_key) {
++                      ext->key_len =
++                              (*crypt)->ops->get_key(ext->key,
++                                                     max_key_len,
++                                                     ext->tx_seq,
++                                                     (*crypt)->priv);
++                      if (ext->key_len &&
++                          (ext->alg == IW_ENCODE_ALG_TKIP ||
++                           ext->alg == IW_ENCODE_ALG_CCMP))
++                              ext->ext_flags |= IW_ENCODE_EXT_TX_SEQ_VALID;
++              }
++      }
++
++      if (sta_ptr)
++              hostap_handle_sta_release(sta_ptr);
++
++      return 0;
++#endif
++      return -EOPNOTSUPP;             
++}
++#endif /* WIRELESS_EXT > 17 */
++
++
++#if WIRELESS_EXT > 17
++static int iw_ioctl_siwgenie(struct net_device *dev,
++                               struct iw_request_info *info,
++                               struct iw_point *data, char *extra)
++{
++#if IOCTL_DBG
++      printk("%s Call\n", __FUNCTION__);
++#endif
++              return -EOPNOTSUPP;
++}
++#endif
++
++static int iw_ioctl_giwgenie(struct net_device *dev,
++                               struct iw_request_info *info,
++                               struct iw_point *data, char *extra)
++{
++#if IOCTL_DBG
++      printk("%s Call\n", __FUNCTION__);
++#endif
++              return -EOPNOTSUPP;
++}
++
++
++#if WIRELESS_EXT > 17
++static int iw_ioctl_siwmlme(struct net_device *dev,
++                              struct iw_request_info *info,
++                              struct iw_point *data, char *extra)
++{
++#if IOCTL_DBG
++      printk("%s Call\n", __FUNCTION__);
++#endif
++              return -EOPNOTSUPP;
++}
++#endif
++
++/* Structures to export the Wireless Handlers */
++
++static const iw_handler ti_handler[] =
++{
++      (iw_handler) NULL,                                              /* SIOCSIWCOMMIT */
++      (iw_handler) iw_get_name,                               /* SIOCGIWNAME */
++      (iw_handler) NULL,                                              /* SIOCSIWNWID */
++      (iw_handler) NULL,                                              /* SIOCGIWNWID */
++      (iw_handler) iw_ioctl_siwfreq,                  /* SIOCSIWFREQ */
++      (iw_handler) iw_ioctl_giwfreq,                  /* SIOCGIWFREQ */
++      (iw_handler) iw_ioctl_siwmode,                  /* SIOCSIWMODE */
++      (iw_handler) iw_ioctl_giwmode,                  /* SIOCGIWMODE */
++      (iw_handler) iw_ioctl_siwsens,                  /* SIOCSIWSENS */
++      (iw_handler) iw_ioctl_giwsens,                  /* SIOCGIWSENS */
++      (iw_handler) NULL /* not used */,               /* SIOCSIWRANGE */
++      (iw_handler) iw_ioctl_giwrange,                 /* SIOCGIWRANGE */
++      (iw_handler) NULL /* not used */,               /* SIOCSIWPRIV */
++      (iw_handler) NULL /* kernel code */,    /* SIOCGIWPRIV */
++      (iw_handler) NULL /* not used */,               /* SIOCSIWSTATS */
++      (iw_handler) NULL /* kernel code */,    /* SIOCGIWSTATS */
++#if WIRELESS_EXT > 15
++      (iw_handler) NULL,                                              /* SIOCSIWSPY */
++      (iw_handler) NULL,                                              /* SIOCGIWSPY */
++      (iw_handler) NULL,                                              /* SIOCSIWTHRSPY */
++      (iw_handler) NULL,                                              /* SIOCGIWTHRSPY */
++#else /* WIRELESS_EXT > 15 */
++      (iw_handler) NULL,                                              /* SIOCSIWSPY */
++      (iw_handler) NULL,                                              /* SIOCGIWSPY */
++      (iw_handler) NULL,                                              /* -- hole -- */
++      (iw_handler) NULL,                                              /* -- hole -- */
++#endif /* WIRELESS_EXT > 15 */
++      (iw_handler) iw_ioctl_siwap,                    /* SIOCSIWAP */
++      (iw_handler) iw_ioctl_giwap,                    /* SIOCGIWAP */
++#if WIRELESS_EXT > 17
++      (iw_handler) iw_ioctl_siwmlme,                  /* SIOCSIWMLME */
++#else /* WIRELESS_EXT > 17 */
++      (iw_handler) NULL,                              /* -- hole -- */
++#endif /* WIRELESS_EXT > 17 */
++      (iw_handler) iw_ioctl_giwaplist,                /* SIOCGIWAPLIST */
++      (iw_handler) iw_ioctl_siwscan,                  /* SIOCSIWSCAN */
++      (iw_handler) iw_ioctl_giwscan,                  /* SIOCGIWSCAN */
++      (iw_handler) iw_ioctl_siwessid,                 /* SIOCSIWESSID */
++      (iw_handler) iw_ioctl_giwessid,                 /* SIOCGIWESSID */
++      (iw_handler) NULL,                                              /* SIOCSIWNICKN */
++      (iw_handler) iw_ioctl_giwnickn,                 /* SIOCGIWNICKN */
++      (iw_handler) NULL,                                              /* -- hole -- */
++      (iw_handler) NULL,                                              /* -- hole -- */
++      (iw_handler) iw_ioctl_siwrate,                  /* SIOCSIWRATE */
++      (iw_handler) iw_ioctl_giwrate,                  /* SIOCGIWRATE */
++      (iw_handler) iw_ioctl_siwrts,                   /* SIOCSIWRTS */
++      (iw_handler) iw_ioctl_giwrts,                   /* SIOCGIWRTS */
++      (iw_handler) iw_ioctl_siwfrag,                  /* SIOCSIWFRAG */
++      (iw_handler) iw_ioctl_giwfrag,                  /* SIOCGIWFRAG */
++      (iw_handler) iw_ioctl_siwtxpow,                 /* SIOCSIWTXPOW */
++      (iw_handler) iw_ioctl_giwtxpow,                 /* SIOCGIWTXPOW */
++      (iw_handler) iw_ioctl_siwretry,                 /* SIOCSIWRETRY */
++      (iw_handler) iw_ioctl_giwretry,                 /* SIOCGIWRETRY */
++      (iw_handler) iw_ioctl_siwencode,                /* SIOCSIWENCODE */
++      (iw_handler) iw_ioctl_giwencode,                /* SIOCGIWENCODE */
++      (iw_handler) iw_ioctl_siwpower,                 /* SIOCSIWPOWER */
++      (iw_handler) iw_ioctl_giwpower,                 /* SIOCGIWPOWER */
++#if WIRELESS_EXT > 17
++      (iw_handler) NULL,                                              /* -- hole -- */
++      (iw_handler) NULL,                                              /* -- hole -- */
++      (iw_handler) iw_ioctl_siwgenie,                 /* SIOCSIWGENIE */
++      (iw_handler) iw_ioctl_giwgenie,                 /* SIOCGIWGENIE */
++      (iw_handler) iw_ioctl_siwauth,                  /* SIOCSIWAUTH */
++      (iw_handler) iw_ioctl_giwauth,                  /* SIOCGIWAUTH */
++      (iw_handler) iw_ioctl_siwencodeext,             /* SIOCSIWENCODEEXT */
++      (iw_handler) iw_ioctl_giwencodeext,             /* SIOCGIWENCODEEXT */
++      (iw_handler) NULL,                                              /* SIOCSIWPMKSA */
++      (iw_handler) NULL,                                              /* -- hole -- */
++#endif /* WIRELESS_EXT > 17 */
++};
++
++#if 0
++static const iw_handler ti_private_handler[] =
++{                                                     /* SIOCIWFIRSTPRIV + */
++      (iw_handler) iw_ioctl_priv_prism2_param,        /* 0 */
++      (iw_handler) iw_ioctl_priv_get_prism2_param, /* 1 */
++      (iw_handler) iw_ioctl_priv_writemif,    /* 2 */
++      (iw_handler) iw_ioctl_priv_readmif,             /* 3 */
++};
++#endif
++
++static const struct iw_handler_def ti_iw_handler_def =
++{
++      .num_standard   = sizeof(ti_handler) / sizeof(iw_handler),
++//    .num_private    = sizeof(ti_private_handler) / sizeof(iw_handler),
++//    .num_private_args = sizeof(ti_priv) / sizeof(struct iw_priv_args),
++      .standard       = (iw_handler *) ti_handler,
++//    .private        = (iw_handler *) ti_private_handler,
++//    .private_args   = (struct iw_priv_args *) ti_priv,
++#if WIRELESS_EXT == 16
++//    .spy_offset     = offsetof(struct hostap_interface, spy_data),
++#endif /* WIRELESS_EXT == 16 */
++#if WIRELESS_EXT > 16
++//    .get_wireless_stats = ti_get_wireless_stats,
++#endif /* WIRELESS_EXT > 16 */
++};
++
++void tiwlan_iwhandler_init(struct net_device *dev)
++{
++   dev->wireless_handlers = (struct iw_handler_def *) &ti_iw_handler_def;     
++}
+diff --git a/sta_dk_4_0_4_32/pform/linux/src/osapi.c b/sta_dk_4_0_4_32/pform/linux/src/osapi.c
+old mode 100644
+new mode 100755
+index a5a798c..002fd60
+--- a/sta_dk_4_0_4_32/pform/linux/src/osapi.c
++++ b/sta_dk_4_0_4_32/pform/linux/src/osapi.c
+@@ -99,7 +99,12 @@ static int os_tl_timerHandlr(struct tiwlan_req *req);
+ static void os_timerHandlr(unsigned long parm);
+ static void send_frag(char* msg, int message_len, int level, int module);
+-BOOL use_debug_module = FALSE;
++/* linux/irq.h declerations */\r
++extern void disable_irq(unsigned int);\r
++extern void enable_irq(unsigned int);\r
++\r
++BOOL use_debug_module = FALSE;\r
++#define debug_module_enqueue_message
+ /****************************************************************************************
+  *                                                                                                                                                    *
+-- 
+1.6.0.5
+
index a19dc83..afb3b7d 100755 (executable)
@@ -1,5 +1,42 @@
 #!/bin/sh
 
 #!/bin/sh
 
-rmmod wlan
+DESC="TI1251 Wireless LAN driver"
+NAME="wlan"
 
 
-insmod $(busybox find /lib/modules/$(uname -r) -name "wlan.ko")
+d_stop() {
+       if `grep -q wlan /proc/modules` ; then
+               rmmod wlan
+       fi
+}
+
+d_start() {
+       insmod $(busybox find /lib/modules/$(uname -r) -name "wlan.ko")
+       /usr/bin/tiwlan_loader -n -f /lib/firmware/Fw1251r1c.bin -i /etc/tiwlan.ini
+}
+
+
+case "$1" in
+  start)
+       echo -n "Starting $DESC: $NAME"
+       d_start
+       echo "."
+       ;;
+  stop)
+       echo -n "Stopping $DESC: $NAME"
+       d_stop
+       echo "."
+       ;;
+  restart|force-reload)
+       echo -n "Restarting $DESC: $NAME"
+       d_stop
+       sleep 1
+       d_start
+       echo "."
+       ;;
+  *)
+       echo "Usage: $0 {start|stop|restart|force-reload}" >&2
+       exit 1
+       ;;
+esac
+
+exit 0
index a331e8c..cf97a6b 100755 (executable)
@@ -1,13 +1,14 @@
 DESCRIPTION = "Kernel drivers for the TI1251 WiFi chip found on the Pandora - Connected via SDIO"
 LICENSE = "GPLv2"
 
 DESCRIPTION = "Kernel drivers for the TI1251 WiFi chip found on the Pandora - Connected via SDIO"
 LICENSE = "GPLv2"
 
-PR = "r9"
+PR = "r9.2"
 
 # Check the include for the source location/GIT SRCREV etc.
 require pandora-wifi.inc
 
 SRC_URI += " \
        file://rc.tiwifi \
 
 # Check the include for the source location/GIT SRCREV etc.
 require pandora-wifi.inc
 
 SRC_URI += " \
        file://rc.tiwifi \
+#      file://0011-Add-in-the-start-of-wireless-extensions-support-ioc.patch;patch=1 \
 "
 
 inherit update-rc.d
 "
 
 inherit update-rc.d
@@ -21,10 +22,11 @@ do_compile_prepend() {
 
 do_install() {
           cd ${S}/sta_dk_4_0_4_32/
 
 do_install() {
           cd ${S}/sta_dk_4_0_4_32/
-          mkdir -p ${D}/lib/modules/${KERNEL_VERSION}/kernel/drivers/net
-          cp ${S}/sta_dk_4_0_4_32/*.ko ${D}/lib/modules/${KERNEL_VERSION}/kernel/drivers/net
+          mkdir -p ${D}/lib/modules/${KERNEL_VERSION}/kernel/drivers/net/wireless/tiwlan
+          cp ${S}/sta_dk_4_0_4_32/*.ko ${D}/lib/modules/${KERNEL_VERSION}/kernel/drivers/net/wireless/tiwlan
           install -d ${D}${sysconfdir}/init.d/
           cp -pP ${WORKDIR}/rc.tiwifi ${D}${sysconfdir}/init.d/tiwifi-init
           install -d ${D}${sysconfdir}/init.d/
           cp -pP ${WORKDIR}/rc.tiwifi ${D}${sysconfdir}/init.d/tiwifi-init
+          cp -pP ${S}/sta_dk_4_0_4_32/fw/tiwlan.ini ${D}${sysconfdir}/tiwlan.ini         
 }
 
 }
 
-FILES_${PN} += "/lib/modules/${KERNEL_VERSION}/kernel/drivers/net/*.ko.*"
\ No newline at end of file
+FILES_${PN} += "/lib/modules/${KERNEL_VERSION}/kernel/drivers/net/wireless/tiwlan/*.ko.*"
\ No newline at end of file
index c26830d..237da93 100755 (executable)
@@ -5,7 +5,7 @@ DESCRIPTION = "Task file for default core/console apps in the Pandora image"
 
 # Don't forget to bump the PR if you change it.
 
 
 # Don't forget to bump the PR if you change it.
 
-PR = "r1.8"
+PR = "r3.2"
 
 inherit task 
 
 
 inherit task 
 
@@ -15,7 +15,10 @@ RDEPENDS_${PN} = "\
         pandora-firmware \
         pandora-wifi pandora-wifi-tools \
         omap3-deviceid \       
         pandora-firmware \
         pandora-wifi pandora-wifi-tools \
         omap3-deviceid \       
-        omap3-sgx-modules libgles-omap3 \
+        omap3-sgx-modules devmem2 libgles-omap3 \
+        sudo \
+        lsof \
+        gnome-volume-manager \
         libwiimote \
         libsdl-gfx \
         nfs-utils nfs-utils-client \
         libwiimote \
         libsdl-gfx \
         nfs-utils nfs-utils-client \
@@ -28,7 +31,7 @@ RDEPENDS_${PN} = "\
         portmap \
         fuse sshfs-fuse ntfs-3g \
         file \
         portmap \
         fuse sshfs-fuse ntfs-3g \
         file \
-        aufs \
+        aufs aufs-tools \
         socat \
         strace \
         python-pygame \
         socat \
         strace \
         python-pygame \
index 4c76446..c468010 100755 (executable)
@@ -2,7 +2,7 @@ DESCRIPTION = "Task file for the 'desktop' Pandora image"
 
 # Don't forget to bump the PR if you change it.
 
 
 # Don't forget to bump the PR if you change it.
 
-PR = "r1.6"
+PR = "r1.7"
 
 inherit task
 
 
 inherit task
 
@@ -31,8 +31,7 @@ RDEPENDS_${PN} = "\
        synergy \
        x11vnc angstrom-x11vnc-xinit \
        angstrom-gnome-icon-theme-enable \
        synergy \
        x11vnc angstrom-x11vnc-xinit \
        angstrom-gnome-icon-theme-enable \
-       connman-gnome \
-#      networkmanager-applet \
+       networkmanager-applet \
        scummvm \
        ogre-egl \
 "
        scummvm \
        ogre-egl \
 "
index 7bc8ff5..51ae905 100755 (executable)
@@ -2,7 +2,7 @@ DESCRIPTION = "Task file for default GUI apps in the Pandora image"
 
 # Don't forget to bump the PR if you change it.
 
 
 # Don't forget to bump the PR if you change it.
 
-PR = "r1.4"
+PR = "r1.8"
 
 inherit task
 
 
 inherit task
 
@@ -30,13 +30,12 @@ RDEPENDS_${PN} = "\
         xterm \
         xtscal \
         matchbox-wm \
         xterm \
         xtscal \
         matchbox-wm \
+        matchbox-desktop matchbox-panel-2 matchbox-panel-manager matchbox-panel-hacks \
         matchbox-keyboard matchbox-keyboard-applet matchbox-keyboard-im \
         matchbox-keyboard matchbox-keyboard-applet matchbox-keyboard-im \
-        matchbox-desktop \
-        matchbox-common \
-        matchbox-config-gtk \
+        matchbox-common matchbox-config-gtk \
+        matchbox-terminal \
         matchbox-themes-gtk \
         matchbox-themes-gtk \
-        matchbox-panel-manager \
-        matchbox-panel-hacks \
+        pcmanfm \
         ttf-liberation-sans ttf-liberation-serif ttf-liberation-mono \
         xauth xhost xset xrandr \
         xcursor-transparent-theme \
         ttf-liberation-sans ttf-liberation-serif ttf-liberation-mono \
         xauth xhost xset xrandr \
         xcursor-transparent-theme \
@@ -45,7 +44,6 @@ RDEPENDS_${PN} = "\
         matchbox-applet-inputmanager \
         matchbox-applet-volume \
         matchbox-applet-startup-monitor \
         matchbox-applet-inputmanager \
         matchbox-applet-volume \
         matchbox-applet-startup-monitor \
-        connman-gnome \
 #      networkmanager-applet \
         scummvm \
 "
 #      networkmanager-applet \
         scummvm \
 "