diff options
140 files changed, 1913 insertions, 1556 deletions
diff --git a/Documentation/kernel-parameters.txt b/Documentation/kernel-parameters.txt index 90b3924071b6..e87bdbfbcc75 100644 --- a/Documentation/kernel-parameters.txt +++ b/Documentation/kernel-parameters.txt | |||
| @@ -17,6 +17,12 @@ are specified on the kernel command line with the module name plus | |||
| 17 | 17 | ||
| 18 | usbcore.blinkenlights=1 | 18 | usbcore.blinkenlights=1 |
| 19 | 19 | ||
| 20 | Hyphens (dashes) and underscores are equivalent in parameter names, so | ||
| 21 | log_buf_len=1M print-fatal-signals=1 | ||
| 22 | can also be entered as | ||
| 23 | log-buf-len=1M print_fatal_signals=1 | ||
| 24 | |||
| 25 | |||
| 20 | This document may not be entirely up to date and comprehensive. The command | 26 | This document may not be entirely up to date and comprehensive. The command |
| 21 | "modinfo -p ${modulename}" shows a current list of all parameters of a loadable | 27 | "modinfo -p ${modulename}" shows a current list of all parameters of a loadable |
| 22 | module. Loadable modules, after being loaded into the running kernel, also | 28 | module. Loadable modules, after being loaded into the running kernel, also |
| @@ -345,7 +351,7 @@ and is between 256 and 4096 characters. It is defined in the file | |||
| 345 | not play well with APC CPU idle - disable it if you have | 351 | not play well with APC CPU idle - disable it if you have |
| 346 | APC and your system crashes randomly. | 352 | APC and your system crashes randomly. |
| 347 | 353 | ||
| 348 | apic= [APIC,i386] Advanced Programmable Interrupt Controller | 354 | apic= [APIC,X86-32] Advanced Programmable Interrupt Controller |
| 349 | Change the output verbosity whilst booting | 355 | Change the output verbosity whilst booting |
| 350 | Format: { quiet (default) | verbose | debug } | 356 | Format: { quiet (default) | verbose | debug } |
| 351 | Change the amount of debugging information output | 357 | Change the amount of debugging information output |
| @@ -702,7 +708,7 @@ and is between 256 and 4096 characters. It is defined in the file | |||
| 702 | to discrete, to make X server driver able to add WB | 708 | to discrete, to make X server driver able to add WB |
| 703 | entry later. This parameter enables that. | 709 | entry later. This parameter enables that. |
| 704 | 710 | ||
| 705 | enable_timer_pin_1 [i386,x86-64] | 711 | enable_timer_pin_1 [X86] |
| 706 | Enable PIN 1 of APIC timer | 712 | Enable PIN 1 of APIC timer |
| 707 | Can be useful to work around chipset bugs | 713 | Can be useful to work around chipset bugs |
| 708 | (in particular on some ATI chipsets). | 714 | (in particular on some ATI chipsets). |
| @@ -775,7 +781,7 @@ and is between 256 and 4096 characters. It is defined in the file | |||
| 775 | 781 | ||
| 776 | hashdist= [KNL,NUMA] Large hashes allocated during boot | 782 | hashdist= [KNL,NUMA] Large hashes allocated during boot |
| 777 | are distributed across NUMA nodes. Defaults on | 783 | are distributed across NUMA nodes. Defaults on |
| 778 | for IA-64, off otherwise. | 784 | for 64bit NUMA, off otherwise. |
| 779 | Format: 0 | 1 (for off | on) | 785 | Format: 0 | 1 (for off | on) |
| 780 | 786 | ||
| 781 | hcl= [IA-64] SGI's Hardware Graph compatibility layer | 787 | hcl= [IA-64] SGI's Hardware Graph compatibility layer |
diff --git a/Documentation/lockdep-design.txt b/Documentation/lockdep-design.txt index 938ea22f2cc0..e20d913d5914 100644 --- a/Documentation/lockdep-design.txt +++ b/Documentation/lockdep-design.txt | |||
| @@ -54,9 +54,9 @@ locking error messages, inside curlies. A contrived example: | |||
| 54 | The bit position indicates STATE, STATE-read, for each of the states listed | 54 | The bit position indicates STATE, STATE-read, for each of the states listed |
| 55 | above, and the character displayed in each indicates: | 55 | above, and the character displayed in each indicates: |
| 56 | 56 | ||
| 57 | '.' acquired while irqs disabled | 57 | '.' acquired while irqs disabled and not in irq context |
| 58 | '+' acquired in irq context | 58 | '-' acquired in irq context |
| 59 | '-' acquired with irqs enabled | 59 | '+' acquired with irqs enabled |
| 60 | '?' acquired in irq context with irqs enabled. | 60 | '?' acquired in irq context with irqs enabled. |
| 61 | 61 | ||
| 62 | Unused mutexes cannot be part of the cause of an error. | 62 | Unused mutexes cannot be part of the cause of an error. |
diff --git a/MAINTAINERS b/MAINTAINERS index 9de961bd1214..2b349ba4add4 100644 --- a/MAINTAINERS +++ b/MAINTAINERS | |||
| @@ -3434,11 +3434,10 @@ L: linuxppc-dev@ozlabs.org | |||
| 3434 | S: Maintained | 3434 | S: Maintained |
| 3435 | 3435 | ||
| 3436 | LINUX FOR POWERPC EMBEDDED MPC5XXX | 3436 | LINUX FOR POWERPC EMBEDDED MPC5XXX |
| 3437 | P: Sylvain Munaut | ||
| 3438 | M: tnt@246tNt.com | ||
| 3439 | P: Grant Likely | 3437 | P: Grant Likely |
| 3440 | M: grant.likely@secretlab.ca | 3438 | M: grant.likely@secretlab.ca |
| 3441 | L: linuxppc-dev@ozlabs.org | 3439 | L: linuxppc-dev@ozlabs.org |
| 3440 | T: git git://git.secretlab.ca/git/linux-2.6.git | ||
| 3442 | S: Maintained | 3441 | S: Maintained |
| 3443 | 3442 | ||
| 3444 | LINUX FOR POWERPC EMBEDDED PPC4XX | 3443 | LINUX FOR POWERPC EMBEDDED PPC4XX |
| @@ -3456,6 +3455,7 @@ P: Grant Likely | |||
| 3456 | M: grant.likely@secretlab.ca | 3455 | M: grant.likely@secretlab.ca |
| 3457 | W: http://wiki.secretlab.ca/index.php/Linux_on_Xilinx_Virtex | 3456 | W: http://wiki.secretlab.ca/index.php/Linux_on_Xilinx_Virtex |
| 3458 | L: linuxppc-dev@ozlabs.org | 3457 | L: linuxppc-dev@ozlabs.org |
| 3458 | T: git git://git.secretlab.ca/git/linux-2.6.git | ||
| 3459 | S: Maintained | 3459 | S: Maintained |
| 3460 | 3460 | ||
| 3461 | LINUX FOR POWERPC EMBEDDED PPC8XX | 3461 | LINUX FOR POWERPC EMBEDDED PPC8XX |
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index 9faccc411c2a..e60ec54df334 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig | |||
| @@ -454,6 +454,7 @@ config ARCH_MXC | |||
| 454 | select ARCH_MTD_XIP | 454 | select ARCH_MTD_XIP |
| 455 | select GENERIC_GPIO | 455 | select GENERIC_GPIO |
| 456 | select ARCH_REQUIRE_GPIOLIB | 456 | select ARCH_REQUIRE_GPIOLIB |
| 457 | select HAVE_CLK | ||
| 457 | help | 458 | help |
| 458 | Support for Freescale MXC/iMX-based family of processors | 459 | Support for Freescale MXC/iMX-based family of processors |
| 459 | 460 | ||
diff --git a/arch/arm/configs/kirkwood_defconfig b/arch/arm/configs/kirkwood_defconfig index c367ae44012e..dcf8153a947d 100644 --- a/arch/arm/configs/kirkwood_defconfig +++ b/arch/arm/configs/kirkwood_defconfig | |||
| @@ -1,7 +1,7 @@ | |||
| 1 | # | 1 | # |
| 2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
| 3 | # Linux kernel version: 2.6.29-rc5 | 3 | # Linux kernel version: 2.6.30-rc4 |
| 4 | # Tue Mar 3 21:45:57 2009 | 4 | # Mon May 4 11:58:57 2009 |
| 5 | # | 5 | # |
| 6 | CONFIG_ARM=y | 6 | CONFIG_ARM=y |
| 7 | CONFIG_SYS_SUPPORTS_APM_EMULATION=y | 7 | CONFIG_SYS_SUPPORTS_APM_EMULATION=y |
| @@ -66,20 +66,20 @@ CONFIG_NAMESPACES=y | |||
| 66 | # CONFIG_BLK_DEV_INITRD is not set | 66 | # CONFIG_BLK_DEV_INITRD is not set |
| 67 | CONFIG_CC_OPTIMIZE_FOR_SIZE=y | 67 | CONFIG_CC_OPTIMIZE_FOR_SIZE=y |
| 68 | CONFIG_SYSCTL=y | 68 | CONFIG_SYSCTL=y |
| 69 | CONFIG_ANON_INODES=y | ||
| 69 | # CONFIG_EMBEDDED is not set | 70 | # CONFIG_EMBEDDED is not set |
| 70 | CONFIG_UID16=y | 71 | CONFIG_UID16=y |
| 71 | CONFIG_SYSCTL_SYSCALL=y | 72 | CONFIG_SYSCTL_SYSCALL=y |
| 72 | CONFIG_KALLSYMS=y | 73 | CONFIG_KALLSYMS=y |
| 73 | # CONFIG_KALLSYMS_ALL is not set | 74 | # CONFIG_KALLSYMS_ALL is not set |
| 74 | # CONFIG_KALLSYMS_EXTRA_PASS is not set | 75 | # CONFIG_KALLSYMS_EXTRA_PASS is not set |
| 76 | # CONFIG_STRIP_ASM_SYMS is not set | ||
| 75 | CONFIG_HOTPLUG=y | 77 | CONFIG_HOTPLUG=y |
| 76 | CONFIG_PRINTK=y | 78 | CONFIG_PRINTK=y |
| 77 | CONFIG_BUG=y | 79 | CONFIG_BUG=y |
| 78 | CONFIG_ELF_CORE=y | 80 | CONFIG_ELF_CORE=y |
| 79 | CONFIG_COMPAT_BRK=y | ||
| 80 | CONFIG_BASE_FULL=y | 81 | CONFIG_BASE_FULL=y |
| 81 | CONFIG_FUTEX=y | 82 | CONFIG_FUTEX=y |
| 82 | CONFIG_ANON_INODES=y | ||
| 83 | CONFIG_EPOLL=y | 83 | CONFIG_EPOLL=y |
| 84 | CONFIG_SIGNALFD=y | 84 | CONFIG_SIGNALFD=y |
| 85 | CONFIG_TIMERFD=y | 85 | CONFIG_TIMERFD=y |
| @@ -89,6 +89,7 @@ CONFIG_AIO=y | |||
| 89 | CONFIG_VM_EVENT_COUNTERS=y | 89 | CONFIG_VM_EVENT_COUNTERS=y |
| 90 | CONFIG_PCI_QUIRKS=y | 90 | CONFIG_PCI_QUIRKS=y |
| 91 | CONFIG_SLUB_DEBUG=y | 91 | CONFIG_SLUB_DEBUG=y |
| 92 | CONFIG_COMPAT_BRK=y | ||
| 92 | # CONFIG_SLAB is not set | 93 | # CONFIG_SLAB is not set |
| 93 | CONFIG_SLUB=y | 94 | CONFIG_SLUB=y |
| 94 | # CONFIG_SLOB is not set | 95 | # CONFIG_SLOB is not set |
| @@ -101,6 +102,7 @@ CONFIG_KPROBES=y | |||
| 101 | CONFIG_KRETPROBES=y | 102 | CONFIG_KRETPROBES=y |
| 102 | CONFIG_HAVE_KPROBES=y | 103 | CONFIG_HAVE_KPROBES=y |
| 103 | CONFIG_HAVE_KRETPROBES=y | 104 | CONFIG_HAVE_KRETPROBES=y |
| 105 | # CONFIG_SLOW_WORK is not set | ||
| 104 | CONFIG_HAVE_GENERIC_DMA_COHERENT=y | 106 | CONFIG_HAVE_GENERIC_DMA_COHERENT=y |
| 105 | CONFIG_SLABINFO=y | 107 | CONFIG_SLABINFO=y |
| 106 | CONFIG_RT_MUTEXES=y | 108 | CONFIG_RT_MUTEXES=y |
| @@ -113,7 +115,6 @@ CONFIG_MODULE_UNLOAD=y | |||
| 113 | # CONFIG_MODULE_SRCVERSION_ALL is not set | 115 | # CONFIG_MODULE_SRCVERSION_ALL is not set |
| 114 | CONFIG_BLOCK=y | 116 | CONFIG_BLOCK=y |
| 115 | # CONFIG_LBD is not set | 117 | # CONFIG_LBD is not set |
| 116 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
| 117 | # CONFIG_BLK_DEV_BSG is not set | 118 | # CONFIG_BLK_DEV_BSG is not set |
| 118 | # CONFIG_BLK_DEV_INTEGRITY is not set | 119 | # CONFIG_BLK_DEV_INTEGRITY is not set |
| 119 | 120 | ||
| @@ -142,6 +143,7 @@ CONFIG_DEFAULT_IOSCHED="cfq" | |||
| 142 | # CONFIG_ARCH_CLPS711X is not set | 143 | # CONFIG_ARCH_CLPS711X is not set |
| 143 | # CONFIG_ARCH_EBSA110 is not set | 144 | # CONFIG_ARCH_EBSA110 is not set |
| 144 | # CONFIG_ARCH_EP93XX is not set | 145 | # CONFIG_ARCH_EP93XX is not set |
| 146 | # CONFIG_ARCH_GEMINI is not set | ||
| 145 | # CONFIG_ARCH_FOOTBRIDGE is not set | 147 | # CONFIG_ARCH_FOOTBRIDGE is not set |
| 146 | # CONFIG_ARCH_NETX is not set | 148 | # CONFIG_ARCH_NETX is not set |
| 147 | # CONFIG_ARCH_H720X is not set | 149 | # CONFIG_ARCH_H720X is not set |
| @@ -162,6 +164,7 @@ CONFIG_ARCH_KIRKWOOD=y | |||
| 162 | # CONFIG_ARCH_ORION5X is not set | 164 | # CONFIG_ARCH_ORION5X is not set |
| 163 | # CONFIG_ARCH_PNX4008 is not set | 165 | # CONFIG_ARCH_PNX4008 is not set |
| 164 | # CONFIG_ARCH_PXA is not set | 166 | # CONFIG_ARCH_PXA is not set |
| 167 | # CONFIG_ARCH_MMP is not set | ||
| 165 | # CONFIG_ARCH_RPC is not set | 168 | # CONFIG_ARCH_RPC is not set |
| 166 | # CONFIG_ARCH_SA1100 is not set | 169 | # CONFIG_ARCH_SA1100 is not set |
| 167 | # CONFIG_ARCH_S3C2410 is not set | 170 | # CONFIG_ARCH_S3C2410 is not set |
| @@ -217,6 +220,7 @@ CONFIG_PCI_SYSCALL=y | |||
| 217 | CONFIG_PCI_LEGACY=y | 220 | CONFIG_PCI_LEGACY=y |
| 218 | # CONFIG_PCI_DEBUG is not set | 221 | # CONFIG_PCI_DEBUG is not set |
| 219 | # CONFIG_PCI_STUB is not set | 222 | # CONFIG_PCI_STUB is not set |
| 223 | # CONFIG_PCI_IOV is not set | ||
| 220 | # CONFIG_PCCARD is not set | 224 | # CONFIG_PCCARD is not set |
| 221 | 225 | ||
| 222 | # | 226 | # |
| @@ -237,6 +241,7 @@ CONFIG_AEABI=y | |||
| 237 | CONFIG_ARCH_FLATMEM_HAS_HOLES=y | 241 | CONFIG_ARCH_FLATMEM_HAS_HOLES=y |
| 238 | # CONFIG_ARCH_SPARSEMEM_DEFAULT is not set | 242 | # CONFIG_ARCH_SPARSEMEM_DEFAULT is not set |
| 239 | # CONFIG_ARCH_SELECT_MEMORY_MODEL is not set | 243 | # CONFIG_ARCH_SELECT_MEMORY_MODEL is not set |
| 244 | # CONFIG_HIGHMEM is not set | ||
| 240 | CONFIG_SELECT_MEMORY_MODEL=y | 245 | CONFIG_SELECT_MEMORY_MODEL=y |
| 241 | CONFIG_FLATMEM_MANUAL=y | 246 | CONFIG_FLATMEM_MANUAL=y |
| 242 | # CONFIG_DISCONTIGMEM_MANUAL is not set | 247 | # CONFIG_DISCONTIGMEM_MANUAL is not set |
| @@ -249,6 +254,8 @@ CONFIG_SPLIT_PTLOCK_CPUS=4096 | |||
| 249 | CONFIG_ZONE_DMA_FLAG=0 | 254 | CONFIG_ZONE_DMA_FLAG=0 |
| 250 | CONFIG_VIRT_TO_BUS=y | 255 | CONFIG_VIRT_TO_BUS=y |
| 251 | CONFIG_UNEVICTABLE_LRU=y | 256 | CONFIG_UNEVICTABLE_LRU=y |
| 257 | CONFIG_HAVE_MLOCK=y | ||
| 258 | CONFIG_HAVE_MLOCKED_PAGE_BIT=y | ||
| 252 | CONFIG_ALIGNMENT_TRAP=y | 259 | CONFIG_ALIGNMENT_TRAP=y |
| 253 | 260 | ||
| 254 | # | 261 | # |
| @@ -293,7 +300,6 @@ CONFIG_NET=y | |||
| 293 | # | 300 | # |
| 294 | # Networking options | 301 | # Networking options |
| 295 | # | 302 | # |
| 296 | CONFIG_COMPAT_NET_DEV_OPS=y | ||
| 297 | CONFIG_PACKET=y | 303 | CONFIG_PACKET=y |
| 298 | CONFIG_PACKET_MMAP=y | 304 | CONFIG_PACKET_MMAP=y |
| 299 | CONFIG_UNIX=y | 305 | CONFIG_UNIX=y |
| @@ -324,7 +330,7 @@ CONFIG_IP_PNP_BOOTP=y | |||
| 324 | CONFIG_INET_XFRM_MODE_TRANSPORT=y | 330 | CONFIG_INET_XFRM_MODE_TRANSPORT=y |
| 325 | CONFIG_INET_XFRM_MODE_TUNNEL=y | 331 | CONFIG_INET_XFRM_MODE_TUNNEL=y |
| 326 | CONFIG_INET_XFRM_MODE_BEET=y | 332 | CONFIG_INET_XFRM_MODE_BEET=y |
| 327 | # CONFIG_INET_LRO is not set | 333 | CONFIG_INET_LRO=y |
| 328 | CONFIG_INET_DIAG=y | 334 | CONFIG_INET_DIAG=y |
| 329 | CONFIG_INET_TCP_DIAG=y | 335 | CONFIG_INET_TCP_DIAG=y |
| 330 | # CONFIG_TCP_CONG_ADVANCED is not set | 336 | # CONFIG_TCP_CONG_ADVANCED is not set |
| @@ -357,6 +363,7 @@ CONFIG_NET_DSA_MV88E6123_61_65=y | |||
| 357 | # CONFIG_LAPB is not set | 363 | # CONFIG_LAPB is not set |
| 358 | # CONFIG_ECONET is not set | 364 | # CONFIG_ECONET is not set |
| 359 | # CONFIG_WAN_ROUTER is not set | 365 | # CONFIG_WAN_ROUTER is not set |
| 366 | # CONFIG_PHONET is not set | ||
| 360 | # CONFIG_NET_SCHED is not set | 367 | # CONFIG_NET_SCHED is not set |
| 361 | # CONFIG_DCB is not set | 368 | # CONFIG_DCB is not set |
| 362 | 369 | ||
| @@ -365,20 +372,20 @@ CONFIG_NET_DSA_MV88E6123_61_65=y | |||
| 365 | # | 372 | # |
| 366 | CONFIG_NET_PKTGEN=m | 373 | CONFIG_NET_PKTGEN=m |
| 367 | # CONFIG_NET_TCPPROBE is not set | 374 | # CONFIG_NET_TCPPROBE is not set |
| 375 | # CONFIG_NET_DROP_MONITOR is not set | ||
| 368 | # CONFIG_HAMRADIO is not set | 376 | # CONFIG_HAMRADIO is not set |
| 369 | # CONFIG_CAN is not set | 377 | # CONFIG_CAN is not set |
| 370 | # CONFIG_IRDA is not set | 378 | # CONFIG_IRDA is not set |
| 371 | # CONFIG_BT is not set | 379 | # CONFIG_BT is not set |
| 372 | # CONFIG_AF_RXRPC is not set | 380 | # CONFIG_AF_RXRPC is not set |
| 373 | # CONFIG_PHONET is not set | ||
| 374 | CONFIG_WIRELESS=y | 381 | CONFIG_WIRELESS=y |
| 375 | CONFIG_CFG80211=y | 382 | CONFIG_CFG80211=y |
| 376 | # CONFIG_CFG80211_REG_DEBUG is not set | 383 | # CONFIG_CFG80211_REG_DEBUG is not set |
| 377 | # CONFIG_NL80211 is not set | ||
| 378 | CONFIG_WIRELESS_OLD_REGULATORY=y | 384 | CONFIG_WIRELESS_OLD_REGULATORY=y |
| 379 | CONFIG_WIRELESS_EXT=y | 385 | CONFIG_WIRELESS_EXT=y |
| 380 | CONFIG_WIRELESS_EXT_SYSFS=y | 386 | CONFIG_WIRELESS_EXT_SYSFS=y |
| 381 | CONFIG_LIB80211=y | 387 | CONFIG_LIB80211=y |
| 388 | # CONFIG_LIB80211_DEBUG is not set | ||
| 382 | CONFIG_MAC80211=y | 389 | CONFIG_MAC80211=y |
| 383 | 390 | ||
| 384 | # | 391 | # |
| @@ -513,7 +520,6 @@ CONFIG_MTD_NAND_ORION=y | |||
| 513 | # LPDDR flash memory drivers | 520 | # LPDDR flash memory drivers |
| 514 | # | 521 | # |
| 515 | # CONFIG_MTD_LPDDR is not set | 522 | # CONFIG_MTD_LPDDR is not set |
| 516 | # CONFIG_MTD_QINFO_PROBE is not set | ||
| 517 | 523 | ||
| 518 | # | 524 | # |
| 519 | # UBI - Unsorted block images | 525 | # UBI - Unsorted block images |
| @@ -592,8 +598,10 @@ CONFIG_SCSI_LOWLEVEL=y | |||
| 592 | # CONFIG_MEGARAID_NEWGEN is not set | 598 | # CONFIG_MEGARAID_NEWGEN is not set |
| 593 | # CONFIG_MEGARAID_LEGACY is not set | 599 | # CONFIG_MEGARAID_LEGACY is not set |
| 594 | # CONFIG_MEGARAID_SAS is not set | 600 | # CONFIG_MEGARAID_SAS is not set |
| 601 | # CONFIG_SCSI_MPT2SAS is not set | ||
| 595 | # CONFIG_SCSI_HPTIOP is not set | 602 | # CONFIG_SCSI_HPTIOP is not set |
| 596 | # CONFIG_LIBFC is not set | 603 | # CONFIG_LIBFC is not set |
| 604 | # CONFIG_LIBFCOE is not set | ||
| 597 | # CONFIG_FCOE is not set | 605 | # CONFIG_FCOE is not set |
| 598 | # CONFIG_SCSI_DMX3191D is not set | 606 | # CONFIG_SCSI_DMX3191D is not set |
| 599 | # CONFIG_SCSI_FUTURE_DOMAIN is not set | 607 | # CONFIG_SCSI_FUTURE_DOMAIN is not set |
| @@ -614,6 +622,7 @@ CONFIG_SCSI_LOWLEVEL=y | |||
| 614 | # CONFIG_SCSI_DEBUG is not set | 622 | # CONFIG_SCSI_DEBUG is not set |
| 615 | # CONFIG_SCSI_SRP is not set | 623 | # CONFIG_SCSI_SRP is not set |
| 616 | # CONFIG_SCSI_DH is not set | 624 | # CONFIG_SCSI_DH is not set |
| 625 | # CONFIG_SCSI_OSD_INITIATOR is not set | ||
| 617 | CONFIG_ATA=y | 626 | CONFIG_ATA=y |
| 618 | # CONFIG_ATA_NONSTANDARD is not set | 627 | # CONFIG_ATA_NONSTANDARD is not set |
| 619 | CONFIG_SATA_PMP=y | 628 | CONFIG_SATA_PMP=y |
| @@ -687,6 +696,7 @@ CONFIG_SATA_MV=y | |||
| 687 | # CONFIG_IEEE1394 is not set | 696 | # CONFIG_IEEE1394 is not set |
| 688 | # CONFIG_I2O is not set | 697 | # CONFIG_I2O is not set |
| 689 | CONFIG_NETDEVICES=y | 698 | CONFIG_NETDEVICES=y |
| 699 | CONFIG_COMPAT_NET_DEV_OPS=y | ||
| 690 | # CONFIG_DUMMY is not set | 700 | # CONFIG_DUMMY is not set |
| 691 | # CONFIG_BONDING is not set | 701 | # CONFIG_BONDING is not set |
| 692 | # CONFIG_MACVLAN is not set | 702 | # CONFIG_MACVLAN is not set |
| @@ -724,8 +734,10 @@ CONFIG_MII=y | |||
| 724 | # CONFIG_SMC91X is not set | 734 | # CONFIG_SMC91X is not set |
| 725 | # CONFIG_DM9000 is not set | 735 | # CONFIG_DM9000 is not set |
| 726 | # CONFIG_ENC28J60 is not set | 736 | # CONFIG_ENC28J60 is not set |
| 737 | # CONFIG_ETHOC is not set | ||
| 727 | # CONFIG_SMC911X is not set | 738 | # CONFIG_SMC911X is not set |
| 728 | # CONFIG_SMSC911X is not set | 739 | # CONFIG_SMSC911X is not set |
| 740 | # CONFIG_DNET is not set | ||
| 729 | # CONFIG_NET_TULIP is not set | 741 | # CONFIG_NET_TULIP is not set |
| 730 | # CONFIG_HP100 is not set | 742 | # CONFIG_HP100 is not set |
| 731 | # CONFIG_IBM_NEW_EMAC_ZMII is not set | 743 | # CONFIG_IBM_NEW_EMAC_ZMII is not set |
| @@ -763,6 +775,7 @@ CONFIG_NETDEV_1000=y | |||
| 763 | # CONFIG_E1000E is not set | 775 | # CONFIG_E1000E is not set |
| 764 | # CONFIG_IP1000 is not set | 776 | # CONFIG_IP1000 is not set |
| 765 | # CONFIG_IGB is not set | 777 | # CONFIG_IGB is not set |
| 778 | # CONFIG_IGBVF is not set | ||
| 766 | # CONFIG_NS83820 is not set | 779 | # CONFIG_NS83820 is not set |
| 767 | # CONFIG_HAMACHI is not set | 780 | # CONFIG_HAMACHI is not set |
| 768 | # CONFIG_YELLOWFIN is not set | 781 | # CONFIG_YELLOWFIN is not set |
| @@ -777,6 +790,7 @@ CONFIG_MV643XX_ETH=y | |||
| 777 | # CONFIG_QLA3XXX is not set | 790 | # CONFIG_QLA3XXX is not set |
| 778 | # CONFIG_ATL1 is not set | 791 | # CONFIG_ATL1 is not set |
| 779 | # CONFIG_ATL1E is not set | 792 | # CONFIG_ATL1E is not set |
| 793 | # CONFIG_ATL1C is not set | ||
| 780 | # CONFIG_JME is not set | 794 | # CONFIG_JME is not set |
| 781 | # CONFIG_NETDEV_10000 is not set | 795 | # CONFIG_NETDEV_10000 is not set |
| 782 | # CONFIG_TR is not set | 796 | # CONFIG_TR is not set |
| @@ -789,10 +803,11 @@ CONFIG_WLAN_80211=y | |||
| 789 | CONFIG_LIBERTAS=y | 803 | CONFIG_LIBERTAS=y |
| 790 | # CONFIG_LIBERTAS_USB is not set | 804 | # CONFIG_LIBERTAS_USB is not set |
| 791 | CONFIG_LIBERTAS_SDIO=y | 805 | CONFIG_LIBERTAS_SDIO=y |
| 806 | # CONFIG_LIBERTAS_SPI is not set | ||
| 792 | # CONFIG_LIBERTAS_DEBUG is not set | 807 | # CONFIG_LIBERTAS_DEBUG is not set |
| 793 | # CONFIG_LIBERTAS_THINFIRM is not set | 808 | # CONFIG_LIBERTAS_THINFIRM is not set |
| 794 | # CONFIG_HERMES is not set | ||
| 795 | # CONFIG_ATMEL is not set | 809 | # CONFIG_ATMEL is not set |
| 810 | # CONFIG_AT76C50X_USB is not set | ||
| 796 | # CONFIG_PRISM54 is not set | 811 | # CONFIG_PRISM54 is not set |
| 797 | # CONFIG_USB_ZD1201 is not set | 812 | # CONFIG_USB_ZD1201 is not set |
| 798 | # CONFIG_USB_NET_RNDIS_WLAN is not set | 813 | # CONFIG_USB_NET_RNDIS_WLAN is not set |
| @@ -800,20 +815,20 @@ CONFIG_LIBERTAS_SDIO=y | |||
| 800 | # CONFIG_RTL8187 is not set | 815 | # CONFIG_RTL8187 is not set |
| 801 | # CONFIG_ADM8211 is not set | 816 | # CONFIG_ADM8211 is not set |
| 802 | # CONFIG_MAC80211_HWSIM is not set | 817 | # CONFIG_MAC80211_HWSIM is not set |
| 818 | # CONFIG_MWL8K is not set | ||
| 803 | # CONFIG_P54_COMMON is not set | 819 | # CONFIG_P54_COMMON is not set |
| 804 | # CONFIG_ATH5K is not set | 820 | # CONFIG_ATH5K is not set |
| 805 | # CONFIG_ATH9K is not set | 821 | # CONFIG_ATH9K is not set |
| 822 | # CONFIG_AR9170_USB is not set | ||
| 806 | # CONFIG_IPW2100 is not set | 823 | # CONFIG_IPW2100 is not set |
| 807 | # CONFIG_IPW2200 is not set | 824 | # CONFIG_IPW2200 is not set |
| 808 | # CONFIG_IWLCORE is not set | 825 | # CONFIG_IWLWIFI is not set |
| 809 | # CONFIG_IWLWIFI_LEDS is not set | ||
| 810 | # CONFIG_IWLAGN is not set | ||
| 811 | # CONFIG_IWL3945 is not set | ||
| 812 | # CONFIG_HOSTAP is not set | 826 | # CONFIG_HOSTAP is not set |
| 813 | # CONFIG_B43 is not set | 827 | # CONFIG_B43 is not set |
| 814 | # CONFIG_B43LEGACY is not set | 828 | # CONFIG_B43LEGACY is not set |
| 815 | # CONFIG_ZD1211RW is not set | 829 | # CONFIG_ZD1211RW is not set |
| 816 | # CONFIG_RT2X00 is not set | 830 | # CONFIG_RT2X00 is not set |
| 831 | # CONFIG_HERMES is not set | ||
| 817 | 832 | ||
| 818 | # | 833 | # |
| 819 | # Enable WiMAX (Networking options) to see the WiMAX drivers | 834 | # Enable WiMAX (Networking options) to see the WiMAX drivers |
| @@ -908,6 +923,7 @@ CONFIG_SERIAL_8250_RUNTIME_UARTS=2 | |||
| 908 | # | 923 | # |
| 909 | # Non-8250 serial port support | 924 | # Non-8250 serial port support |
| 910 | # | 925 | # |
| 926 | # CONFIG_SERIAL_MAX3100 is not set | ||
| 911 | CONFIG_SERIAL_CORE=y | 927 | CONFIG_SERIAL_CORE=y |
| 912 | CONFIG_SERIAL_CORE_CONSOLE=y | 928 | CONFIG_SERIAL_CORE_CONSOLE=y |
| 913 | # CONFIG_SERIAL_JSM is not set | 929 | # CONFIG_SERIAL_JSM is not set |
| @@ -982,7 +998,6 @@ CONFIG_I2C_MV64XXX=y | |||
| 982 | # CONFIG_SENSORS_PCF8574 is not set | 998 | # CONFIG_SENSORS_PCF8574 is not set |
| 983 | # CONFIG_PCF8575 is not set | 999 | # CONFIG_PCF8575 is not set |
| 984 | # CONFIG_SENSORS_PCA9539 is not set | 1000 | # CONFIG_SENSORS_PCA9539 is not set |
| 985 | # CONFIG_SENSORS_PCF8591 is not set | ||
| 986 | # CONFIG_SENSORS_MAX6875 is not set | 1001 | # CONFIG_SENSORS_MAX6875 is not set |
| 987 | # CONFIG_SENSORS_TSL2550 is not set | 1002 | # CONFIG_SENSORS_TSL2550 is not set |
| 988 | # CONFIG_I2C_DEBUG_CORE is not set | 1003 | # CONFIG_I2C_DEBUG_CORE is not set |
| @@ -1082,15 +1097,17 @@ CONFIG_USB_HID=y | |||
| 1082 | # | 1097 | # |
| 1083 | # Special HID drivers | 1098 | # Special HID drivers |
| 1084 | # | 1099 | # |
| 1085 | CONFIG_HID_COMPAT=y | ||
| 1086 | CONFIG_HID_A4TECH=y | 1100 | CONFIG_HID_A4TECH=y |
| 1087 | CONFIG_HID_APPLE=y | 1101 | CONFIG_HID_APPLE=y |
| 1088 | CONFIG_HID_BELKIN=y | 1102 | CONFIG_HID_BELKIN=y |
| 1089 | CONFIG_HID_CHERRY=y | 1103 | CONFIG_HID_CHERRY=y |
| 1090 | CONFIG_HID_CHICONY=y | 1104 | CONFIG_HID_CHICONY=y |
| 1091 | CONFIG_HID_CYPRESS=y | 1105 | CONFIG_HID_CYPRESS=y |
| 1106 | # CONFIG_DRAGONRISE_FF is not set | ||
| 1092 | CONFIG_HID_EZKEY=y | 1107 | CONFIG_HID_EZKEY=y |
| 1108 | CONFIG_HID_KYE=y | ||
| 1093 | CONFIG_HID_GYRATION=y | 1109 | CONFIG_HID_GYRATION=y |
| 1110 | CONFIG_HID_KENSINGTON=y | ||
| 1094 | CONFIG_HID_LOGITECH=y | 1111 | CONFIG_HID_LOGITECH=y |
| 1095 | # CONFIG_LOGITECH_FF is not set | 1112 | # CONFIG_LOGITECH_FF is not set |
| 1096 | # CONFIG_LOGIRUMBLEPAD2_FF is not set | 1113 | # CONFIG_LOGIRUMBLEPAD2_FF is not set |
| @@ -1152,11 +1169,11 @@ CONFIG_USB_PRINTER=m | |||
| 1152 | # CONFIG_USB_TMC is not set | 1169 | # CONFIG_USB_TMC is not set |
| 1153 | 1170 | ||
| 1154 | # | 1171 | # |
| 1155 | # NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may also be needed; | 1172 | # NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may |
| 1156 | # | 1173 | # |
| 1157 | 1174 | ||
| 1158 | # | 1175 | # |
| 1159 | # see USB_STORAGE Help for more information | 1176 | # also be needed; see USB_STORAGE Help for more info |
| 1160 | # | 1177 | # |
| 1161 | CONFIG_USB_STORAGE=y | 1178 | CONFIG_USB_STORAGE=y |
| 1162 | # CONFIG_USB_STORAGE_DEBUG is not set | 1179 | # CONFIG_USB_STORAGE_DEBUG is not set |
| @@ -1198,7 +1215,6 @@ CONFIG_USB_STORAGE_JUMPSHOT=y | |||
| 1198 | # CONFIG_USB_LED is not set | 1215 | # CONFIG_USB_LED is not set |
| 1199 | # CONFIG_USB_CYPRESS_CY7C63 is not set | 1216 | # CONFIG_USB_CYPRESS_CY7C63 is not set |
| 1200 | # CONFIG_USB_CYTHERM is not set | 1217 | # CONFIG_USB_CYTHERM is not set |
| 1201 | # CONFIG_USB_PHIDGET is not set | ||
| 1202 | # CONFIG_USB_IDMOUSE is not set | 1218 | # CONFIG_USB_IDMOUSE is not set |
| 1203 | # CONFIG_USB_FTDI_ELAN is not set | 1219 | # CONFIG_USB_FTDI_ELAN is not set |
| 1204 | # CONFIG_USB_APPLEDISPLAY is not set | 1220 | # CONFIG_USB_APPLEDISPLAY is not set |
| @@ -1215,6 +1231,7 @@ CONFIG_USB_STORAGE_JUMPSHOT=y | |||
| 1215 | # OTG and related infrastructure | 1231 | # OTG and related infrastructure |
| 1216 | # | 1232 | # |
| 1217 | # CONFIG_USB_GPIO_VBUS is not set | 1233 | # CONFIG_USB_GPIO_VBUS is not set |
| 1234 | # CONFIG_NOP_USB_XCEIV is not set | ||
| 1218 | # CONFIG_UWB is not set | 1235 | # CONFIG_UWB is not set |
| 1219 | CONFIG_MMC=y | 1236 | CONFIG_MMC=y |
| 1220 | # CONFIG_MMC_DEBUG is not set | 1237 | # CONFIG_MMC_DEBUG is not set |
| @@ -1245,7 +1262,11 @@ CONFIG_LEDS_CLASS=y | |||
| 1245 | # | 1262 | # |
| 1246 | # CONFIG_LEDS_PCA9532 is not set | 1263 | # CONFIG_LEDS_PCA9532 is not set |
| 1247 | CONFIG_LEDS_GPIO=y | 1264 | CONFIG_LEDS_GPIO=y |
| 1265 | CONFIG_LEDS_GPIO_PLATFORM=y | ||
| 1266 | # CONFIG_LEDS_LP5521 is not set | ||
| 1248 | # CONFIG_LEDS_PCA955X is not set | 1267 | # CONFIG_LEDS_PCA955X is not set |
| 1268 | # CONFIG_LEDS_DAC124S085 is not set | ||
| 1269 | # CONFIG_LEDS_BD2802 is not set | ||
| 1249 | 1270 | ||
| 1250 | # | 1271 | # |
| 1251 | # LED Triggers | 1272 | # LED Triggers |
| @@ -1255,6 +1276,10 @@ CONFIG_LEDS_TRIGGER_TIMER=y | |||
| 1255 | CONFIG_LEDS_TRIGGER_HEARTBEAT=y | 1276 | CONFIG_LEDS_TRIGGER_HEARTBEAT=y |
| 1256 | # CONFIG_LEDS_TRIGGER_BACKLIGHT is not set | 1277 | # CONFIG_LEDS_TRIGGER_BACKLIGHT is not set |
| 1257 | CONFIG_LEDS_TRIGGER_DEFAULT_ON=y | 1278 | CONFIG_LEDS_TRIGGER_DEFAULT_ON=y |
| 1279 | |||
| 1280 | # | ||
| 1281 | # iptables trigger is under Netfilter config (LED target) | ||
| 1282 | # | ||
| 1258 | CONFIG_RTC_LIB=y | 1283 | CONFIG_RTC_LIB=y |
| 1259 | CONFIG_RTC_CLASS=y | 1284 | CONFIG_RTC_CLASS=y |
| 1260 | CONFIG_RTC_HCTOSYS=y | 1285 | CONFIG_RTC_HCTOSYS=y |
| @@ -1329,7 +1354,9 @@ CONFIG_DMA_ENGINE=y | |||
| 1329 | # DMA Clients | 1354 | # DMA Clients |
| 1330 | # | 1355 | # |
| 1331 | # CONFIG_NET_DMA is not set | 1356 | # CONFIG_NET_DMA is not set |
| 1357 | # CONFIG_ASYNC_TX_DMA is not set | ||
| 1332 | # CONFIG_DMATEST is not set | 1358 | # CONFIG_DMATEST is not set |
| 1359 | # CONFIG_AUXDISPLAY is not set | ||
| 1333 | # CONFIG_REGULATOR is not set | 1360 | # CONFIG_REGULATOR is not set |
| 1334 | # CONFIG_UIO is not set | 1361 | # CONFIG_UIO is not set |
| 1335 | # CONFIG_STAGING is not set | 1362 | # CONFIG_STAGING is not set |
| @@ -1341,6 +1368,7 @@ CONFIG_EXT2_FS=y | |||
| 1341 | # CONFIG_EXT2_FS_XATTR is not set | 1368 | # CONFIG_EXT2_FS_XATTR is not set |
| 1342 | # CONFIG_EXT2_FS_XIP is not set | 1369 | # CONFIG_EXT2_FS_XIP is not set |
| 1343 | CONFIG_EXT3_FS=y | 1370 | CONFIG_EXT3_FS=y |
| 1371 | # CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set | ||
| 1344 | # CONFIG_EXT3_FS_XATTR is not set | 1372 | # CONFIG_EXT3_FS_XATTR is not set |
| 1345 | # CONFIG_EXT4_FS is not set | 1373 | # CONFIG_EXT4_FS is not set |
| 1346 | CONFIG_JBD=y | 1374 | CONFIG_JBD=y |
| @@ -1361,6 +1389,11 @@ CONFIG_INOTIFY_USER=y | |||
| 1361 | # CONFIG_FUSE_FS is not set | 1389 | # CONFIG_FUSE_FS is not set |
| 1362 | 1390 | ||
| 1363 | # | 1391 | # |
| 1392 | # Caches | ||
| 1393 | # | ||
| 1394 | # CONFIG_FSCACHE is not set | ||
| 1395 | |||
| 1396 | # | ||
| 1364 | # CD-ROM/DVD Filesystems | 1397 | # CD-ROM/DVD Filesystems |
| 1365 | # | 1398 | # |
| 1366 | CONFIG_ISO9660_FS=m | 1399 | CONFIG_ISO9660_FS=m |
| @@ -1419,6 +1452,7 @@ CONFIG_CRAMFS=y | |||
| 1419 | # CONFIG_ROMFS_FS is not set | 1452 | # CONFIG_ROMFS_FS is not set |
| 1420 | # CONFIG_SYSV_FS is not set | 1453 | # CONFIG_SYSV_FS is not set |
| 1421 | # CONFIG_UFS_FS is not set | 1454 | # CONFIG_UFS_FS is not set |
| 1455 | # CONFIG_NILFS2_FS is not set | ||
| 1422 | CONFIG_NETWORK_FILESYSTEMS=y | 1456 | CONFIG_NETWORK_FILESYSTEMS=y |
| 1423 | CONFIG_NFS_FS=y | 1457 | CONFIG_NFS_FS=y |
| 1424 | CONFIG_NFS_V3=y | 1458 | CONFIG_NFS_V3=y |
| @@ -1430,7 +1464,6 @@ CONFIG_LOCKD=y | |||
| 1430 | CONFIG_LOCKD_V4=y | 1464 | CONFIG_LOCKD_V4=y |
| 1431 | CONFIG_NFS_COMMON=y | 1465 | CONFIG_NFS_COMMON=y |
| 1432 | CONFIG_SUNRPC=y | 1466 | CONFIG_SUNRPC=y |
| 1433 | # CONFIG_SUNRPC_REGISTER_V4 is not set | ||
| 1434 | # CONFIG_RPCSEC_GSS_KRB5 is not set | 1467 | # CONFIG_RPCSEC_GSS_KRB5 is not set |
| 1435 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | 1468 | # CONFIG_RPCSEC_GSS_SPKM3 is not set |
| 1436 | # CONFIG_SMB_FS is not set | 1469 | # CONFIG_SMB_FS is not set |
| @@ -1502,6 +1535,9 @@ CONFIG_DEBUG_KERNEL=y | |||
| 1502 | CONFIG_DETECT_SOFTLOCKUP=y | 1535 | CONFIG_DETECT_SOFTLOCKUP=y |
| 1503 | # CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set | 1536 | # CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set |
| 1504 | CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0 | 1537 | CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0 |
| 1538 | CONFIG_DETECT_HUNG_TASK=y | ||
| 1539 | # CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set | ||
| 1540 | CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=0 | ||
| 1505 | # CONFIG_SCHED_DEBUG is not set | 1541 | # CONFIG_SCHED_DEBUG is not set |
| 1506 | # CONFIG_SCHEDSTATS is not set | 1542 | # CONFIG_SCHEDSTATS is not set |
| 1507 | # CONFIG_TIMER_STATS is not set | 1543 | # CONFIG_TIMER_STATS is not set |
| @@ -1538,10 +1574,12 @@ CONFIG_DEBUG_MEMORY_INIT=y | |||
| 1538 | # CONFIG_FAULT_INJECTION is not set | 1574 | # CONFIG_FAULT_INJECTION is not set |
| 1539 | # CONFIG_LATENCYTOP is not set | 1575 | # CONFIG_LATENCYTOP is not set |
| 1540 | CONFIG_SYSCTL_SYSCALL_CHECK=y | 1576 | CONFIG_SYSCTL_SYSCALL_CHECK=y |
| 1577 | # CONFIG_PAGE_POISONING is not set | ||
| 1541 | CONFIG_NOP_TRACER=y | 1578 | CONFIG_NOP_TRACER=y |
| 1542 | CONFIG_HAVE_FUNCTION_TRACER=y | 1579 | CONFIG_HAVE_FUNCTION_TRACER=y |
| 1543 | CONFIG_RING_BUFFER=y | 1580 | CONFIG_RING_BUFFER=y |
| 1544 | CONFIG_TRACING=y | 1581 | CONFIG_TRACING=y |
| 1582 | CONFIG_TRACING_SUPPORT=y | ||
| 1545 | 1583 | ||
| 1546 | # | 1584 | # |
| 1547 | # Tracers | 1585 | # Tracers |
| @@ -1551,11 +1589,15 @@ CONFIG_TRACING=y | |||
| 1551 | # CONFIG_PREEMPT_TRACER is not set | 1589 | # CONFIG_PREEMPT_TRACER is not set |
| 1552 | # CONFIG_SCHED_TRACER is not set | 1590 | # CONFIG_SCHED_TRACER is not set |
| 1553 | # CONFIG_CONTEXT_SWITCH_TRACER is not set | 1591 | # CONFIG_CONTEXT_SWITCH_TRACER is not set |
| 1592 | # CONFIG_EVENT_TRACER is not set | ||
| 1554 | # CONFIG_BOOT_TRACER is not set | 1593 | # CONFIG_BOOT_TRACER is not set |
| 1555 | # CONFIG_TRACE_BRANCH_PROFILING is not set | 1594 | # CONFIG_TRACE_BRANCH_PROFILING is not set |
| 1556 | # CONFIG_STACK_TRACER is not set | 1595 | # CONFIG_STACK_TRACER is not set |
| 1596 | # CONFIG_KMEMTRACE is not set | ||
| 1597 | # CONFIG_WORKQUEUE_TRACER is not set | ||
| 1598 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
| 1557 | # CONFIG_FTRACE_STARTUP_TEST is not set | 1599 | # CONFIG_FTRACE_STARTUP_TEST is not set |
| 1558 | # CONFIG_DYNAMIC_PRINTK_DEBUG is not set | 1600 | # CONFIG_DYNAMIC_DEBUG is not set |
| 1559 | # CONFIG_SAMPLES is not set | 1601 | # CONFIG_SAMPLES is not set |
| 1560 | CONFIG_HAVE_ARCH_KGDB=y | 1602 | CONFIG_HAVE_ARCH_KGDB=y |
| 1561 | # CONFIG_KGDB is not set | 1603 | # CONFIG_KGDB is not set |
| @@ -1587,10 +1629,12 @@ CONFIG_CRYPTO_BLKCIPHER2=y | |||
| 1587 | CONFIG_CRYPTO_HASH=y | 1629 | CONFIG_CRYPTO_HASH=y |
| 1588 | CONFIG_CRYPTO_HASH2=y | 1630 | CONFIG_CRYPTO_HASH2=y |
| 1589 | CONFIG_CRYPTO_RNG2=y | 1631 | CONFIG_CRYPTO_RNG2=y |
| 1632 | CONFIG_CRYPTO_PCOMP=y | ||
| 1590 | CONFIG_CRYPTO_MANAGER=y | 1633 | CONFIG_CRYPTO_MANAGER=y |
| 1591 | CONFIG_CRYPTO_MANAGER2=y | 1634 | CONFIG_CRYPTO_MANAGER2=y |
| 1592 | # CONFIG_CRYPTO_GF128MUL is not set | 1635 | # CONFIG_CRYPTO_GF128MUL is not set |
| 1593 | # CONFIG_CRYPTO_NULL is not set | 1636 | # CONFIG_CRYPTO_NULL is not set |
| 1637 | CONFIG_CRYPTO_WORKQUEUE=y | ||
| 1594 | # CONFIG_CRYPTO_CRYPTD is not set | 1638 | # CONFIG_CRYPTO_CRYPTD is not set |
| 1595 | # CONFIG_CRYPTO_AUTHENC is not set | 1639 | # CONFIG_CRYPTO_AUTHENC is not set |
| 1596 | # CONFIG_CRYPTO_TEST is not set | 1640 | # CONFIG_CRYPTO_TEST is not set |
| @@ -1659,6 +1703,7 @@ CONFIG_CRYPTO_ARC4=y | |||
| 1659 | # Compression | 1703 | # Compression |
| 1660 | # | 1704 | # |
| 1661 | # CONFIG_CRYPTO_DEFLATE is not set | 1705 | # CONFIG_CRYPTO_DEFLATE is not set |
| 1706 | # CONFIG_CRYPTO_ZLIB is not set | ||
| 1662 | # CONFIG_CRYPTO_LZO is not set | 1707 | # CONFIG_CRYPTO_LZO is not set |
| 1663 | 1708 | ||
| 1664 | # | 1709 | # |
| @@ -1667,6 +1712,7 @@ CONFIG_CRYPTO_ARC4=y | |||
| 1667 | # CONFIG_CRYPTO_ANSI_CPRNG is not set | 1712 | # CONFIG_CRYPTO_ANSI_CPRNG is not set |
| 1668 | CONFIG_CRYPTO_HW=y | 1713 | CONFIG_CRYPTO_HW=y |
| 1669 | # CONFIG_CRYPTO_DEV_HIFN_795X is not set | 1714 | # CONFIG_CRYPTO_DEV_HIFN_795X is not set |
| 1715 | CONFIG_BINARY_PRINTF=y | ||
| 1670 | 1716 | ||
| 1671 | # | 1717 | # |
| 1672 | # Library routines | 1718 | # Library routines |
| @@ -1682,7 +1728,7 @@ CONFIG_CRC32=y | |||
| 1682 | CONFIG_LIBCRC32C=y | 1728 | CONFIG_LIBCRC32C=y |
| 1683 | CONFIG_ZLIB_INFLATE=y | 1729 | CONFIG_ZLIB_INFLATE=y |
| 1684 | CONFIG_ZLIB_DEFLATE=y | 1730 | CONFIG_ZLIB_DEFLATE=y |
| 1685 | CONFIG_PLIST=y | ||
| 1686 | CONFIG_HAS_IOMEM=y | 1731 | CONFIG_HAS_IOMEM=y |
| 1687 | CONFIG_HAS_IOPORT=y | 1732 | CONFIG_HAS_IOPORT=y |
| 1688 | CONFIG_HAS_DMA=y | 1733 | CONFIG_HAS_DMA=y |
| 1734 | CONFIG_NLATTR=y | ||
diff --git a/arch/arm/configs/mv78xx0_defconfig b/arch/arm/configs/mv78xx0_defconfig index b0698722e0cb..398274b0771a 100644 --- a/arch/arm/configs/mv78xx0_defconfig +++ b/arch/arm/configs/mv78xx0_defconfig | |||
| @@ -1,11 +1,11 @@ | |||
| 1 | # | 1 | # |
| 2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
| 3 | # Linux kernel version: 2.6.26-rc5 | 3 | # Linux kernel version: 2.6.30-rc4 |
| 4 | # Fri Jun 13 02:57:32 2008 | 4 | # Mon May 4 14:22:12 2009 |
| 5 | # | 5 | # |
| 6 | CONFIG_ARM=y | 6 | CONFIG_ARM=y |
| 7 | CONFIG_SYS_SUPPORTS_APM_EMULATION=y | 7 | CONFIG_SYS_SUPPORTS_APM_EMULATION=y |
| 8 | # CONFIG_GENERIC_GPIO is not set | 8 | CONFIG_GENERIC_GPIO=y |
| 9 | CONFIG_GENERIC_TIME=y | 9 | CONFIG_GENERIC_TIME=y |
| 10 | CONFIG_GENERIC_CLOCKEVENTS=y | 10 | CONFIG_GENERIC_CLOCKEVENTS=y |
| 11 | CONFIG_MMU=y | 11 | CONFIG_MMU=y |
| @@ -22,8 +22,7 @@ CONFIG_RWSEM_GENERIC_SPINLOCK=y | |||
| 22 | # CONFIG_ARCH_HAS_ILOG2_U64 is not set | 22 | # CONFIG_ARCH_HAS_ILOG2_U64 is not set |
| 23 | CONFIG_GENERIC_HWEIGHT=y | 23 | CONFIG_GENERIC_HWEIGHT=y |
| 24 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 24 | CONFIG_GENERIC_CALIBRATE_DELAY=y |
| 25 | CONFIG_ARCH_SUPPORTS_AOUT=y | 25 | CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y |
| 26 | CONFIG_ZONE_DMA=y | ||
| 27 | CONFIG_VECTORS_BASE=0xffff0000 | 26 | CONFIG_VECTORS_BASE=0xffff0000 |
| 28 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | 27 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" |
| 29 | 28 | ||
| @@ -43,10 +42,19 @@ CONFIG_SYSVIPC_SYSCTL=y | |||
| 43 | # CONFIG_BSD_PROCESS_ACCT is not set | 42 | # CONFIG_BSD_PROCESS_ACCT is not set |
| 44 | # CONFIG_TASKSTATS is not set | 43 | # CONFIG_TASKSTATS is not set |
| 45 | # CONFIG_AUDIT is not set | 44 | # CONFIG_AUDIT is not set |
| 45 | |||
| 46 | # | ||
| 47 | # RCU Subsystem | ||
| 48 | # | ||
| 49 | CONFIG_CLASSIC_RCU=y | ||
| 50 | # CONFIG_TREE_RCU is not set | ||
| 51 | # CONFIG_PREEMPT_RCU is not set | ||
| 52 | # CONFIG_TREE_RCU_TRACE is not set | ||
| 53 | # CONFIG_PREEMPT_RCU_TRACE is not set | ||
| 46 | # CONFIG_IKCONFIG is not set | 54 | # CONFIG_IKCONFIG is not set |
| 47 | CONFIG_LOG_BUF_SHIFT=14 | 55 | CONFIG_LOG_BUF_SHIFT=14 |
| 48 | # CONFIG_CGROUPS is not set | ||
| 49 | # CONFIG_GROUP_SCHED is not set | 56 | # CONFIG_GROUP_SCHED is not set |
| 57 | # CONFIG_CGROUPS is not set | ||
| 50 | CONFIG_SYSFS_DEPRECATED=y | 58 | CONFIG_SYSFS_DEPRECATED=y |
| 51 | CONFIG_SYSFS_DEPRECATED_V2=y | 59 | CONFIG_SYSFS_DEPRECATED_V2=y |
| 52 | # CONFIG_RELAY is not set | 60 | # CONFIG_RELAY is not set |
| @@ -54,32 +62,35 @@ CONFIG_SYSFS_DEPRECATED_V2=y | |||
| 54 | # CONFIG_BLK_DEV_INITRD is not set | 62 | # CONFIG_BLK_DEV_INITRD is not set |
| 55 | CONFIG_CC_OPTIMIZE_FOR_SIZE=y | 63 | CONFIG_CC_OPTIMIZE_FOR_SIZE=y |
| 56 | CONFIG_SYSCTL=y | 64 | CONFIG_SYSCTL=y |
| 65 | CONFIG_ANON_INODES=y | ||
| 57 | CONFIG_EMBEDDED=y | 66 | CONFIG_EMBEDDED=y |
| 58 | CONFIG_UID16=y | 67 | CONFIG_UID16=y |
| 59 | CONFIG_SYSCTL_SYSCALL=y | 68 | CONFIG_SYSCTL_SYSCALL=y |
| 60 | CONFIG_SYSCTL_SYSCALL_CHECK=y | ||
| 61 | CONFIG_KALLSYMS=y | 69 | CONFIG_KALLSYMS=y |
| 62 | CONFIG_KALLSYMS_ALL=y | 70 | CONFIG_KALLSYMS_ALL=y |
| 63 | # CONFIG_KALLSYMS_EXTRA_PASS is not set | 71 | # CONFIG_KALLSYMS_EXTRA_PASS is not set |
| 72 | # CONFIG_STRIP_ASM_SYMS is not set | ||
| 64 | CONFIG_HOTPLUG=y | 73 | CONFIG_HOTPLUG=y |
| 65 | CONFIG_PRINTK=y | 74 | CONFIG_PRINTK=y |
| 66 | CONFIG_BUG=y | 75 | CONFIG_BUG=y |
| 67 | CONFIG_ELF_CORE=y | 76 | CONFIG_ELF_CORE=y |
| 68 | CONFIG_COMPAT_BRK=y | ||
| 69 | CONFIG_BASE_FULL=y | 77 | CONFIG_BASE_FULL=y |
| 70 | CONFIG_FUTEX=y | 78 | CONFIG_FUTEX=y |
| 71 | CONFIG_ANON_INODES=y | ||
| 72 | CONFIG_EPOLL=y | 79 | CONFIG_EPOLL=y |
| 73 | CONFIG_SIGNALFD=y | 80 | CONFIG_SIGNALFD=y |
| 74 | CONFIG_TIMERFD=y | 81 | CONFIG_TIMERFD=y |
| 75 | CONFIG_EVENTFD=y | 82 | CONFIG_EVENTFD=y |
| 76 | CONFIG_SHMEM=y | 83 | CONFIG_SHMEM=y |
| 84 | CONFIG_AIO=y | ||
| 77 | CONFIG_VM_EVENT_COUNTERS=y | 85 | CONFIG_VM_EVENT_COUNTERS=y |
| 86 | CONFIG_PCI_QUIRKS=y | ||
| 78 | # CONFIG_SLUB_DEBUG is not set | 87 | # CONFIG_SLUB_DEBUG is not set |
| 88 | CONFIG_COMPAT_BRK=y | ||
| 79 | # CONFIG_SLAB is not set | 89 | # CONFIG_SLAB is not set |
| 80 | CONFIG_SLUB=y | 90 | CONFIG_SLUB=y |
| 81 | # CONFIG_SLOB is not set | 91 | # CONFIG_SLOB is not set |
| 82 | CONFIG_PROFILING=y | 92 | CONFIG_PROFILING=y |
| 93 | CONFIG_TRACEPOINTS=y | ||
| 83 | # CONFIG_MARKERS is not set | 94 | # CONFIG_MARKERS is not set |
| 84 | CONFIG_OPROFILE=y | 95 | CONFIG_OPROFILE=y |
| 85 | CONFIG_HAVE_OPROFILE=y | 96 | CONFIG_HAVE_OPROFILE=y |
| @@ -87,10 +98,9 @@ CONFIG_KPROBES=y | |||
| 87 | CONFIG_KRETPROBES=y | 98 | CONFIG_KRETPROBES=y |
| 88 | CONFIG_HAVE_KPROBES=y | 99 | CONFIG_HAVE_KPROBES=y |
| 89 | CONFIG_HAVE_KRETPROBES=y | 100 | CONFIG_HAVE_KRETPROBES=y |
| 90 | # CONFIG_HAVE_DMA_ATTRS is not set | 101 | # CONFIG_SLOW_WORK is not set |
| 91 | CONFIG_PROC_PAGE_MONITOR=y | 102 | CONFIG_HAVE_GENERIC_DMA_COHERENT=y |
| 92 | CONFIG_RT_MUTEXES=y | 103 | CONFIG_RT_MUTEXES=y |
| 93 | # CONFIG_TINY_SHMEM is not set | ||
| 94 | CONFIG_BASE_SMALL=0 | 104 | CONFIG_BASE_SMALL=0 |
| 95 | CONFIG_MODULES=y | 105 | CONFIG_MODULES=y |
| 96 | # CONFIG_MODULE_FORCE_LOAD is not set | 106 | # CONFIG_MODULE_FORCE_LOAD is not set |
| @@ -98,12 +108,10 @@ CONFIG_MODULE_UNLOAD=y | |||
| 98 | # CONFIG_MODULE_FORCE_UNLOAD is not set | 108 | # CONFIG_MODULE_FORCE_UNLOAD is not set |
| 99 | # CONFIG_MODVERSIONS is not set | 109 | # CONFIG_MODVERSIONS is not set |
| 100 | # CONFIG_MODULE_SRCVERSION_ALL is not set | 110 | # CONFIG_MODULE_SRCVERSION_ALL is not set |
| 101 | # CONFIG_KMOD is not set | ||
| 102 | CONFIG_BLOCK=y | 111 | CONFIG_BLOCK=y |
| 103 | # CONFIG_LBD is not set | 112 | # CONFIG_LBD is not set |
| 104 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
| 105 | # CONFIG_LSF is not set | ||
| 106 | # CONFIG_BLK_DEV_BSG is not set | 113 | # CONFIG_BLK_DEV_BSG is not set |
| 114 | # CONFIG_BLK_DEV_INTEGRITY is not set | ||
| 107 | 115 | ||
| 108 | # | 116 | # |
| 109 | # IO Schedulers | 117 | # IO Schedulers |
| @@ -117,7 +125,7 @@ CONFIG_IOSCHED_CFQ=y | |||
| 117 | CONFIG_DEFAULT_CFQ=y | 125 | CONFIG_DEFAULT_CFQ=y |
| 118 | # CONFIG_DEFAULT_NOOP is not set | 126 | # CONFIG_DEFAULT_NOOP is not set |
| 119 | CONFIG_DEFAULT_IOSCHED="cfq" | 127 | CONFIG_DEFAULT_IOSCHED="cfq" |
| 120 | CONFIG_CLASSIC_RCU=y | 128 | # CONFIG_FREEZER is not set |
| 121 | 129 | ||
| 122 | # | 130 | # |
| 123 | # System Type | 131 | # System Type |
| @@ -127,11 +135,10 @@ CONFIG_CLASSIC_RCU=y | |||
| 127 | # CONFIG_ARCH_REALVIEW is not set | 135 | # CONFIG_ARCH_REALVIEW is not set |
| 128 | # CONFIG_ARCH_VERSATILE is not set | 136 | # CONFIG_ARCH_VERSATILE is not set |
| 129 | # CONFIG_ARCH_AT91 is not set | 137 | # CONFIG_ARCH_AT91 is not set |
| 130 | # CONFIG_ARCH_CLPS7500 is not set | ||
| 131 | # CONFIG_ARCH_CLPS711X is not set | 138 | # CONFIG_ARCH_CLPS711X is not set |
| 132 | # CONFIG_ARCH_CO285 is not set | ||
| 133 | # CONFIG_ARCH_EBSA110 is not set | 139 | # CONFIG_ARCH_EBSA110 is not set |
| 134 | # CONFIG_ARCH_EP93XX is not set | 140 | # CONFIG_ARCH_EP93XX is not set |
| 141 | # CONFIG_ARCH_GEMINI is not set | ||
| 135 | # CONFIG_ARCH_FOOTBRIDGE is not set | 142 | # CONFIG_ARCH_FOOTBRIDGE is not set |
| 136 | # CONFIG_ARCH_NETX is not set | 143 | # CONFIG_ARCH_NETX is not set |
| 137 | # CONFIG_ARCH_H720X is not set | 144 | # CONFIG_ARCH_H720X is not set |
| @@ -152,28 +159,23 @@ CONFIG_ARCH_MV78XX0=y | |||
| 152 | # CONFIG_ARCH_ORION5X is not set | 159 | # CONFIG_ARCH_ORION5X is not set |
| 153 | # CONFIG_ARCH_PNX4008 is not set | 160 | # CONFIG_ARCH_PNX4008 is not set |
| 154 | # CONFIG_ARCH_PXA is not set | 161 | # CONFIG_ARCH_PXA is not set |
| 162 | # CONFIG_ARCH_MMP is not set | ||
| 155 | # CONFIG_ARCH_RPC is not set | 163 | # CONFIG_ARCH_RPC is not set |
| 156 | # CONFIG_ARCH_SA1100 is not set | 164 | # CONFIG_ARCH_SA1100 is not set |
| 157 | # CONFIG_ARCH_S3C2410 is not set | 165 | # CONFIG_ARCH_S3C2410 is not set |
| 166 | # CONFIG_ARCH_S3C64XX is not set | ||
| 158 | # CONFIG_ARCH_SHARK is not set | 167 | # CONFIG_ARCH_SHARK is not set |
| 159 | # CONFIG_ARCH_LH7A40X is not set | 168 | # CONFIG_ARCH_LH7A40X is not set |
| 160 | # CONFIG_ARCH_DAVINCI is not set | 169 | # CONFIG_ARCH_DAVINCI is not set |
| 161 | # CONFIG_ARCH_OMAP is not set | 170 | # CONFIG_ARCH_OMAP is not set |
| 162 | # CONFIG_ARCH_MSM7X00A is not set | 171 | # CONFIG_ARCH_MSM is not set |
| 172 | # CONFIG_ARCH_W90X900 is not set | ||
| 163 | 173 | ||
| 164 | # | 174 | # |
| 165 | # Marvell MV78xx0 Implementations | 175 | # Marvell MV78xx0 Implementations |
| 166 | # | 176 | # |
| 167 | CONFIG_MACH_DB78X00_BP=y | 177 | CONFIG_MACH_DB78X00_BP=y |
| 168 | CONFIG_MACH_RD78X00_MASA=y | 178 | CONFIG_MACH_RD78X00_MASA=y |
| 169 | |||
| 170 | # | ||
| 171 | # Boot options | ||
| 172 | # | ||
| 173 | |||
| 174 | # | ||
| 175 | # Power management | ||
| 176 | # | ||
| 177 | CONFIG_PLAT_ORION=y | 179 | CONFIG_PLAT_ORION=y |
| 178 | 180 | ||
| 179 | # | 181 | # |
| @@ -199,6 +201,7 @@ CONFIG_ARM_THUMB=y | |||
| 199 | # CONFIG_CPU_DCACHE_DISABLE is not set | 201 | # CONFIG_CPU_DCACHE_DISABLE is not set |
| 200 | CONFIG_OUTER_CACHE=y | 202 | CONFIG_OUTER_CACHE=y |
| 201 | CONFIG_CACHE_FEROCEON_L2=y | 203 | CONFIG_CACHE_FEROCEON_L2=y |
| 204 | # CONFIG_CACHE_FEROCEON_L2_WRITETHROUGH is not set | ||
| 202 | 205 | ||
| 203 | # | 206 | # |
| 204 | # Bus support | 207 | # Bus support |
| @@ -208,6 +211,8 @@ CONFIG_PCI_SYSCALL=y | |||
| 208 | # CONFIG_ARCH_SUPPORTS_MSI is not set | 211 | # CONFIG_ARCH_SUPPORTS_MSI is not set |
| 209 | CONFIG_PCI_LEGACY=y | 212 | CONFIG_PCI_LEGACY=y |
| 210 | # CONFIG_PCI_DEBUG is not set | 213 | # CONFIG_PCI_DEBUG is not set |
| 214 | # CONFIG_PCI_STUB is not set | ||
| 215 | # CONFIG_PCI_IOV is not set | ||
| 211 | # CONFIG_PCCARD is not set | 216 | # CONFIG_PCCARD is not set |
| 212 | 217 | ||
| 213 | # | 218 | # |
| @@ -217,25 +222,33 @@ CONFIG_TICK_ONESHOT=y | |||
| 217 | CONFIG_NO_HZ=y | 222 | CONFIG_NO_HZ=y |
| 218 | CONFIG_HIGH_RES_TIMERS=y | 223 | CONFIG_HIGH_RES_TIMERS=y |
| 219 | CONFIG_GENERIC_CLOCKEVENTS_BUILD=y | 224 | CONFIG_GENERIC_CLOCKEVENTS_BUILD=y |
| 225 | CONFIG_VMSPLIT_3G=y | ||
| 226 | # CONFIG_VMSPLIT_2G is not set | ||
| 227 | # CONFIG_VMSPLIT_1G is not set | ||
| 228 | CONFIG_PAGE_OFFSET=0xC0000000 | ||
| 220 | CONFIG_PREEMPT=y | 229 | CONFIG_PREEMPT=y |
| 221 | CONFIG_HZ=100 | 230 | CONFIG_HZ=100 |
| 222 | CONFIG_AEABI=y | 231 | CONFIG_AEABI=y |
| 223 | CONFIG_OABI_COMPAT=y | 232 | CONFIG_OABI_COMPAT=y |
| 224 | # CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set | 233 | CONFIG_ARCH_FLATMEM_HAS_HOLES=y |
| 234 | # CONFIG_ARCH_SPARSEMEM_DEFAULT is not set | ||
| 235 | # CONFIG_ARCH_SELECT_MEMORY_MODEL is not set | ||
| 236 | CONFIG_HIGHMEM=y | ||
| 225 | CONFIG_SELECT_MEMORY_MODEL=y | 237 | CONFIG_SELECT_MEMORY_MODEL=y |
| 226 | CONFIG_FLATMEM_MANUAL=y | 238 | CONFIG_FLATMEM_MANUAL=y |
| 227 | # CONFIG_DISCONTIGMEM_MANUAL is not set | 239 | # CONFIG_DISCONTIGMEM_MANUAL is not set |
| 228 | # CONFIG_SPARSEMEM_MANUAL is not set | 240 | # CONFIG_SPARSEMEM_MANUAL is not set |
| 229 | CONFIG_FLATMEM=y | 241 | CONFIG_FLATMEM=y |
| 230 | CONFIG_FLAT_NODE_MEM_MAP=y | 242 | CONFIG_FLAT_NODE_MEM_MAP=y |
| 231 | # CONFIG_SPARSEMEM_STATIC is not set | ||
| 232 | # CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set | ||
| 233 | CONFIG_PAGEFLAGS_EXTENDED=y | 243 | CONFIG_PAGEFLAGS_EXTENDED=y |
| 234 | CONFIG_SPLIT_PTLOCK_CPUS=4096 | 244 | CONFIG_SPLIT_PTLOCK_CPUS=4096 |
| 235 | # CONFIG_RESOURCES_64BIT is not set | 245 | # CONFIG_PHYS_ADDR_T_64BIT is not set |
| 236 | CONFIG_ZONE_DMA_FLAG=1 | 246 | CONFIG_ZONE_DMA_FLAG=0 |
| 237 | CONFIG_BOUNCE=y | 247 | CONFIG_BOUNCE=y |
| 238 | CONFIG_VIRT_TO_BUS=y | 248 | CONFIG_VIRT_TO_BUS=y |
| 249 | CONFIG_UNEVICTABLE_LRU=y | ||
| 250 | CONFIG_HAVE_MLOCK=y | ||
| 251 | CONFIG_HAVE_MLOCKED_PAGE_BIT=y | ||
| 239 | CONFIG_ALIGNMENT_TRAP=y | 252 | CONFIG_ALIGNMENT_TRAP=y |
| 240 | 253 | ||
| 241 | # | 254 | # |
| @@ -248,6 +261,11 @@ CONFIG_CMDLINE="" | |||
| 248 | # CONFIG_KEXEC is not set | 261 | # CONFIG_KEXEC is not set |
| 249 | 262 | ||
| 250 | # | 263 | # |
| 264 | # CPU Power Management | ||
| 265 | # | ||
| 266 | # CONFIG_CPU_IDLE is not set | ||
| 267 | |||
| 268 | # | ||
| 251 | # Floating point emulation | 269 | # Floating point emulation |
| 252 | # | 270 | # |
| 253 | 271 | ||
| @@ -263,6 +281,8 @@ CONFIG_VFP=y | |||
| 263 | # Userspace binary formats | 281 | # Userspace binary formats |
| 264 | # | 282 | # |
| 265 | CONFIG_BINFMT_ELF=y | 283 | CONFIG_BINFMT_ELF=y |
| 284 | # CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set | ||
| 285 | CONFIG_HAVE_AOUT=y | ||
| 266 | # CONFIG_BINFMT_AOUT is not set | 286 | # CONFIG_BINFMT_AOUT is not set |
| 267 | # CONFIG_BINFMT_MISC is not set | 287 | # CONFIG_BINFMT_MISC is not set |
| 268 | 288 | ||
| @@ -271,10 +291,6 @@ CONFIG_BINFMT_ELF=y | |||
| 271 | # | 291 | # |
| 272 | # CONFIG_PM is not set | 292 | # CONFIG_PM is not set |
| 273 | CONFIG_ARCH_SUSPEND_POSSIBLE=y | 293 | CONFIG_ARCH_SUSPEND_POSSIBLE=y |
| 274 | |||
| 275 | # | ||
| 276 | # Networking | ||
| 277 | # | ||
| 278 | CONFIG_NET=y | 294 | CONFIG_NET=y |
| 279 | 295 | ||
| 280 | # | 296 | # |
| @@ -310,7 +326,7 @@ CONFIG_IP_PNP_BOOTP=y | |||
| 310 | CONFIG_INET_XFRM_MODE_TRANSPORT=y | 326 | CONFIG_INET_XFRM_MODE_TRANSPORT=y |
| 311 | CONFIG_INET_XFRM_MODE_TUNNEL=y | 327 | CONFIG_INET_XFRM_MODE_TUNNEL=y |
| 312 | CONFIG_INET_XFRM_MODE_BEET=y | 328 | CONFIG_INET_XFRM_MODE_BEET=y |
| 313 | # CONFIG_INET_LRO is not set | 329 | CONFIG_INET_LRO=y |
| 314 | CONFIG_INET_DIAG=y | 330 | CONFIG_INET_DIAG=y |
| 315 | CONFIG_INET_TCP_DIAG=y | 331 | CONFIG_INET_TCP_DIAG=y |
| 316 | # CONFIG_TCP_CONG_ADVANCED is not set | 332 | # CONFIG_TCP_CONG_ADVANCED is not set |
| @@ -325,6 +341,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic" | |||
| 325 | # CONFIG_TIPC is not set | 341 | # CONFIG_TIPC is not set |
| 326 | # CONFIG_ATM is not set | 342 | # CONFIG_ATM is not set |
| 327 | # CONFIG_BRIDGE is not set | 343 | # CONFIG_BRIDGE is not set |
| 344 | # CONFIG_NET_DSA is not set | ||
| 328 | # CONFIG_VLAN_8021Q is not set | 345 | # CONFIG_VLAN_8021Q is not set |
| 329 | # CONFIG_DECNET is not set | 346 | # CONFIG_DECNET is not set |
| 330 | # CONFIG_LLC2 is not set | 347 | # CONFIG_LLC2 is not set |
| @@ -334,26 +351,23 @@ CONFIG_DEFAULT_TCP_CONG="cubic" | |||
| 334 | # CONFIG_LAPB is not set | 351 | # CONFIG_LAPB is not set |
| 335 | # CONFIG_ECONET is not set | 352 | # CONFIG_ECONET is not set |
| 336 | # CONFIG_WAN_ROUTER is not set | 353 | # CONFIG_WAN_ROUTER is not set |
| 354 | # CONFIG_PHONET is not set | ||
| 337 | # CONFIG_NET_SCHED is not set | 355 | # CONFIG_NET_SCHED is not set |
| 356 | # CONFIG_DCB is not set | ||
| 338 | 357 | ||
| 339 | # | 358 | # |
| 340 | # Network testing | 359 | # Network testing |
| 341 | # | 360 | # |
| 342 | CONFIG_NET_PKTGEN=m | 361 | CONFIG_NET_PKTGEN=m |
| 343 | # CONFIG_NET_TCPPROBE is not set | 362 | # CONFIG_NET_TCPPROBE is not set |
| 363 | # CONFIG_NET_DROP_MONITOR is not set | ||
| 344 | # CONFIG_HAMRADIO is not set | 364 | # CONFIG_HAMRADIO is not set |
| 345 | # CONFIG_CAN is not set | 365 | # CONFIG_CAN is not set |
| 346 | # CONFIG_IRDA is not set | 366 | # CONFIG_IRDA is not set |
| 347 | # CONFIG_BT is not set | 367 | # CONFIG_BT is not set |
| 348 | # CONFIG_AF_RXRPC is not set | 368 | # CONFIG_AF_RXRPC is not set |
| 349 | 369 | # CONFIG_WIRELESS is not set | |
| 350 | # | 370 | # CONFIG_WIMAX is not set |
| 351 | # Wireless | ||
| 352 | # | ||
| 353 | # CONFIG_CFG80211 is not set | ||
| 354 | CONFIG_WIRELESS_EXT=y | ||
| 355 | # CONFIG_MAC80211 is not set | ||
| 356 | # CONFIG_IEEE80211 is not set | ||
| 357 | # CONFIG_RFKILL is not set | 371 | # CONFIG_RFKILL is not set |
| 358 | # CONFIG_NET_9P is not set | 372 | # CONFIG_NET_9P is not set |
| 359 | 373 | ||
| @@ -368,6 +382,8 @@ CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" | |||
| 368 | CONFIG_STANDALONE=y | 382 | CONFIG_STANDALONE=y |
| 369 | CONFIG_PREVENT_FIRMWARE_BUILD=y | 383 | CONFIG_PREVENT_FIRMWARE_BUILD=y |
| 370 | CONFIG_FW_LOADER=y | 384 | CONFIG_FW_LOADER=y |
| 385 | # CONFIG_FIRMWARE_IN_KERNEL is not set | ||
| 386 | CONFIG_EXTRA_FIRMWARE="" | ||
| 371 | # CONFIG_DEBUG_DRIVER is not set | 387 | # CONFIG_DEBUG_DRIVER is not set |
| 372 | # CONFIG_DEBUG_DEVRES is not set | 388 | # CONFIG_DEBUG_DEVRES is not set |
| 373 | # CONFIG_SYS_HYPERVISOR is not set | 389 | # CONFIG_SYS_HYPERVISOR is not set |
| @@ -376,6 +392,7 @@ CONFIG_MTD=y | |||
| 376 | # CONFIG_MTD_DEBUG is not set | 392 | # CONFIG_MTD_DEBUG is not set |
| 377 | # CONFIG_MTD_CONCAT is not set | 393 | # CONFIG_MTD_CONCAT is not set |
| 378 | CONFIG_MTD_PARTITIONS=y | 394 | CONFIG_MTD_PARTITIONS=y |
| 395 | # CONFIG_MTD_TESTS is not set | ||
| 379 | # CONFIG_MTD_REDBOOT_PARTS is not set | 396 | # CONFIG_MTD_REDBOOT_PARTS is not set |
| 380 | CONFIG_MTD_CMDLINE_PARTS=y | 397 | CONFIG_MTD_CMDLINE_PARTS=y |
| 381 | # CONFIG_MTD_AFS_PARTS is not set | 398 | # CONFIG_MTD_AFS_PARTS is not set |
| @@ -429,9 +446,7 @@ CONFIG_MTD_CFI_UTIL=y | |||
| 429 | # | 446 | # |
| 430 | # CONFIG_MTD_COMPLEX_MAPPINGS is not set | 447 | # CONFIG_MTD_COMPLEX_MAPPINGS is not set |
| 431 | CONFIG_MTD_PHYSMAP=y | 448 | CONFIG_MTD_PHYSMAP=y |
| 432 | CONFIG_MTD_PHYSMAP_START=0x0 | 449 | # CONFIG_MTD_PHYSMAP_COMPAT is not set |
| 433 | CONFIG_MTD_PHYSMAP_LEN=0x0 | ||
| 434 | CONFIG_MTD_PHYSMAP_BANKWIDTH=0 | ||
| 435 | # CONFIG_MTD_ARM_INTEGRATOR is not set | 450 | # CONFIG_MTD_ARM_INTEGRATOR is not set |
| 436 | # CONFIG_MTD_IMPA7 is not set | 451 | # CONFIG_MTD_IMPA7 is not set |
| 437 | # CONFIG_MTD_INTEL_VR_NOR is not set | 452 | # CONFIG_MTD_INTEL_VR_NOR is not set |
| @@ -456,6 +471,7 @@ CONFIG_MTD_NAND=y | |||
| 456 | CONFIG_MTD_NAND_VERIFY_WRITE=y | 471 | CONFIG_MTD_NAND_VERIFY_WRITE=y |
| 457 | # CONFIG_MTD_NAND_ECC_SMC is not set | 472 | # CONFIG_MTD_NAND_ECC_SMC is not set |
| 458 | # CONFIG_MTD_NAND_MUSEUM_IDS is not set | 473 | # CONFIG_MTD_NAND_MUSEUM_IDS is not set |
| 474 | # CONFIG_MTD_NAND_GPIO is not set | ||
| 459 | CONFIG_MTD_NAND_IDS=y | 475 | CONFIG_MTD_NAND_IDS=y |
| 460 | # CONFIG_MTD_NAND_DISKONCHIP is not set | 476 | # CONFIG_MTD_NAND_DISKONCHIP is not set |
| 461 | # CONFIG_MTD_NAND_CAFE is not set | 477 | # CONFIG_MTD_NAND_CAFE is not set |
| @@ -466,6 +482,11 @@ CONFIG_MTD_NAND_ORION=y | |||
| 466 | # CONFIG_MTD_ONENAND is not set | 482 | # CONFIG_MTD_ONENAND is not set |
| 467 | 483 | ||
| 468 | # | 484 | # |
| 485 | # LPDDR flash memory drivers | ||
| 486 | # | ||
| 487 | # CONFIG_MTD_LPDDR is not set | ||
| 488 | |||
| 489 | # | ||
| 469 | # UBI - Unsorted block images | 490 | # UBI - Unsorted block images |
| 470 | # | 491 | # |
| 471 | # CONFIG_MTD_UBI is not set | 492 | # CONFIG_MTD_UBI is not set |
| @@ -486,10 +507,20 @@ CONFIG_BLK_DEV_LOOP=y | |||
| 486 | # CONFIG_ATA_OVER_ETH is not set | 507 | # CONFIG_ATA_OVER_ETH is not set |
| 487 | CONFIG_MISC_DEVICES=y | 508 | CONFIG_MISC_DEVICES=y |
| 488 | # CONFIG_PHANTOM is not set | 509 | # CONFIG_PHANTOM is not set |
| 489 | # CONFIG_EEPROM_93CX6 is not set | ||
| 490 | # CONFIG_SGI_IOC4 is not set | 510 | # CONFIG_SGI_IOC4 is not set |
| 491 | # CONFIG_TIFM_CORE is not set | 511 | # CONFIG_TIFM_CORE is not set |
| 512 | # CONFIG_ICS932S401 is not set | ||
| 492 | # CONFIG_ENCLOSURE_SERVICES is not set | 513 | # CONFIG_ENCLOSURE_SERVICES is not set |
| 514 | # CONFIG_HP_ILO is not set | ||
| 515 | # CONFIG_ISL29003 is not set | ||
| 516 | # CONFIG_C2PORT is not set | ||
| 517 | |||
| 518 | # | ||
| 519 | # EEPROM support | ||
| 520 | # | ||
| 521 | # CONFIG_EEPROM_AT24 is not set | ||
| 522 | # CONFIG_EEPROM_LEGACY is not set | ||
| 523 | # CONFIG_EEPROM_93CX6 is not set | ||
| 493 | CONFIG_HAVE_IDE=y | 524 | CONFIG_HAVE_IDE=y |
| 494 | # CONFIG_IDE is not set | 525 | # CONFIG_IDE is not set |
| 495 | 526 | ||
| @@ -547,7 +578,11 @@ CONFIG_SCSI_LOWLEVEL=y | |||
| 547 | # CONFIG_MEGARAID_NEWGEN is not set | 578 | # CONFIG_MEGARAID_NEWGEN is not set |
| 548 | # CONFIG_MEGARAID_LEGACY is not set | 579 | # CONFIG_MEGARAID_LEGACY is not set |
| 549 | # CONFIG_MEGARAID_SAS is not set | 580 | # CONFIG_MEGARAID_SAS is not set |
| 581 | # CONFIG_SCSI_MPT2SAS is not set | ||
| 550 | # CONFIG_SCSI_HPTIOP is not set | 582 | # CONFIG_SCSI_HPTIOP is not set |
| 583 | # CONFIG_LIBFC is not set | ||
| 584 | # CONFIG_LIBFCOE is not set | ||
| 585 | # CONFIG_FCOE is not set | ||
| 551 | # CONFIG_SCSI_DMX3191D is not set | 586 | # CONFIG_SCSI_DMX3191D is not set |
| 552 | # CONFIG_SCSI_FUTURE_DOMAIN is not set | 587 | # CONFIG_SCSI_FUTURE_DOMAIN is not set |
| 553 | # CONFIG_SCSI_IPS is not set | 588 | # CONFIG_SCSI_IPS is not set |
| @@ -566,6 +601,8 @@ CONFIG_SCSI_LOWLEVEL=y | |||
| 566 | # CONFIG_SCSI_NSP32 is not set | 601 | # CONFIG_SCSI_NSP32 is not set |
| 567 | # CONFIG_SCSI_DEBUG is not set | 602 | # CONFIG_SCSI_DEBUG is not set |
| 568 | # CONFIG_SCSI_SRP is not set | 603 | # CONFIG_SCSI_SRP is not set |
| 604 | # CONFIG_SCSI_DH is not set | ||
| 605 | # CONFIG_SCSI_OSD_INITIATOR is not set | ||
| 569 | CONFIG_ATA=y | 606 | CONFIG_ATA=y |
| 570 | # CONFIG_ATA_NONSTANDARD is not set | 607 | # CONFIG_ATA_NONSTANDARD is not set |
| 571 | CONFIG_SATA_PMP=y | 608 | CONFIG_SATA_PMP=y |
| @@ -632,11 +669,15 @@ CONFIG_SATA_MV=y | |||
| 632 | # | 669 | # |
| 633 | # IEEE 1394 (FireWire) support | 670 | # IEEE 1394 (FireWire) support |
| 634 | # | 671 | # |
| 672 | |||
| 673 | # | ||
| 674 | # Enable only one of the two stacks, unless you know what you are doing | ||
| 675 | # | ||
| 635 | # CONFIG_FIREWIRE is not set | 676 | # CONFIG_FIREWIRE is not set |
| 636 | # CONFIG_IEEE1394 is not set | 677 | # CONFIG_IEEE1394 is not set |
| 637 | # CONFIG_I2O is not set | 678 | # CONFIG_I2O is not set |
| 638 | CONFIG_NETDEVICES=y | 679 | CONFIG_NETDEVICES=y |
| 639 | # CONFIG_NETDEVICES_MULTIQUEUE is not set | 680 | CONFIG_COMPAT_NET_DEV_OPS=y |
| 640 | # CONFIG_DUMMY is not set | 681 | # CONFIG_DUMMY is not set |
| 641 | # CONFIG_BONDING is not set | 682 | # CONFIG_BONDING is not set |
| 642 | # CONFIG_MACVLAN is not set | 683 | # CONFIG_MACVLAN is not set |
| @@ -644,7 +685,26 @@ CONFIG_NETDEVICES=y | |||
| 644 | # CONFIG_TUN is not set | 685 | # CONFIG_TUN is not set |
| 645 | # CONFIG_VETH is not set | 686 | # CONFIG_VETH is not set |
| 646 | # CONFIG_ARCNET is not set | 687 | # CONFIG_ARCNET is not set |
| 647 | # CONFIG_PHYLIB is not set | 688 | CONFIG_PHYLIB=y |
| 689 | |||
| 690 | # | ||
| 691 | # MII PHY device drivers | ||
| 692 | # | ||
| 693 | CONFIG_MARVELL_PHY=y | ||
| 694 | # CONFIG_DAVICOM_PHY is not set | ||
| 695 | # CONFIG_QSEMI_PHY is not set | ||
| 696 | # CONFIG_LXT_PHY is not set | ||
| 697 | # CONFIG_CICADA_PHY is not set | ||
| 698 | # CONFIG_VITESSE_PHY is not set | ||
| 699 | # CONFIG_SMSC_PHY is not set | ||
| 700 | # CONFIG_BROADCOM_PHY is not set | ||
| 701 | # CONFIG_ICPLUS_PHY is not set | ||
| 702 | # CONFIG_REALTEK_PHY is not set | ||
| 703 | # CONFIG_NATIONAL_PHY is not set | ||
| 704 | # CONFIG_STE10XP is not set | ||
| 705 | # CONFIG_LSI_ET1011C_PHY is not set | ||
| 706 | # CONFIG_FIXED_PHY is not set | ||
| 707 | # CONFIG_MDIO_BITBANG is not set | ||
| 648 | CONFIG_NET_ETHERNET=y | 708 | CONFIG_NET_ETHERNET=y |
| 649 | CONFIG_MII=y | 709 | CONFIG_MII=y |
| 650 | # CONFIG_AX88796 is not set | 710 | # CONFIG_AX88796 is not set |
| @@ -654,19 +714,25 @@ CONFIG_MII=y | |||
| 654 | # CONFIG_NET_VENDOR_3COM is not set | 714 | # CONFIG_NET_VENDOR_3COM is not set |
| 655 | # CONFIG_SMC91X is not set | 715 | # CONFIG_SMC91X is not set |
| 656 | # CONFIG_DM9000 is not set | 716 | # CONFIG_DM9000 is not set |
| 717 | # CONFIG_ETHOC is not set | ||
| 718 | # CONFIG_SMC911X is not set | ||
| 719 | # CONFIG_SMSC911X is not set | ||
| 720 | # CONFIG_DNET is not set | ||
| 657 | # CONFIG_NET_TULIP is not set | 721 | # CONFIG_NET_TULIP is not set |
| 658 | # CONFIG_HP100 is not set | 722 | # CONFIG_HP100 is not set |
| 659 | # CONFIG_IBM_NEW_EMAC_ZMII is not set | 723 | # CONFIG_IBM_NEW_EMAC_ZMII is not set |
| 660 | # CONFIG_IBM_NEW_EMAC_RGMII is not set | 724 | # CONFIG_IBM_NEW_EMAC_RGMII is not set |
| 661 | # CONFIG_IBM_NEW_EMAC_TAH is not set | 725 | # CONFIG_IBM_NEW_EMAC_TAH is not set |
| 662 | # CONFIG_IBM_NEW_EMAC_EMAC4 is not set | 726 | # CONFIG_IBM_NEW_EMAC_EMAC4 is not set |
| 727 | # CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set | ||
| 728 | # CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set | ||
| 729 | # CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set | ||
| 663 | CONFIG_NET_PCI=y | 730 | CONFIG_NET_PCI=y |
| 664 | # CONFIG_PCNET32 is not set | 731 | # CONFIG_PCNET32 is not set |
| 665 | # CONFIG_AMD8111_ETH is not set | 732 | # CONFIG_AMD8111_ETH is not set |
| 666 | # CONFIG_ADAPTEC_STARFIRE is not set | 733 | # CONFIG_ADAPTEC_STARFIRE is not set |
| 667 | # CONFIG_B44 is not set | 734 | # CONFIG_B44 is not set |
| 668 | # CONFIG_FORCEDETH is not set | 735 | # CONFIG_FORCEDETH is not set |
| 669 | # CONFIG_EEPRO100 is not set | ||
| 670 | # CONFIG_E100 is not set | 736 | # CONFIG_E100 is not set |
| 671 | # CONFIG_FEALNX is not set | 737 | # CONFIG_FEALNX is not set |
| 672 | # CONFIG_NATSEMI is not set | 738 | # CONFIG_NATSEMI is not set |
| @@ -676,18 +742,20 @@ CONFIG_NET_PCI=y | |||
| 676 | # CONFIG_R6040 is not set | 742 | # CONFIG_R6040 is not set |
| 677 | # CONFIG_SIS900 is not set | 743 | # CONFIG_SIS900 is not set |
| 678 | # CONFIG_EPIC100 is not set | 744 | # CONFIG_EPIC100 is not set |
| 745 | # CONFIG_SMSC9420 is not set | ||
| 679 | # CONFIG_SUNDANCE is not set | 746 | # CONFIG_SUNDANCE is not set |
| 680 | # CONFIG_TLAN is not set | 747 | # CONFIG_TLAN is not set |
| 681 | # CONFIG_VIA_RHINE is not set | 748 | # CONFIG_VIA_RHINE is not set |
| 682 | # CONFIG_SC92031 is not set | 749 | # CONFIG_SC92031 is not set |
| 750 | # CONFIG_ATL2 is not set | ||
| 683 | CONFIG_NETDEV_1000=y | 751 | CONFIG_NETDEV_1000=y |
| 684 | # CONFIG_ACENIC is not set | 752 | # CONFIG_ACENIC is not set |
| 685 | # CONFIG_DL2K is not set | 753 | # CONFIG_DL2K is not set |
| 686 | # CONFIG_E1000 is not set | 754 | # CONFIG_E1000 is not set |
| 687 | # CONFIG_E1000E is not set | 755 | # CONFIG_E1000E is not set |
| 688 | # CONFIG_E1000E_ENABLED is not set | ||
| 689 | # CONFIG_IP1000 is not set | 756 | # CONFIG_IP1000 is not set |
| 690 | # CONFIG_IGB is not set | 757 | # CONFIG_IGB is not set |
| 758 | # CONFIG_IGBVF is not set | ||
| 691 | # CONFIG_NS83820 is not set | 759 | # CONFIG_NS83820 is not set |
| 692 | # CONFIG_HAMACHI is not set | 760 | # CONFIG_HAMACHI is not set |
| 693 | # CONFIG_YELLOWFIN is not set | 761 | # CONFIG_YELLOWFIN is not set |
| @@ -701,6 +769,9 @@ CONFIG_NETDEV_1000=y | |||
| 701 | CONFIG_MV643XX_ETH=y | 769 | CONFIG_MV643XX_ETH=y |
| 702 | # CONFIG_QLA3XXX is not set | 770 | # CONFIG_QLA3XXX is not set |
| 703 | # CONFIG_ATL1 is not set | 771 | # CONFIG_ATL1 is not set |
| 772 | # CONFIG_ATL1E is not set | ||
| 773 | # CONFIG_ATL1C is not set | ||
| 774 | # CONFIG_JME is not set | ||
| 704 | # CONFIG_NETDEV_10000 is not set | 775 | # CONFIG_NETDEV_10000 is not set |
| 705 | # CONFIG_TR is not set | 776 | # CONFIG_TR is not set |
| 706 | 777 | ||
| @@ -709,7 +780,10 @@ CONFIG_MV643XX_ETH=y | |||
| 709 | # | 780 | # |
| 710 | # CONFIG_WLAN_PRE80211 is not set | 781 | # CONFIG_WLAN_PRE80211 is not set |
| 711 | # CONFIG_WLAN_80211 is not set | 782 | # CONFIG_WLAN_80211 is not set |
| 712 | # CONFIG_IWLWIFI_LEDS is not set | 783 | |
| 784 | # | ||
| 785 | # Enable WiMAX (Networking options) to see the WiMAX drivers | ||
| 786 | # | ||
| 713 | 787 | ||
| 714 | # | 788 | # |
| 715 | # USB Network Adapters | 789 | # USB Network Adapters |
| @@ -786,11 +860,11 @@ CONFIG_SERIAL_CORE=y | |||
| 786 | CONFIG_SERIAL_CORE_CONSOLE=y | 860 | CONFIG_SERIAL_CORE_CONSOLE=y |
| 787 | # CONFIG_SERIAL_JSM is not set | 861 | # CONFIG_SERIAL_JSM is not set |
| 788 | CONFIG_UNIX98_PTYS=y | 862 | CONFIG_UNIX98_PTYS=y |
| 863 | # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set | ||
| 789 | CONFIG_LEGACY_PTYS=y | 864 | CONFIG_LEGACY_PTYS=y |
| 790 | CONFIG_LEGACY_PTY_COUNT=16 | 865 | CONFIG_LEGACY_PTY_COUNT=16 |
| 791 | # CONFIG_IPMI_HANDLER is not set | 866 | # CONFIG_IPMI_HANDLER is not set |
| 792 | # CONFIG_HW_RANDOM is not set | 867 | # CONFIG_HW_RANDOM is not set |
| 793 | # CONFIG_NVRAM is not set | ||
| 794 | # CONFIG_R3964 is not set | 868 | # CONFIG_R3964 is not set |
| 795 | # CONFIG_APPLICOM is not set | 869 | # CONFIG_APPLICOM is not set |
| 796 | # CONFIG_RAW_DRIVER is not set | 870 | # CONFIG_RAW_DRIVER is not set |
| @@ -799,44 +873,63 @@ CONFIG_DEVPORT=y | |||
| 799 | CONFIG_I2C=y | 873 | CONFIG_I2C=y |
| 800 | CONFIG_I2C_BOARDINFO=y | 874 | CONFIG_I2C_BOARDINFO=y |
| 801 | CONFIG_I2C_CHARDEV=y | 875 | CONFIG_I2C_CHARDEV=y |
| 876 | CONFIG_I2C_HELPER_AUTO=y | ||
| 802 | 877 | ||
| 803 | # | 878 | # |
| 804 | # I2C Hardware Bus support | 879 | # I2C Hardware Bus support |
| 805 | # | 880 | # |
| 881 | |||
| 882 | # | ||
| 883 | # PC SMBus host controller drivers | ||
| 884 | # | ||
| 806 | # CONFIG_I2C_ALI1535 is not set | 885 | # CONFIG_I2C_ALI1535 is not set |
| 807 | # CONFIG_I2C_ALI1563 is not set | 886 | # CONFIG_I2C_ALI1563 is not set |
| 808 | # CONFIG_I2C_ALI15X3 is not set | 887 | # CONFIG_I2C_ALI15X3 is not set |
| 809 | # CONFIG_I2C_AMD756 is not set | 888 | # CONFIG_I2C_AMD756 is not set |
| 810 | # CONFIG_I2C_AMD8111 is not set | 889 | # CONFIG_I2C_AMD8111 is not set |
| 811 | # CONFIG_I2C_I801 is not set | 890 | # CONFIG_I2C_I801 is not set |
| 812 | # CONFIG_I2C_I810 is not set | 891 | # CONFIG_I2C_ISCH is not set |
| 813 | # CONFIG_I2C_PIIX4 is not set | 892 | # CONFIG_I2C_PIIX4 is not set |
| 814 | # CONFIG_I2C_NFORCE2 is not set | 893 | # CONFIG_I2C_NFORCE2 is not set |
| 815 | # CONFIG_I2C_OCORES is not set | ||
| 816 | # CONFIG_I2C_PARPORT_LIGHT is not set | ||
| 817 | # CONFIG_I2C_PROSAVAGE is not set | ||
| 818 | # CONFIG_I2C_SAVAGE4 is not set | ||
| 819 | # CONFIG_I2C_SIMTEC is not set | ||
| 820 | # CONFIG_I2C_SIS5595 is not set | 894 | # CONFIG_I2C_SIS5595 is not set |
| 821 | # CONFIG_I2C_SIS630 is not set | 895 | # CONFIG_I2C_SIS630 is not set |
| 822 | # CONFIG_I2C_SIS96X is not set | 896 | # CONFIG_I2C_SIS96X is not set |
| 823 | # CONFIG_I2C_TAOS_EVM is not set | ||
| 824 | # CONFIG_I2C_STUB is not set | ||
| 825 | # CONFIG_I2C_TINY_USB is not set | ||
| 826 | # CONFIG_I2C_VIA is not set | 897 | # CONFIG_I2C_VIA is not set |
| 827 | # CONFIG_I2C_VIAPRO is not set | 898 | # CONFIG_I2C_VIAPRO is not set |
| 899 | |||
| 900 | # | ||
| 901 | # I2C system bus drivers (mostly embedded / system-on-chip) | ||
| 902 | # | ||
| 903 | # CONFIG_I2C_GPIO is not set | ||
| 904 | CONFIG_I2C_MV64XXX=y | ||
| 905 | # CONFIG_I2C_OCORES is not set | ||
| 906 | # CONFIG_I2C_SIMTEC is not set | ||
| 907 | |||
| 908 | # | ||
| 909 | # External I2C/SMBus adapter drivers | ||
| 910 | # | ||
| 911 | # CONFIG_I2C_PARPORT_LIGHT is not set | ||
| 912 | # CONFIG_I2C_TAOS_EVM is not set | ||
| 913 | # CONFIG_I2C_TINY_USB is not set | ||
| 914 | |||
| 915 | # | ||
| 916 | # Graphics adapter I2C/DDC channel drivers | ||
| 917 | # | ||
| 828 | # CONFIG_I2C_VOODOO3 is not set | 918 | # CONFIG_I2C_VOODOO3 is not set |
| 919 | |||
| 920 | # | ||
| 921 | # Other I2C/SMBus bus drivers | ||
| 922 | # | ||
| 829 | # CONFIG_I2C_PCA_PLATFORM is not set | 923 | # CONFIG_I2C_PCA_PLATFORM is not set |
| 830 | CONFIG_I2C_MV64XXX=y | 924 | # CONFIG_I2C_STUB is not set |
| 831 | 925 | ||
| 832 | # | 926 | # |
| 833 | # Miscellaneous I2C Chip support | 927 | # Miscellaneous I2C Chip support |
| 834 | # | 928 | # |
| 835 | # CONFIG_DS1682 is not set | 929 | # CONFIG_DS1682 is not set |
| 836 | # CONFIG_EEPROM_LEGACY is not set | ||
| 837 | # CONFIG_SENSORS_PCF8574 is not set | 930 | # CONFIG_SENSORS_PCF8574 is not set |
| 838 | # CONFIG_PCF8575 is not set | 931 | # CONFIG_PCF8575 is not set |
| 839 | # CONFIG_SENSORS_PCF8591 is not set | 932 | # CONFIG_SENSORS_PCA9539 is not set |
| 840 | # CONFIG_SENSORS_MAX6875 is not set | 933 | # CONFIG_SENSORS_MAX6875 is not set |
| 841 | # CONFIG_SENSORS_TSL2550 is not set | 934 | # CONFIG_SENSORS_TSL2550 is not set |
| 842 | # CONFIG_I2C_DEBUG_CORE is not set | 935 | # CONFIG_I2C_DEBUG_CORE is not set |
| @@ -848,6 +941,7 @@ CONFIG_I2C_MV64XXX=y | |||
| 848 | # CONFIG_POWER_SUPPLY is not set | 941 | # CONFIG_POWER_SUPPLY is not set |
| 849 | CONFIG_HWMON=y | 942 | CONFIG_HWMON=y |
| 850 | # CONFIG_HWMON_VID is not set | 943 | # CONFIG_HWMON_VID is not set |
| 944 | # CONFIG_SENSORS_AD7414 is not set | ||
| 851 | # CONFIG_SENSORS_AD7418 is not set | 945 | # CONFIG_SENSORS_AD7418 is not set |
| 852 | # CONFIG_SENSORS_ADM1021 is not set | 946 | # CONFIG_SENSORS_ADM1021 is not set |
| 853 | # CONFIG_SENSORS_ADM1025 is not set | 947 | # CONFIG_SENSORS_ADM1025 is not set |
| @@ -855,14 +949,17 @@ CONFIG_HWMON=y | |||
| 855 | # CONFIG_SENSORS_ADM1029 is not set | 949 | # CONFIG_SENSORS_ADM1029 is not set |
| 856 | # CONFIG_SENSORS_ADM1031 is not set | 950 | # CONFIG_SENSORS_ADM1031 is not set |
| 857 | # CONFIG_SENSORS_ADM9240 is not set | 951 | # CONFIG_SENSORS_ADM9240 is not set |
| 952 | # CONFIG_SENSORS_ADT7462 is not set | ||
| 858 | # CONFIG_SENSORS_ADT7470 is not set | 953 | # CONFIG_SENSORS_ADT7470 is not set |
| 859 | # CONFIG_SENSORS_ADT7473 is not set | 954 | # CONFIG_SENSORS_ADT7473 is not set |
| 955 | # CONFIG_SENSORS_ADT7475 is not set | ||
| 860 | # CONFIG_SENSORS_ATXP1 is not set | 956 | # CONFIG_SENSORS_ATXP1 is not set |
| 861 | # CONFIG_SENSORS_DS1621 is not set | 957 | # CONFIG_SENSORS_DS1621 is not set |
| 862 | # CONFIG_SENSORS_I5K_AMB is not set | 958 | # CONFIG_SENSORS_I5K_AMB is not set |
| 863 | # CONFIG_SENSORS_F71805F is not set | 959 | # CONFIG_SENSORS_F71805F is not set |
| 864 | # CONFIG_SENSORS_F71882FG is not set | 960 | # CONFIG_SENSORS_F71882FG is not set |
| 865 | # CONFIG_SENSORS_F75375S is not set | 961 | # CONFIG_SENSORS_F75375S is not set |
| 962 | # CONFIG_SENSORS_G760A is not set | ||
| 866 | # CONFIG_SENSORS_GL518SM is not set | 963 | # CONFIG_SENSORS_GL518SM is not set |
| 867 | # CONFIG_SENSORS_GL520SM is not set | 964 | # CONFIG_SENSORS_GL520SM is not set |
| 868 | # CONFIG_SENSORS_IT87 is not set | 965 | # CONFIG_SENSORS_IT87 is not set |
| @@ -877,10 +974,15 @@ CONFIG_HWMON=y | |||
| 877 | # CONFIG_SENSORS_LM90 is not set | 974 | # CONFIG_SENSORS_LM90 is not set |
| 878 | # CONFIG_SENSORS_LM92 is not set | 975 | # CONFIG_SENSORS_LM92 is not set |
| 879 | # CONFIG_SENSORS_LM93 is not set | 976 | # CONFIG_SENSORS_LM93 is not set |
| 977 | # CONFIG_SENSORS_LTC4215 is not set | ||
| 978 | # CONFIG_SENSORS_LTC4245 is not set | ||
| 979 | # CONFIG_SENSORS_LM95241 is not set | ||
| 880 | # CONFIG_SENSORS_MAX1619 is not set | 980 | # CONFIG_SENSORS_MAX1619 is not set |
| 881 | # CONFIG_SENSORS_MAX6650 is not set | 981 | # CONFIG_SENSORS_MAX6650 is not set |
| 882 | # CONFIG_SENSORS_PC87360 is not set | 982 | # CONFIG_SENSORS_PC87360 is not set |
| 883 | # CONFIG_SENSORS_PC87427 is not set | 983 | # CONFIG_SENSORS_PC87427 is not set |
| 984 | # CONFIG_SENSORS_PCF8591 is not set | ||
| 985 | # CONFIG_SENSORS_SHT15 is not set | ||
| 884 | # CONFIG_SENSORS_SIS5595 is not set | 986 | # CONFIG_SENSORS_SIS5595 is not set |
| 885 | # CONFIG_SENSORS_DME1737 is not set | 987 | # CONFIG_SENSORS_DME1737 is not set |
| 886 | # CONFIG_SENSORS_SMSC47M1 is not set | 988 | # CONFIG_SENSORS_SMSC47M1 is not set |
| @@ -900,20 +1002,28 @@ CONFIG_HWMON=y | |||
| 900 | # CONFIG_SENSORS_W83627HF is not set | 1002 | # CONFIG_SENSORS_W83627HF is not set |
| 901 | # CONFIG_SENSORS_W83627EHF is not set | 1003 | # CONFIG_SENSORS_W83627EHF is not set |
| 902 | # CONFIG_HWMON_DEBUG_CHIP is not set | 1004 | # CONFIG_HWMON_DEBUG_CHIP is not set |
| 1005 | # CONFIG_THERMAL is not set | ||
| 1006 | # CONFIG_THERMAL_HWMON is not set | ||
| 903 | # CONFIG_WATCHDOG is not set | 1007 | # CONFIG_WATCHDOG is not set |
| 1008 | CONFIG_SSB_POSSIBLE=y | ||
| 904 | 1009 | ||
| 905 | # | 1010 | # |
| 906 | # Sonics Silicon Backplane | 1011 | # Sonics Silicon Backplane |
| 907 | # | 1012 | # |
| 908 | CONFIG_SSB_POSSIBLE=y | ||
| 909 | # CONFIG_SSB is not set | 1013 | # CONFIG_SSB is not set |
| 910 | 1014 | ||
| 911 | # | 1015 | # |
| 912 | # Multifunction device drivers | 1016 | # Multifunction device drivers |
| 913 | # | 1017 | # |
| 1018 | # CONFIG_MFD_CORE is not set | ||
| 914 | # CONFIG_MFD_SM501 is not set | 1019 | # CONFIG_MFD_SM501 is not set |
| 915 | # CONFIG_MFD_ASIC3 is not set | ||
| 916 | # CONFIG_HTC_PASIC3 is not set | 1020 | # CONFIG_HTC_PASIC3 is not set |
| 1021 | # CONFIG_TWL4030_CORE is not set | ||
| 1022 | # CONFIG_MFD_TMIO is not set | ||
| 1023 | # CONFIG_PMIC_DA903X is not set | ||
| 1024 | # CONFIG_MFD_WM8400 is not set | ||
| 1025 | # CONFIG_MFD_WM8350_I2C is not set | ||
| 1026 | # CONFIG_MFD_PCF50633 is not set | ||
| 917 | 1027 | ||
| 918 | # | 1028 | # |
| 919 | # Multimedia devices | 1029 | # Multimedia devices |
| @@ -944,10 +1054,6 @@ CONFIG_SSB_POSSIBLE=y | |||
| 944 | # Display device support | 1054 | # Display device support |
| 945 | # | 1055 | # |
| 946 | # CONFIG_DISPLAY_SUPPORT is not set | 1056 | # CONFIG_DISPLAY_SUPPORT is not set |
| 947 | |||
| 948 | # | ||
| 949 | # Sound | ||
| 950 | # | ||
| 951 | # CONFIG_SOUND is not set | 1057 | # CONFIG_SOUND is not set |
| 952 | CONFIG_HID_SUPPORT=y | 1058 | CONFIG_HID_SUPPORT=y |
| 953 | CONFIG_HID=y | 1059 | CONFIG_HID=y |
| @@ -958,9 +1064,36 @@ CONFIG_HID=y | |||
| 958 | # USB Input Devices | 1064 | # USB Input Devices |
| 959 | # | 1065 | # |
| 960 | CONFIG_USB_HID=y | 1066 | CONFIG_USB_HID=y |
| 961 | # CONFIG_USB_HIDINPUT_POWERBOOK is not set | 1067 | # CONFIG_HID_PID is not set |
| 962 | # CONFIG_HID_FF is not set | ||
| 963 | # CONFIG_USB_HIDDEV is not set | 1068 | # CONFIG_USB_HIDDEV is not set |
| 1069 | |||
| 1070 | # | ||
| 1071 | # Special HID drivers | ||
| 1072 | # | ||
| 1073 | # CONFIG_HID_A4TECH is not set | ||
| 1074 | # CONFIG_HID_APPLE is not set | ||
| 1075 | # CONFIG_HID_BELKIN is not set | ||
| 1076 | # CONFIG_HID_CHERRY is not set | ||
| 1077 | # CONFIG_HID_CHICONY is not set | ||
| 1078 | # CONFIG_HID_CYPRESS is not set | ||
| 1079 | # CONFIG_DRAGONRISE_FF is not set | ||
| 1080 | # CONFIG_HID_EZKEY is not set | ||
| 1081 | # CONFIG_HID_KYE is not set | ||
| 1082 | # CONFIG_HID_GYRATION is not set | ||
| 1083 | # CONFIG_HID_KENSINGTON is not set | ||
| 1084 | # CONFIG_HID_LOGITECH is not set | ||
| 1085 | # CONFIG_HID_MICROSOFT is not set | ||
| 1086 | # CONFIG_HID_MONTEREY is not set | ||
| 1087 | # CONFIG_HID_NTRIG is not set | ||
| 1088 | # CONFIG_HID_PANTHERLORD is not set | ||
| 1089 | # CONFIG_HID_PETALYNX is not set | ||
| 1090 | # CONFIG_HID_SAMSUNG is not set | ||
| 1091 | # CONFIG_HID_SONY is not set | ||
| 1092 | # CONFIG_HID_SUNPLUS is not set | ||
| 1093 | # CONFIG_GREENASIA_FF is not set | ||
| 1094 | # CONFIG_HID_TOPSEED is not set | ||
| 1095 | # CONFIG_THRUSTMASTER_FF is not set | ||
| 1096 | # CONFIG_ZEROPLUS_FF is not set | ||
| 964 | CONFIG_USB_SUPPORT=y | 1097 | CONFIG_USB_SUPPORT=y |
| 965 | CONFIG_USB_ARCH_HAS_HCD=y | 1098 | CONFIG_USB_ARCH_HAS_HCD=y |
| 966 | CONFIG_USB_ARCH_HAS_OHCI=y | 1099 | CONFIG_USB_ARCH_HAS_OHCI=y |
| @@ -978,6 +1111,9 @@ CONFIG_USB_DEVICE_CLASS=y | |||
| 978 | # CONFIG_USB_OTG is not set | 1111 | # CONFIG_USB_OTG is not set |
| 979 | # CONFIG_USB_OTG_WHITELIST is not set | 1112 | # CONFIG_USB_OTG_WHITELIST is not set |
| 980 | # CONFIG_USB_OTG_BLACKLIST_HUB is not set | 1113 | # CONFIG_USB_OTG_BLACKLIST_HUB is not set |
| 1114 | # CONFIG_USB_MON is not set | ||
| 1115 | # CONFIG_USB_WUSB is not set | ||
| 1116 | # CONFIG_USB_WUSB_CBAF is not set | ||
| 981 | 1117 | ||
| 982 | # | 1118 | # |
| 983 | # USB Host Controller Drivers | 1119 | # USB Host Controller Drivers |
| @@ -986,12 +1122,15 @@ CONFIG_USB_DEVICE_CLASS=y | |||
| 986 | CONFIG_USB_EHCI_HCD=y | 1122 | CONFIG_USB_EHCI_HCD=y |
| 987 | CONFIG_USB_EHCI_ROOT_HUB_TT=y | 1123 | CONFIG_USB_EHCI_ROOT_HUB_TT=y |
| 988 | CONFIG_USB_EHCI_TT_NEWSCHED=y | 1124 | CONFIG_USB_EHCI_TT_NEWSCHED=y |
| 1125 | # CONFIG_USB_OXU210HP_HCD is not set | ||
| 989 | # CONFIG_USB_ISP116X_HCD is not set | 1126 | # CONFIG_USB_ISP116X_HCD is not set |
| 990 | # CONFIG_USB_ISP1760_HCD is not set | 1127 | # CONFIG_USB_ISP1760_HCD is not set |
| 991 | # CONFIG_USB_OHCI_HCD is not set | 1128 | # CONFIG_USB_OHCI_HCD is not set |
| 992 | # CONFIG_USB_UHCI_HCD is not set | 1129 | # CONFIG_USB_UHCI_HCD is not set |
| 993 | # CONFIG_USB_SL811_HCD is not set | 1130 | # CONFIG_USB_SL811_HCD is not set |
| 994 | # CONFIG_USB_R8A66597_HCD is not set | 1131 | # CONFIG_USB_R8A66597_HCD is not set |
| 1132 | # CONFIG_USB_WHCI_HCD is not set | ||
| 1133 | # CONFIG_USB_HWA_HCD is not set | ||
| 995 | 1134 | ||
| 996 | # | 1135 | # |
| 997 | # USB Device Class drivers | 1136 | # USB Device Class drivers |
| @@ -999,20 +1138,20 @@ CONFIG_USB_EHCI_TT_NEWSCHED=y | |||
| 999 | # CONFIG_USB_ACM is not set | 1138 | # CONFIG_USB_ACM is not set |
| 1000 | CONFIG_USB_PRINTER=y | 1139 | CONFIG_USB_PRINTER=y |
| 1001 | # CONFIG_USB_WDM is not set | 1140 | # CONFIG_USB_WDM is not set |
| 1141 | # CONFIG_USB_TMC is not set | ||
| 1002 | 1142 | ||
| 1003 | # | 1143 | # |
| 1004 | # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' | 1144 | # NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may |
| 1005 | # | 1145 | # |
| 1006 | 1146 | ||
| 1007 | # | 1147 | # |
| 1008 | # may also be needed; see USB_STORAGE Help for more information | 1148 | # also be needed; see USB_STORAGE Help for more info |
| 1009 | # | 1149 | # |
| 1010 | CONFIG_USB_STORAGE=y | 1150 | CONFIG_USB_STORAGE=y |
| 1011 | # CONFIG_USB_STORAGE_DEBUG is not set | 1151 | # CONFIG_USB_STORAGE_DEBUG is not set |
| 1012 | CONFIG_USB_STORAGE_DATAFAB=y | 1152 | CONFIG_USB_STORAGE_DATAFAB=y |
| 1013 | CONFIG_USB_STORAGE_FREECOM=y | 1153 | CONFIG_USB_STORAGE_FREECOM=y |
| 1014 | # CONFIG_USB_STORAGE_ISD200 is not set | 1154 | # CONFIG_USB_STORAGE_ISD200 is not set |
| 1015 | CONFIG_USB_STORAGE_DPCM=y | ||
| 1016 | # CONFIG_USB_STORAGE_USBAT is not set | 1155 | # CONFIG_USB_STORAGE_USBAT is not set |
| 1017 | CONFIG_USB_STORAGE_SDDR09=y | 1156 | CONFIG_USB_STORAGE_SDDR09=y |
| 1018 | CONFIG_USB_STORAGE_SDDR55=y | 1157 | CONFIG_USB_STORAGE_SDDR55=y |
| @@ -1028,7 +1167,6 @@ CONFIG_USB_STORAGE_JUMPSHOT=y | |||
| 1028 | # | 1167 | # |
| 1029 | # CONFIG_USB_MDC800 is not set | 1168 | # CONFIG_USB_MDC800 is not set |
| 1030 | # CONFIG_USB_MICROTEK is not set | 1169 | # CONFIG_USB_MICROTEK is not set |
| 1031 | # CONFIG_USB_MON is not set | ||
| 1032 | 1170 | ||
| 1033 | # | 1171 | # |
| 1034 | # USB port drivers | 1172 | # USB port drivers |
| @@ -1041,7 +1179,7 @@ CONFIG_USB_STORAGE_JUMPSHOT=y | |||
| 1041 | # CONFIG_USB_EMI62 is not set | 1179 | # CONFIG_USB_EMI62 is not set |
| 1042 | # CONFIG_USB_EMI26 is not set | 1180 | # CONFIG_USB_EMI26 is not set |
| 1043 | # CONFIG_USB_ADUTUX is not set | 1181 | # CONFIG_USB_ADUTUX is not set |
| 1044 | # CONFIG_USB_AUERSWALD is not set | 1182 | # CONFIG_USB_SEVSEG is not set |
| 1045 | # CONFIG_USB_RIO500 is not set | 1183 | # CONFIG_USB_RIO500 is not set |
| 1046 | # CONFIG_USB_LEGOTOWER is not set | 1184 | # CONFIG_USB_LEGOTOWER is not set |
| 1047 | # CONFIG_USB_LCD is not set | 1185 | # CONFIG_USB_LCD is not set |
| @@ -1049,7 +1187,6 @@ CONFIG_USB_STORAGE_JUMPSHOT=y | |||
| 1049 | # CONFIG_USB_LED is not set | 1187 | # CONFIG_USB_LED is not set |
| 1050 | # CONFIG_USB_CYPRESS_CY7C63 is not set | 1188 | # CONFIG_USB_CYPRESS_CY7C63 is not set |
| 1051 | # CONFIG_USB_CYTHERM is not set | 1189 | # CONFIG_USB_CYTHERM is not set |
| 1052 | # CONFIG_USB_PHIDGET is not set | ||
| 1053 | # CONFIG_USB_IDMOUSE is not set | 1190 | # CONFIG_USB_IDMOUSE is not set |
| 1054 | # CONFIG_USB_FTDI_ELAN is not set | 1191 | # CONFIG_USB_FTDI_ELAN is not set |
| 1055 | # CONFIG_USB_APPLEDISPLAY is not set | 1192 | # CONFIG_USB_APPLEDISPLAY is not set |
| @@ -1059,14 +1196,29 @@ CONFIG_USB_STORAGE_JUMPSHOT=y | |||
| 1059 | # CONFIG_USB_IOWARRIOR is not set | 1196 | # CONFIG_USB_IOWARRIOR is not set |
| 1060 | # CONFIG_USB_TEST is not set | 1197 | # CONFIG_USB_TEST is not set |
| 1061 | # CONFIG_USB_ISIGHTFW is not set | 1198 | # CONFIG_USB_ISIGHTFW is not set |
| 1199 | # CONFIG_USB_VST is not set | ||
| 1062 | # CONFIG_USB_GADGET is not set | 1200 | # CONFIG_USB_GADGET is not set |
| 1201 | |||
| 1202 | # | ||
| 1203 | # OTG and related infrastructure | ||
| 1204 | # | ||
| 1205 | # CONFIG_USB_GPIO_VBUS is not set | ||
| 1206 | # CONFIG_NOP_USB_XCEIV is not set | ||
| 1207 | # CONFIG_UWB is not set | ||
| 1063 | # CONFIG_MMC is not set | 1208 | # CONFIG_MMC is not set |
| 1209 | # CONFIG_MEMSTICK is not set | ||
| 1210 | # CONFIG_ACCESSIBILITY is not set | ||
| 1064 | CONFIG_NEW_LEDS=y | 1211 | CONFIG_NEW_LEDS=y |
| 1065 | CONFIG_LEDS_CLASS=y | 1212 | CONFIG_LEDS_CLASS=y |
| 1066 | 1213 | ||
| 1067 | # | 1214 | # |
| 1068 | # LED drivers | 1215 | # LED drivers |
| 1069 | # | 1216 | # |
| 1217 | # CONFIG_LEDS_PCA9532 is not set | ||
| 1218 | # CONFIG_LEDS_GPIO is not set | ||
| 1219 | # CONFIG_LEDS_LP5521 is not set | ||
| 1220 | # CONFIG_LEDS_PCA955X is not set | ||
| 1221 | # CONFIG_LEDS_BD2802 is not set | ||
| 1070 | 1222 | ||
| 1071 | # | 1223 | # |
| 1072 | # LED Triggers | 1224 | # LED Triggers |
| @@ -1074,7 +1226,12 @@ CONFIG_LEDS_CLASS=y | |||
| 1074 | CONFIG_LEDS_TRIGGERS=y | 1226 | CONFIG_LEDS_TRIGGERS=y |
| 1075 | CONFIG_LEDS_TRIGGER_TIMER=y | 1227 | CONFIG_LEDS_TRIGGER_TIMER=y |
| 1076 | CONFIG_LEDS_TRIGGER_HEARTBEAT=y | 1228 | CONFIG_LEDS_TRIGGER_HEARTBEAT=y |
| 1229 | # CONFIG_LEDS_TRIGGER_BACKLIGHT is not set | ||
| 1077 | # CONFIG_LEDS_TRIGGER_DEFAULT_ON is not set | 1230 | # CONFIG_LEDS_TRIGGER_DEFAULT_ON is not set |
| 1231 | |||
| 1232 | # | ||
| 1233 | # iptables trigger is under Netfilter config (LED target) | ||
| 1234 | # | ||
| 1078 | CONFIG_RTC_LIB=y | 1235 | CONFIG_RTC_LIB=y |
| 1079 | CONFIG_RTC_CLASS=y | 1236 | CONFIG_RTC_CLASS=y |
| 1080 | CONFIG_RTC_HCTOSYS=y | 1237 | CONFIG_RTC_HCTOSYS=y |
| @@ -1105,6 +1262,8 @@ CONFIG_RTC_DRV_RS5C372=y | |||
| 1105 | CONFIG_RTC_DRV_M41T80=y | 1262 | CONFIG_RTC_DRV_M41T80=y |
| 1106 | # CONFIG_RTC_DRV_M41T80_WDT is not set | 1263 | # CONFIG_RTC_DRV_M41T80_WDT is not set |
| 1107 | # CONFIG_RTC_DRV_S35390A is not set | 1264 | # CONFIG_RTC_DRV_S35390A is not set |
| 1265 | # CONFIG_RTC_DRV_FM3130 is not set | ||
| 1266 | # CONFIG_RTC_DRV_RX8581 is not set | ||
| 1108 | 1267 | ||
| 1109 | # | 1268 | # |
| 1110 | # SPI RTC drivers | 1269 | # SPI RTC drivers |
| @@ -1114,18 +1273,25 @@ CONFIG_RTC_DRV_M41T80=y | |||
| 1114 | # Platform RTC drivers | 1273 | # Platform RTC drivers |
| 1115 | # | 1274 | # |
| 1116 | # CONFIG_RTC_DRV_CMOS is not set | 1275 | # CONFIG_RTC_DRV_CMOS is not set |
| 1276 | # CONFIG_RTC_DRV_DS1286 is not set | ||
| 1117 | # CONFIG_RTC_DRV_DS1511 is not set | 1277 | # CONFIG_RTC_DRV_DS1511 is not set |
| 1118 | # CONFIG_RTC_DRV_DS1553 is not set | 1278 | # CONFIG_RTC_DRV_DS1553 is not set |
| 1119 | # CONFIG_RTC_DRV_DS1742 is not set | 1279 | # CONFIG_RTC_DRV_DS1742 is not set |
| 1120 | # CONFIG_RTC_DRV_STK17TA8 is not set | 1280 | # CONFIG_RTC_DRV_STK17TA8 is not set |
| 1121 | # CONFIG_RTC_DRV_M48T86 is not set | 1281 | # CONFIG_RTC_DRV_M48T86 is not set |
| 1282 | # CONFIG_RTC_DRV_M48T35 is not set | ||
| 1122 | # CONFIG_RTC_DRV_M48T59 is not set | 1283 | # CONFIG_RTC_DRV_M48T59 is not set |
| 1284 | # CONFIG_RTC_DRV_BQ4802 is not set | ||
| 1123 | # CONFIG_RTC_DRV_V3020 is not set | 1285 | # CONFIG_RTC_DRV_V3020 is not set |
| 1124 | 1286 | ||
| 1125 | # | 1287 | # |
| 1126 | # on-CPU RTC drivers | 1288 | # on-CPU RTC drivers |
| 1127 | # | 1289 | # |
| 1290 | # CONFIG_DMADEVICES is not set | ||
| 1291 | # CONFIG_AUXDISPLAY is not set | ||
| 1292 | # CONFIG_REGULATOR is not set | ||
| 1128 | # CONFIG_UIO is not set | 1293 | # CONFIG_UIO is not set |
| 1294 | # CONFIG_STAGING is not set | ||
| 1129 | 1295 | ||
| 1130 | # | 1296 | # |
| 1131 | # File systems | 1297 | # File systems |
| @@ -1134,14 +1300,25 @@ CONFIG_EXT2_FS=y | |||
| 1134 | # CONFIG_EXT2_FS_XATTR is not set | 1300 | # CONFIG_EXT2_FS_XATTR is not set |
| 1135 | # CONFIG_EXT2_FS_XIP is not set | 1301 | # CONFIG_EXT2_FS_XIP is not set |
| 1136 | CONFIG_EXT3_FS=y | 1302 | CONFIG_EXT3_FS=y |
| 1303 | # CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set | ||
| 1137 | # CONFIG_EXT3_FS_XATTR is not set | 1304 | # CONFIG_EXT3_FS_XATTR is not set |
| 1138 | # CONFIG_EXT4DEV_FS is not set | 1305 | CONFIG_EXT4_FS=m |
| 1306 | # CONFIG_EXT4DEV_COMPAT is not set | ||
| 1307 | CONFIG_EXT4_FS_XATTR=y | ||
| 1308 | # CONFIG_EXT4_FS_POSIX_ACL is not set | ||
| 1309 | # CONFIG_EXT4_FS_SECURITY is not set | ||
| 1139 | CONFIG_JBD=y | 1310 | CONFIG_JBD=y |
| 1311 | # CONFIG_JBD_DEBUG is not set | ||
| 1312 | CONFIG_JBD2=m | ||
| 1313 | # CONFIG_JBD2_DEBUG is not set | ||
| 1314 | CONFIG_FS_MBCACHE=m | ||
| 1140 | # CONFIG_REISERFS_FS is not set | 1315 | # CONFIG_REISERFS_FS is not set |
| 1141 | # CONFIG_JFS_FS is not set | 1316 | # CONFIG_JFS_FS is not set |
| 1142 | # CONFIG_FS_POSIX_ACL is not set | 1317 | # CONFIG_FS_POSIX_ACL is not set |
| 1318 | CONFIG_FILE_LOCKING=y | ||
| 1143 | # CONFIG_XFS_FS is not set | 1319 | # CONFIG_XFS_FS is not set |
| 1144 | # CONFIG_OCFS2_FS is not set | 1320 | # CONFIG_OCFS2_FS is not set |
| 1321 | # CONFIG_BTRFS_FS is not set | ||
| 1145 | CONFIG_DNOTIFY=y | 1322 | CONFIG_DNOTIFY=y |
| 1146 | CONFIG_INOTIFY=y | 1323 | CONFIG_INOTIFY=y |
| 1147 | CONFIG_INOTIFY_USER=y | 1324 | CONFIG_INOTIFY_USER=y |
| @@ -1151,6 +1328,11 @@ CONFIG_INOTIFY_USER=y | |||
| 1151 | # CONFIG_FUSE_FS is not set | 1328 | # CONFIG_FUSE_FS is not set |
| 1152 | 1329 | ||
| 1153 | # | 1330 | # |
| 1331 | # Caches | ||
| 1332 | # | ||
| 1333 | # CONFIG_FSCACHE is not set | ||
| 1334 | |||
| 1335 | # | ||
| 1154 | # CD-ROM/DVD Filesystems | 1336 | # CD-ROM/DVD Filesystems |
| 1155 | # | 1337 | # |
| 1156 | CONFIG_ISO9660_FS=m | 1338 | CONFIG_ISO9660_FS=m |
| @@ -1174,15 +1356,13 @@ CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1" | |||
| 1174 | # | 1356 | # |
| 1175 | CONFIG_PROC_FS=y | 1357 | CONFIG_PROC_FS=y |
| 1176 | CONFIG_PROC_SYSCTL=y | 1358 | CONFIG_PROC_SYSCTL=y |
| 1359 | CONFIG_PROC_PAGE_MONITOR=y | ||
| 1177 | CONFIG_SYSFS=y | 1360 | CONFIG_SYSFS=y |
| 1178 | CONFIG_TMPFS=y | 1361 | CONFIG_TMPFS=y |
| 1179 | # CONFIG_TMPFS_POSIX_ACL is not set | 1362 | # CONFIG_TMPFS_POSIX_ACL is not set |
| 1180 | # CONFIG_HUGETLB_PAGE is not set | 1363 | # CONFIG_HUGETLB_PAGE is not set |
| 1181 | # CONFIG_CONFIGFS_FS is not set | 1364 | # CONFIG_CONFIGFS_FS is not set |
| 1182 | 1365 | CONFIG_MISC_FILESYSTEMS=y | |
| 1183 | # | ||
| 1184 | # Miscellaneous filesystems | ||
| 1185 | # | ||
| 1186 | # CONFIG_ADFS_FS is not set | 1366 | # CONFIG_ADFS_FS is not set |
| 1187 | # CONFIG_AFFS_FS is not set | 1367 | # CONFIG_AFFS_FS is not set |
| 1188 | # CONFIG_HFS_FS is not set | 1368 | # CONFIG_HFS_FS is not set |
| @@ -1202,25 +1382,27 @@ CONFIG_JFFS2_ZLIB=y | |||
| 1202 | CONFIG_JFFS2_RTIME=y | 1382 | CONFIG_JFFS2_RTIME=y |
| 1203 | # CONFIG_JFFS2_RUBIN is not set | 1383 | # CONFIG_JFFS2_RUBIN is not set |
| 1204 | CONFIG_CRAMFS=y | 1384 | CONFIG_CRAMFS=y |
| 1385 | # CONFIG_SQUASHFS is not set | ||
| 1205 | # CONFIG_VXFS_FS is not set | 1386 | # CONFIG_VXFS_FS is not set |
| 1206 | # CONFIG_MINIX_FS is not set | 1387 | # CONFIG_MINIX_FS is not set |
| 1388 | # CONFIG_OMFS_FS is not set | ||
| 1207 | # CONFIG_HPFS_FS is not set | 1389 | # CONFIG_HPFS_FS is not set |
| 1208 | # CONFIG_QNX4FS_FS is not set | 1390 | # CONFIG_QNX4FS_FS is not set |
| 1209 | # CONFIG_ROMFS_FS is not set | 1391 | # CONFIG_ROMFS_FS is not set |
| 1210 | # CONFIG_SYSV_FS is not set | 1392 | # CONFIG_SYSV_FS is not set |
| 1211 | # CONFIG_UFS_FS is not set | 1393 | # CONFIG_UFS_FS is not set |
| 1394 | # CONFIG_NILFS2_FS is not set | ||
| 1212 | CONFIG_NETWORK_FILESYSTEMS=y | 1395 | CONFIG_NETWORK_FILESYSTEMS=y |
| 1213 | CONFIG_NFS_FS=y | 1396 | CONFIG_NFS_FS=y |
| 1214 | CONFIG_NFS_V3=y | 1397 | CONFIG_NFS_V3=y |
| 1215 | # CONFIG_NFS_V3_ACL is not set | 1398 | # CONFIG_NFS_V3_ACL is not set |
| 1216 | # CONFIG_NFS_V4 is not set | 1399 | # CONFIG_NFS_V4 is not set |
| 1217 | # CONFIG_NFSD is not set | ||
| 1218 | CONFIG_ROOT_NFS=y | 1400 | CONFIG_ROOT_NFS=y |
| 1401 | # CONFIG_NFSD is not set | ||
| 1219 | CONFIG_LOCKD=y | 1402 | CONFIG_LOCKD=y |
| 1220 | CONFIG_LOCKD_V4=y | 1403 | CONFIG_LOCKD_V4=y |
| 1221 | CONFIG_NFS_COMMON=y | 1404 | CONFIG_NFS_COMMON=y |
| 1222 | CONFIG_SUNRPC=y | 1405 | CONFIG_SUNRPC=y |
| 1223 | # CONFIG_SUNRPC_BIND34 is not set | ||
| 1224 | # CONFIG_RPCSEC_GSS_KRB5 is not set | 1406 | # CONFIG_RPCSEC_GSS_KRB5 is not set |
| 1225 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | 1407 | # CONFIG_RPCSEC_GSS_SPKM3 is not set |
| 1226 | # CONFIG_SMB_FS is not set | 1408 | # CONFIG_SMB_FS is not set |
| @@ -1301,11 +1483,16 @@ CONFIG_ENABLE_MUST_CHECK=y | |||
| 1301 | CONFIG_FRAME_WARN=1024 | 1483 | CONFIG_FRAME_WARN=1024 |
| 1302 | CONFIG_MAGIC_SYSRQ=y | 1484 | CONFIG_MAGIC_SYSRQ=y |
| 1303 | # CONFIG_UNUSED_SYMBOLS is not set | 1485 | # CONFIG_UNUSED_SYMBOLS is not set |
| 1304 | # CONFIG_DEBUG_FS is not set | 1486 | CONFIG_DEBUG_FS=y |
| 1305 | # CONFIG_HEADERS_CHECK is not set | 1487 | # CONFIG_HEADERS_CHECK is not set |
| 1306 | CONFIG_DEBUG_KERNEL=y | 1488 | CONFIG_DEBUG_KERNEL=y |
| 1307 | # CONFIG_DEBUG_SHIRQ is not set | 1489 | # CONFIG_DEBUG_SHIRQ is not set |
| 1308 | CONFIG_DETECT_SOFTLOCKUP=y | 1490 | CONFIG_DETECT_SOFTLOCKUP=y |
| 1491 | # CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set | ||
| 1492 | CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0 | ||
| 1493 | CONFIG_DETECT_HUNG_TASK=y | ||
| 1494 | # CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set | ||
| 1495 | CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=0 | ||
| 1309 | CONFIG_SCHED_DEBUG=y | 1496 | CONFIG_SCHED_DEBUG=y |
| 1310 | CONFIG_SCHEDSTATS=y | 1497 | CONFIG_SCHEDSTATS=y |
| 1311 | # CONFIG_TIMER_STATS is not set | 1498 | # CONFIG_TIMER_STATS is not set |
| @@ -1320,22 +1507,55 @@ CONFIG_DEBUG_PREEMPT=y | |||
| 1320 | # CONFIG_LOCK_STAT is not set | 1507 | # CONFIG_LOCK_STAT is not set |
| 1321 | # CONFIG_DEBUG_SPINLOCK_SLEEP is not set | 1508 | # CONFIG_DEBUG_SPINLOCK_SLEEP is not set |
| 1322 | # CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set | 1509 | # CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set |
| 1510 | CONFIG_STACKTRACE=y | ||
| 1323 | # CONFIG_DEBUG_KOBJECT is not set | 1511 | # CONFIG_DEBUG_KOBJECT is not set |
| 1512 | # CONFIG_DEBUG_HIGHMEM is not set | ||
| 1324 | # CONFIG_DEBUG_BUGVERBOSE is not set | 1513 | # CONFIG_DEBUG_BUGVERBOSE is not set |
| 1325 | CONFIG_DEBUG_INFO=y | 1514 | CONFIG_DEBUG_INFO=y |
| 1326 | # CONFIG_DEBUG_VM is not set | 1515 | # CONFIG_DEBUG_VM is not set |
| 1327 | # CONFIG_DEBUG_WRITECOUNT is not set | 1516 | # CONFIG_DEBUG_WRITECOUNT is not set |
| 1517 | # CONFIG_DEBUG_MEMORY_INIT is not set | ||
| 1328 | # CONFIG_DEBUG_LIST is not set | 1518 | # CONFIG_DEBUG_LIST is not set |
| 1329 | # CONFIG_DEBUG_SG is not set | 1519 | # CONFIG_DEBUG_SG is not set |
| 1330 | CONFIG_FRAME_POINTER=y | 1520 | # CONFIG_DEBUG_NOTIFIERS is not set |
| 1331 | # CONFIG_BOOT_PRINTK_DELAY is not set | 1521 | # CONFIG_BOOT_PRINTK_DELAY is not set |
| 1332 | # CONFIG_RCU_TORTURE_TEST is not set | 1522 | # CONFIG_RCU_TORTURE_TEST is not set |
| 1523 | # CONFIG_RCU_CPU_STALL_DETECTOR is not set | ||
| 1333 | # CONFIG_KPROBES_SANITY_TEST is not set | 1524 | # CONFIG_KPROBES_SANITY_TEST is not set |
| 1334 | # CONFIG_BACKTRACE_SELF_TEST is not set | 1525 | # CONFIG_BACKTRACE_SELF_TEST is not set |
| 1526 | # CONFIG_DEBUG_BLOCK_EXT_DEVT is not set | ||
| 1335 | # CONFIG_LKDTM is not set | 1527 | # CONFIG_LKDTM is not set |
| 1336 | # CONFIG_FAULT_INJECTION is not set | 1528 | # CONFIG_FAULT_INJECTION is not set |
| 1337 | # CONFIG_LATENCYTOP is not set | 1529 | # CONFIG_LATENCYTOP is not set |
| 1530 | CONFIG_SYSCTL_SYSCALL_CHECK=y | ||
| 1531 | # CONFIG_PAGE_POISONING is not set | ||
| 1532 | CONFIG_NOP_TRACER=y | ||
| 1533 | CONFIG_HAVE_FUNCTION_TRACER=y | ||
| 1534 | CONFIG_RING_BUFFER=y | ||
| 1535 | CONFIG_TRACING=y | ||
| 1536 | CONFIG_TRACING_SUPPORT=y | ||
| 1537 | |||
| 1538 | # | ||
| 1539 | # Tracers | ||
| 1540 | # | ||
| 1541 | # CONFIG_FUNCTION_TRACER is not set | ||
| 1542 | # CONFIG_IRQSOFF_TRACER is not set | ||
| 1543 | # CONFIG_PREEMPT_TRACER is not set | ||
| 1544 | # CONFIG_SCHED_TRACER is not set | ||
| 1545 | # CONFIG_CONTEXT_SWITCH_TRACER is not set | ||
| 1546 | # CONFIG_EVENT_TRACER is not set | ||
| 1547 | # CONFIG_BOOT_TRACER is not set | ||
| 1548 | # CONFIG_TRACE_BRANCH_PROFILING is not set | ||
| 1549 | # CONFIG_STACK_TRACER is not set | ||
| 1550 | # CONFIG_KMEMTRACE is not set | ||
| 1551 | # CONFIG_WORKQUEUE_TRACER is not set | ||
| 1552 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
| 1553 | # CONFIG_FTRACE_STARTUP_TEST is not set | ||
| 1554 | # CONFIG_DYNAMIC_DEBUG is not set | ||
| 1338 | # CONFIG_SAMPLES is not set | 1555 | # CONFIG_SAMPLES is not set |
| 1556 | CONFIG_HAVE_ARCH_KGDB=y | ||
| 1557 | # CONFIG_KGDB is not set | ||
| 1558 | CONFIG_ARM_UNWIND=y | ||
| 1339 | CONFIG_DEBUG_USER=y | 1559 | CONFIG_DEBUG_USER=y |
| 1340 | CONFIG_DEBUG_ERRORS=y | 1560 | CONFIG_DEBUG_ERRORS=y |
| 1341 | # CONFIG_DEBUG_STACK_USAGE is not set | 1561 | # CONFIG_DEBUG_STACK_USAGE is not set |
| @@ -1347,17 +1567,27 @@ CONFIG_DEBUG_LL=y | |||
| 1347 | # | 1567 | # |
| 1348 | # CONFIG_KEYS is not set | 1568 | # CONFIG_KEYS is not set |
| 1349 | # CONFIG_SECURITY is not set | 1569 | # CONFIG_SECURITY is not set |
| 1570 | # CONFIG_SECURITYFS is not set | ||
| 1350 | # CONFIG_SECURITY_FILE_CAPABILITIES is not set | 1571 | # CONFIG_SECURITY_FILE_CAPABILITIES is not set |
| 1351 | CONFIG_CRYPTO=y | 1572 | CONFIG_CRYPTO=y |
| 1352 | 1573 | ||
| 1353 | # | 1574 | # |
| 1354 | # Crypto core or helper | 1575 | # Crypto core or helper |
| 1355 | # | 1576 | # |
| 1577 | # CONFIG_CRYPTO_FIPS is not set | ||
| 1356 | CONFIG_CRYPTO_ALGAPI=m | 1578 | CONFIG_CRYPTO_ALGAPI=m |
| 1579 | CONFIG_CRYPTO_ALGAPI2=m | ||
| 1580 | CONFIG_CRYPTO_AEAD2=m | ||
| 1357 | CONFIG_CRYPTO_BLKCIPHER=m | 1581 | CONFIG_CRYPTO_BLKCIPHER=m |
| 1582 | CONFIG_CRYPTO_BLKCIPHER2=m | ||
| 1583 | CONFIG_CRYPTO_HASH2=m | ||
| 1584 | CONFIG_CRYPTO_RNG2=m | ||
| 1585 | CONFIG_CRYPTO_PCOMP=m | ||
| 1358 | CONFIG_CRYPTO_MANAGER=m | 1586 | CONFIG_CRYPTO_MANAGER=m |
| 1587 | CONFIG_CRYPTO_MANAGER2=m | ||
| 1359 | # CONFIG_CRYPTO_GF128MUL is not set | 1588 | # CONFIG_CRYPTO_GF128MUL is not set |
| 1360 | # CONFIG_CRYPTO_NULL is not set | 1589 | # CONFIG_CRYPTO_NULL is not set |
| 1590 | CONFIG_CRYPTO_WORKQUEUE=m | ||
| 1361 | # CONFIG_CRYPTO_CRYPTD is not set | 1591 | # CONFIG_CRYPTO_CRYPTD is not set |
| 1362 | # CONFIG_CRYPTO_AUTHENC is not set | 1592 | # CONFIG_CRYPTO_AUTHENC is not set |
| 1363 | # CONFIG_CRYPTO_TEST is not set | 1593 | # CONFIG_CRYPTO_TEST is not set |
| @@ -1393,6 +1623,10 @@ CONFIG_CRYPTO_PCBC=m | |||
| 1393 | # CONFIG_CRYPTO_MD4 is not set | 1623 | # CONFIG_CRYPTO_MD4 is not set |
| 1394 | # CONFIG_CRYPTO_MD5 is not set | 1624 | # CONFIG_CRYPTO_MD5 is not set |
| 1395 | # CONFIG_CRYPTO_MICHAEL_MIC is not set | 1625 | # CONFIG_CRYPTO_MICHAEL_MIC is not set |
| 1626 | # CONFIG_CRYPTO_RMD128 is not set | ||
| 1627 | # CONFIG_CRYPTO_RMD160 is not set | ||
| 1628 | # CONFIG_CRYPTO_RMD256 is not set | ||
| 1629 | # CONFIG_CRYPTO_RMD320 is not set | ||
| 1396 | # CONFIG_CRYPTO_SHA1 is not set | 1630 | # CONFIG_CRYPTO_SHA1 is not set |
| 1397 | # CONFIG_CRYPTO_SHA256 is not set | 1631 | # CONFIG_CRYPTO_SHA256 is not set |
| 1398 | # CONFIG_CRYPTO_SHA512 is not set | 1632 | # CONFIG_CRYPTO_SHA512 is not set |
| @@ -1422,25 +1656,32 @@ CONFIG_CRYPTO_PCBC=m | |||
| 1422 | # Compression | 1656 | # Compression |
| 1423 | # | 1657 | # |
| 1424 | # CONFIG_CRYPTO_DEFLATE is not set | 1658 | # CONFIG_CRYPTO_DEFLATE is not set |
| 1659 | # CONFIG_CRYPTO_ZLIB is not set | ||
| 1425 | # CONFIG_CRYPTO_LZO is not set | 1660 | # CONFIG_CRYPTO_LZO is not set |
| 1661 | |||
| 1662 | # | ||
| 1663 | # Random Number Generation | ||
| 1664 | # | ||
| 1665 | # CONFIG_CRYPTO_ANSI_CPRNG is not set | ||
| 1426 | CONFIG_CRYPTO_HW=y | 1666 | CONFIG_CRYPTO_HW=y |
| 1427 | # CONFIG_CRYPTO_DEV_HIFN_795X is not set | 1667 | # CONFIG_CRYPTO_DEV_HIFN_795X is not set |
| 1668 | CONFIG_BINARY_PRINTF=y | ||
| 1428 | 1669 | ||
| 1429 | # | 1670 | # |
| 1430 | # Library routines | 1671 | # Library routines |
| 1431 | # | 1672 | # |
| 1432 | CONFIG_BITREVERSE=y | 1673 | CONFIG_BITREVERSE=y |
| 1433 | # CONFIG_GENERIC_FIND_FIRST_BIT is not set | 1674 | CONFIG_GENERIC_FIND_LAST_BIT=y |
| 1434 | # CONFIG_GENERIC_FIND_NEXT_BIT is not set | ||
| 1435 | # CONFIG_CRC_CCITT is not set | 1675 | # CONFIG_CRC_CCITT is not set |
| 1436 | # CONFIG_CRC16 is not set | 1676 | CONFIG_CRC16=m |
| 1677 | # CONFIG_CRC_T10DIF is not set | ||
| 1437 | CONFIG_CRC_ITU_T=m | 1678 | CONFIG_CRC_ITU_T=m |
| 1438 | CONFIG_CRC32=y | 1679 | CONFIG_CRC32=y |
| 1439 | # CONFIG_CRC7 is not set | 1680 | # CONFIG_CRC7 is not set |
| 1440 | # CONFIG_LIBCRC32C is not set | 1681 | # CONFIG_LIBCRC32C is not set |
| 1441 | CONFIG_ZLIB_INFLATE=y | 1682 | CONFIG_ZLIB_INFLATE=y |
| 1442 | CONFIG_ZLIB_DEFLATE=y | 1683 | CONFIG_ZLIB_DEFLATE=y |
| 1443 | CONFIG_PLIST=y | ||
| 1444 | CONFIG_HAS_IOMEM=y | 1684 | CONFIG_HAS_IOMEM=y |
| 1445 | CONFIG_HAS_IOPORT=y | 1685 | CONFIG_HAS_IOPORT=y |
| 1446 | CONFIG_HAS_DMA=y | 1686 | CONFIG_HAS_DMA=y |
| 1687 | CONFIG_NLATTR=y | ||
diff --git a/arch/arm/configs/mx31moboard_defconfig b/arch/arm/configs/mx31moboard_defconfig deleted file mode 100644 index e90f86d6deef..000000000000 --- a/arch/arm/configs/mx31moboard_defconfig +++ /dev/null | |||
| @@ -1,790 +0,0 @@ | |||
| 1 | # | ||
| 2 | # Automatically generated make config: don't edit | ||
| 3 | # Linux kernel version: 2.6.27-rc5 | ||
| 4 | # Fri Oct 24 11:41:22 2008 | ||
| 5 | # | ||
| 6 | CONFIG_ARM=y | ||
| 7 | CONFIG_SYS_SUPPORTS_APM_EMULATION=y | ||
| 8 | CONFIG_GENERIC_GPIO=y | ||
| 9 | CONFIG_GENERIC_TIME=y | ||
| 10 | CONFIG_GENERIC_CLOCKEVENTS=y | ||
| 11 | CONFIG_MMU=y | ||
| 12 | # CONFIG_NO_IOPORT is not set | ||
| 13 | CONFIG_GENERIC_HARDIRQS=y | ||
| 14 | CONFIG_STACKTRACE_SUPPORT=y | ||
| 15 | CONFIG_HAVE_LATENCYTOP_SUPPORT=y | ||
| 16 | CONFIG_LOCKDEP_SUPPORT=y | ||
| 17 | CONFIG_TRACE_IRQFLAGS_SUPPORT=y | ||
| 18 | CONFIG_HARDIRQS_SW_RESEND=y | ||
| 19 | CONFIG_GENERIC_IRQ_PROBE=y | ||
| 20 | CONFIG_RWSEM_GENERIC_SPINLOCK=y | ||
| 21 | # CONFIG_ARCH_HAS_ILOG2_U32 is not set | ||
| 22 | # CONFIG_ARCH_HAS_ILOG2_U64 is not set | ||
| 23 | CONFIG_GENERIC_HWEIGHT=y | ||
| 24 | CONFIG_GENERIC_CALIBRATE_DELAY=y | ||
| 25 | CONFIG_ARCH_SUPPORTS_AOUT=y | ||
| 26 | CONFIG_ZONE_DMA=y | ||
| 27 | CONFIG_ARCH_MTD_XIP=y | ||
| 28 | CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y | ||
| 29 | CONFIG_VECTORS_BASE=0xffff0000 | ||
| 30 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | ||
| 31 | |||
| 32 | # | ||
| 33 | # General setup | ||
| 34 | # | ||
| 35 | CONFIG_EXPERIMENTAL=y | ||
| 36 | CONFIG_BROKEN_ON_SMP=y | ||
| 37 | CONFIG_LOCK_KERNEL=y | ||
| 38 | CONFIG_INIT_ENV_ARG_LIMIT=32 | ||
| 39 | CONFIG_LOCALVERSION="" | ||
| 40 | CONFIG_LOCALVERSION_AUTO=y | ||
| 41 | CONFIG_SWAP=y | ||
| 42 | CONFIG_SYSVIPC=y | ||
| 43 | CONFIG_SYSVIPC_SYSCTL=y | ||
| 44 | # CONFIG_POSIX_MQUEUE is not set | ||
| 45 | # CONFIG_BSD_PROCESS_ACCT is not set | ||
| 46 | # CONFIG_TASKSTATS is not set | ||
| 47 | # CONFIG_AUDIT is not set | ||
| 48 | CONFIG_IKCONFIG=y | ||
| 49 | CONFIG_IKCONFIG_PROC=y | ||
| 50 | CONFIG_LOG_BUF_SHIFT=14 | ||
| 51 | # CONFIG_CGROUPS is not set | ||
| 52 | CONFIG_GROUP_SCHED=y | ||
| 53 | CONFIG_FAIR_GROUP_SCHED=y | ||
| 54 | # CONFIG_RT_GROUP_SCHED is not set | ||
| 55 | CONFIG_USER_SCHED=y | ||
| 56 | # CONFIG_CGROUP_SCHED is not set | ||
| 57 | CONFIG_SYSFS_DEPRECATED=y | ||
| 58 | CONFIG_SYSFS_DEPRECATED_V2=y | ||
| 59 | # CONFIG_RELAY is not set | ||
| 60 | # CONFIG_NAMESPACES is not set | ||
| 61 | # CONFIG_BLK_DEV_INITRD is not set | ||
| 62 | CONFIG_CC_OPTIMIZE_FOR_SIZE=y | ||
| 63 | CONFIG_SYSCTL=y | ||
| 64 | CONFIG_EMBEDDED=y | ||
| 65 | CONFIG_UID16=y | ||
| 66 | CONFIG_SYSCTL_SYSCALL=y | ||
| 67 | CONFIG_KALLSYMS=y | ||
| 68 | # CONFIG_KALLSYMS_EXTRA_PASS is not set | ||
| 69 | CONFIG_HOTPLUG=y | ||
| 70 | CONFIG_PRINTK=y | ||
| 71 | CONFIG_BUG=y | ||
| 72 | CONFIG_ELF_CORE=y | ||
| 73 | CONFIG_COMPAT_BRK=y | ||
| 74 | CONFIG_BASE_FULL=y | ||
| 75 | CONFIG_FUTEX=y | ||
| 76 | CONFIG_ANON_INODES=y | ||
| 77 | CONFIG_EPOLL=y | ||
| 78 | CONFIG_SIGNALFD=y | ||
| 79 | CONFIG_TIMERFD=y | ||
| 80 | CONFIG_EVENTFD=y | ||
| 81 | CONFIG_SHMEM=y | ||
| 82 | CONFIG_VM_EVENT_COUNTERS=y | ||
| 83 | CONFIG_SLAB=y | ||
| 84 | # CONFIG_SLUB is not set | ||
| 85 | # CONFIG_SLOB is not set | ||
| 86 | # CONFIG_PROFILING is not set | ||
| 87 | # CONFIG_MARKERS is not set | ||
| 88 | CONFIG_HAVE_OPROFILE=y | ||
| 89 | # CONFIG_KPROBES is not set | ||
| 90 | # CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS is not set | ||
| 91 | # CONFIG_HAVE_IOREMAP_PROT is not set | ||
| 92 | CONFIG_HAVE_KPROBES=y | ||
| 93 | CONFIG_HAVE_KRETPROBES=y | ||
| 94 | # CONFIG_HAVE_ARCH_TRACEHOOK is not set | ||
| 95 | # CONFIG_HAVE_DMA_ATTRS is not set | ||
| 96 | # CONFIG_USE_GENERIC_SMP_HELPERS is not set | ||
| 97 | # CONFIG_HAVE_CLK is not set | ||
| 98 | CONFIG_PROC_PAGE_MONITOR=y | ||
| 99 | CONFIG_HAVE_GENERIC_DMA_COHERENT=y | ||
| 100 | CONFIG_SLABINFO=y | ||
| 101 | CONFIG_RT_MUTEXES=y | ||
| 102 | # CONFIG_TINY_SHMEM is not set | ||
| 103 | CONFIG_BASE_SMALL=0 | ||
| 104 | CONFIG_MODULES=y | ||
| 105 | # CONFIG_MODULE_FORCE_LOAD is not set | ||
| 106 | CONFIG_MODULE_UNLOAD=y | ||
| 107 | CONFIG_MODULE_FORCE_UNLOAD=y | ||
| 108 | CONFIG_MODVERSIONS=y | ||
| 109 | # CONFIG_MODULE_SRCVERSION_ALL is not set | ||
| 110 | CONFIG_KMOD=y | ||
| 111 | CONFIG_BLOCK=y | ||
| 112 | # CONFIG_LBD is not set | ||
| 113 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
| 114 | # CONFIG_LSF is not set | ||
| 115 | # CONFIG_BLK_DEV_BSG is not set | ||
| 116 | # CONFIG_BLK_DEV_INTEGRITY is not set | ||
| 117 | |||
| 118 | # | ||
| 119 | # IO Schedulers | ||
| 120 | # | ||
| 121 | CONFIG_IOSCHED_NOOP=y | ||
| 122 | CONFIG_IOSCHED_AS=y | ||
| 123 | CONFIG_IOSCHED_DEADLINE=y | ||
| 124 | CONFIG_IOSCHED_CFQ=y | ||
| 125 | # CONFIG_DEFAULT_AS is not set | ||
| 126 | # CONFIG_DEFAULT_DEADLINE is not set | ||
| 127 | CONFIG_DEFAULT_CFQ=y | ||
| 128 | # CONFIG_DEFAULT_NOOP is not set | ||
| 129 | CONFIG_DEFAULT_IOSCHED="cfq" | ||
| 130 | CONFIG_CLASSIC_RCU=y | ||
| 131 | |||
| 132 | # | ||
| 133 | # System Type | ||
| 134 | # | ||
| 135 | # CONFIG_ARCH_AAEC2000 is not set | ||
| 136 | # CONFIG_ARCH_INTEGRATOR is not set | ||
| 137 | # CONFIG_ARCH_REALVIEW is not set | ||
| 138 | # CONFIG_ARCH_VERSATILE is not set | ||
| 139 | # CONFIG_ARCH_AT91 is not set | ||
| 140 | # CONFIG_ARCH_CLPS7500 is not set | ||
| 141 | # CONFIG_ARCH_CLPS711X is not set | ||
| 142 | # CONFIG_ARCH_EBSA110 is not set | ||
| 143 | # CONFIG_ARCH_EP93XX is not set | ||
| 144 | # CONFIG_ARCH_FOOTBRIDGE is not set | ||
| 145 | # CONFIG_ARCH_NETX is not set | ||
| 146 | # CONFIG_ARCH_H720X is not set | ||
| 147 | # CONFIG_ARCH_IMX is not set | ||
| 148 | # CONFIG_ARCH_IOP13XX is not set | ||
| 149 | # CONFIG_ARCH_IOP32X is not set | ||
| 150 | # CONFIG_ARCH_IOP33X is not set | ||
| 151 | # CONFIG_ARCH_IXP23XX is not set | ||
| 152 | # CONFIG_ARCH_IXP2000 is not set | ||
| 153 | # CONFIG_ARCH_IXP4XX is not set | ||
| 154 | # CONFIG_ARCH_L7200 is not set | ||
| 155 | # CONFIG_ARCH_KIRKWOOD is not set | ||
| 156 | # CONFIG_ARCH_KS8695 is not set | ||
| 157 | # CONFIG_ARCH_NS9XXX is not set | ||
| 158 | # CONFIG_ARCH_LOKI is not set | ||
| 159 | # CONFIG_ARCH_MV78XX0 is not set | ||
| 160 | CONFIG_ARCH_MXC=y | ||
| 161 | # CONFIG_ARCH_ORION5X is not set | ||
| 162 | # CONFIG_ARCH_PNX4008 is not set | ||
| 163 | # CONFIG_ARCH_PXA is not set | ||
| 164 | # CONFIG_ARCH_RPC is not set | ||
| 165 | # CONFIG_ARCH_SA1100 is not set | ||
| 166 | # CONFIG_ARCH_S3C2410 is not set | ||
| 167 | # CONFIG_ARCH_SHARK is not set | ||
| 168 | # CONFIG_ARCH_LH7A40X is not set | ||
| 169 | # CONFIG_ARCH_DAVINCI is not set | ||
| 170 | # CONFIG_ARCH_OMAP is not set | ||
| 171 | # CONFIG_ARCH_MSM7X00A is not set | ||
| 172 | |||
| 173 | # | ||
| 174 | # Boot options | ||
| 175 | # | ||
| 176 | |||
| 177 | # | ||
| 178 | # Power management | ||
| 179 | # | ||
| 180 | |||
| 181 | # | ||
| 182 | # Freescale MXC Implementations | ||
| 183 | # | ||
| 184 | # CONFIG_ARCH_MX2 is not set | ||
| 185 | CONFIG_ARCH_MX3=y | ||
| 186 | |||
| 187 | # | ||
| 188 | # MX3 Options | ||
| 189 | # | ||
| 190 | # CONFIG_MACH_MX31ADS is not set | ||
| 191 | # CONFIG_MACH_PCM037 is not set | ||
| 192 | # CONFIG_MACH_MX31LITE is not set | ||
| 193 | CONFIG_MACH_MX31MOBOARD=y | ||
| 194 | # CONFIG_MXC_IRQ_PRIOR is not set | ||
| 195 | |||
| 196 | # | ||
| 197 | # Processor Type | ||
| 198 | # | ||
| 199 | CONFIG_CPU_32=y | ||
| 200 | CONFIG_CPU_V6=y | ||
| 201 | # CONFIG_CPU_32v6K is not set | ||
| 202 | CONFIG_CPU_32v6=y | ||
| 203 | CONFIG_CPU_ABRT_EV6=y | ||
| 204 | CONFIG_CPU_PABRT_NOIFAR=y | ||
| 205 | CONFIG_CPU_CACHE_V6=y | ||
| 206 | CONFIG_CPU_CACHE_VIPT=y | ||
| 207 | CONFIG_CPU_COPY_V6=y | ||
| 208 | CONFIG_CPU_TLB_V6=y | ||
| 209 | CONFIG_CPU_HAS_ASID=y | ||
| 210 | CONFIG_CPU_CP15=y | ||
| 211 | CONFIG_CPU_CP15_MMU=y | ||
| 212 | |||
| 213 | # | ||
| 214 | # Processor Features | ||
| 215 | # | ||
| 216 | CONFIG_ARM_THUMB=y | ||
| 217 | # CONFIG_CPU_ICACHE_DISABLE is not set | ||
| 218 | # CONFIG_CPU_DCACHE_DISABLE is not set | ||
| 219 | # CONFIG_CPU_BPREDICT_DISABLE is not set | ||
| 220 | # CONFIG_OUTER_CACHE is not set | ||
| 221 | |||
| 222 | # | ||
| 223 | # Bus support | ||
| 224 | # | ||
| 225 | # CONFIG_PCI_SYSCALL is not set | ||
| 226 | # CONFIG_ARCH_SUPPORTS_MSI is not set | ||
| 227 | # CONFIG_PCCARD is not set | ||
| 228 | |||
| 229 | # | ||
| 230 | # Kernel Features | ||
| 231 | # | ||
| 232 | CONFIG_TICK_ONESHOT=y | ||
| 233 | CONFIG_NO_HZ=y | ||
| 234 | CONFIG_HIGH_RES_TIMERS=y | ||
| 235 | CONFIG_GENERIC_CLOCKEVENTS_BUILD=y | ||
| 236 | CONFIG_PREEMPT=y | ||
| 237 | CONFIG_HZ=100 | ||
| 238 | CONFIG_AEABI=y | ||
| 239 | # CONFIG_OABI_COMPAT is not set | ||
| 240 | CONFIG_ARCH_FLATMEM_HAS_HOLES=y | ||
| 241 | # CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set | ||
| 242 | CONFIG_SELECT_MEMORY_MODEL=y | ||
| 243 | CONFIG_FLATMEM_MANUAL=y | ||
| 244 | # CONFIG_DISCONTIGMEM_MANUAL is not set | ||
| 245 | # CONFIG_SPARSEMEM_MANUAL is not set | ||
| 246 | CONFIG_FLATMEM=y | ||
| 247 | CONFIG_FLAT_NODE_MEM_MAP=y | ||
| 248 | # CONFIG_SPARSEMEM_STATIC is not set | ||
| 249 | # CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set | ||
| 250 | CONFIG_PAGEFLAGS_EXTENDED=y | ||
| 251 | CONFIG_SPLIT_PTLOCK_CPUS=4 | ||
| 252 | # CONFIG_RESOURCES_64BIT is not set | ||
| 253 | CONFIG_ZONE_DMA_FLAG=1 | ||
| 254 | CONFIG_BOUNCE=y | ||
| 255 | CONFIG_VIRT_TO_BUS=y | ||
| 256 | CONFIG_ALIGNMENT_TRAP=y | ||
| 257 | |||
| 258 | # | ||
| 259 | # Boot options | ||
| 260 | # | ||
| 261 | CONFIG_ZBOOT_ROM_TEXT=0x0 | ||
| 262 | CONFIG_ZBOOT_ROM_BSS=0x0 | ||
| 263 | CONFIG_CMDLINE="noinitrd console=ttymxc0,115200 root=/dev/mtdblock2 rw ip=off" | ||
| 264 | # CONFIG_XIP_KERNEL is not set | ||
| 265 | # CONFIG_KEXEC is not set | ||
| 266 | |||
| 267 | # | ||
| 268 | # Floating point emulation | ||
| 269 | # | ||
| 270 | |||
| 271 | # | ||
| 272 | # At least one emulation must be selected | ||
| 273 | # | ||
| 274 | CONFIG_VFP=y | ||
| 275 | |||
| 276 | # | ||
| 277 | # Userspace binary formats | ||
| 278 | # | ||
| 279 | CONFIG_BINFMT_ELF=y | ||
| 280 | # CONFIG_BINFMT_AOUT is not set | ||
| 281 | # CONFIG_BINFMT_MISC is not set | ||
| 282 | |||
| 283 | # | ||
| 284 | # Power management options | ||
| 285 | # | ||
| 286 | # CONFIG_PM is not set | ||
| 287 | CONFIG_ARCH_SUSPEND_POSSIBLE=y | ||
| 288 | CONFIG_NET=y | ||
| 289 | |||
| 290 | # | ||
| 291 | # Networking options | ||
| 292 | # | ||
| 293 | CONFIG_PACKET=y | ||
| 294 | # CONFIG_PACKET_MMAP is not set | ||
| 295 | CONFIG_UNIX=y | ||
| 296 | # CONFIG_NET_KEY is not set | ||
| 297 | CONFIG_INET=y | ||
| 298 | # CONFIG_IP_MULTICAST is not set | ||
| 299 | # CONFIG_IP_ADVANCED_ROUTER is not set | ||
| 300 | CONFIG_IP_FIB_HASH=y | ||
| 301 | CONFIG_IP_PNP=y | ||
| 302 | CONFIG_IP_PNP_DHCP=y | ||
| 303 | # CONFIG_IP_PNP_BOOTP is not set | ||
| 304 | # CONFIG_IP_PNP_RARP is not set | ||
| 305 | # CONFIG_NET_IPIP is not set | ||
| 306 | # CONFIG_NET_IPGRE is not set | ||
| 307 | # CONFIG_ARPD is not set | ||
| 308 | # CONFIG_SYN_COOKIES is not set | ||
| 309 | # CONFIG_INET_AH is not set | ||
| 310 | # CONFIG_INET_ESP is not set | ||
| 311 | # CONFIG_INET_IPCOMP is not set | ||
| 312 | # CONFIG_INET_XFRM_TUNNEL is not set | ||
| 313 | # CONFIG_INET_TUNNEL is not set | ||
| 314 | # CONFIG_INET_XFRM_MODE_TRANSPORT is not set | ||
| 315 | # CONFIG_INET_XFRM_MODE_TUNNEL is not set | ||
| 316 | # CONFIG_INET_XFRM_MODE_BEET is not set | ||
| 317 | # CONFIG_INET_LRO is not set | ||
| 318 | # CONFIG_INET_DIAG is not set | ||
| 319 | # CONFIG_TCP_CONG_ADVANCED is not set | ||
| 320 | CONFIG_TCP_CONG_CUBIC=y | ||
| 321 | CONFIG_DEFAULT_TCP_CONG="cubic" | ||
| 322 | # CONFIG_TCP_MD5SIG is not set | ||
| 323 | # CONFIG_IPV6 is not set | ||
| 324 | # CONFIG_NETWORK_SECMARK is not set | ||
| 325 | # CONFIG_NETFILTER is not set | ||
| 326 | # CONFIG_IP_DCCP is not set | ||
| 327 | # CONFIG_IP_SCTP is not set | ||
| 328 | # CONFIG_TIPC is not set | ||
| 329 | # CONFIG_ATM is not set | ||
| 330 | # CONFIG_BRIDGE is not set | ||
| 331 | # CONFIG_VLAN_8021Q is not set | ||
| 332 | # CONFIG_DECNET is not set | ||
| 333 | # CONFIG_LLC2 is not set | ||
| 334 | # CONFIG_IPX is not set | ||
| 335 | # CONFIG_ATALK is not set | ||
| 336 | # CONFIG_X25 is not set | ||
| 337 | # CONFIG_LAPB is not set | ||
| 338 | # CONFIG_ECONET is not set | ||
| 339 | # CONFIG_WAN_ROUTER is not set | ||
| 340 | # CONFIG_NET_SCHED is not set | ||
| 341 | |||
| 342 | # | ||
| 343 | # Network testing | ||
| 344 | # | ||
| 345 | # CONFIG_NET_PKTGEN is not set | ||
| 346 | # CONFIG_HAMRADIO is not set | ||
| 347 | # CONFIG_CAN is not set | ||
| 348 | # CONFIG_IRDA is not set | ||
| 349 | # CONFIG_BT is not set | ||
| 350 | # CONFIG_AF_RXRPC is not set | ||
| 351 | |||
| 352 | # | ||
| 353 | # Wireless | ||
| 354 | # | ||
| 355 | # CONFIG_CFG80211 is not set | ||
| 356 | # CONFIG_WIRELESS_EXT is not set | ||
| 357 | # CONFIG_MAC80211 is not set | ||
| 358 | # CONFIG_IEEE80211 is not set | ||
| 359 | # CONFIG_RFKILL is not set | ||
| 360 | # CONFIG_NET_9P is not set | ||
| 361 | |||
| 362 | # | ||
| 363 | # Device Drivers | ||
| 364 | # | ||
| 365 | |||
| 366 | # | ||
| 367 | # Generic Driver Options | ||
| 368 | # | ||
| 369 | CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" | ||
| 370 | CONFIG_STANDALONE=y | ||
| 371 | CONFIG_PREVENT_FIRMWARE_BUILD=y | ||
| 372 | CONFIG_FW_LOADER=m | ||
| 373 | CONFIG_FIRMWARE_IN_KERNEL=y | ||
| 374 | CONFIG_EXTRA_FIRMWARE="" | ||
| 375 | # CONFIG_SYS_HYPERVISOR is not set | ||
| 376 | # CONFIG_CONNECTOR is not set | ||
| 377 | CONFIG_MTD=y | ||
| 378 | # CONFIG_MTD_DEBUG is not set | ||
| 379 | # CONFIG_MTD_CONCAT is not set | ||
| 380 | CONFIG_MTD_PARTITIONS=y | ||
| 381 | CONFIG_MTD_REDBOOT_PARTS=y | ||
| 382 | CONFIG_MTD_REDBOOT_DIRECTORY_BLOCK=-1 | ||
| 383 | # CONFIG_MTD_REDBOOT_PARTS_UNALLOCATED is not set | ||
| 384 | CONFIG_MTD_REDBOOT_PARTS_READONLY=y | ||
| 385 | # CONFIG_MTD_CMDLINE_PARTS is not set | ||
| 386 | # CONFIG_MTD_AFS_PARTS is not set | ||
| 387 | # CONFIG_MTD_AR7_PARTS is not set | ||
| 388 | |||
| 389 | # | ||
| 390 | # User Modules And Translation Layers | ||
| 391 | # | ||
| 392 | CONFIG_MTD_CHAR=y | ||
| 393 | CONFIG_MTD_BLKDEVS=y | ||
| 394 | CONFIG_MTD_BLOCK=y | ||
| 395 | # CONFIG_FTL is not set | ||
| 396 | # CONFIG_NFTL is not set | ||
| 397 | # CONFIG_INFTL is not set | ||
| 398 | # CONFIG_RFD_FTL is not set | ||
| 399 | # CONFIG_SSFDC is not set | ||
| 400 | # CONFIG_MTD_OOPS is not set | ||
| 401 | |||
| 402 | # | ||
| 403 | # RAM/ROM/Flash chip drivers | ||
| 404 | # | ||
| 405 | CONFIG_MTD_CFI=y | ||
| 406 | # CONFIG_MTD_JEDECPROBE is not set | ||
| 407 | CONFIG_MTD_GEN_PROBE=y | ||
| 408 | CONFIG_MTD_CFI_ADV_OPTIONS=y | ||
| 409 | CONFIG_MTD_CFI_NOSWAP=y | ||
| 410 | # CONFIG_MTD_CFI_BE_BYTE_SWAP is not set | ||
| 411 | # CONFIG_MTD_CFI_LE_BYTE_SWAP is not set | ||
| 412 | CONFIG_MTD_CFI_GEOMETRY=y | ||
| 413 | # CONFIG_MTD_MAP_BANK_WIDTH_1 is not set | ||
| 414 | CONFIG_MTD_MAP_BANK_WIDTH_2=y | ||
| 415 | # CONFIG_MTD_MAP_BANK_WIDTH_4 is not set | ||
| 416 | # CONFIG_MTD_MAP_BANK_WIDTH_8 is not set | ||
| 417 | # CONFIG_MTD_MAP_BANK_WIDTH_16 is not set | ||
| 418 | # CONFIG_MTD_MAP_BANK_WIDTH_32 is not set | ||
| 419 | CONFIG_MTD_CFI_I1=y | ||
| 420 | # CONFIG_MTD_CFI_I2 is not set | ||
| 421 | # CONFIG_MTD_CFI_I4 is not set | ||
| 422 | # CONFIG_MTD_CFI_I8 is not set | ||
| 423 | # CONFIG_MTD_OTP is not set | ||
| 424 | # CONFIG_MTD_CFI_INTELEXT is not set | ||
| 425 | CONFIG_MTD_CFI_AMDSTD=y | ||
| 426 | # CONFIG_MTD_CFI_STAA is not set | ||
| 427 | CONFIG_MTD_CFI_UTIL=y | ||
| 428 | # CONFIG_MTD_RAM is not set | ||
| 429 | # CONFIG_MTD_ROM is not set | ||
| 430 | # CONFIG_MTD_ABSENT is not set | ||
| 431 | # CONFIG_MTD_XIP is not set | ||
| 432 | |||
| 433 | # | ||
| 434 | # Mapping drivers for chip access | ||
| 435 | # | ||
| 436 | # CONFIG_MTD_COMPLEX_MAPPINGS is not set | ||
| 437 | CONFIG_MTD_PHYSMAP=y | ||
| 438 | CONFIG_MTD_PHYSMAP_START=0x0 | ||
| 439 | CONFIG_MTD_PHYSMAP_LEN=0x0 | ||
| 440 | CONFIG_MTD_PHYSMAP_BANKWIDTH=2 | ||
| 441 | # CONFIG_MTD_ARM_INTEGRATOR is not set | ||
| 442 | # CONFIG_MTD_PLATRAM is not set | ||
| 443 | |||
| 444 | # | ||
| 445 | # Self-contained MTD device drivers | ||
| 446 | # | ||
| 447 | # CONFIG_MTD_SLRAM is not set | ||
| 448 | # CONFIG_MTD_PHRAM is not set | ||
| 449 | # CONFIG_MTD_MTDRAM is not set | ||
| 450 | # CONFIG_MTD_BLOCK2MTD is not set | ||
| 451 | |||
| 452 | # | ||
| 453 | # Disk-On-Chip Device Drivers | ||
| 454 | # | ||
| 455 | # CONFIG_MTD_DOC2000 is not set | ||
| 456 | # CONFIG_MTD_DOC2001 is not set | ||
| 457 | # CONFIG_MTD_DOC2001PLUS is not set | ||
| 458 | # CONFIG_MTD_NAND is not set | ||
| 459 | # CONFIG_MTD_ONENAND is not set | ||
| 460 | |||
| 461 | # | ||
| 462 | # UBI - Unsorted block images | ||
| 463 | # | ||
| 464 | # CONFIG_MTD_UBI is not set | ||
| 465 | # CONFIG_PARPORT is not set | ||
| 466 | # CONFIG_BLK_DEV is not set | ||
| 467 | # CONFIG_MISC_DEVICES is not set | ||
| 468 | CONFIG_HAVE_IDE=y | ||
| 469 | # CONFIG_IDE is not set | ||
| 470 | |||
| 471 | # | ||
| 472 | # SCSI device support | ||
| 473 | # | ||
| 474 | # CONFIG_RAID_ATTRS is not set | ||
| 475 | # CONFIG_SCSI is not set | ||
| 476 | # CONFIG_SCSI_DMA is not set | ||
| 477 | # CONFIG_SCSI_NETLINK is not set | ||
| 478 | # CONFIG_ATA is not set | ||
| 479 | # CONFIG_MD is not set | ||
| 480 | CONFIG_NETDEVICES=y | ||
| 481 | # CONFIG_DUMMY is not set | ||
| 482 | # CONFIG_BONDING is not set | ||
| 483 | # CONFIG_MACVLAN is not set | ||
| 484 | # CONFIG_EQUALIZER is not set | ||
| 485 | # CONFIG_TUN is not set | ||
| 486 | # CONFIG_VETH is not set | ||
| 487 | # CONFIG_PHYLIB is not set | ||
| 488 | CONFIG_NET_ETHERNET=y | ||
| 489 | CONFIG_MII=y | ||
| 490 | # CONFIG_AX88796 is not set | ||
| 491 | CONFIG_SMC91X=y | ||
| 492 | # CONFIG_DM9000 is not set | ||
| 493 | # CONFIG_IBM_NEW_EMAC_ZMII is not set | ||
| 494 | # CONFIG_IBM_NEW_EMAC_RGMII is not set | ||
| 495 | # CONFIG_IBM_NEW_EMAC_TAH is not set | ||
| 496 | # CONFIG_IBM_NEW_EMAC_EMAC4 is not set | ||
| 497 | # CONFIG_B44 is not set | ||
| 498 | # CONFIG_NETDEV_1000 is not set | ||
| 499 | # CONFIG_NETDEV_10000 is not set | ||
| 500 | |||
| 501 | # | ||
| 502 | # Wireless LAN | ||
| 503 | # | ||
| 504 | # CONFIG_WLAN_PRE80211 is not set | ||
| 505 | # CONFIG_WLAN_80211 is not set | ||
| 506 | # CONFIG_IWLWIFI_LEDS is not set | ||
| 507 | # CONFIG_WAN is not set | ||
| 508 | # CONFIG_PPP is not set | ||
| 509 | # CONFIG_SLIP is not set | ||
| 510 | # CONFIG_NETCONSOLE is not set | ||
| 511 | # CONFIG_NETPOLL is not set | ||
| 512 | # CONFIG_NET_POLL_CONTROLLER is not set | ||
| 513 | # CONFIG_ISDN is not set | ||
| 514 | |||
| 515 | # | ||
| 516 | # Input device support | ||
| 517 | # | ||
| 518 | # CONFIG_INPUT is not set | ||
| 519 | |||
| 520 | # | ||
| 521 | # Hardware I/O ports | ||
| 522 | # | ||
| 523 | # CONFIG_SERIO is not set | ||
| 524 | # CONFIG_GAMEPORT is not set | ||
| 525 | |||
| 526 | # | ||
| 527 | # Character devices | ||
| 528 | # | ||
| 529 | # CONFIG_VT is not set | ||
| 530 | CONFIG_DEVKMEM=y | ||
| 531 | # CONFIG_SERIAL_NONSTANDARD is not set | ||
| 532 | |||
| 533 | # | ||
| 534 | # Serial drivers | ||
| 535 | # | ||
| 536 | # CONFIG_SERIAL_8250 is not set | ||
| 537 | |||
| 538 | # | ||
| 539 | # Non-8250 serial port support | ||
| 540 | # | ||
| 541 | CONFIG_SERIAL_IMX=y | ||
| 542 | CONFIG_SERIAL_IMX_CONSOLE=y | ||
| 543 | CONFIG_SERIAL_CORE=y | ||
| 544 | CONFIG_SERIAL_CORE_CONSOLE=y | ||
| 545 | CONFIG_UNIX98_PTYS=y | ||
| 546 | # CONFIG_LEGACY_PTYS is not set | ||
| 547 | # CONFIG_IPMI_HANDLER is not set | ||
| 548 | # CONFIG_HW_RANDOM is not set | ||
| 549 | # CONFIG_NVRAM is not set | ||
| 550 | # CONFIG_R3964 is not set | ||
| 551 | # CONFIG_RAW_DRIVER is not set | ||
| 552 | # CONFIG_TCG_TPM is not set | ||
| 553 | # CONFIG_I2C is not set | ||
| 554 | # CONFIG_SPI is not set | ||
| 555 | CONFIG_ARCH_REQUIRE_GPIOLIB=y | ||
| 556 | CONFIG_GPIOLIB=y | ||
| 557 | # CONFIG_GPIO_SYSFS is not set | ||
| 558 | |||
| 559 | # | ||
| 560 | # I2C GPIO expanders: | ||
| 561 | # | ||
| 562 | |||
| 563 | # | ||
| 564 | # PCI GPIO expanders: | ||
| 565 | # | ||
| 566 | |||
| 567 | # | ||
| 568 | # SPI GPIO expanders: | ||
| 569 | # | ||
| 570 | # CONFIG_W1 is not set | ||
| 571 | # CONFIG_POWER_SUPPLY is not set | ||
| 572 | # CONFIG_HWMON is not set | ||
| 573 | # CONFIG_WATCHDOG is not set | ||
| 574 | |||
| 575 | # | ||
| 576 | # Sonics Silicon Backplane | ||
| 577 | # | ||
| 578 | CONFIG_SSB_POSSIBLE=y | ||
| 579 | # CONFIG_SSB is not set | ||
| 580 | |||
| 581 | # | ||
| 582 | # Multifunction device drivers | ||
| 583 | # | ||
| 584 | # CONFIG_MFD_CORE is not set | ||
| 585 | # CONFIG_MFD_SM501 is not set | ||
| 586 | # CONFIG_HTC_EGPIO is not set | ||
| 587 | # CONFIG_HTC_PASIC3 is not set | ||
| 588 | # CONFIG_MFD_TMIO is not set | ||
| 589 | # CONFIG_MFD_T7L66XB is not set | ||
| 590 | # CONFIG_MFD_TC6387XB is not set | ||
| 591 | # CONFIG_MFD_TC6393XB is not set | ||
| 592 | |||
| 593 | # | ||
| 594 | # Multimedia devices | ||
| 595 | # | ||
| 596 | |||
| 597 | # | ||
| 598 | # Multimedia core support | ||
| 599 | # | ||
| 600 | # CONFIG_VIDEO_DEV is not set | ||
| 601 | # CONFIG_DVB_CORE is not set | ||
| 602 | # CONFIG_VIDEO_MEDIA is not set | ||
| 603 | |||
| 604 | # | ||
| 605 | # Multimedia drivers | ||
| 606 | # | ||
| 607 | # CONFIG_DAB is not set | ||
| 608 | |||
| 609 | # | ||
| 610 | # Graphics support | ||
| 611 | # | ||
| 612 | # CONFIG_VGASTATE is not set | ||
| 613 | # CONFIG_VIDEO_OUTPUT_CONTROL is not set | ||
| 614 | # CONFIG_FB is not set | ||
| 615 | # CONFIG_BACKLIGHT_LCD_SUPPORT is not set | ||
| 616 | |||
| 617 | # | ||
| 618 | # Display device support | ||
| 619 | # | ||
| 620 | # CONFIG_DISPLAY_SUPPORT is not set | ||
| 621 | # CONFIG_SOUND is not set | ||
| 622 | # CONFIG_USB_SUPPORT is not set | ||
| 623 | # CONFIG_MMC is not set | ||
| 624 | # CONFIG_NEW_LEDS is not set | ||
| 625 | CONFIG_RTC_LIB=y | ||
| 626 | # CONFIG_RTC_CLASS is not set | ||
| 627 | # CONFIG_DMADEVICES is not set | ||
| 628 | |||
| 629 | # | ||
| 630 | # Voltage and Current regulators | ||
| 631 | # | ||
| 632 | # CONFIG_REGULATOR is not set | ||
| 633 | # CONFIG_REGULATOR_FIXED_VOLTAGE is not set | ||
| 634 | # CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set | ||
| 635 | # CONFIG_REGULATOR_BQ24022 is not set | ||
| 636 | # CONFIG_UIO is not set | ||
| 637 | |||
| 638 | # | ||
| 639 | # File systems | ||
| 640 | # | ||
| 641 | # CONFIG_EXT2_FS is not set | ||
| 642 | # CONFIG_EXT3_FS is not set | ||
| 643 | # CONFIG_EXT4DEV_FS is not set | ||
| 644 | # CONFIG_REISERFS_FS is not set | ||
| 645 | # CONFIG_JFS_FS is not set | ||
| 646 | # CONFIG_FS_POSIX_ACL is not set | ||
| 647 | # CONFIG_XFS_FS is not set | ||
| 648 | # CONFIG_OCFS2_FS is not set | ||
| 649 | # CONFIG_DNOTIFY is not set | ||
| 650 | CONFIG_INOTIFY=y | ||
| 651 | CONFIG_INOTIFY_USER=y | ||
| 652 | # CONFIG_QUOTA is not set | ||
| 653 | # CONFIG_AUTOFS_FS is not set | ||
| 654 | # CONFIG_AUTOFS4_FS is not set | ||
| 655 | # CONFIG_FUSE_FS is not set | ||
| 656 | |||
| 657 | # | ||
| 658 | # CD-ROM/DVD Filesystems | ||
| 659 | # | ||
| 660 | # CONFIG_ISO9660_FS is not set | ||
| 661 | # CONFIG_UDF_FS is not set | ||
| 662 | |||
| 663 | # | ||
| 664 | # DOS/FAT/NT Filesystems | ||
| 665 | # | ||
| 666 | # CONFIG_MSDOS_FS is not set | ||
| 667 | # CONFIG_VFAT_FS is not set | ||
| 668 | # CONFIG_NTFS_FS is not set | ||
| 669 | |||
| 670 | # | ||
| 671 | # Pseudo filesystems | ||
| 672 | # | ||
| 673 | CONFIG_PROC_FS=y | ||
| 674 | CONFIG_PROC_SYSCTL=y | ||
| 675 | CONFIG_SYSFS=y | ||
| 676 | CONFIG_TMPFS=y | ||
| 677 | # CONFIG_TMPFS_POSIX_ACL is not set | ||
| 678 | # CONFIG_HUGETLB_PAGE is not set | ||
| 679 | # CONFIG_CONFIGFS_FS is not set | ||
| 680 | |||
| 681 | # | ||
| 682 | # Miscellaneous filesystems | ||
| 683 | # | ||
| 684 | # CONFIG_ADFS_FS is not set | ||
| 685 | # CONFIG_AFFS_FS is not set | ||
| 686 | # CONFIG_HFS_FS is not set | ||
| 687 | # CONFIG_HFSPLUS_FS is not set | ||
| 688 | # CONFIG_BEFS_FS is not set | ||
| 689 | # CONFIG_BFS_FS is not set | ||
| 690 | # CONFIG_EFS_FS is not set | ||
| 691 | CONFIG_JFFS2_FS=y | ||
| 692 | CONFIG_JFFS2_FS_DEBUG=0 | ||
| 693 | CONFIG_JFFS2_FS_WRITEBUFFER=y | ||
| 694 | # CONFIG_JFFS2_FS_WBUF_VERIFY is not set | ||
| 695 | # CONFIG_JFFS2_SUMMARY is not set | ||
| 696 | # CONFIG_JFFS2_FS_XATTR is not set | ||
| 697 | # CONFIG_JFFS2_COMPRESSION_OPTIONS is not set | ||
| 698 | CONFIG_JFFS2_ZLIB=y | ||
| 699 | # CONFIG_JFFS2_LZO is not set | ||
| 700 | CONFIG_JFFS2_RTIME=y | ||
| 701 | # CONFIG_JFFS2_RUBIN is not set | ||
| 702 | # CONFIG_CRAMFS is not set | ||
| 703 | # CONFIG_VXFS_FS is not set | ||
| 704 | # CONFIG_MINIX_FS is not set | ||
| 705 | # CONFIG_OMFS_FS is not set | ||
| 706 | # CONFIG_HPFS_FS is not set | ||
| 707 | # CONFIG_QNX4FS_FS is not set | ||
| 708 | # CONFIG_ROMFS_FS is not set | ||
| 709 | # CONFIG_SYSV_FS is not set | ||
| 710 | # CONFIG_UFS_FS is not set | ||
| 711 | CONFIG_NETWORK_FILESYSTEMS=y | ||
| 712 | CONFIG_NFS_FS=y | ||
| 713 | # CONFIG_NFS_V3 is not set | ||
| 714 | # CONFIG_NFS_V4 is not set | ||
| 715 | CONFIG_ROOT_NFS=y | ||
| 716 | # CONFIG_NFSD is not set | ||
| 717 | CONFIG_LOCKD=y | ||
| 718 | CONFIG_NFS_COMMON=y | ||
| 719 | CONFIG_SUNRPC=y | ||
| 720 | # CONFIG_RPCSEC_GSS_KRB5 is not set | ||
| 721 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | ||
| 722 | # CONFIG_SMB_FS is not set | ||
| 723 | # CONFIG_CIFS is not set | ||
| 724 | # CONFIG_NCP_FS is not set | ||
| 725 | # CONFIG_CODA_FS is not set | ||
| 726 | # CONFIG_AFS_FS is not set | ||
| 727 | |||
| 728 | # | ||
| 729 | # Partition Types | ||
| 730 | # | ||
| 731 | # CONFIG_PARTITION_ADVANCED is not set | ||
| 732 | CONFIG_MSDOS_PARTITION=y | ||
| 733 | # CONFIG_NLS is not set | ||
| 734 | # CONFIG_DLM is not set | ||
| 735 | |||
| 736 | # | ||
| 737 | # Kernel hacking | ||
| 738 | # | ||
| 739 | # CONFIG_PRINTK_TIME is not set | ||
| 740 | # CONFIG_ENABLE_WARN_DEPRECATED is not set | ||
| 741 | # CONFIG_ENABLE_MUST_CHECK is not set | ||
| 742 | CONFIG_FRAME_WARN=1024 | ||
| 743 | # CONFIG_MAGIC_SYSRQ is not set | ||
| 744 | # CONFIG_UNUSED_SYMBOLS is not set | ||
| 745 | # CONFIG_DEBUG_FS is not set | ||
| 746 | # CONFIG_HEADERS_CHECK is not set | ||
| 747 | # CONFIG_DEBUG_KERNEL is not set | ||
| 748 | # CONFIG_DEBUG_BUGVERBOSE is not set | ||
| 749 | # CONFIG_DEBUG_MEMORY_INIT is not set | ||
| 750 | CONFIG_FRAME_POINTER=y | ||
| 751 | # CONFIG_LATENCYTOP is not set | ||
| 752 | CONFIG_SYSCTL_SYSCALL_CHECK=y | ||
| 753 | CONFIG_HAVE_FTRACE=y | ||
| 754 | CONFIG_HAVE_DYNAMIC_FTRACE=y | ||
| 755 | # CONFIG_FTRACE is not set | ||
| 756 | # CONFIG_IRQSOFF_TRACER is not set | ||
| 757 | # CONFIG_PREEMPT_TRACER is not set | ||
| 758 | # CONFIG_SCHED_TRACER is not set | ||
| 759 | # CONFIG_CONTEXT_SWITCH_TRACER is not set | ||
| 760 | # CONFIG_SAMPLES is not set | ||
| 761 | CONFIG_HAVE_ARCH_KGDB=y | ||
| 762 | # CONFIG_DEBUG_USER is not set | ||
| 763 | |||
| 764 | # | ||
| 765 | # Security options | ||
| 766 | # | ||
| 767 | # CONFIG_KEYS is not set | ||
| 768 | # CONFIG_SECURITY is not set | ||
| 769 | # CONFIG_SECURITY_FILE_CAPABILITIES is not set | ||
| 770 | # CONFIG_CRYPTO is not set | ||
| 771 | |||
| 772 | # | ||
| 773 | # Library routines | ||
| 774 | # | ||
| 775 | CONFIG_BITREVERSE=y | ||
| 776 | # CONFIG_GENERIC_FIND_FIRST_BIT is not set | ||
| 777 | # CONFIG_GENERIC_FIND_NEXT_BIT is not set | ||
| 778 | # CONFIG_CRC_CCITT is not set | ||
| 779 | # CONFIG_CRC16 is not set | ||
| 780 | # CONFIG_CRC_T10DIF is not set | ||
| 781 | # CONFIG_CRC_ITU_T is not set | ||
| 782 | CONFIG_CRC32=y | ||
| 783 | # CONFIG_CRC7 is not set | ||
| 784 | # CONFIG_LIBCRC32C is not set | ||
| 785 | CONFIG_ZLIB_INFLATE=y | ||
| 786 | CONFIG_ZLIB_DEFLATE=y | ||
| 787 | CONFIG_PLIST=y | ||
| 788 | CONFIG_HAS_IOMEM=y | ||
| 789 | CONFIG_HAS_IOPORT=y | ||
| 790 | CONFIG_HAS_DMA=y | ||
diff --git a/arch/arm/configs/mx3_defconfig b/arch/arm/configs/mx3_defconfig index 72a8201a5370..20ada526f6de 100644 --- a/arch/arm/configs/mx3_defconfig +++ b/arch/arm/configs/mx3_defconfig | |||
| @@ -197,7 +197,7 @@ CONFIG_MXC_PWM=y | |||
| 197 | # | 197 | # |
| 198 | CONFIG_CPU_32=y | 198 | CONFIG_CPU_32=y |
| 199 | CONFIG_CPU_V6=y | 199 | CONFIG_CPU_V6=y |
| 200 | CONFIG_CPU_32v6K=y | 200 | # CONFIG_CPU_32v6K is not set |
| 201 | CONFIG_CPU_32v6=y | 201 | CONFIG_CPU_32v6=y |
| 202 | CONFIG_CPU_ABRT_EV6=y | 202 | CONFIG_CPU_ABRT_EV6=y |
| 203 | CONFIG_CPU_PABRT_NOIFAR=y | 203 | CONFIG_CPU_PABRT_NOIFAR=y |
diff --git a/arch/arm/configs/orion5x_defconfig b/arch/arm/configs/orion5x_defconfig index 020e6a8a9e5c..5b98f7645119 100644 --- a/arch/arm/configs/orion5x_defconfig +++ b/arch/arm/configs/orion5x_defconfig | |||
| @@ -1,7 +1,7 @@ | |||
| 1 | # | 1 | # |
| 2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
| 3 | # Linux kernel version: 2.6.27-rc4 | 3 | # Linux kernel version: 2.6.30-rc4 |
| 4 | # Fri Aug 22 12:38:51 2008 | 4 | # Mon May 4 14:07:25 2009 |
| 5 | # | 5 | # |
| 6 | CONFIG_ARM=y | 6 | CONFIG_ARM=y |
| 7 | CONFIG_SYS_SUPPORTS_APM_EMULATION=y | 7 | CONFIG_SYS_SUPPORTS_APM_EMULATION=y |
| @@ -22,8 +22,6 @@ CONFIG_RWSEM_GENERIC_SPINLOCK=y | |||
| 22 | # CONFIG_ARCH_HAS_ILOG2_U64 is not set | 22 | # CONFIG_ARCH_HAS_ILOG2_U64 is not set |
| 23 | CONFIG_GENERIC_HWEIGHT=y | 23 | CONFIG_GENERIC_HWEIGHT=y |
| 24 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 24 | CONFIG_GENERIC_CALIBRATE_DELAY=y |
| 25 | CONFIG_ARCH_SUPPORTS_AOUT=y | ||
| 26 | CONFIG_ZONE_DMA=y | ||
| 27 | CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y | 25 | CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y |
| 28 | CONFIG_VECTORS_BASE=0xffff0000 | 26 | CONFIG_VECTORS_BASE=0xffff0000 |
| 29 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | 27 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" |
| @@ -44,10 +42,19 @@ CONFIG_SYSVIPC_SYSCTL=y | |||
| 44 | # CONFIG_BSD_PROCESS_ACCT is not set | 42 | # CONFIG_BSD_PROCESS_ACCT is not set |
| 45 | # CONFIG_TASKSTATS is not set | 43 | # CONFIG_TASKSTATS is not set |
| 46 | # CONFIG_AUDIT is not set | 44 | # CONFIG_AUDIT is not set |
| 45 | |||
| 46 | # | ||
| 47 | # RCU Subsystem | ||
| 48 | # | ||
| 49 | CONFIG_CLASSIC_RCU=y | ||
| 50 | # CONFIG_TREE_RCU is not set | ||
| 51 | # CONFIG_PREEMPT_RCU is not set | ||
| 52 | # CONFIG_TREE_RCU_TRACE is not set | ||
| 53 | # CONFIG_PREEMPT_RCU_TRACE is not set | ||
| 47 | # CONFIG_IKCONFIG is not set | 54 | # CONFIG_IKCONFIG is not set |
| 48 | CONFIG_LOG_BUF_SHIFT=14 | 55 | CONFIG_LOG_BUF_SHIFT=14 |
| 49 | # CONFIG_CGROUPS is not set | ||
| 50 | # CONFIG_GROUP_SCHED is not set | 56 | # CONFIG_GROUP_SCHED is not set |
| 57 | # CONFIG_CGROUPS is not set | ||
| 51 | CONFIG_SYSFS_DEPRECATED=y | 58 | CONFIG_SYSFS_DEPRECATED=y |
| 52 | CONFIG_SYSFS_DEPRECATED_V2=y | 59 | CONFIG_SYSFS_DEPRECATED_V2=y |
| 53 | # CONFIG_RELAY is not set | 60 | # CONFIG_RELAY is not set |
| @@ -55,48 +62,45 @@ CONFIG_SYSFS_DEPRECATED_V2=y | |||
| 55 | # CONFIG_BLK_DEV_INITRD is not set | 62 | # CONFIG_BLK_DEV_INITRD is not set |
| 56 | CONFIG_CC_OPTIMIZE_FOR_SIZE=y | 63 | CONFIG_CC_OPTIMIZE_FOR_SIZE=y |
| 57 | CONFIG_SYSCTL=y | 64 | CONFIG_SYSCTL=y |
| 65 | CONFIG_ANON_INODES=y | ||
| 58 | CONFIG_EMBEDDED=y | 66 | CONFIG_EMBEDDED=y |
| 59 | CONFIG_UID16=y | 67 | CONFIG_UID16=y |
| 60 | CONFIG_SYSCTL_SYSCALL=y | 68 | CONFIG_SYSCTL_SYSCALL=y |
| 61 | CONFIG_KALLSYMS=y | 69 | CONFIG_KALLSYMS=y |
| 62 | CONFIG_KALLSYMS_ALL=y | 70 | CONFIG_KALLSYMS_ALL=y |
| 63 | # CONFIG_KALLSYMS_EXTRA_PASS is not set | 71 | # CONFIG_KALLSYMS_EXTRA_PASS is not set |
| 72 | # CONFIG_STRIP_ASM_SYMS is not set | ||
| 64 | CONFIG_HOTPLUG=y | 73 | CONFIG_HOTPLUG=y |
| 65 | CONFIG_PRINTK=y | 74 | CONFIG_PRINTK=y |
| 66 | CONFIG_BUG=y | 75 | CONFIG_BUG=y |
| 67 | CONFIG_ELF_CORE=y | 76 | CONFIG_ELF_CORE=y |
| 68 | CONFIG_COMPAT_BRK=y | ||
| 69 | CONFIG_BASE_FULL=y | 77 | CONFIG_BASE_FULL=y |
| 70 | CONFIG_FUTEX=y | 78 | CONFIG_FUTEX=y |
| 71 | CONFIG_ANON_INODES=y | ||
| 72 | CONFIG_EPOLL=y | 79 | CONFIG_EPOLL=y |
| 73 | CONFIG_SIGNALFD=y | 80 | CONFIG_SIGNALFD=y |
| 74 | CONFIG_TIMERFD=y | 81 | CONFIG_TIMERFD=y |
| 75 | CONFIG_EVENTFD=y | 82 | CONFIG_EVENTFD=y |
| 76 | CONFIG_SHMEM=y | 83 | CONFIG_SHMEM=y |
| 84 | CONFIG_AIO=y | ||
| 77 | CONFIG_VM_EVENT_COUNTERS=y | 85 | CONFIG_VM_EVENT_COUNTERS=y |
| 86 | CONFIG_PCI_QUIRKS=y | ||
| 78 | # CONFIG_SLUB_DEBUG is not set | 87 | # CONFIG_SLUB_DEBUG is not set |
| 88 | CONFIG_COMPAT_BRK=y | ||
| 79 | # CONFIG_SLAB is not set | 89 | # CONFIG_SLAB is not set |
| 80 | CONFIG_SLUB=y | 90 | CONFIG_SLUB=y |
| 81 | # CONFIG_SLOB is not set | 91 | # CONFIG_SLOB is not set |
| 82 | CONFIG_PROFILING=y | 92 | CONFIG_PROFILING=y |
| 93 | CONFIG_TRACEPOINTS=y | ||
| 83 | # CONFIG_MARKERS is not set | 94 | # CONFIG_MARKERS is not set |
| 84 | CONFIG_OPROFILE=y | 95 | CONFIG_OPROFILE=y |
| 85 | CONFIG_HAVE_OPROFILE=y | 96 | CONFIG_HAVE_OPROFILE=y |
| 86 | CONFIG_KPROBES=y | 97 | CONFIG_KPROBES=y |
| 87 | # CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS is not set | ||
| 88 | CONFIG_KRETPROBES=y | 98 | CONFIG_KRETPROBES=y |
| 89 | # CONFIG_HAVE_IOREMAP_PROT is not set | ||
| 90 | CONFIG_HAVE_KPROBES=y | 99 | CONFIG_HAVE_KPROBES=y |
| 91 | CONFIG_HAVE_KRETPROBES=y | 100 | CONFIG_HAVE_KRETPROBES=y |
| 92 | # CONFIG_HAVE_ARCH_TRACEHOOK is not set | 101 | # CONFIG_SLOW_WORK is not set |
| 93 | # CONFIG_HAVE_DMA_ATTRS is not set | ||
| 94 | # CONFIG_USE_GENERIC_SMP_HELPERS is not set | ||
| 95 | # CONFIG_HAVE_CLK is not set | ||
| 96 | CONFIG_PROC_PAGE_MONITOR=y | ||
| 97 | CONFIG_HAVE_GENERIC_DMA_COHERENT=y | 102 | CONFIG_HAVE_GENERIC_DMA_COHERENT=y |
| 98 | CONFIG_RT_MUTEXES=y | 103 | CONFIG_RT_MUTEXES=y |
| 99 | # CONFIG_TINY_SHMEM is not set | ||
| 100 | CONFIG_BASE_SMALL=0 | 104 | CONFIG_BASE_SMALL=0 |
| 101 | CONFIG_MODULES=y | 105 | CONFIG_MODULES=y |
| 102 | # CONFIG_MODULE_FORCE_LOAD is not set | 106 | # CONFIG_MODULE_FORCE_LOAD is not set |
| @@ -104,11 +108,8 @@ CONFIG_MODULE_UNLOAD=y | |||
| 104 | # CONFIG_MODULE_FORCE_UNLOAD is not set | 108 | # CONFIG_MODULE_FORCE_UNLOAD is not set |
| 105 | # CONFIG_MODVERSIONS is not set | 109 | # CONFIG_MODVERSIONS is not set |
| 106 | # CONFIG_MODULE_SRCVERSION_ALL is not set | 110 | # CONFIG_MODULE_SRCVERSION_ALL is not set |
| 107 | CONFIG_KMOD=y | ||
| 108 | CONFIG_BLOCK=y | 111 | CONFIG_BLOCK=y |
| 109 | # CONFIG_LBD is not set | 112 | # CONFIG_LBD is not set |
| 110 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
| 111 | # CONFIG_LSF is not set | ||
| 112 | # CONFIG_BLK_DEV_BSG is not set | 113 | # CONFIG_BLK_DEV_BSG is not set |
| 113 | # CONFIG_BLK_DEV_INTEGRITY is not set | 114 | # CONFIG_BLK_DEV_INTEGRITY is not set |
| 114 | 115 | ||
| @@ -124,7 +125,7 @@ CONFIG_IOSCHED_CFQ=y | |||
| 124 | CONFIG_DEFAULT_CFQ=y | 125 | CONFIG_DEFAULT_CFQ=y |
| 125 | # CONFIG_DEFAULT_NOOP is not set | 126 | # CONFIG_DEFAULT_NOOP is not set |
| 126 | CONFIG_DEFAULT_IOSCHED="cfq" | 127 | CONFIG_DEFAULT_IOSCHED="cfq" |
| 127 | CONFIG_CLASSIC_RCU=y | 128 | # CONFIG_FREEZER is not set |
| 128 | 129 | ||
| 129 | # | 130 | # |
| 130 | # System Type | 131 | # System Type |
| @@ -134,10 +135,10 @@ CONFIG_CLASSIC_RCU=y | |||
| 134 | # CONFIG_ARCH_REALVIEW is not set | 135 | # CONFIG_ARCH_REALVIEW is not set |
| 135 | # CONFIG_ARCH_VERSATILE is not set | 136 | # CONFIG_ARCH_VERSATILE is not set |
| 136 | # CONFIG_ARCH_AT91 is not set | 137 | # CONFIG_ARCH_AT91 is not set |
| 137 | # CONFIG_ARCH_CLPS7500 is not set | ||
| 138 | # CONFIG_ARCH_CLPS711X is not set | 138 | # CONFIG_ARCH_CLPS711X is not set |
| 139 | # CONFIG_ARCH_EBSA110 is not set | 139 | # CONFIG_ARCH_EBSA110 is not set |
| 140 | # CONFIG_ARCH_EP93XX is not set | 140 | # CONFIG_ARCH_EP93XX is not set |
| 141 | # CONFIG_ARCH_GEMINI is not set | ||
| 141 | # CONFIG_ARCH_FOOTBRIDGE is not set | 142 | # CONFIG_ARCH_FOOTBRIDGE is not set |
| 142 | # CONFIG_ARCH_NETX is not set | 143 | # CONFIG_ARCH_NETX is not set |
| 143 | # CONFIG_ARCH_H720X is not set | 144 | # CONFIG_ARCH_H720X is not set |
| @@ -158,14 +159,17 @@ CONFIG_CLASSIC_RCU=y | |||
| 158 | CONFIG_ARCH_ORION5X=y | 159 | CONFIG_ARCH_ORION5X=y |
| 159 | # CONFIG_ARCH_PNX4008 is not set | 160 | # CONFIG_ARCH_PNX4008 is not set |
| 160 | # CONFIG_ARCH_PXA is not set | 161 | # CONFIG_ARCH_PXA is not set |
| 162 | # CONFIG_ARCH_MMP is not set | ||
| 161 | # CONFIG_ARCH_RPC is not set | 163 | # CONFIG_ARCH_RPC is not set |
| 162 | # CONFIG_ARCH_SA1100 is not set | 164 | # CONFIG_ARCH_SA1100 is not set |
| 163 | # CONFIG_ARCH_S3C2410 is not set | 165 | # CONFIG_ARCH_S3C2410 is not set |
| 166 | # CONFIG_ARCH_S3C64XX is not set | ||
| 164 | # CONFIG_ARCH_SHARK is not set | 167 | # CONFIG_ARCH_SHARK is not set |
| 165 | # CONFIG_ARCH_LH7A40X is not set | 168 | # CONFIG_ARCH_LH7A40X is not set |
| 166 | # CONFIG_ARCH_DAVINCI is not set | 169 | # CONFIG_ARCH_DAVINCI is not set |
| 167 | # CONFIG_ARCH_OMAP is not set | 170 | # CONFIG_ARCH_OMAP is not set |
| 168 | # CONFIG_ARCH_MSM7X00A is not set | 171 | # CONFIG_ARCH_MSM is not set |
| 172 | # CONFIG_ARCH_W90X900 is not set | ||
| 169 | 173 | ||
| 170 | # | 174 | # |
| 171 | # Orion Implementations | 175 | # Orion Implementations |
| @@ -175,6 +179,7 @@ CONFIG_MACH_RD88F5182=y | |||
| 175 | CONFIG_MACH_KUROBOX_PRO=y | 179 | CONFIG_MACH_KUROBOX_PRO=y |
| 176 | CONFIG_MACH_DNS323=y | 180 | CONFIG_MACH_DNS323=y |
| 177 | CONFIG_MACH_TS209=y | 181 | CONFIG_MACH_TS209=y |
| 182 | CONFIG_MACH_TERASTATION_PRO2=y | ||
| 178 | CONFIG_MACH_LINKSTATION_PRO=y | 183 | CONFIG_MACH_LINKSTATION_PRO=y |
| 179 | CONFIG_MACH_LINKSTATION_MINI=y | 184 | CONFIG_MACH_LINKSTATION_MINI=y |
| 180 | CONFIG_MACH_TS409=y | 185 | CONFIG_MACH_TS409=y |
| @@ -187,14 +192,6 @@ CONFIG_MACH_WNR854T=y | |||
| 187 | CONFIG_MACH_RD88F5181L_GE=y | 192 | CONFIG_MACH_RD88F5181L_GE=y |
| 188 | CONFIG_MACH_RD88F5181L_FXO=y | 193 | CONFIG_MACH_RD88F5181L_FXO=y |
| 189 | CONFIG_MACH_RD88F6183AP_GE=y | 194 | CONFIG_MACH_RD88F6183AP_GE=y |
| 190 | |||
| 191 | # | ||
| 192 | # Boot options | ||
| 193 | # | ||
| 194 | |||
| 195 | # | ||
| 196 | # Power management | ||
| 197 | # | ||
| 198 | CONFIG_PLAT_ORION=y | 195 | CONFIG_PLAT_ORION=y |
| 199 | 196 | ||
| 200 | # | 197 | # |
| @@ -228,6 +225,8 @@ CONFIG_PCI_SYSCALL=y | |||
| 228 | # CONFIG_ARCH_SUPPORTS_MSI is not set | 225 | # CONFIG_ARCH_SUPPORTS_MSI is not set |
| 229 | CONFIG_PCI_LEGACY=y | 226 | CONFIG_PCI_LEGACY=y |
| 230 | # CONFIG_PCI_DEBUG is not set | 227 | # CONFIG_PCI_DEBUG is not set |
| 228 | # CONFIG_PCI_STUB is not set | ||
| 229 | # CONFIG_PCI_IOV is not set | ||
| 231 | # CONFIG_PCCARD is not set | 230 | # CONFIG_PCCARD is not set |
| 232 | 231 | ||
| 233 | # | 232 | # |
| @@ -237,25 +236,32 @@ CONFIG_TICK_ONESHOT=y | |||
| 237 | CONFIG_NO_HZ=y | 236 | CONFIG_NO_HZ=y |
| 238 | CONFIG_HIGH_RES_TIMERS=y | 237 | CONFIG_HIGH_RES_TIMERS=y |
| 239 | CONFIG_GENERIC_CLOCKEVENTS_BUILD=y | 238 | CONFIG_GENERIC_CLOCKEVENTS_BUILD=y |
| 239 | CONFIG_VMSPLIT_3G=y | ||
| 240 | # CONFIG_VMSPLIT_2G is not set | ||
| 241 | # CONFIG_VMSPLIT_1G is not set | ||
| 242 | CONFIG_PAGE_OFFSET=0xC0000000 | ||
| 240 | CONFIG_PREEMPT=y | 243 | CONFIG_PREEMPT=y |
| 241 | CONFIG_HZ=100 | 244 | CONFIG_HZ=100 |
| 242 | CONFIG_AEABI=y | 245 | CONFIG_AEABI=y |
| 243 | CONFIG_OABI_COMPAT=y | 246 | CONFIG_OABI_COMPAT=y |
| 244 | # CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set | 247 | CONFIG_ARCH_FLATMEM_HAS_HOLES=y |
| 248 | # CONFIG_ARCH_SPARSEMEM_DEFAULT is not set | ||
| 249 | # CONFIG_ARCH_SELECT_MEMORY_MODEL is not set | ||
| 250 | # CONFIG_HIGHMEM is not set | ||
| 245 | CONFIG_SELECT_MEMORY_MODEL=y | 251 | CONFIG_SELECT_MEMORY_MODEL=y |
| 246 | CONFIG_FLATMEM_MANUAL=y | 252 | CONFIG_FLATMEM_MANUAL=y |
| 247 | # CONFIG_DISCONTIGMEM_MANUAL is not set | 253 | # CONFIG_DISCONTIGMEM_MANUAL is not set |
| 248 | # CONFIG_SPARSEMEM_MANUAL is not set | 254 | # CONFIG_SPARSEMEM_MANUAL is not set |
| 249 | CONFIG_FLATMEM=y | 255 | CONFIG_FLATMEM=y |
| 250 | CONFIG_FLAT_NODE_MEM_MAP=y | 256 | CONFIG_FLAT_NODE_MEM_MAP=y |
| 251 | # CONFIG_SPARSEMEM_STATIC is not set | ||
| 252 | # CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set | ||
| 253 | CONFIG_PAGEFLAGS_EXTENDED=y | 257 | CONFIG_PAGEFLAGS_EXTENDED=y |
| 254 | CONFIG_SPLIT_PTLOCK_CPUS=4096 | 258 | CONFIG_SPLIT_PTLOCK_CPUS=4096 |
| 255 | # CONFIG_RESOURCES_64BIT is not set | 259 | # CONFIG_PHYS_ADDR_T_64BIT is not set |
| 256 | CONFIG_ZONE_DMA_FLAG=1 | 260 | CONFIG_ZONE_DMA_FLAG=0 |
| 257 | CONFIG_BOUNCE=y | ||
| 258 | CONFIG_VIRT_TO_BUS=y | 261 | CONFIG_VIRT_TO_BUS=y |
| 262 | CONFIG_UNEVICTABLE_LRU=y | ||
| 263 | CONFIG_HAVE_MLOCK=y | ||
| 264 | CONFIG_HAVE_MLOCKED_PAGE_BIT=y | ||
| 259 | CONFIG_LEDS=y | 265 | CONFIG_LEDS=y |
| 260 | CONFIG_LEDS_CPU=y | 266 | CONFIG_LEDS_CPU=y |
| 261 | CONFIG_ALIGNMENT_TRAP=y | 267 | CONFIG_ALIGNMENT_TRAP=y |
| @@ -270,6 +276,11 @@ CONFIG_CMDLINE="" | |||
| 270 | # CONFIG_KEXEC is not set | 276 | # CONFIG_KEXEC is not set |
| 271 | 277 | ||
| 272 | # | 278 | # |
| 279 | # CPU Power Management | ||
| 280 | # | ||
| 281 | # CONFIG_CPU_IDLE is not set | ||
| 282 | |||
| 283 | # | ||
| 273 | # Floating point emulation | 284 | # Floating point emulation |
| 274 | # | 285 | # |
| 275 | 286 | ||
| @@ -285,13 +296,18 @@ CONFIG_VFP=y | |||
| 285 | # Userspace binary formats | 296 | # Userspace binary formats |
| 286 | # | 297 | # |
| 287 | CONFIG_BINFMT_ELF=y | 298 | CONFIG_BINFMT_ELF=y |
| 299 | # CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set | ||
| 300 | CONFIG_HAVE_AOUT=y | ||
| 288 | # CONFIG_BINFMT_AOUT is not set | 301 | # CONFIG_BINFMT_AOUT is not set |
| 289 | # CONFIG_BINFMT_MISC is not set | 302 | # CONFIG_BINFMT_MISC is not set |
| 290 | 303 | ||
| 291 | # | 304 | # |
| 292 | # Power management options | 305 | # Power management options |
| 293 | # | 306 | # |
| 294 | # CONFIG_PM is not set | 307 | CONFIG_PM=y |
| 308 | # CONFIG_PM_DEBUG is not set | ||
| 309 | # CONFIG_SUSPEND is not set | ||
| 310 | # CONFIG_APM_EMULATION is not set | ||
| 295 | CONFIG_ARCH_SUSPEND_POSSIBLE=y | 311 | CONFIG_ARCH_SUSPEND_POSSIBLE=y |
| 296 | CONFIG_NET=y | 312 | CONFIG_NET=y |
| 297 | 313 | ||
| @@ -328,7 +344,7 @@ CONFIG_IP_PNP_BOOTP=y | |||
| 328 | CONFIG_INET_XFRM_MODE_TRANSPORT=y | 344 | CONFIG_INET_XFRM_MODE_TRANSPORT=y |
| 329 | CONFIG_INET_XFRM_MODE_TUNNEL=y | 345 | CONFIG_INET_XFRM_MODE_TUNNEL=y |
| 330 | CONFIG_INET_XFRM_MODE_BEET=y | 346 | CONFIG_INET_XFRM_MODE_BEET=y |
| 331 | # CONFIG_INET_LRO is not set | 347 | CONFIG_INET_LRO=y |
| 332 | CONFIG_INET_DIAG=y | 348 | CONFIG_INET_DIAG=y |
| 333 | CONFIG_INET_TCP_DIAG=y | 349 | CONFIG_INET_TCP_DIAG=y |
| 334 | # CONFIG_TCP_CONG_ADVANCED is not set | 350 | # CONFIG_TCP_CONG_ADVANCED is not set |
| @@ -343,6 +359,15 @@ CONFIG_DEFAULT_TCP_CONG="cubic" | |||
| 343 | # CONFIG_TIPC is not set | 359 | # CONFIG_TIPC is not set |
| 344 | # CONFIG_ATM is not set | 360 | # CONFIG_ATM is not set |
| 345 | # CONFIG_BRIDGE is not set | 361 | # CONFIG_BRIDGE is not set |
| 362 | CONFIG_NET_DSA=y | ||
| 363 | CONFIG_NET_DSA_TAG_DSA=y | ||
| 364 | CONFIG_NET_DSA_TAG_EDSA=y | ||
| 365 | # CONFIG_NET_DSA_TAG_TRAILER is not set | ||
| 366 | CONFIG_NET_DSA_MV88E6XXX=y | ||
| 367 | # CONFIG_NET_DSA_MV88E6060 is not set | ||
| 368 | CONFIG_NET_DSA_MV88E6XXX_NEED_PPU=y | ||
| 369 | CONFIG_NET_DSA_MV88E6131=y | ||
| 370 | CONFIG_NET_DSA_MV88E6123_61_65=y | ||
| 346 | # CONFIG_VLAN_8021Q is not set | 371 | # CONFIG_VLAN_8021Q is not set |
| 347 | # CONFIG_DECNET is not set | 372 | # CONFIG_DECNET is not set |
| 348 | # CONFIG_LLC2 is not set | 373 | # CONFIG_LLC2 is not set |
| @@ -352,27 +377,29 @@ CONFIG_DEFAULT_TCP_CONG="cubic" | |||
| 352 | # CONFIG_LAPB is not set | 377 | # CONFIG_LAPB is not set |
| 353 | # CONFIG_ECONET is not set | 378 | # CONFIG_ECONET is not set |
| 354 | # CONFIG_WAN_ROUTER is not set | 379 | # CONFIG_WAN_ROUTER is not set |
| 380 | # CONFIG_PHONET is not set | ||
| 355 | # CONFIG_NET_SCHED is not set | 381 | # CONFIG_NET_SCHED is not set |
| 382 | # CONFIG_DCB is not set | ||
| 356 | 383 | ||
| 357 | # | 384 | # |
| 358 | # Network testing | 385 | # Network testing |
| 359 | # | 386 | # |
| 360 | CONFIG_NET_PKTGEN=m | 387 | CONFIG_NET_PKTGEN=m |
| 361 | # CONFIG_NET_TCPPROBE is not set | 388 | # CONFIG_NET_TCPPROBE is not set |
| 389 | # CONFIG_NET_DROP_MONITOR is not set | ||
| 362 | # CONFIG_HAMRADIO is not set | 390 | # CONFIG_HAMRADIO is not set |
| 363 | # CONFIG_CAN is not set | 391 | # CONFIG_CAN is not set |
| 364 | # CONFIG_IRDA is not set | 392 | # CONFIG_IRDA is not set |
| 365 | # CONFIG_BT is not set | 393 | # CONFIG_BT is not set |
| 366 | # CONFIG_AF_RXRPC is not set | 394 | # CONFIG_AF_RXRPC is not set |
| 367 | 395 | CONFIG_WIRELESS=y | |
| 368 | # | ||
| 369 | # Wireless | ||
| 370 | # | ||
| 371 | # CONFIG_CFG80211 is not set | 396 | # CONFIG_CFG80211 is not set |
| 397 | # CONFIG_WIRELESS_OLD_REGULATORY is not set | ||
| 372 | CONFIG_WIRELESS_EXT=y | 398 | CONFIG_WIRELESS_EXT=y |
| 373 | CONFIG_WIRELESS_EXT_SYSFS=y | 399 | CONFIG_WIRELESS_EXT_SYSFS=y |
| 400 | # CONFIG_LIB80211 is not set | ||
| 374 | # CONFIG_MAC80211 is not set | 401 | # CONFIG_MAC80211 is not set |
| 375 | # CONFIG_IEEE80211 is not set | 402 | # CONFIG_WIMAX is not set |
| 376 | # CONFIG_RFKILL is not set | 403 | # CONFIG_RFKILL is not set |
| 377 | # CONFIG_NET_9P is not set | 404 | # CONFIG_NET_9P is not set |
| 378 | 405 | ||
| @@ -397,6 +424,7 @@ CONFIG_MTD=y | |||
| 397 | # CONFIG_MTD_DEBUG is not set | 424 | # CONFIG_MTD_DEBUG is not set |
| 398 | # CONFIG_MTD_CONCAT is not set | 425 | # CONFIG_MTD_CONCAT is not set |
| 399 | CONFIG_MTD_PARTITIONS=y | 426 | CONFIG_MTD_PARTITIONS=y |
| 427 | # CONFIG_MTD_TESTS is not set | ||
| 400 | # CONFIG_MTD_REDBOOT_PARTS is not set | 428 | # CONFIG_MTD_REDBOOT_PARTS is not set |
| 401 | CONFIG_MTD_CMDLINE_PARTS=y | 429 | CONFIG_MTD_CMDLINE_PARTS=y |
| 402 | # CONFIG_MTD_AFS_PARTS is not set | 430 | # CONFIG_MTD_AFS_PARTS is not set |
| @@ -450,9 +478,7 @@ CONFIG_MTD_CFI_UTIL=y | |||
| 450 | # | 478 | # |
| 451 | # CONFIG_MTD_COMPLEX_MAPPINGS is not set | 479 | # CONFIG_MTD_COMPLEX_MAPPINGS is not set |
| 452 | CONFIG_MTD_PHYSMAP=y | 480 | CONFIG_MTD_PHYSMAP=y |
| 453 | CONFIG_MTD_PHYSMAP_START=0x0 | 481 | # CONFIG_MTD_PHYSMAP_COMPAT is not set |
| 454 | CONFIG_MTD_PHYSMAP_LEN=0x0 | ||
| 455 | CONFIG_MTD_PHYSMAP_BANKWIDTH=0 | ||
| 456 | # CONFIG_MTD_ARM_INTEGRATOR is not set | 482 | # CONFIG_MTD_ARM_INTEGRATOR is not set |
| 457 | # CONFIG_MTD_IMPA7 is not set | 483 | # CONFIG_MTD_IMPA7 is not set |
| 458 | # CONFIG_MTD_INTEL_VR_NOR is not set | 484 | # CONFIG_MTD_INTEL_VR_NOR is not set |
| @@ -477,6 +503,7 @@ CONFIG_MTD_NAND=y | |||
| 477 | CONFIG_MTD_NAND_VERIFY_WRITE=y | 503 | CONFIG_MTD_NAND_VERIFY_WRITE=y |
| 478 | # CONFIG_MTD_NAND_ECC_SMC is not set | 504 | # CONFIG_MTD_NAND_ECC_SMC is not set |
| 479 | # CONFIG_MTD_NAND_MUSEUM_IDS is not set | 505 | # CONFIG_MTD_NAND_MUSEUM_IDS is not set |
| 506 | # CONFIG_MTD_NAND_GPIO is not set | ||
| 480 | CONFIG_MTD_NAND_IDS=y | 507 | CONFIG_MTD_NAND_IDS=y |
| 481 | # CONFIG_MTD_NAND_DISKONCHIP is not set | 508 | # CONFIG_MTD_NAND_DISKONCHIP is not set |
| 482 | # CONFIG_MTD_NAND_CAFE is not set | 509 | # CONFIG_MTD_NAND_CAFE is not set |
| @@ -487,6 +514,11 @@ CONFIG_MTD_NAND_ORION=y | |||
| 487 | # CONFIG_MTD_ONENAND is not set | 514 | # CONFIG_MTD_ONENAND is not set |
| 488 | 515 | ||
| 489 | # | 516 | # |
| 517 | # LPDDR flash memory drivers | ||
| 518 | # | ||
| 519 | # CONFIG_MTD_LPDDR is not set | ||
| 520 | |||
| 521 | # | ||
| 490 | # UBI - Unsorted block images | 522 | # UBI - Unsorted block images |
| 491 | # | 523 | # |
| 492 | # CONFIG_MTD_UBI is not set | 524 | # CONFIG_MTD_UBI is not set |
| @@ -507,11 +539,20 @@ CONFIG_BLK_DEV_LOOP=y | |||
| 507 | # CONFIG_ATA_OVER_ETH is not set | 539 | # CONFIG_ATA_OVER_ETH is not set |
| 508 | CONFIG_MISC_DEVICES=y | 540 | CONFIG_MISC_DEVICES=y |
| 509 | # CONFIG_PHANTOM is not set | 541 | # CONFIG_PHANTOM is not set |
| 510 | # CONFIG_EEPROM_93CX6 is not set | ||
| 511 | # CONFIG_SGI_IOC4 is not set | 542 | # CONFIG_SGI_IOC4 is not set |
| 512 | # CONFIG_TIFM_CORE is not set | 543 | # CONFIG_TIFM_CORE is not set |
| 544 | # CONFIG_ICS932S401 is not set | ||
| 513 | # CONFIG_ENCLOSURE_SERVICES is not set | 545 | # CONFIG_ENCLOSURE_SERVICES is not set |
| 514 | # CONFIG_HP_ILO is not set | 546 | # CONFIG_HP_ILO is not set |
| 547 | # CONFIG_ISL29003 is not set | ||
| 548 | # CONFIG_C2PORT is not set | ||
| 549 | |||
| 550 | # | ||
| 551 | # EEPROM support | ||
| 552 | # | ||
| 553 | # CONFIG_EEPROM_AT24 is not set | ||
| 554 | # CONFIG_EEPROM_LEGACY is not set | ||
| 555 | # CONFIG_EEPROM_93CX6 is not set | ||
| 515 | CONFIG_HAVE_IDE=y | 556 | CONFIG_HAVE_IDE=y |
| 516 | # CONFIG_IDE is not set | 557 | # CONFIG_IDE is not set |
| 517 | 558 | ||
| @@ -569,7 +610,11 @@ CONFIG_SCSI_LOWLEVEL=y | |||
| 569 | # CONFIG_MEGARAID_NEWGEN is not set | 610 | # CONFIG_MEGARAID_NEWGEN is not set |
| 570 | # CONFIG_MEGARAID_LEGACY is not set | 611 | # CONFIG_MEGARAID_LEGACY is not set |
| 571 | # CONFIG_MEGARAID_SAS is not set | 612 | # CONFIG_MEGARAID_SAS is not set |
| 613 | # CONFIG_SCSI_MPT2SAS is not set | ||
| 572 | # CONFIG_SCSI_HPTIOP is not set | 614 | # CONFIG_SCSI_HPTIOP is not set |
| 615 | # CONFIG_LIBFC is not set | ||
| 616 | # CONFIG_LIBFCOE is not set | ||
| 617 | # CONFIG_FCOE is not set | ||
| 573 | # CONFIG_SCSI_DMX3191D is not set | 618 | # CONFIG_SCSI_DMX3191D is not set |
| 574 | # CONFIG_SCSI_FUTURE_DOMAIN is not set | 619 | # CONFIG_SCSI_FUTURE_DOMAIN is not set |
| 575 | # CONFIG_SCSI_IPS is not set | 620 | # CONFIG_SCSI_IPS is not set |
| @@ -589,6 +634,7 @@ CONFIG_SCSI_LOWLEVEL=y | |||
| 589 | # CONFIG_SCSI_DEBUG is not set | 634 | # CONFIG_SCSI_DEBUG is not set |
| 590 | # CONFIG_SCSI_SRP is not set | 635 | # CONFIG_SCSI_SRP is not set |
| 591 | # CONFIG_SCSI_DH is not set | 636 | # CONFIG_SCSI_DH is not set |
| 637 | # CONFIG_SCSI_OSD_INITIATOR is not set | ||
| 592 | CONFIG_ATA=y | 638 | CONFIG_ATA=y |
| 593 | # CONFIG_ATA_NONSTANDARD is not set | 639 | # CONFIG_ATA_NONSTANDARD is not set |
| 594 | CONFIG_SATA_PMP=y | 640 | CONFIG_SATA_PMP=y |
| @@ -663,6 +709,7 @@ CONFIG_SATA_MV=y | |||
| 663 | # CONFIG_IEEE1394 is not set | 709 | # CONFIG_IEEE1394 is not set |
| 664 | # CONFIG_I2O is not set | 710 | # CONFIG_I2O is not set |
| 665 | CONFIG_NETDEVICES=y | 711 | CONFIG_NETDEVICES=y |
| 712 | CONFIG_COMPAT_NET_DEV_OPS=y | ||
| 666 | # CONFIG_DUMMY is not set | 713 | # CONFIG_DUMMY is not set |
| 667 | # CONFIG_BONDING is not set | 714 | # CONFIG_BONDING is not set |
| 668 | # CONFIG_MACVLAN is not set | 715 | # CONFIG_MACVLAN is not set |
| @@ -670,7 +717,26 @@ CONFIG_NETDEVICES=y | |||
| 670 | # CONFIG_TUN is not set | 717 | # CONFIG_TUN is not set |
| 671 | # CONFIG_VETH is not set | 718 | # CONFIG_VETH is not set |
| 672 | # CONFIG_ARCNET is not set | 719 | # CONFIG_ARCNET is not set |
| 673 | # CONFIG_PHYLIB is not set | 720 | CONFIG_PHYLIB=y |
| 721 | |||
| 722 | # | ||
| 723 | # MII PHY device drivers | ||
| 724 | # | ||
| 725 | CONFIG_MARVELL_PHY=y | ||
| 726 | # CONFIG_DAVICOM_PHY is not set | ||
| 727 | # CONFIG_QSEMI_PHY is not set | ||
| 728 | # CONFIG_LXT_PHY is not set | ||
| 729 | # CONFIG_CICADA_PHY is not set | ||
| 730 | # CONFIG_VITESSE_PHY is not set | ||
| 731 | # CONFIG_SMSC_PHY is not set | ||
| 732 | # CONFIG_BROADCOM_PHY is not set | ||
| 733 | # CONFIG_ICPLUS_PHY is not set | ||
| 734 | # CONFIG_REALTEK_PHY is not set | ||
| 735 | # CONFIG_NATIONAL_PHY is not set | ||
| 736 | # CONFIG_STE10XP is not set | ||
| 737 | # CONFIG_LSI_ET1011C_PHY is not set | ||
| 738 | # CONFIG_FIXED_PHY is not set | ||
| 739 | # CONFIG_MDIO_BITBANG is not set | ||
| 674 | CONFIG_NET_ETHERNET=y | 740 | CONFIG_NET_ETHERNET=y |
| 675 | CONFIG_MII=y | 741 | CONFIG_MII=y |
| 676 | # CONFIG_AX88796 is not set | 742 | # CONFIG_AX88796 is not set |
| @@ -680,19 +746,25 @@ CONFIG_MII=y | |||
| 680 | # CONFIG_NET_VENDOR_3COM is not set | 746 | # CONFIG_NET_VENDOR_3COM is not set |
| 681 | # CONFIG_SMC91X is not set | 747 | # CONFIG_SMC91X is not set |
| 682 | # CONFIG_DM9000 is not set | 748 | # CONFIG_DM9000 is not set |
| 749 | # CONFIG_ETHOC is not set | ||
| 750 | # CONFIG_SMC911X is not set | ||
| 751 | # CONFIG_SMSC911X is not set | ||
| 752 | # CONFIG_DNET is not set | ||
| 683 | # CONFIG_NET_TULIP is not set | 753 | # CONFIG_NET_TULIP is not set |
| 684 | # CONFIG_HP100 is not set | 754 | # CONFIG_HP100 is not set |
| 685 | # CONFIG_IBM_NEW_EMAC_ZMII is not set | 755 | # CONFIG_IBM_NEW_EMAC_ZMII is not set |
| 686 | # CONFIG_IBM_NEW_EMAC_RGMII is not set | 756 | # CONFIG_IBM_NEW_EMAC_RGMII is not set |
| 687 | # CONFIG_IBM_NEW_EMAC_TAH is not set | 757 | # CONFIG_IBM_NEW_EMAC_TAH is not set |
| 688 | # CONFIG_IBM_NEW_EMAC_EMAC4 is not set | 758 | # CONFIG_IBM_NEW_EMAC_EMAC4 is not set |
| 759 | # CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set | ||
| 760 | # CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set | ||
| 761 | # CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set | ||
| 689 | CONFIG_NET_PCI=y | 762 | CONFIG_NET_PCI=y |
| 690 | # CONFIG_PCNET32 is not set | 763 | # CONFIG_PCNET32 is not set |
| 691 | # CONFIG_AMD8111_ETH is not set | 764 | # CONFIG_AMD8111_ETH is not set |
| 692 | # CONFIG_ADAPTEC_STARFIRE is not set | 765 | # CONFIG_ADAPTEC_STARFIRE is not set |
| 693 | # CONFIG_B44 is not set | 766 | # CONFIG_B44 is not set |
| 694 | # CONFIG_FORCEDETH is not set | 767 | # CONFIG_FORCEDETH is not set |
| 695 | # CONFIG_EEPRO100 is not set | ||
| 696 | # CONFIG_E100 is not set | 768 | # CONFIG_E100 is not set |
| 697 | # CONFIG_FEALNX is not set | 769 | # CONFIG_FEALNX is not set |
| 698 | # CONFIG_NATSEMI is not set | 770 | # CONFIG_NATSEMI is not set |
| @@ -702,10 +774,12 @@ CONFIG_NET_PCI=y | |||
| 702 | # CONFIG_R6040 is not set | 774 | # CONFIG_R6040 is not set |
| 703 | # CONFIG_SIS900 is not set | 775 | # CONFIG_SIS900 is not set |
| 704 | # CONFIG_EPIC100 is not set | 776 | # CONFIG_EPIC100 is not set |
| 777 | # CONFIG_SMSC9420 is not set | ||
| 705 | # CONFIG_SUNDANCE is not set | 778 | # CONFIG_SUNDANCE is not set |
| 706 | # CONFIG_TLAN is not set | 779 | # CONFIG_TLAN is not set |
| 707 | # CONFIG_VIA_RHINE is not set | 780 | # CONFIG_VIA_RHINE is not set |
| 708 | # CONFIG_SC92031 is not set | 781 | # CONFIG_SC92031 is not set |
| 782 | # CONFIG_ATL2 is not set | ||
| 709 | CONFIG_NETDEV_1000=y | 783 | CONFIG_NETDEV_1000=y |
| 710 | # CONFIG_ACENIC is not set | 784 | # CONFIG_ACENIC is not set |
| 711 | # CONFIG_DL2K is not set | 785 | # CONFIG_DL2K is not set |
| @@ -713,6 +787,7 @@ CONFIG_NETDEV_1000=y | |||
| 713 | # CONFIG_E1000E is not set | 787 | # CONFIG_E1000E is not set |
| 714 | # CONFIG_IP1000 is not set | 788 | # CONFIG_IP1000 is not set |
| 715 | # CONFIG_IGB is not set | 789 | # CONFIG_IGB is not set |
| 790 | # CONFIG_IGBVF is not set | ||
| 716 | # CONFIG_NS83820 is not set | 791 | # CONFIG_NS83820 is not set |
| 717 | # CONFIG_HAMACHI is not set | 792 | # CONFIG_HAMACHI is not set |
| 718 | # CONFIG_YELLOWFIN is not set | 793 | # CONFIG_YELLOWFIN is not set |
| @@ -727,6 +802,8 @@ CONFIG_MV643XX_ETH=y | |||
| 727 | # CONFIG_QLA3XXX is not set | 802 | # CONFIG_QLA3XXX is not set |
| 728 | # CONFIG_ATL1 is not set | 803 | # CONFIG_ATL1 is not set |
| 729 | # CONFIG_ATL1E is not set | 804 | # CONFIG_ATL1E is not set |
| 805 | # CONFIG_ATL1C is not set | ||
| 806 | # CONFIG_JME is not set | ||
| 730 | # CONFIG_NETDEV_10000 is not set | 807 | # CONFIG_NETDEV_10000 is not set |
| 731 | # CONFIG_TR is not set | 808 | # CONFIG_TR is not set |
| 732 | 809 | ||
| @@ -735,7 +812,10 @@ CONFIG_MV643XX_ETH=y | |||
| 735 | # | 812 | # |
| 736 | # CONFIG_WLAN_PRE80211 is not set | 813 | # CONFIG_WLAN_PRE80211 is not set |
| 737 | # CONFIG_WLAN_80211 is not set | 814 | # CONFIG_WLAN_80211 is not set |
| 738 | # CONFIG_IWLWIFI_LEDS is not set | 815 | |
| 816 | # | ||
| 817 | # Enable WiMAX (Networking options) to see the WiMAX drivers | ||
| 818 | # | ||
| 739 | 819 | ||
| 740 | # | 820 | # |
| 741 | # USB Network Adapters | 821 | # USB Network Adapters |
| @@ -819,11 +899,11 @@ CONFIG_SERIAL_CORE=y | |||
| 819 | CONFIG_SERIAL_CORE_CONSOLE=y | 899 | CONFIG_SERIAL_CORE_CONSOLE=y |
| 820 | # CONFIG_SERIAL_JSM is not set | 900 | # CONFIG_SERIAL_JSM is not set |
| 821 | CONFIG_UNIX98_PTYS=y | 901 | CONFIG_UNIX98_PTYS=y |
| 902 | # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set | ||
| 822 | CONFIG_LEGACY_PTYS=y | 903 | CONFIG_LEGACY_PTYS=y |
| 823 | CONFIG_LEGACY_PTY_COUNT=16 | 904 | CONFIG_LEGACY_PTY_COUNT=16 |
| 824 | # CONFIG_IPMI_HANDLER is not set | 905 | # CONFIG_IPMI_HANDLER is not set |
| 825 | # CONFIG_HW_RANDOM is not set | 906 | # CONFIG_HW_RANDOM is not set |
| 826 | # CONFIG_NVRAM is not set | ||
| 827 | # CONFIG_R3964 is not set | 907 | # CONFIG_R3964 is not set |
| 828 | # CONFIG_APPLICOM is not set | 908 | # CONFIG_APPLICOM is not set |
| 829 | # CONFIG_RAW_DRIVER is not set | 909 | # CONFIG_RAW_DRIVER is not set |
| @@ -886,12 +966,9 @@ CONFIG_I2C_MV64XXX=y | |||
| 886 | # Miscellaneous I2C Chip support | 966 | # Miscellaneous I2C Chip support |
| 887 | # | 967 | # |
| 888 | # CONFIG_DS1682 is not set | 968 | # CONFIG_DS1682 is not set |
| 889 | # CONFIG_EEPROM_AT24 is not set | ||
| 890 | # CONFIG_EEPROM_LEGACY is not set | ||
| 891 | # CONFIG_SENSORS_PCF8574 is not set | 969 | # CONFIG_SENSORS_PCF8574 is not set |
| 892 | # CONFIG_PCF8575 is not set | 970 | # CONFIG_PCF8575 is not set |
| 893 | # CONFIG_SENSORS_PCA9539 is not set | 971 | # CONFIG_SENSORS_PCA9539 is not set |
| 894 | # CONFIG_SENSORS_PCF8591 is not set | ||
| 895 | # CONFIG_SENSORS_MAX6875 is not set | 972 | # CONFIG_SENSORS_MAX6875 is not set |
| 896 | # CONFIG_SENSORS_TSL2550 is not set | 973 | # CONFIG_SENSORS_TSL2550 is not set |
| 897 | # CONFIG_I2C_DEBUG_CORE is not set | 974 | # CONFIG_I2C_DEBUG_CORE is not set |
| @@ -911,14 +988,17 @@ CONFIG_HWMON=y | |||
| 911 | # CONFIG_SENSORS_ADM1029 is not set | 988 | # CONFIG_SENSORS_ADM1029 is not set |
| 912 | # CONFIG_SENSORS_ADM1031 is not set | 989 | # CONFIG_SENSORS_ADM1031 is not set |
| 913 | # CONFIG_SENSORS_ADM9240 is not set | 990 | # CONFIG_SENSORS_ADM9240 is not set |
| 991 | # CONFIG_SENSORS_ADT7462 is not set | ||
| 914 | # CONFIG_SENSORS_ADT7470 is not set | 992 | # CONFIG_SENSORS_ADT7470 is not set |
| 915 | # CONFIG_SENSORS_ADT7473 is not set | 993 | # CONFIG_SENSORS_ADT7473 is not set |
| 994 | # CONFIG_SENSORS_ADT7475 is not set | ||
| 916 | # CONFIG_SENSORS_ATXP1 is not set | 995 | # CONFIG_SENSORS_ATXP1 is not set |
| 917 | # CONFIG_SENSORS_DS1621 is not set | 996 | # CONFIG_SENSORS_DS1621 is not set |
| 918 | # CONFIG_SENSORS_I5K_AMB is not set | 997 | # CONFIG_SENSORS_I5K_AMB is not set |
| 919 | # CONFIG_SENSORS_F71805F is not set | 998 | # CONFIG_SENSORS_F71805F is not set |
| 920 | # CONFIG_SENSORS_F71882FG is not set | 999 | # CONFIG_SENSORS_F71882FG is not set |
| 921 | # CONFIG_SENSORS_F75375S is not set | 1000 | # CONFIG_SENSORS_F75375S is not set |
| 1001 | # CONFIG_SENSORS_G760A is not set | ||
| 922 | # CONFIG_SENSORS_GL518SM is not set | 1002 | # CONFIG_SENSORS_GL518SM is not set |
| 923 | # CONFIG_SENSORS_GL520SM is not set | 1003 | # CONFIG_SENSORS_GL520SM is not set |
| 924 | # CONFIG_SENSORS_IT87 is not set | 1004 | # CONFIG_SENSORS_IT87 is not set |
| @@ -933,10 +1013,15 @@ CONFIG_SENSORS_LM75=y | |||
| 933 | # CONFIG_SENSORS_LM90 is not set | 1013 | # CONFIG_SENSORS_LM90 is not set |
| 934 | # CONFIG_SENSORS_LM92 is not set | 1014 | # CONFIG_SENSORS_LM92 is not set |
| 935 | # CONFIG_SENSORS_LM93 is not set | 1015 | # CONFIG_SENSORS_LM93 is not set |
| 1016 | # CONFIG_SENSORS_LTC4215 is not set | ||
| 1017 | # CONFIG_SENSORS_LTC4245 is not set | ||
| 1018 | # CONFIG_SENSORS_LM95241 is not set | ||
| 936 | # CONFIG_SENSORS_MAX1619 is not set | 1019 | # CONFIG_SENSORS_MAX1619 is not set |
| 937 | # CONFIG_SENSORS_MAX6650 is not set | 1020 | # CONFIG_SENSORS_MAX6650 is not set |
| 938 | # CONFIG_SENSORS_PC87360 is not set | 1021 | # CONFIG_SENSORS_PC87360 is not set |
| 939 | # CONFIG_SENSORS_PC87427 is not set | 1022 | # CONFIG_SENSORS_PC87427 is not set |
| 1023 | # CONFIG_SENSORS_PCF8591 is not set | ||
| 1024 | # CONFIG_SENSORS_SHT15 is not set | ||
| 940 | # CONFIG_SENSORS_SIS5595 is not set | 1025 | # CONFIG_SENSORS_SIS5595 is not set |
| 941 | # CONFIG_SENSORS_DME1737 is not set | 1026 | # CONFIG_SENSORS_DME1737 is not set |
| 942 | # CONFIG_SENSORS_SMSC47M1 is not set | 1027 | # CONFIG_SENSORS_SMSC47M1 is not set |
| @@ -956,12 +1041,14 @@ CONFIG_SENSORS_LM75=y | |||
| 956 | # CONFIG_SENSORS_W83627HF is not set | 1041 | # CONFIG_SENSORS_W83627HF is not set |
| 957 | # CONFIG_SENSORS_W83627EHF is not set | 1042 | # CONFIG_SENSORS_W83627EHF is not set |
| 958 | # CONFIG_HWMON_DEBUG_CHIP is not set | 1043 | # CONFIG_HWMON_DEBUG_CHIP is not set |
| 1044 | # CONFIG_THERMAL is not set | ||
| 1045 | # CONFIG_THERMAL_HWMON is not set | ||
| 959 | # CONFIG_WATCHDOG is not set | 1046 | # CONFIG_WATCHDOG is not set |
| 1047 | CONFIG_SSB_POSSIBLE=y | ||
| 960 | 1048 | ||
| 961 | # | 1049 | # |
| 962 | # Sonics Silicon Backplane | 1050 | # Sonics Silicon Backplane |
| 963 | # | 1051 | # |
| 964 | CONFIG_SSB_POSSIBLE=y | ||
| 965 | # CONFIG_SSB is not set | 1052 | # CONFIG_SSB is not set |
| 966 | 1053 | ||
| 967 | # | 1054 | # |
| @@ -970,9 +1057,12 @@ CONFIG_SSB_POSSIBLE=y | |||
| 970 | # CONFIG_MFD_CORE is not set | 1057 | # CONFIG_MFD_CORE is not set |
| 971 | # CONFIG_MFD_SM501 is not set | 1058 | # CONFIG_MFD_SM501 is not set |
| 972 | # CONFIG_HTC_PASIC3 is not set | 1059 | # CONFIG_HTC_PASIC3 is not set |
| 1060 | # CONFIG_TWL4030_CORE is not set | ||
| 973 | # CONFIG_MFD_TMIO is not set | 1061 | # CONFIG_MFD_TMIO is not set |
| 974 | # CONFIG_MFD_T7L66XB is not set | 1062 | # CONFIG_PMIC_DA903X is not set |
| 975 | # CONFIG_MFD_TC6387XB is not set | 1063 | # CONFIG_MFD_WM8400 is not set |
| 1064 | # CONFIG_MFD_WM8350_I2C is not set | ||
| 1065 | # CONFIG_MFD_PCF50633 is not set | ||
| 976 | 1066 | ||
| 977 | # | 1067 | # |
| 978 | # Multimedia devices | 1068 | # Multimedia devices |
| @@ -1013,9 +1103,36 @@ CONFIG_HID=y | |||
| 1013 | # USB Input Devices | 1103 | # USB Input Devices |
| 1014 | # | 1104 | # |
| 1015 | CONFIG_USB_HID=y | 1105 | CONFIG_USB_HID=y |
| 1016 | # CONFIG_USB_HIDINPUT_POWERBOOK is not set | 1106 | # CONFIG_HID_PID is not set |
| 1017 | # CONFIG_HID_FF is not set | ||
| 1018 | # CONFIG_USB_HIDDEV is not set | 1107 | # CONFIG_USB_HIDDEV is not set |
| 1108 | |||
| 1109 | # | ||
| 1110 | # Special HID drivers | ||
| 1111 | # | ||
| 1112 | # CONFIG_HID_A4TECH is not set | ||
| 1113 | # CONFIG_HID_APPLE is not set | ||
| 1114 | # CONFIG_HID_BELKIN is not set | ||
| 1115 | # CONFIG_HID_CHERRY is not set | ||
| 1116 | # CONFIG_HID_CHICONY is not set | ||
| 1117 | # CONFIG_HID_CYPRESS is not set | ||
| 1118 | # CONFIG_DRAGONRISE_FF is not set | ||
| 1119 | # CONFIG_HID_EZKEY is not set | ||
| 1120 | # CONFIG_HID_KYE is not set | ||
| 1121 | # CONFIG_HID_GYRATION is not set | ||
| 1122 | # CONFIG_HID_KENSINGTON is not set | ||
| 1123 | # CONFIG_HID_LOGITECH is not set | ||
| 1124 | # CONFIG_HID_MICROSOFT is not set | ||
| 1125 | # CONFIG_HID_MONTEREY is not set | ||
| 1126 | # CONFIG_HID_NTRIG is not set | ||
| 1127 | # CONFIG_HID_PANTHERLORD is not set | ||
| 1128 | # CONFIG_HID_PETALYNX is not set | ||
| 1129 | # CONFIG_HID_SAMSUNG is not set | ||
| 1130 | # CONFIG_HID_SONY is not set | ||
| 1131 | # CONFIG_HID_SUNPLUS is not set | ||
| 1132 | # CONFIG_GREENASIA_FF is not set | ||
| 1133 | # CONFIG_HID_TOPSEED is not set | ||
| 1134 | # CONFIG_THRUSTMASTER_FF is not set | ||
| 1135 | # CONFIG_ZEROPLUS_FF is not set | ||
| 1019 | CONFIG_USB_SUPPORT=y | 1136 | CONFIG_USB_SUPPORT=y |
| 1020 | CONFIG_USB_ARCH_HAS_HCD=y | 1137 | CONFIG_USB_ARCH_HAS_HCD=y |
| 1021 | CONFIG_USB_ARCH_HAS_OHCI=y | 1138 | CONFIG_USB_ARCH_HAS_OHCI=y |
| @@ -1030,10 +1147,13 @@ CONFIG_USB=y | |||
| 1030 | CONFIG_USB_DEVICEFS=y | 1147 | CONFIG_USB_DEVICEFS=y |
| 1031 | CONFIG_USB_DEVICE_CLASS=y | 1148 | CONFIG_USB_DEVICE_CLASS=y |
| 1032 | # CONFIG_USB_DYNAMIC_MINORS is not set | 1149 | # CONFIG_USB_DYNAMIC_MINORS is not set |
| 1150 | # CONFIG_USB_SUSPEND is not set | ||
| 1033 | # CONFIG_USB_OTG is not set | 1151 | # CONFIG_USB_OTG is not set |
| 1034 | # CONFIG_USB_OTG_WHITELIST is not set | 1152 | # CONFIG_USB_OTG_WHITELIST is not set |
| 1035 | # CONFIG_USB_OTG_BLACKLIST_HUB is not set | 1153 | # CONFIG_USB_OTG_BLACKLIST_HUB is not set |
| 1036 | # CONFIG_USB_MON is not set | 1154 | # CONFIG_USB_MON is not set |
| 1155 | # CONFIG_USB_WUSB is not set | ||
| 1156 | # CONFIG_USB_WUSB_CBAF is not set | ||
| 1037 | 1157 | ||
| 1038 | # | 1158 | # |
| 1039 | # USB Host Controller Drivers | 1159 | # USB Host Controller Drivers |
| @@ -1042,12 +1162,15 @@ CONFIG_USB_DEVICE_CLASS=y | |||
| 1042 | CONFIG_USB_EHCI_HCD=y | 1162 | CONFIG_USB_EHCI_HCD=y |
| 1043 | CONFIG_USB_EHCI_ROOT_HUB_TT=y | 1163 | CONFIG_USB_EHCI_ROOT_HUB_TT=y |
| 1044 | CONFIG_USB_EHCI_TT_NEWSCHED=y | 1164 | CONFIG_USB_EHCI_TT_NEWSCHED=y |
| 1165 | # CONFIG_USB_OXU210HP_HCD is not set | ||
| 1045 | # CONFIG_USB_ISP116X_HCD is not set | 1166 | # CONFIG_USB_ISP116X_HCD is not set |
| 1046 | # CONFIG_USB_ISP1760_HCD is not set | 1167 | # CONFIG_USB_ISP1760_HCD is not set |
| 1047 | # CONFIG_USB_OHCI_HCD is not set | 1168 | # CONFIG_USB_OHCI_HCD is not set |
| 1048 | # CONFIG_USB_UHCI_HCD is not set | 1169 | # CONFIG_USB_UHCI_HCD is not set |
| 1049 | # CONFIG_USB_SL811_HCD is not set | 1170 | # CONFIG_USB_SL811_HCD is not set |
| 1050 | # CONFIG_USB_R8A66597_HCD is not set | 1171 | # CONFIG_USB_R8A66597_HCD is not set |
| 1172 | # CONFIG_USB_WHCI_HCD is not set | ||
| 1173 | # CONFIG_USB_HWA_HCD is not set | ||
| 1051 | 1174 | ||
| 1052 | # | 1175 | # |
| 1053 | # USB Device Class drivers | 1176 | # USB Device Class drivers |
| @@ -1055,20 +1178,20 @@ CONFIG_USB_EHCI_TT_NEWSCHED=y | |||
| 1055 | # CONFIG_USB_ACM is not set | 1178 | # CONFIG_USB_ACM is not set |
| 1056 | CONFIG_USB_PRINTER=y | 1179 | CONFIG_USB_PRINTER=y |
| 1057 | # CONFIG_USB_WDM is not set | 1180 | # CONFIG_USB_WDM is not set |
| 1181 | # CONFIG_USB_TMC is not set | ||
| 1058 | 1182 | ||
| 1059 | # | 1183 | # |
| 1060 | # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' | 1184 | # NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may |
| 1061 | # | 1185 | # |
| 1062 | 1186 | ||
| 1063 | # | 1187 | # |
| 1064 | # may also be needed; see USB_STORAGE Help for more information | 1188 | # also be needed; see USB_STORAGE Help for more info |
| 1065 | # | 1189 | # |
| 1066 | CONFIG_USB_STORAGE=y | 1190 | CONFIG_USB_STORAGE=y |
| 1067 | # CONFIG_USB_STORAGE_DEBUG is not set | 1191 | # CONFIG_USB_STORAGE_DEBUG is not set |
| 1068 | CONFIG_USB_STORAGE_DATAFAB=y | 1192 | CONFIG_USB_STORAGE_DATAFAB=y |
| 1069 | CONFIG_USB_STORAGE_FREECOM=y | 1193 | CONFIG_USB_STORAGE_FREECOM=y |
| 1070 | # CONFIG_USB_STORAGE_ISD200 is not set | 1194 | # CONFIG_USB_STORAGE_ISD200 is not set |
| 1071 | CONFIG_USB_STORAGE_DPCM=y | ||
| 1072 | # CONFIG_USB_STORAGE_USBAT is not set | 1195 | # CONFIG_USB_STORAGE_USBAT is not set |
| 1073 | CONFIG_USB_STORAGE_SDDR09=y | 1196 | CONFIG_USB_STORAGE_SDDR09=y |
| 1074 | CONFIG_USB_STORAGE_SDDR55=y | 1197 | CONFIG_USB_STORAGE_SDDR55=y |
| @@ -1076,7 +1199,6 @@ CONFIG_USB_STORAGE_JUMPSHOT=y | |||
| 1076 | # CONFIG_USB_STORAGE_ALAUDA is not set | 1199 | # CONFIG_USB_STORAGE_ALAUDA is not set |
| 1077 | # CONFIG_USB_STORAGE_ONETOUCH is not set | 1200 | # CONFIG_USB_STORAGE_ONETOUCH is not set |
| 1078 | # CONFIG_USB_STORAGE_KARMA is not set | 1201 | # CONFIG_USB_STORAGE_KARMA is not set |
| 1079 | # CONFIG_USB_STORAGE_SIERRA is not set | ||
| 1080 | # CONFIG_USB_STORAGE_CYPRESS_ATACB is not set | 1202 | # CONFIG_USB_STORAGE_CYPRESS_ATACB is not set |
| 1081 | # CONFIG_USB_LIBUSUAL is not set | 1203 | # CONFIG_USB_LIBUSUAL is not set |
| 1082 | 1204 | ||
| @@ -1097,6 +1219,7 @@ CONFIG_USB_STORAGE_JUMPSHOT=y | |||
| 1097 | # CONFIG_USB_EMI62 is not set | 1219 | # CONFIG_USB_EMI62 is not set |
| 1098 | # CONFIG_USB_EMI26 is not set | 1220 | # CONFIG_USB_EMI26 is not set |
| 1099 | # CONFIG_USB_ADUTUX is not set | 1221 | # CONFIG_USB_ADUTUX is not set |
| 1222 | # CONFIG_USB_SEVSEG is not set | ||
| 1100 | # CONFIG_USB_RIO500 is not set | 1223 | # CONFIG_USB_RIO500 is not set |
| 1101 | # CONFIG_USB_LEGOTOWER is not set | 1224 | # CONFIG_USB_LEGOTOWER is not set |
| 1102 | # CONFIG_USB_LCD is not set | 1225 | # CONFIG_USB_LCD is not set |
| @@ -1104,7 +1227,6 @@ CONFIG_USB_STORAGE_JUMPSHOT=y | |||
| 1104 | # CONFIG_USB_LED is not set | 1227 | # CONFIG_USB_LED is not set |
| 1105 | # CONFIG_USB_CYPRESS_CY7C63 is not set | 1228 | # CONFIG_USB_CYPRESS_CY7C63 is not set |
| 1106 | # CONFIG_USB_CYTHERM is not set | 1229 | # CONFIG_USB_CYTHERM is not set |
| 1107 | # CONFIG_USB_PHIDGET is not set | ||
| 1108 | # CONFIG_USB_IDMOUSE is not set | 1230 | # CONFIG_USB_IDMOUSE is not set |
| 1109 | # CONFIG_USB_FTDI_ELAN is not set | 1231 | # CONFIG_USB_FTDI_ELAN is not set |
| 1110 | # CONFIG_USB_APPLEDISPLAY is not set | 1232 | # CONFIG_USB_APPLEDISPLAY is not set |
| @@ -1114,8 +1236,18 @@ CONFIG_USB_STORAGE_JUMPSHOT=y | |||
| 1114 | # CONFIG_USB_IOWARRIOR is not set | 1236 | # CONFIG_USB_IOWARRIOR is not set |
| 1115 | # CONFIG_USB_TEST is not set | 1237 | # CONFIG_USB_TEST is not set |
| 1116 | # CONFIG_USB_ISIGHTFW is not set | 1238 | # CONFIG_USB_ISIGHTFW is not set |
| 1239 | # CONFIG_USB_VST is not set | ||
| 1117 | # CONFIG_USB_GADGET is not set | 1240 | # CONFIG_USB_GADGET is not set |
| 1241 | |||
| 1242 | # | ||
| 1243 | # OTG and related infrastructure | ||
| 1244 | # | ||
| 1245 | # CONFIG_USB_GPIO_VBUS is not set | ||
| 1246 | # CONFIG_NOP_USB_XCEIV is not set | ||
| 1247 | # CONFIG_UWB is not set | ||
| 1118 | # CONFIG_MMC is not set | 1248 | # CONFIG_MMC is not set |
| 1249 | # CONFIG_MEMSTICK is not set | ||
| 1250 | # CONFIG_ACCESSIBILITY is not set | ||
| 1119 | CONFIG_NEW_LEDS=y | 1251 | CONFIG_NEW_LEDS=y |
| 1120 | CONFIG_LEDS_CLASS=y | 1252 | CONFIG_LEDS_CLASS=y |
| 1121 | 1253 | ||
| @@ -1124,7 +1256,10 @@ CONFIG_LEDS_CLASS=y | |||
| 1124 | # | 1256 | # |
| 1125 | # CONFIG_LEDS_PCA9532 is not set | 1257 | # CONFIG_LEDS_PCA9532 is not set |
| 1126 | CONFIG_LEDS_GPIO=y | 1258 | CONFIG_LEDS_GPIO=y |
| 1259 | CONFIG_LEDS_GPIO_PLATFORM=y | ||
| 1260 | # CONFIG_LEDS_LP5521 is not set | ||
| 1127 | # CONFIG_LEDS_PCA955X is not set | 1261 | # CONFIG_LEDS_PCA955X is not set |
| 1262 | # CONFIG_LEDS_BD2802 is not set | ||
| 1128 | 1263 | ||
| 1129 | # | 1264 | # |
| 1130 | # LED Triggers | 1265 | # LED Triggers |
| @@ -1132,7 +1267,12 @@ CONFIG_LEDS_GPIO=y | |||
| 1132 | CONFIG_LEDS_TRIGGERS=y | 1267 | CONFIG_LEDS_TRIGGERS=y |
| 1133 | CONFIG_LEDS_TRIGGER_TIMER=y | 1268 | CONFIG_LEDS_TRIGGER_TIMER=y |
| 1134 | CONFIG_LEDS_TRIGGER_HEARTBEAT=y | 1269 | CONFIG_LEDS_TRIGGER_HEARTBEAT=y |
| 1270 | # CONFIG_LEDS_TRIGGER_BACKLIGHT is not set | ||
| 1135 | CONFIG_LEDS_TRIGGER_DEFAULT_ON=y | 1271 | CONFIG_LEDS_TRIGGER_DEFAULT_ON=y |
| 1272 | |||
| 1273 | # | ||
| 1274 | # iptables trigger is under Netfilter config (LED target) | ||
| 1275 | # | ||
| 1136 | CONFIG_RTC_LIB=y | 1276 | CONFIG_RTC_LIB=y |
| 1137 | CONFIG_RTC_CLASS=y | 1277 | CONFIG_RTC_CLASS=y |
| 1138 | CONFIG_RTC_HCTOSYS=y | 1278 | CONFIG_RTC_HCTOSYS=y |
| @@ -1164,6 +1304,7 @@ CONFIG_RTC_DRV_M41T80=y | |||
| 1164 | # CONFIG_RTC_DRV_M41T80_WDT is not set | 1304 | # CONFIG_RTC_DRV_M41T80_WDT is not set |
| 1165 | CONFIG_RTC_DRV_S35390A=y | 1305 | CONFIG_RTC_DRV_S35390A=y |
| 1166 | # CONFIG_RTC_DRV_FM3130 is not set | 1306 | # CONFIG_RTC_DRV_FM3130 is not set |
| 1307 | # CONFIG_RTC_DRV_RX8581 is not set | ||
| 1167 | 1308 | ||
| 1168 | # | 1309 | # |
| 1169 | # SPI RTC drivers | 1310 | # SPI RTC drivers |
| @@ -1173,12 +1314,15 @@ CONFIG_RTC_DRV_S35390A=y | |||
| 1173 | # Platform RTC drivers | 1314 | # Platform RTC drivers |
| 1174 | # | 1315 | # |
| 1175 | # CONFIG_RTC_DRV_CMOS is not set | 1316 | # CONFIG_RTC_DRV_CMOS is not set |
| 1317 | # CONFIG_RTC_DRV_DS1286 is not set | ||
| 1176 | # CONFIG_RTC_DRV_DS1511 is not set | 1318 | # CONFIG_RTC_DRV_DS1511 is not set |
| 1177 | # CONFIG_RTC_DRV_DS1553 is not set | 1319 | # CONFIG_RTC_DRV_DS1553 is not set |
| 1178 | # CONFIG_RTC_DRV_DS1742 is not set | 1320 | # CONFIG_RTC_DRV_DS1742 is not set |
| 1179 | # CONFIG_RTC_DRV_STK17TA8 is not set | 1321 | # CONFIG_RTC_DRV_STK17TA8 is not set |
| 1180 | CONFIG_RTC_DRV_M48T86=y | 1322 | CONFIG_RTC_DRV_M48T86=y |
| 1323 | # CONFIG_RTC_DRV_M48T35 is not set | ||
| 1181 | # CONFIG_RTC_DRV_M48T59 is not set | 1324 | # CONFIG_RTC_DRV_M48T59 is not set |
| 1325 | # CONFIG_RTC_DRV_BQ4802 is not set | ||
| 1182 | # CONFIG_RTC_DRV_V3020 is not set | 1326 | # CONFIG_RTC_DRV_V3020 is not set |
| 1183 | 1327 | ||
| 1184 | # | 1328 | # |
| @@ -1196,16 +1340,12 @@ CONFIG_DMA_ENGINE=y | |||
| 1196 | # DMA Clients | 1340 | # DMA Clients |
| 1197 | # | 1341 | # |
| 1198 | # CONFIG_NET_DMA is not set | 1342 | # CONFIG_NET_DMA is not set |
| 1343 | # CONFIG_ASYNC_TX_DMA is not set | ||
| 1199 | # CONFIG_DMATEST is not set | 1344 | # CONFIG_DMATEST is not set |
| 1200 | 1345 | # CONFIG_AUXDISPLAY is not set | |
| 1201 | # | ||
| 1202 | # Voltage and Current regulators | ||
| 1203 | # | ||
| 1204 | # CONFIG_REGULATOR is not set | 1346 | # CONFIG_REGULATOR is not set |
| 1205 | # CONFIG_REGULATOR_FIXED_VOLTAGE is not set | ||
| 1206 | # CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set | ||
| 1207 | # CONFIG_REGULATOR_BQ24022 is not set | ||
| 1208 | # CONFIG_UIO is not set | 1347 | # CONFIG_UIO is not set |
| 1348 | # CONFIG_STAGING is not set | ||
| 1209 | 1349 | ||
| 1210 | # | 1350 | # |
| 1211 | # File systems | 1351 | # File systems |
| @@ -1214,14 +1354,25 @@ CONFIG_EXT2_FS=y | |||
| 1214 | # CONFIG_EXT2_FS_XATTR is not set | 1354 | # CONFIG_EXT2_FS_XATTR is not set |
| 1215 | # CONFIG_EXT2_FS_XIP is not set | 1355 | # CONFIG_EXT2_FS_XIP is not set |
| 1216 | CONFIG_EXT3_FS=y | 1356 | CONFIG_EXT3_FS=y |
| 1357 | # CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set | ||
| 1217 | # CONFIG_EXT3_FS_XATTR is not set | 1358 | # CONFIG_EXT3_FS_XATTR is not set |
| 1218 | # CONFIG_EXT4DEV_FS is not set | 1359 | CONFIG_EXT4_FS=m |
| 1360 | # CONFIG_EXT4DEV_COMPAT is not set | ||
| 1361 | CONFIG_EXT4_FS_XATTR=y | ||
| 1362 | # CONFIG_EXT4_FS_POSIX_ACL is not set | ||
| 1363 | # CONFIG_EXT4_FS_SECURITY is not set | ||
| 1219 | CONFIG_JBD=y | 1364 | CONFIG_JBD=y |
| 1365 | # CONFIG_JBD_DEBUG is not set | ||
| 1366 | CONFIG_JBD2=m | ||
| 1367 | # CONFIG_JBD2_DEBUG is not set | ||
| 1368 | CONFIG_FS_MBCACHE=m | ||
| 1220 | # CONFIG_REISERFS_FS is not set | 1369 | # CONFIG_REISERFS_FS is not set |
| 1221 | # CONFIG_JFS_FS is not set | 1370 | # CONFIG_JFS_FS is not set |
| 1222 | # CONFIG_FS_POSIX_ACL is not set | 1371 | # CONFIG_FS_POSIX_ACL is not set |
| 1372 | CONFIG_FILE_LOCKING=y | ||
| 1223 | # CONFIG_XFS_FS is not set | 1373 | # CONFIG_XFS_FS is not set |
| 1224 | # CONFIG_OCFS2_FS is not set | 1374 | # CONFIG_OCFS2_FS is not set |
| 1375 | # CONFIG_BTRFS_FS is not set | ||
| 1225 | CONFIG_DNOTIFY=y | 1376 | CONFIG_DNOTIFY=y |
| 1226 | CONFIG_INOTIFY=y | 1377 | CONFIG_INOTIFY=y |
| 1227 | CONFIG_INOTIFY_USER=y | 1378 | CONFIG_INOTIFY_USER=y |
| @@ -1231,6 +1382,11 @@ CONFIG_INOTIFY_USER=y | |||
| 1231 | # CONFIG_FUSE_FS is not set | 1382 | # CONFIG_FUSE_FS is not set |
| 1232 | 1383 | ||
| 1233 | # | 1384 | # |
| 1385 | # Caches | ||
| 1386 | # | ||
| 1387 | # CONFIG_FSCACHE is not set | ||
| 1388 | |||
| 1389 | # | ||
| 1234 | # CD-ROM/DVD Filesystems | 1390 | # CD-ROM/DVD Filesystems |
| 1235 | # | 1391 | # |
| 1236 | CONFIG_ISO9660_FS=m | 1392 | CONFIG_ISO9660_FS=m |
| @@ -1254,15 +1410,13 @@ CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1" | |||
| 1254 | # | 1410 | # |
| 1255 | CONFIG_PROC_FS=y | 1411 | CONFIG_PROC_FS=y |
| 1256 | CONFIG_PROC_SYSCTL=y | 1412 | CONFIG_PROC_SYSCTL=y |
| 1413 | CONFIG_PROC_PAGE_MONITOR=y | ||
| 1257 | CONFIG_SYSFS=y | 1414 | CONFIG_SYSFS=y |
| 1258 | CONFIG_TMPFS=y | 1415 | CONFIG_TMPFS=y |
| 1259 | # CONFIG_TMPFS_POSIX_ACL is not set | 1416 | # CONFIG_TMPFS_POSIX_ACL is not set |
| 1260 | # CONFIG_HUGETLB_PAGE is not set | 1417 | # CONFIG_HUGETLB_PAGE is not set |
| 1261 | # CONFIG_CONFIGFS_FS is not set | 1418 | # CONFIG_CONFIGFS_FS is not set |
| 1262 | 1419 | CONFIG_MISC_FILESYSTEMS=y | |
| 1263 | # | ||
| 1264 | # Miscellaneous filesystems | ||
| 1265 | # | ||
| 1266 | # CONFIG_ADFS_FS is not set | 1420 | # CONFIG_ADFS_FS is not set |
| 1267 | # CONFIG_AFFS_FS is not set | 1421 | # CONFIG_AFFS_FS is not set |
| 1268 | # CONFIG_HFS_FS is not set | 1422 | # CONFIG_HFS_FS is not set |
| @@ -1282,6 +1436,7 @@ CONFIG_JFFS2_ZLIB=y | |||
| 1282 | CONFIG_JFFS2_RTIME=y | 1436 | CONFIG_JFFS2_RTIME=y |
| 1283 | # CONFIG_JFFS2_RUBIN is not set | 1437 | # CONFIG_JFFS2_RUBIN is not set |
| 1284 | CONFIG_CRAMFS=y | 1438 | CONFIG_CRAMFS=y |
| 1439 | # CONFIG_SQUASHFS is not set | ||
| 1285 | # CONFIG_VXFS_FS is not set | 1440 | # CONFIG_VXFS_FS is not set |
| 1286 | # CONFIG_MINIX_FS is not set | 1441 | # CONFIG_MINIX_FS is not set |
| 1287 | # CONFIG_OMFS_FS is not set | 1442 | # CONFIG_OMFS_FS is not set |
| @@ -1290,6 +1445,7 @@ CONFIG_CRAMFS=y | |||
| 1290 | # CONFIG_ROMFS_FS is not set | 1445 | # CONFIG_ROMFS_FS is not set |
| 1291 | # CONFIG_SYSV_FS is not set | 1446 | # CONFIG_SYSV_FS is not set |
| 1292 | # CONFIG_UFS_FS is not set | 1447 | # CONFIG_UFS_FS is not set |
| 1448 | # CONFIG_NILFS2_FS is not set | ||
| 1293 | CONFIG_NETWORK_FILESYSTEMS=y | 1449 | CONFIG_NETWORK_FILESYSTEMS=y |
| 1294 | CONFIG_NFS_FS=y | 1450 | CONFIG_NFS_FS=y |
| 1295 | CONFIG_NFS_V3=y | 1451 | CONFIG_NFS_V3=y |
| @@ -1381,13 +1537,16 @@ CONFIG_ENABLE_MUST_CHECK=y | |||
| 1381 | CONFIG_FRAME_WARN=1024 | 1537 | CONFIG_FRAME_WARN=1024 |
| 1382 | CONFIG_MAGIC_SYSRQ=y | 1538 | CONFIG_MAGIC_SYSRQ=y |
| 1383 | # CONFIG_UNUSED_SYMBOLS is not set | 1539 | # CONFIG_UNUSED_SYMBOLS is not set |
| 1384 | # CONFIG_DEBUG_FS is not set | 1540 | CONFIG_DEBUG_FS=y |
| 1385 | # CONFIG_HEADERS_CHECK is not set | 1541 | # CONFIG_HEADERS_CHECK is not set |
| 1386 | CONFIG_DEBUG_KERNEL=y | 1542 | CONFIG_DEBUG_KERNEL=y |
| 1387 | # CONFIG_DEBUG_SHIRQ is not set | 1543 | # CONFIG_DEBUG_SHIRQ is not set |
| 1388 | CONFIG_DETECT_SOFTLOCKUP=y | 1544 | CONFIG_DETECT_SOFTLOCKUP=y |
| 1389 | # CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set | 1545 | # CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set |
| 1390 | CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0 | 1546 | CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0 |
| 1547 | CONFIG_DETECT_HUNG_TASK=y | ||
| 1548 | # CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set | ||
| 1549 | CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=0 | ||
| 1391 | CONFIG_SCHED_DEBUG=y | 1550 | CONFIG_SCHED_DEBUG=y |
| 1392 | CONFIG_SCHEDSTATS=y | 1551 | CONFIG_SCHEDSTATS=y |
| 1393 | # CONFIG_TIMER_STATS is not set | 1552 | # CONFIG_TIMER_STATS is not set |
| @@ -1411,25 +1570,46 @@ CONFIG_DEBUG_INFO=y | |||
| 1411 | # CONFIG_DEBUG_MEMORY_INIT is not set | 1570 | # CONFIG_DEBUG_MEMORY_INIT is not set |
| 1412 | # CONFIG_DEBUG_LIST is not set | 1571 | # CONFIG_DEBUG_LIST is not set |
| 1413 | # CONFIG_DEBUG_SG is not set | 1572 | # CONFIG_DEBUG_SG is not set |
| 1573 | # CONFIG_DEBUG_NOTIFIERS is not set | ||
| 1414 | CONFIG_FRAME_POINTER=y | 1574 | CONFIG_FRAME_POINTER=y |
| 1415 | # CONFIG_BOOT_PRINTK_DELAY is not set | 1575 | # CONFIG_BOOT_PRINTK_DELAY is not set |
| 1416 | # CONFIG_RCU_TORTURE_TEST is not set | 1576 | # CONFIG_RCU_TORTURE_TEST is not set |
| 1577 | # CONFIG_RCU_CPU_STALL_DETECTOR is not set | ||
| 1417 | # CONFIG_KPROBES_SANITY_TEST is not set | 1578 | # CONFIG_KPROBES_SANITY_TEST is not set |
| 1418 | # CONFIG_BACKTRACE_SELF_TEST is not set | 1579 | # CONFIG_BACKTRACE_SELF_TEST is not set |
| 1580 | # CONFIG_DEBUG_BLOCK_EXT_DEVT is not set | ||
| 1419 | # CONFIG_LKDTM is not set | 1581 | # CONFIG_LKDTM is not set |
| 1420 | # CONFIG_FAULT_INJECTION is not set | 1582 | # CONFIG_FAULT_INJECTION is not set |
| 1421 | CONFIG_LATENCYTOP=y | 1583 | CONFIG_LATENCYTOP=y |
| 1422 | CONFIG_SYSCTL_SYSCALL_CHECK=y | 1584 | CONFIG_SYSCTL_SYSCALL_CHECK=y |
| 1423 | CONFIG_HAVE_FTRACE=y | 1585 | # CONFIG_PAGE_POISONING is not set |
| 1424 | CONFIG_HAVE_DYNAMIC_FTRACE=y | 1586 | CONFIG_NOP_TRACER=y |
| 1425 | # CONFIG_FTRACE is not set | 1587 | CONFIG_HAVE_FUNCTION_TRACER=y |
| 1588 | CONFIG_RING_BUFFER=y | ||
| 1589 | CONFIG_TRACING=y | ||
| 1590 | CONFIG_TRACING_SUPPORT=y | ||
| 1591 | |||
| 1592 | # | ||
| 1593 | # Tracers | ||
| 1594 | # | ||
| 1595 | # CONFIG_FUNCTION_TRACER is not set | ||
| 1426 | # CONFIG_IRQSOFF_TRACER is not set | 1596 | # CONFIG_IRQSOFF_TRACER is not set |
| 1427 | # CONFIG_PREEMPT_TRACER is not set | 1597 | # CONFIG_PREEMPT_TRACER is not set |
| 1428 | # CONFIG_SCHED_TRACER is not set | 1598 | # CONFIG_SCHED_TRACER is not set |
| 1429 | # CONFIG_CONTEXT_SWITCH_TRACER is not set | 1599 | # CONFIG_CONTEXT_SWITCH_TRACER is not set |
| 1600 | # CONFIG_EVENT_TRACER is not set | ||
| 1601 | # CONFIG_BOOT_TRACER is not set | ||
| 1602 | # CONFIG_TRACE_BRANCH_PROFILING is not set | ||
| 1603 | # CONFIG_STACK_TRACER is not set | ||
| 1604 | # CONFIG_KMEMTRACE is not set | ||
| 1605 | # CONFIG_WORKQUEUE_TRACER is not set | ||
| 1606 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
| 1607 | # CONFIG_FTRACE_STARTUP_TEST is not set | ||
| 1608 | # CONFIG_DYNAMIC_DEBUG is not set | ||
| 1430 | # CONFIG_SAMPLES is not set | 1609 | # CONFIG_SAMPLES is not set |
| 1431 | CONFIG_HAVE_ARCH_KGDB=y | 1610 | CONFIG_HAVE_ARCH_KGDB=y |
| 1432 | # CONFIG_KGDB is not set | 1611 | # CONFIG_KGDB is not set |
| 1612 | CONFIG_ARM_UNWIND=y | ||
| 1433 | CONFIG_DEBUG_USER=y | 1613 | CONFIG_DEBUG_USER=y |
| 1434 | CONFIG_DEBUG_ERRORS=y | 1614 | CONFIG_DEBUG_ERRORS=y |
| 1435 | # CONFIG_DEBUG_STACK_USAGE is not set | 1615 | # CONFIG_DEBUG_STACK_USAGE is not set |
| @@ -1441,18 +1621,27 @@ CONFIG_DEBUG_LL=y | |||
| 1441 | # | 1621 | # |
| 1442 | # CONFIG_KEYS is not set | 1622 | # CONFIG_KEYS is not set |
| 1443 | # CONFIG_SECURITY is not set | 1623 | # CONFIG_SECURITY is not set |
| 1624 | # CONFIG_SECURITYFS is not set | ||
| 1444 | # CONFIG_SECURITY_FILE_CAPABILITIES is not set | 1625 | # CONFIG_SECURITY_FILE_CAPABILITIES is not set |
| 1445 | CONFIG_ASYNC_CORE=y | ||
| 1446 | CONFIG_CRYPTO=y | 1626 | CONFIG_CRYPTO=y |
| 1447 | 1627 | ||
| 1448 | # | 1628 | # |
| 1449 | # Crypto core or helper | 1629 | # Crypto core or helper |
| 1450 | # | 1630 | # |
| 1631 | # CONFIG_CRYPTO_FIPS is not set | ||
| 1451 | CONFIG_CRYPTO_ALGAPI=m | 1632 | CONFIG_CRYPTO_ALGAPI=m |
| 1633 | CONFIG_CRYPTO_ALGAPI2=m | ||
| 1634 | CONFIG_CRYPTO_AEAD2=m | ||
| 1452 | CONFIG_CRYPTO_BLKCIPHER=m | 1635 | CONFIG_CRYPTO_BLKCIPHER=m |
| 1636 | CONFIG_CRYPTO_BLKCIPHER2=m | ||
| 1637 | CONFIG_CRYPTO_HASH2=m | ||
| 1638 | CONFIG_CRYPTO_RNG2=m | ||
| 1639 | CONFIG_CRYPTO_PCOMP=m | ||
| 1453 | CONFIG_CRYPTO_MANAGER=m | 1640 | CONFIG_CRYPTO_MANAGER=m |
| 1641 | CONFIG_CRYPTO_MANAGER2=m | ||
| 1454 | # CONFIG_CRYPTO_GF128MUL is not set | 1642 | # CONFIG_CRYPTO_GF128MUL is not set |
| 1455 | # CONFIG_CRYPTO_NULL is not set | 1643 | # CONFIG_CRYPTO_NULL is not set |
| 1644 | CONFIG_CRYPTO_WORKQUEUE=m | ||
| 1456 | # CONFIG_CRYPTO_CRYPTD is not set | 1645 | # CONFIG_CRYPTO_CRYPTD is not set |
| 1457 | # CONFIG_CRYPTO_AUTHENC is not set | 1646 | # CONFIG_CRYPTO_AUTHENC is not set |
| 1458 | # CONFIG_CRYPTO_TEST is not set | 1647 | # CONFIG_CRYPTO_TEST is not set |
| @@ -1521,18 +1710,24 @@ CONFIG_CRYPTO_PCBC=m | |||
| 1521 | # Compression | 1710 | # Compression |
| 1522 | # | 1711 | # |
| 1523 | # CONFIG_CRYPTO_DEFLATE is not set | 1712 | # CONFIG_CRYPTO_DEFLATE is not set |
| 1713 | # CONFIG_CRYPTO_ZLIB is not set | ||
| 1524 | # CONFIG_CRYPTO_LZO is not set | 1714 | # CONFIG_CRYPTO_LZO is not set |
| 1715 | |||
| 1716 | # | ||
| 1717 | # Random Number Generation | ||
| 1718 | # | ||
| 1719 | # CONFIG_CRYPTO_ANSI_CPRNG is not set | ||
| 1525 | CONFIG_CRYPTO_HW=y | 1720 | CONFIG_CRYPTO_HW=y |
| 1526 | # CONFIG_CRYPTO_DEV_HIFN_795X is not set | 1721 | # CONFIG_CRYPTO_DEV_HIFN_795X is not set |
| 1722 | CONFIG_BINARY_PRINTF=y | ||
| 1527 | 1723 | ||
| 1528 | # | 1724 | # |
| 1529 | # Library routines | 1725 | # Library routines |
| 1530 | # | 1726 | # |
| 1531 | CONFIG_BITREVERSE=y | 1727 | CONFIG_BITREVERSE=y |
| 1532 | # CONFIG_GENERIC_FIND_FIRST_BIT is not set | 1728 | CONFIG_GENERIC_FIND_LAST_BIT=y |
| 1533 | # CONFIG_GENERIC_FIND_NEXT_BIT is not set | ||
| 1534 | # CONFIG_CRC_CCITT is not set | 1729 | # CONFIG_CRC_CCITT is not set |
| 1535 | # CONFIG_CRC16 is not set | 1730 | CONFIG_CRC16=m |
| 1536 | CONFIG_CRC_T10DIF=y | 1731 | CONFIG_CRC_T10DIF=y |
| 1537 | CONFIG_CRC_ITU_T=m | 1732 | CONFIG_CRC_ITU_T=m |
| 1538 | CONFIG_CRC32=y | 1733 | CONFIG_CRC32=y |
| @@ -1540,7 +1735,7 @@ CONFIG_CRC32=y | |||
| 1540 | # CONFIG_LIBCRC32C is not set | 1735 | # CONFIG_LIBCRC32C is not set |
| 1541 | CONFIG_ZLIB_INFLATE=y | 1736 | CONFIG_ZLIB_INFLATE=y |
| 1542 | CONFIG_ZLIB_DEFLATE=y | 1737 | CONFIG_ZLIB_DEFLATE=y |
| 1543 | CONFIG_PLIST=y | ||
| 1544 | CONFIG_HAS_IOMEM=y | 1738 | CONFIG_HAS_IOMEM=y |
| 1545 | CONFIG_HAS_IOPORT=y | 1739 | CONFIG_HAS_IOPORT=y |
| 1546 | CONFIG_HAS_DMA=y | 1740 | CONFIG_HAS_DMA=y |
| 1741 | CONFIG_NLATTR=y | ||
diff --git a/arch/arm/include/asm/elf.h b/arch/arm/include/asm/elf.h index d7da19bcf928..c207504de84d 100644 --- a/arch/arm/include/asm/elf.h +++ b/arch/arm/include/asm/elf.h | |||
| @@ -45,13 +45,15 @@ typedef struct user_fp elf_fpregset_t; | |||
| 45 | #define EF_ARM_HASENTRY 0x00000002 /* All */ | 45 | #define EF_ARM_HASENTRY 0x00000002 /* All */ |
| 46 | #define EF_ARM_RELEXEC 0x00000001 /* All */ | 46 | #define EF_ARM_RELEXEC 0x00000001 /* All */ |
| 47 | 47 | ||
| 48 | #define R_ARM_NONE 0 | 48 | #define R_ARM_NONE 0 |
| 49 | #define R_ARM_PC24 1 | 49 | #define R_ARM_PC24 1 |
| 50 | #define R_ARM_ABS32 2 | 50 | #define R_ARM_ABS32 2 |
| 51 | #define R_ARM_CALL 28 | 51 | #define R_ARM_CALL 28 |
| 52 | #define R_ARM_JUMP24 29 | 52 | #define R_ARM_JUMP24 29 |
| 53 | #define R_ARM_V4BX 40 | 53 | #define R_ARM_V4BX 40 |
| 54 | #define R_ARM_PREL31 42 | 54 | #define R_ARM_PREL31 42 |
| 55 | #define R_ARM_MOVW_ABS_NC 43 | ||
| 56 | #define R_ARM_MOVT_ABS 44 | ||
| 55 | 57 | ||
| 56 | /* | 58 | /* |
| 57 | * These are used to set parameters in the core dumps. | 59 | * These are used to set parameters in the core dumps. |
diff --git a/arch/arm/kernel/module.c b/arch/arm/kernel/module.c index d1731e39b496..bac03c81489d 100644 --- a/arch/arm/kernel/module.c +++ b/arch/arm/kernel/module.c | |||
| @@ -169,6 +169,21 @@ apply_relocate(Elf32_Shdr *sechdrs, const char *strtab, unsigned int symindex, | |||
| 169 | *(u32 *)loc = offset & 0x7fffffff; | 169 | *(u32 *)loc = offset & 0x7fffffff; |
| 170 | break; | 170 | break; |
| 171 | 171 | ||
| 172 | case R_ARM_MOVW_ABS_NC: | ||
| 173 | case R_ARM_MOVT_ABS: | ||
| 174 | offset = *(u32 *)loc; | ||
| 175 | offset = ((offset & 0xf0000) >> 4) | (offset & 0xfff); | ||
| 176 | offset = (offset ^ 0x8000) - 0x8000; | ||
| 177 | |||
| 178 | offset += sym->st_value; | ||
| 179 | if (ELF32_R_TYPE(rel->r_info) == R_ARM_MOVT_ABS) | ||
| 180 | offset >>= 16; | ||
| 181 | |||
| 182 | *(u32 *)loc &= 0xfff0f000; | ||
| 183 | *(u32 *)loc |= ((offset & 0xf000) << 4) | | ||
| 184 | (offset & 0x0fff); | ||
| 185 | break; | ||
| 186 | |||
| 172 | default: | 187 | default: |
| 173 | printk(KERN_ERR "%s: unknown relocation: %u\n", | 188 | printk(KERN_ERR "%s: unknown relocation: %u\n", |
| 174 | module->name, ELF32_R_TYPE(rel->r_info)); | 189 | module->name, ELF32_R_TYPE(rel->r_info)); |
diff --git a/arch/arm/mach-davinci/board-dm644x-evm.c b/arch/arm/mach-davinci/board-dm644x-evm.c index c039674fe99e..b2e7f9c63bc5 100644 --- a/arch/arm/mach-davinci/board-dm644x-evm.c +++ b/arch/arm/mach-davinci/board-dm644x-evm.c | |||
| @@ -211,7 +211,7 @@ static struct resource ide_resources[] = { | |||
| 211 | }, | 211 | }, |
| 212 | }; | 212 | }; |
| 213 | 213 | ||
| 214 | static u64 ide_dma_mask = DMA_32BIT_MASK; | 214 | static u64 ide_dma_mask = DMA_BIT_MASK(32); |
| 215 | 215 | ||
| 216 | static struct platform_device ide_dev = { | 216 | static struct platform_device ide_dev = { |
| 217 | .name = "palm_bk3710", | 217 | .name = "palm_bk3710", |
| @@ -220,7 +220,7 @@ static struct platform_device ide_dev = { | |||
| 220 | .num_resources = ARRAY_SIZE(ide_resources), | 220 | .num_resources = ARRAY_SIZE(ide_resources), |
| 221 | .dev = { | 221 | .dev = { |
| 222 | .dma_mask = &ide_dma_mask, | 222 | .dma_mask = &ide_dma_mask, |
| 223 | .coherent_dma_mask = DMA_32BIT_MASK, | 223 | .coherent_dma_mask = DMA_BIT_MASK(32), |
| 224 | }, | 224 | }, |
| 225 | }; | 225 | }; |
| 226 | 226 | ||
diff --git a/arch/arm/mach-pxa/Kconfig b/arch/arm/mach-pxa/Kconfig index 3e66d9099eab..17d3fbd368a3 100644 --- a/arch/arm/mach-pxa/Kconfig +++ b/arch/arm/mach-pxa/Kconfig | |||
| @@ -289,12 +289,12 @@ config MACH_LITTLETON | |||
| 289 | config MACH_TAVOREVB | 289 | config MACH_TAVOREVB |
| 290 | bool "PXA930 Evaluation Board (aka TavorEVB)" | 290 | bool "PXA930 Evaluation Board (aka TavorEVB)" |
| 291 | select PXA3xx | 291 | select PXA3xx |
| 292 | select PXA930 | 292 | select CPU_PXA930 |
| 293 | 293 | ||
| 294 | config MACH_SAAR | 294 | config MACH_SAAR |
| 295 | bool "PXA930 Handheld Platform (aka SAAR)" | 295 | bool "PXA930 Handheld Platform (aka SAAR)" |
| 296 | select PXA3xx | 296 | select PXA3xx |
| 297 | select PXA930 | 297 | select CPU_PXA930 |
| 298 | 298 | ||
| 299 | config MACH_ARMCORE | 299 | config MACH_ARMCORE |
| 300 | bool "CompuLab CM-X255/CM-X270 modules" | 300 | bool "CompuLab CM-X255/CM-X270 modules" |
diff --git a/arch/arm/mach-s3c2412/pm.c b/arch/arm/mach-s3c2412/pm.c index c9cfe40e21f6..a7417c479ffe 100644 --- a/arch/arm/mach-s3c2412/pm.c +++ b/arch/arm/mach-s3c2412/pm.c | |||
| @@ -21,6 +21,7 @@ | |||
| 21 | #include <linux/io.h> | 21 | #include <linux/io.h> |
| 22 | 22 | ||
| 23 | #include <mach/hardware.h> | 23 | #include <mach/hardware.h> |
| 24 | #include <asm/cacheflush.h> | ||
| 24 | #include <asm/irq.h> | 25 | #include <asm/irq.h> |
| 25 | 26 | ||
| 26 | #include <mach/regs-power.h> | 27 | #include <mach/regs-power.h> |
| @@ -39,6 +40,8 @@ static void s3c2412_cpu_suspend(void) | |||
| 39 | { | 40 | { |
| 40 | unsigned long tmp; | 41 | unsigned long tmp; |
| 41 | 42 | ||
| 43 | flush_cache_all(); | ||
| 44 | |||
| 42 | /* set our standby method to sleep */ | 45 | /* set our standby method to sleep */ |
| 43 | 46 | ||
| 44 | tmp = __raw_readl(S3C2412_PWRCFG); | 47 | tmp = __raw_readl(S3C2412_PWRCFG); |
diff --git a/arch/arm/mach-s3c6400/include/mach/map.h b/arch/arm/mach-s3c6400/include/mach/map.h index baf1c0f1ea5a..8199972ed5bd 100644 --- a/arch/arm/mach-s3c6400/include/mach/map.h +++ b/arch/arm/mach-s3c6400/include/mach/map.h | |||
| @@ -40,6 +40,8 @@ | |||
| 40 | 40 | ||
| 41 | #define S3C64XX_PA_FB (0x77100000) | 41 | #define S3C64XX_PA_FB (0x77100000) |
| 42 | #define S3C64XX_PA_SYSCON (0x7E00F000) | 42 | #define S3C64XX_PA_SYSCON (0x7E00F000) |
| 43 | #define S3C64XX_PA_IIS0 (0x7F002000) | ||
| 44 | #define S3C64XX_PA_IIS1 (0x7F003000) | ||
| 43 | #define S3C64XX_PA_TIMER (0x7F006000) | 45 | #define S3C64XX_PA_TIMER (0x7F006000) |
| 44 | #define S3C64XX_PA_IIC0 (0x7F004000) | 46 | #define S3C64XX_PA_IIC0 (0x7F004000) |
| 45 | #define S3C64XX_PA_IIC1 (0x7F00F000) | 47 | #define S3C64XX_PA_IIC1 (0x7F00F000) |
diff --git a/arch/arm/plat-mxc/dma-mx1-mx2.c b/arch/arm/plat-mxc/dma-mx1-mx2.c index e364a5ed10f1..77646436c00e 100644 --- a/arch/arm/plat-mxc/dma-mx1-mx2.c +++ b/arch/arm/plat-mxc/dma-mx1-mx2.c | |||
| @@ -693,12 +693,15 @@ int imx_dma_request(int channel, const char *name) | |||
| 693 | local_irq_restore(flags); | 693 | local_irq_restore(flags); |
| 694 | return -EBUSY; | 694 | return -EBUSY; |
| 695 | } | 695 | } |
| 696 | memset(imxdma, 0, sizeof(imxdma)); | ||
| 697 | imxdma->name = name; | ||
| 698 | local_irq_restore(flags); /* request_irq() can block */ | ||
| 696 | 699 | ||
| 697 | #ifdef CONFIG_ARCH_MX2 | 700 | #ifdef CONFIG_ARCH_MX2 |
| 698 | ret = request_irq(MXC_INT_DMACH0 + channel, dma_irq_handler, 0, "DMA", | 701 | ret = request_irq(MXC_INT_DMACH0 + channel, dma_irq_handler, 0, "DMA", |
| 699 | NULL); | 702 | NULL); |
| 700 | if (ret) { | 703 | if (ret) { |
| 701 | local_irq_restore(flags); | 704 | imxdma->name = NULL; |
| 702 | printk(KERN_CRIT "Can't register IRQ %d for DMA channel %d\n", | 705 | printk(KERN_CRIT "Can't register IRQ %d for DMA channel %d\n", |
| 703 | MXC_INT_DMACH0 + channel, channel); | 706 | MXC_INT_DMACH0 + channel, channel); |
| 704 | return ret; | 707 | return ret; |
| @@ -708,13 +711,6 @@ int imx_dma_request(int channel, const char *name) | |||
| 708 | imxdma->watchdog.data = channel; | 711 | imxdma->watchdog.data = channel; |
| 709 | #endif | 712 | #endif |
| 710 | 713 | ||
| 711 | imxdma->name = name; | ||
| 712 | imxdma->irq_handler = NULL; | ||
| 713 | imxdma->err_handler = NULL; | ||
| 714 | imxdma->data = NULL; | ||
| 715 | imxdma->sg = NULL; | ||
| 716 | |||
| 717 | local_irq_restore(flags); | ||
| 718 | return ret; | 714 | return ret; |
| 719 | } | 715 | } |
| 720 | EXPORT_SYMBOL(imx_dma_request); | 716 | EXPORT_SYMBOL(imx_dma_request); |
| @@ -737,10 +733,7 @@ void imx_dma_free(int channel) | |||
| 737 | 733 | ||
| 738 | local_irq_save(flags); | 734 | local_irq_save(flags); |
| 739 | /* Disable interrupts */ | 735 | /* Disable interrupts */ |
| 740 | __raw_writel(__raw_readl(DMA_BASE + DMA_DIMR) | (1 << channel), | 736 | imx_dma_disable(channel); |
| 741 | DMA_BASE + DMA_DIMR); | ||
| 742 | __raw_writel(__raw_readl(DMA_BASE + DMA_CCR(channel)) & ~CCR_CEN, | ||
| 743 | DMA_BASE + DMA_CCR(channel)); | ||
| 744 | imxdma->name = NULL; | 737 | imxdma->name = NULL; |
| 745 | 738 | ||
| 746 | #ifdef CONFIG_ARCH_MX2 | 739 | #ifdef CONFIG_ARCH_MX2 |
diff --git a/arch/arm/plat-mxc/gpio.c b/arch/arm/plat-mxc/gpio.c index c6483bad8a26..89e95798cc3b 100644 --- a/arch/arm/plat-mxc/gpio.c +++ b/arch/arm/plat-mxc/gpio.c | |||
| @@ -124,7 +124,7 @@ static void mx3_gpio_irq_handler(u32 irq, struct irq_desc *desc) | |||
| 124 | 124 | ||
| 125 | irq_stat = __raw_readl(port->base + GPIO_ISR) & | 125 | irq_stat = __raw_readl(port->base + GPIO_ISR) & |
| 126 | __raw_readl(port->base + GPIO_IMR); | 126 | __raw_readl(port->base + GPIO_IMR); |
| 127 | BUG_ON(!irq_stat); | 127 | |
| 128 | mxc_gpio_irq_handler(port, irq_stat); | 128 | mxc_gpio_irq_handler(port, irq_stat); |
| 129 | } | 129 | } |
| 130 | #endif | 130 | #endif |
diff --git a/arch/arm/plat-mxc/include/mach/board-mx27ads.h b/arch/arm/plat-mxc/include/mach/board-mx27ads.h index 1cac9d1135cd..d42f4e6116f8 100644 --- a/arch/arm/plat-mxc/include/mach/board-mx27ads.h +++ b/arch/arm/plat-mxc/include/mach/board-mx27ads.h | |||
| @@ -47,7 +47,7 @@ | |||
| 47 | /* | 47 | /* |
| 48 | * Base address of PBC controller, CS4 | 48 | * Base address of PBC controller, CS4 |
| 49 | */ | 49 | */ |
| 50 | #define PBC_BASE_ADDRESS 0xEB000000 | 50 | #define PBC_BASE_ADDRESS 0xf4300000 |
| 51 | #define PBC_REG_ADDR(offset) (void __force __iomem *) \ | 51 | #define PBC_REG_ADDR(offset) (void __force __iomem *) \ |
| 52 | (PBC_BASE_ADDRESS + (offset)) | 52 | (PBC_BASE_ADDRESS + (offset)) |
| 53 | 53 | ||
diff --git a/arch/ia64/include/asm/idle.h b/arch/ia64/include/asm/idle.h new file mode 100644 index 000000000000..b7685015a8ba --- /dev/null +++ b/arch/ia64/include/asm/idle.h | |||
| @@ -0,0 +1,7 @@ | |||
| 1 | #ifndef _ASM_IA64_IDLE_H | ||
| 2 | #define _ASM_IA64_IDLE_H | ||
| 3 | |||
| 4 | static inline void enter_idle(void) { } | ||
| 5 | static inline void exit_idle(void) { } | ||
| 6 | |||
| 7 | #endif /* _ASM_IA64_IDLE_H */ | ||
diff --git a/arch/ia64/include/asm/xen/events.h b/arch/ia64/include/asm/xen/events.h index 73248781fba8..b8370c8b6198 100644 --- a/arch/ia64/include/asm/xen/events.h +++ b/arch/ia64/include/asm/xen/events.h | |||
| @@ -36,14 +36,9 @@ static inline int xen_irqs_disabled(struct pt_regs *regs) | |||
| 36 | return !(ia64_psr(regs)->i); | 36 | return !(ia64_psr(regs)->i); |
| 37 | } | 37 | } |
| 38 | 38 | ||
| 39 | static inline void xen_do_IRQ(int irq, struct pt_regs *regs) | 39 | static inline void handle_irq(int irq, struct pt_regs *regs) |
| 40 | { | 40 | { |
| 41 | struct pt_regs *old_regs; | ||
| 42 | old_regs = set_irq_regs(regs); | ||
| 43 | irq_enter(); | ||
| 44 | __do_IRQ(irq); | 41 | __do_IRQ(irq); |
| 45 | irq_exit(); | ||
| 46 | set_irq_regs(old_regs); | ||
| 47 | } | 42 | } |
| 48 | #define irq_ctx_init(cpu) do { } while (0) | 43 | #define irq_ctx_init(cpu) do { } while (0) |
| 49 | 44 | ||
diff --git a/arch/ia64/xen/xensetup.S b/arch/ia64/xen/xensetup.S index 28fed1fcc079..aff8346ea193 100644 --- a/arch/ia64/xen/xensetup.S +++ b/arch/ia64/xen/xensetup.S | |||
| @@ -54,8 +54,6 @@ END(startup_xen) | |||
| 54 | 54 | ||
| 55 | #define isBP p3 // are we the Bootstrap Processor? | 55 | #define isBP p3 // are we the Bootstrap Processor? |
| 56 | 56 | ||
| 57 | .text | ||
| 58 | |||
| 59 | GLOBAL_ENTRY(xen_setup_hook) | 57 | GLOBAL_ENTRY(xen_setup_hook) |
| 60 | mov r8=XEN_PV_DOMAIN_ASM | 58 | mov r8=XEN_PV_DOMAIN_ASM |
| 61 | (isBP) movl r9=xen_domain_type;; | 59 | (isBP) movl r9=xen_domain_type;; |
diff --git a/arch/powerpc/kernel/cputable.c b/arch/powerpc/kernel/cputable.c index cd1b687544f3..f9c40f869c6e 100644 --- a/arch/powerpc/kernel/cputable.c +++ b/arch/powerpc/kernel/cputable.c | |||
| @@ -382,7 +382,8 @@ static struct cpu_spec __initdata cpu_specs[] = { | |||
| 382 | .icache_bsize = 128, | 382 | .icache_bsize = 128, |
| 383 | .dcache_bsize = 128, | 383 | .dcache_bsize = 128, |
| 384 | .machine_check = machine_check_generic, | 384 | .machine_check = machine_check_generic, |
| 385 | .oprofile_cpu_type = "ppc64/compat-power5+", | 385 | .oprofile_cpu_type = "ppc64/ibm-compat-v1", |
| 386 | .oprofile_type = PPC_OPROFILE_POWER4, | ||
| 386 | .platform = "power5+", | 387 | .platform = "power5+", |
| 387 | }, | 388 | }, |
| 388 | { /* Power6 */ | 389 | { /* Power6 */ |
| @@ -416,7 +417,8 @@ static struct cpu_spec __initdata cpu_specs[] = { | |||
| 416 | .icache_bsize = 128, | 417 | .icache_bsize = 128, |
| 417 | .dcache_bsize = 128, | 418 | .dcache_bsize = 128, |
| 418 | .machine_check = machine_check_generic, | 419 | .machine_check = machine_check_generic, |
| 419 | .oprofile_cpu_type = "ppc64/compat-power6", | 420 | .oprofile_cpu_type = "ppc64/ibm-compat-v1", |
| 421 | .oprofile_type = PPC_OPROFILE_POWER4, | ||
| 420 | .platform = "power6", | 422 | .platform = "power6", |
| 421 | }, | 423 | }, |
| 422 | { /* 2.06-compliant processor, i.e. Power7 "architected" mode */ | 424 | { /* 2.06-compliant processor, i.e. Power7 "architected" mode */ |
| @@ -429,7 +431,8 @@ static struct cpu_spec __initdata cpu_specs[] = { | |||
| 429 | .icache_bsize = 128, | 431 | .icache_bsize = 128, |
| 430 | .dcache_bsize = 128, | 432 | .dcache_bsize = 128, |
| 431 | .machine_check = machine_check_generic, | 433 | .machine_check = machine_check_generic, |
| 432 | .oprofile_cpu_type = "ppc64/compat-power7", | 434 | .oprofile_type = PPC_OPROFILE_POWER4, |
| 435 | .oprofile_cpu_type = "ppc64/ibm-compat-v1", | ||
| 433 | .platform = "power7", | 436 | .platform = "power7", |
| 434 | }, | 437 | }, |
| 435 | { /* Power7 */ | 438 | { /* Power7 */ |
| @@ -1833,8 +1836,10 @@ static void __init setup_cpu_spec(unsigned long offset, struct cpu_spec *s) | |||
| 1833 | * and, in that case, keep the current value for | 1836 | * and, in that case, keep the current value for |
| 1834 | * oprofile_cpu_type. | 1837 | * oprofile_cpu_type. |
| 1835 | */ | 1838 | */ |
| 1836 | if (old.oprofile_cpu_type == NULL) | 1839 | if (old.oprofile_cpu_type == NULL) { |
| 1837 | t->oprofile_cpu_type = s->oprofile_cpu_type; | 1840 | t->oprofile_cpu_type = old.oprofile_cpu_type; |
| 1841 | t->oprofile_type = old.oprofile_type; | ||
| 1842 | } | ||
| 1838 | } | 1843 | } |
| 1839 | 1844 | ||
| 1840 | *PTRRELOC(&cur_cpu_spec) = &the_cpu_spec; | 1845 | *PTRRELOC(&cur_cpu_spec) = &the_cpu_spec; |
diff --git a/arch/x86/kernel/amd_iommu_init.c b/arch/x86/kernel/amd_iommu_init.c index 42c33cebf00f..8c0be0902dac 100644 --- a/arch/x86/kernel/amd_iommu_init.c +++ b/arch/x86/kernel/amd_iommu_init.c | |||
| @@ -49,10 +49,10 @@ | |||
| 49 | #define IVHD_DEV_EXT_SELECT 0x46 | 49 | #define IVHD_DEV_EXT_SELECT 0x46 |
| 50 | #define IVHD_DEV_EXT_SELECT_RANGE 0x47 | 50 | #define IVHD_DEV_EXT_SELECT_RANGE 0x47 |
| 51 | 51 | ||
| 52 | #define IVHD_FLAG_HT_TUN_EN 0x00 | 52 | #define IVHD_FLAG_HT_TUN_EN_MASK 0x01 |
| 53 | #define IVHD_FLAG_PASSPW_EN 0x01 | 53 | #define IVHD_FLAG_PASSPW_EN_MASK 0x02 |
| 54 | #define IVHD_FLAG_RESPASSPW_EN 0x02 | 54 | #define IVHD_FLAG_RESPASSPW_EN_MASK 0x04 |
| 55 | #define IVHD_FLAG_ISOC_EN 0x03 | 55 | #define IVHD_FLAG_ISOC_EN_MASK 0x08 |
| 56 | 56 | ||
| 57 | #define IVMD_FLAG_EXCL_RANGE 0x08 | 57 | #define IVMD_FLAG_EXCL_RANGE 0x08 |
| 58 | #define IVMD_FLAG_UNITY_MAP 0x01 | 58 | #define IVMD_FLAG_UNITY_MAP 0x01 |
| @@ -569,19 +569,19 @@ static void __init init_iommu_from_acpi(struct amd_iommu *iommu, | |||
| 569 | * First set the recommended feature enable bits from ACPI | 569 | * First set the recommended feature enable bits from ACPI |
| 570 | * into the IOMMU control registers | 570 | * into the IOMMU control registers |
| 571 | */ | 571 | */ |
| 572 | h->flags & IVHD_FLAG_HT_TUN_EN ? | 572 | h->flags & IVHD_FLAG_HT_TUN_EN_MASK ? |
| 573 | iommu_feature_enable(iommu, CONTROL_HT_TUN_EN) : | 573 | iommu_feature_enable(iommu, CONTROL_HT_TUN_EN) : |
| 574 | iommu_feature_disable(iommu, CONTROL_HT_TUN_EN); | 574 | iommu_feature_disable(iommu, CONTROL_HT_TUN_EN); |
| 575 | 575 | ||
| 576 | h->flags & IVHD_FLAG_PASSPW_EN ? | 576 | h->flags & IVHD_FLAG_PASSPW_EN_MASK ? |
| 577 | iommu_feature_enable(iommu, CONTROL_PASSPW_EN) : | 577 | iommu_feature_enable(iommu, CONTROL_PASSPW_EN) : |
| 578 | iommu_feature_disable(iommu, CONTROL_PASSPW_EN); | 578 | iommu_feature_disable(iommu, CONTROL_PASSPW_EN); |
| 579 | 579 | ||
| 580 | h->flags & IVHD_FLAG_RESPASSPW_EN ? | 580 | h->flags & IVHD_FLAG_RESPASSPW_EN_MASK ? |
| 581 | iommu_feature_enable(iommu, CONTROL_RESPASSPW_EN) : | 581 | iommu_feature_enable(iommu, CONTROL_RESPASSPW_EN) : |
| 582 | iommu_feature_disable(iommu, CONTROL_RESPASSPW_EN); | 582 | iommu_feature_disable(iommu, CONTROL_RESPASSPW_EN); |
| 583 | 583 | ||
| 584 | h->flags & IVHD_FLAG_ISOC_EN ? | 584 | h->flags & IVHD_FLAG_ISOC_EN_MASK ? |
| 585 | iommu_feature_enable(iommu, CONTROL_ISOC_EN) : | 585 | iommu_feature_enable(iommu, CONTROL_ISOC_EN) : |
| 586 | iommu_feature_disable(iommu, CONTROL_ISOC_EN); | 586 | iommu_feature_disable(iommu, CONTROL_ISOC_EN); |
| 587 | 587 | ||
diff --git a/arch/x86/kernel/cpu/common.c b/arch/x86/kernel/cpu/common.c index c4f667896c28..c1caefc82e62 100644 --- a/arch/x86/kernel/cpu/common.c +++ b/arch/x86/kernel/cpu/common.c | |||
| @@ -1203,6 +1203,8 @@ void __cpuinit cpu_init(void) | |||
| 1203 | load_TR_desc(); | 1203 | load_TR_desc(); |
| 1204 | load_LDT(&init_mm.context); | 1204 | load_LDT(&init_mm.context); |
| 1205 | 1205 | ||
| 1206 | t->x86_tss.io_bitmap_base = offsetof(struct tss_struct, io_bitmap); | ||
| 1207 | |||
| 1206 | #ifdef CONFIG_DOUBLEFAULT | 1208 | #ifdef CONFIG_DOUBLEFAULT |
| 1207 | /* Set up doublefault TSS pointer in the GDT */ | 1209 | /* Set up doublefault TSS pointer in the GDT */ |
| 1208 | __set_tss_desc(cpu, GDT_ENTRY_DOUBLEFAULT_TSS, &doublefault_tss); | 1210 | __set_tss_desc(cpu, GDT_ENTRY_DOUBLEFAULT_TSS, &doublefault_tss); |
diff --git a/arch/x86/kernel/cpu/proc.c b/arch/x86/kernel/cpu/proc.c index f93047fed791..d5e30397246b 100644 --- a/arch/x86/kernel/cpu/proc.c +++ b/arch/x86/kernel/cpu/proc.c | |||
| @@ -14,7 +14,7 @@ static void show_cpuinfo_core(struct seq_file *m, struct cpuinfo_x86 *c, | |||
| 14 | if (c->x86_max_cores * smp_num_siblings > 1) { | 14 | if (c->x86_max_cores * smp_num_siblings > 1) { |
| 15 | seq_printf(m, "physical id\t: %d\n", c->phys_proc_id); | 15 | seq_printf(m, "physical id\t: %d\n", c->phys_proc_id); |
| 16 | seq_printf(m, "siblings\t: %d\n", | 16 | seq_printf(m, "siblings\t: %d\n", |
| 17 | cpumask_weight(cpu_sibling_mask(cpu))); | 17 | cpumask_weight(cpu_core_mask(cpu))); |
| 18 | seq_printf(m, "core id\t\t: %d\n", c->cpu_core_id); | 18 | seq_printf(m, "core id\t\t: %d\n", c->cpu_core_id); |
| 19 | seq_printf(m, "cpu cores\t: %d\n", c->booted_cores); | 19 | seq_printf(m, "cpu cores\t: %d\n", c->booted_cores); |
| 20 | seq_printf(m, "apicid\t\t: %d\n", c->apicid); | 20 | seq_printf(m, "apicid\t\t: %d\n", c->apicid); |
diff --git a/arch/x86/mm/kmmio.c b/arch/x86/mm/kmmio.c index 4f115e00486b..50dc802a1c46 100644 --- a/arch/x86/mm/kmmio.c +++ b/arch/x86/mm/kmmio.c | |||
| @@ -87,7 +87,7 @@ static struct kmmio_probe *get_kmmio_probe(unsigned long addr) | |||
| 87 | { | 87 | { |
| 88 | struct kmmio_probe *p; | 88 | struct kmmio_probe *p; |
| 89 | list_for_each_entry_rcu(p, &kmmio_probes, list) { | 89 | list_for_each_entry_rcu(p, &kmmio_probes, list) { |
| 90 | if (addr >= p->addr && addr <= (p->addr + p->len)) | 90 | if (addr >= p->addr && addr < (p->addr + p->len)) |
| 91 | return p; | 91 | return p; |
| 92 | } | 92 | } |
| 93 | return NULL; | 93 | return NULL; |
diff --git a/arch/x86/vdso/vclock_gettime.c b/arch/x86/vdso/vclock_gettime.c index d9d35824c56f..6a40b78b46aa 100644 --- a/arch/x86/vdso/vclock_gettime.c +++ b/arch/x86/vdso/vclock_gettime.c | |||
| @@ -104,11 +104,13 @@ notrace int __vdso_gettimeofday(struct timeval *tv, struct timezone *tz) | |||
| 104 | { | 104 | { |
| 105 | long ret; | 105 | long ret; |
| 106 | if (likely(gtod->sysctl_enabled && gtod->clock.vread)) { | 106 | if (likely(gtod->sysctl_enabled && gtod->clock.vread)) { |
| 107 | BUILD_BUG_ON(offsetof(struct timeval, tv_usec) != | 107 | if (likely(tv != NULL)) { |
| 108 | offsetof(struct timespec, tv_nsec) || | 108 | BUILD_BUG_ON(offsetof(struct timeval, tv_usec) != |
| 109 | sizeof(*tv) != sizeof(struct timespec)); | 109 | offsetof(struct timespec, tv_nsec) || |
| 110 | do_realtime((struct timespec *)tv); | 110 | sizeof(*tv) != sizeof(struct timespec)); |
| 111 | tv->tv_usec /= 1000; | 111 | do_realtime((struct timespec *)tv); |
| 112 | tv->tv_usec /= 1000; | ||
| 113 | } | ||
| 112 | if (unlikely(tz != NULL)) { | 114 | if (unlikely(tz != NULL)) { |
| 113 | /* Avoid memcpy. Some old compilers fail to inline it */ | 115 | /* Avoid memcpy. Some old compilers fail to inline it */ |
| 114 | tz->tz_minuteswest = gtod->sys_tz.tz_minuteswest; | 116 | tz->tz_minuteswest = gtod->sys_tz.tz_minuteswest; |
diff --git a/drivers/base/iommu.c b/drivers/base/iommu.c index 9f0e672f4be8..8ad4ffea6920 100644 --- a/drivers/base/iommu.c +++ b/drivers/base/iommu.c | |||
| @@ -18,6 +18,8 @@ | |||
| 18 | 18 | ||
| 19 | #include <linux/bug.h> | 19 | #include <linux/bug.h> |
| 20 | #include <linux/types.h> | 20 | #include <linux/types.h> |
| 21 | #include <linux/module.h> | ||
| 22 | #include <linux/slab.h> | ||
| 21 | #include <linux/errno.h> | 23 | #include <linux/errno.h> |
| 22 | #include <linux/iommu.h> | 24 | #include <linux/iommu.h> |
| 23 | 25 | ||
diff --git a/drivers/char/random.c b/drivers/char/random.c index f824ef8a9273..b2ced39d76b2 100644 --- a/drivers/char/random.c +++ b/drivers/char/random.c | |||
| @@ -1665,15 +1665,20 @@ EXPORT_SYMBOL(secure_dccp_sequence_number); | |||
| 1665 | * value is not cryptographically secure but for several uses the cost of | 1665 | * value is not cryptographically secure but for several uses the cost of |
| 1666 | * depleting entropy is too high | 1666 | * depleting entropy is too high |
| 1667 | */ | 1667 | */ |
| 1668 | DEFINE_PER_CPU(__u32 [4], get_random_int_hash); | ||
| 1668 | unsigned int get_random_int(void) | 1669 | unsigned int get_random_int(void) |
| 1669 | { | 1670 | { |
| 1670 | /* | 1671 | struct keydata *keyptr; |
| 1671 | * Use IP's RNG. It suits our purpose perfectly: it re-keys itself | 1672 | __u32 *hash = get_cpu_var(get_random_int_hash); |
| 1672 | * every second, from the entropy pool (and thus creates a limited | 1673 | int ret; |
| 1673 | * drain on it), and uses halfMD4Transform within the second. We | 1674 | |
| 1674 | * also mix it with jiffies and the PID: | 1675 | keyptr = get_keyptr(); |
| 1675 | */ | 1676 | hash[0] += current->pid + jiffies + get_cycles() + (int)(long)&ret; |
| 1676 | return secure_ip_id((__force __be32)(current->pid + jiffies)); | 1677 | |
| 1678 | ret = half_md4_transform(hash, keyptr->secret); | ||
| 1679 | put_cpu_var(get_random_int_hash); | ||
| 1680 | |||
| 1681 | return ret; | ||
| 1677 | } | 1682 | } |
| 1678 | 1683 | ||
| 1679 | /* | 1684 | /* |
diff --git a/drivers/char/vt_ioctl.c b/drivers/char/vt_ioctl.c index a2dee0eb6dad..e6ce632a393e 100644 --- a/drivers/char/vt_ioctl.c +++ b/drivers/char/vt_ioctl.c | |||
| @@ -400,6 +400,9 @@ int vt_ioctl(struct tty_struct *tty, struct file * file, | |||
| 400 | case KIOCSOUND: | 400 | case KIOCSOUND: |
| 401 | if (!perm) | 401 | if (!perm) |
| 402 | goto eperm; | 402 | goto eperm; |
| 403 | /* FIXME: This is an old broken API but we need to keep it | ||
| 404 | supported and somehow separate the historic advertised | ||
| 405 | tick rate from any real one */ | ||
| 403 | if (arg) | 406 | if (arg) |
| 404 | arg = CLOCK_TICK_RATE / arg; | 407 | arg = CLOCK_TICK_RATE / arg; |
| 405 | kd_mksound(arg, 0); | 408 | kd_mksound(arg, 0); |
| @@ -417,6 +420,9 @@ int vt_ioctl(struct tty_struct *tty, struct file * file, | |||
| 417 | */ | 420 | */ |
| 418 | ticks = HZ * ((arg >> 16) & 0xffff) / 1000; | 421 | ticks = HZ * ((arg >> 16) & 0xffff) / 1000; |
| 419 | count = ticks ? (arg & 0xffff) : 0; | 422 | count = ticks ? (arg & 0xffff) : 0; |
| 423 | /* FIXME: This is an old broken API but we need to keep it | ||
| 424 | supported and somehow separate the historic advertised | ||
| 425 | tick rate from any real one */ | ||
| 420 | if (count) | 426 | if (count) |
| 421 | count = CLOCK_TICK_RATE / count; | 427 | count = CLOCK_TICK_RATE / count; |
| 422 | kd_mksound(count, ticks); | 428 | kd_mksound(count, ticks); |
diff --git a/drivers/gpu/drm/drm_crtc_helper.c b/drivers/gpu/drm/drm_crtc_helper.c index a04639dc633d..45890447feec 100644 --- a/drivers/gpu/drm/drm_crtc_helper.c +++ b/drivers/gpu/drm/drm_crtc_helper.c | |||
| @@ -561,7 +561,6 @@ bool drm_crtc_helper_set_mode(struct drm_crtc *crtc, | |||
| 561 | int saved_x, saved_y; | 561 | int saved_x, saved_y; |
| 562 | struct drm_encoder *encoder; | 562 | struct drm_encoder *encoder; |
| 563 | bool ret = true; | 563 | bool ret = true; |
| 564 | bool depth_changed, bpp_changed; | ||
| 565 | 564 | ||
| 566 | adjusted_mode = drm_mode_duplicate(dev, mode); | 565 | adjusted_mode = drm_mode_duplicate(dev, mode); |
| 567 | 566 | ||
| @@ -570,15 +569,6 @@ bool drm_crtc_helper_set_mode(struct drm_crtc *crtc, | |||
| 570 | if (!crtc->enabled) | 569 | if (!crtc->enabled) |
| 571 | return true; | 570 | return true; |
| 572 | 571 | ||
| 573 | if (old_fb && crtc->fb) { | ||
| 574 | depth_changed = (old_fb->depth != crtc->fb->depth); | ||
| 575 | bpp_changed = (old_fb->bits_per_pixel != | ||
| 576 | crtc->fb->bits_per_pixel); | ||
| 577 | } else { | ||
| 578 | depth_changed = true; | ||
| 579 | bpp_changed = true; | ||
| 580 | } | ||
| 581 | |||
| 582 | saved_mode = crtc->mode; | 572 | saved_mode = crtc->mode; |
| 583 | saved_x = crtc->x; | 573 | saved_x = crtc->x; |
| 584 | saved_y = crtc->y; | 574 | saved_y = crtc->y; |
| @@ -590,15 +580,6 @@ bool drm_crtc_helper_set_mode(struct drm_crtc *crtc, | |||
| 590 | crtc->x = x; | 580 | crtc->x = x; |
| 591 | crtc->y = y; | 581 | crtc->y = y; |
| 592 | 582 | ||
| 593 | if (drm_mode_equal(&saved_mode, &crtc->mode)) { | ||
| 594 | if (saved_x != crtc->x || saved_y != crtc->y || | ||
| 595 | depth_changed || bpp_changed) { | ||
| 596 | ret = !crtc_funcs->mode_set_base(crtc, crtc->x, crtc->y, | ||
| 597 | old_fb); | ||
| 598 | goto done; | ||
| 599 | } | ||
| 600 | } | ||
| 601 | |||
| 602 | /* Pass our mode to the connectors and the CRTC to give them a chance to | 583 | /* Pass our mode to the connectors and the CRTC to give them a chance to |
| 603 | * adjust it according to limitations or connector properties, and also | 584 | * adjust it according to limitations or connector properties, and also |
| 604 | * a chance to reject the mode entirely. | 585 | * a chance to reject the mode entirely. |
diff --git a/drivers/gpu/drm/drm_drv.c b/drivers/gpu/drm/drm_drv.c index c4ada8b6295b..f01def16a669 100644 --- a/drivers/gpu/drm/drm_drv.c +++ b/drivers/gpu/drm/drm_drv.c | |||
| @@ -456,7 +456,8 @@ int drm_ioctl(struct inode *inode, struct file *filp, | |||
| 456 | retcode = -EINVAL; | 456 | retcode = -EINVAL; |
| 457 | } else if (((ioctl->flags & DRM_ROOT_ONLY) && !capable(CAP_SYS_ADMIN)) || | 457 | } else if (((ioctl->flags & DRM_ROOT_ONLY) && !capable(CAP_SYS_ADMIN)) || |
| 458 | ((ioctl->flags & DRM_AUTH) && !file_priv->authenticated) || | 458 | ((ioctl->flags & DRM_AUTH) && !file_priv->authenticated) || |
| 459 | ((ioctl->flags & DRM_MASTER) && !file_priv->is_master)) { | 459 | ((ioctl->flags & DRM_MASTER) && !file_priv->is_master) || |
| 460 | (!(ioctl->flags & DRM_CONTROL_ALLOW) && (file_priv->minor->type == DRM_MINOR_CONTROL))) { | ||
| 460 | retcode = -EACCES; | 461 | retcode = -EACCES; |
| 461 | } else { | 462 | } else { |
| 462 | if (cmd & (IOC_IN | IOC_OUT)) { | 463 | if (cmd & (IOC_IN | IOC_OUT)) { |
diff --git a/drivers/gpu/drm/drm_stub.c b/drivers/gpu/drm/drm_stub.c index ef878615c49f..b9631e3a1ea6 100644 --- a/drivers/gpu/drm/drm_stub.c +++ b/drivers/gpu/drm/drm_stub.c | |||
| @@ -402,14 +402,14 @@ int drm_get_dev(struct pci_dev *pdev, const struct pci_device_id *ent, | |||
| 402 | if (dev->driver->load) { | 402 | if (dev->driver->load) { |
| 403 | ret = dev->driver->load(dev, ent->driver_data); | 403 | ret = dev->driver->load(dev, ent->driver_data); |
| 404 | if (ret) | 404 | if (ret) |
| 405 | goto err_g3; | 405 | goto err_g4; |
| 406 | } | 406 | } |
| 407 | 407 | ||
| 408 | /* setup the grouping for the legacy output */ | 408 | /* setup the grouping for the legacy output */ |
| 409 | if (drm_core_check_feature(dev, DRIVER_MODESET)) { | 409 | if (drm_core_check_feature(dev, DRIVER_MODESET)) { |
| 410 | ret = drm_mode_group_init_legacy_group(dev, &dev->primary->mode_group); | 410 | ret = drm_mode_group_init_legacy_group(dev, &dev->primary->mode_group); |
| 411 | if (ret) | 411 | if (ret) |
| 412 | goto err_g3; | 412 | goto err_g4; |
| 413 | } | 413 | } |
| 414 | 414 | ||
| 415 | list_add_tail(&dev->driver_item, &driver->device_list); | 415 | list_add_tail(&dev->driver_item, &driver->device_list); |
| @@ -420,8 +420,11 @@ int drm_get_dev(struct pci_dev *pdev, const struct pci_device_id *ent, | |||
| 420 | 420 | ||
| 421 | return 0; | 421 | return 0; |
| 422 | 422 | ||
| 423 | err_g3: | 423 | err_g4: |
| 424 | drm_put_minor(&dev->primary); | 424 | drm_put_minor(&dev->primary); |
| 425 | err_g3: | ||
| 426 | if (drm_core_check_feature(dev, DRIVER_MODESET)) | ||
| 427 | drm_put_minor(&dev->control); | ||
| 425 | err_g2: | 428 | err_g2: |
| 426 | pci_disable_device(pdev); | 429 | pci_disable_device(pdev); |
| 427 | err_g1: | 430 | err_g1: |
| @@ -502,11 +505,11 @@ void drm_put_dev(struct drm_device *dev) | |||
| 502 | dev->agp = NULL; | 505 | dev->agp = NULL; |
| 503 | } | 506 | } |
| 504 | 507 | ||
| 505 | drm_ht_remove(&dev->map_hash); | ||
| 506 | drm_ctxbitmap_cleanup(dev); | ||
| 507 | |||
| 508 | list_for_each_entry_safe(r_list, list_temp, &dev->maplist, head) | 508 | list_for_each_entry_safe(r_list, list_temp, &dev->maplist, head) |
| 509 | drm_rmmap(dev, r_list->map); | 509 | drm_rmmap(dev, r_list->map); |
| 510 | drm_ht_remove(&dev->map_hash); | ||
| 511 | |||
| 512 | drm_ctxbitmap_cleanup(dev); | ||
| 510 | 513 | ||
| 511 | if (drm_core_check_feature(dev, DRIVER_MODESET)) | 514 | if (drm_core_check_feature(dev, DRIVER_MODESET)) |
| 512 | drm_put_minor(&dev->control); | 515 | drm_put_minor(&dev->control); |
diff --git a/drivers/gpu/drm/drm_sysfs.c b/drivers/gpu/drm/drm_sysfs.c index 022876ae34f0..8f9372921f82 100644 --- a/drivers/gpu/drm/drm_sysfs.c +++ b/drivers/gpu/drm/drm_sysfs.c | |||
| @@ -489,9 +489,7 @@ int drm_sysfs_device_add(struct drm_minor *minor) | |||
| 489 | 489 | ||
| 490 | return 0; | 490 | return 0; |
| 491 | 491 | ||
| 492 | device_unregister(&minor->kdev); | ||
| 493 | err_out: | 492 | err_out: |
| 494 | |||
| 495 | return err; | 493 | return err; |
| 496 | } | 494 | } |
| 497 | 495 | ||
diff --git a/drivers/gpu/drm/r128/r128_cce.c b/drivers/gpu/drm/r128/r128_cce.c index 32de4cedc363..077c0455a6b9 100644 --- a/drivers/gpu/drm/r128/r128_cce.c +++ b/drivers/gpu/drm/r128/r128_cce.c | |||
| @@ -511,9 +511,9 @@ static int r128_do_init_cce(struct drm_device * dev, drm_r128_init_t * init) | |||
| 511 | 511 | ||
| 512 | #if __OS_HAS_AGP | 512 | #if __OS_HAS_AGP |
| 513 | if (!dev_priv->is_pci) { | 513 | if (!dev_priv->is_pci) { |
| 514 | drm_core_ioremap(dev_priv->cce_ring, dev); | 514 | drm_core_ioremap_wc(dev_priv->cce_ring, dev); |
| 515 | drm_core_ioremap(dev_priv->ring_rptr, dev); | 515 | drm_core_ioremap_wc(dev_priv->ring_rptr, dev); |
| 516 | drm_core_ioremap(dev->agp_buffer_map, dev); | 516 | drm_core_ioremap_wc(dev->agp_buffer_map, dev); |
| 517 | if (!dev_priv->cce_ring->handle || | 517 | if (!dev_priv->cce_ring->handle || |
| 518 | !dev_priv->ring_rptr->handle || | 518 | !dev_priv->ring_rptr->handle || |
| 519 | !dev->agp_buffer_map->handle) { | 519 | !dev->agp_buffer_map->handle) { |
diff --git a/drivers/gpu/drm/radeon/radeon_drv.h b/drivers/gpu/drm/radeon/radeon_drv.h index ed4d27e6ee6f..8071d965f142 100644 --- a/drivers/gpu/drm/radeon/radeon_drv.h +++ b/drivers/gpu/drm/radeon/radeon_drv.h | |||
| @@ -99,9 +99,10 @@ | |||
| 99 | * 1.27- Add support for IGP GART | 99 | * 1.27- Add support for IGP GART |
| 100 | * 1.28- Add support for VBL on CRTC2 | 100 | * 1.28- Add support for VBL on CRTC2 |
| 101 | * 1.29- R500 3D cmd buffer support | 101 | * 1.29- R500 3D cmd buffer support |
| 102 | * 1.30- Add support for occlusion queries | ||
| 102 | */ | 103 | */ |
| 103 | #define DRIVER_MAJOR 1 | 104 | #define DRIVER_MAJOR 1 |
| 104 | #define DRIVER_MINOR 29 | 105 | #define DRIVER_MINOR 30 |
| 105 | #define DRIVER_PATCHLEVEL 0 | 106 | #define DRIVER_PATCHLEVEL 0 |
| 106 | 107 | ||
| 107 | /* | 108 | /* |
diff --git a/drivers/i2c/algos/i2c-algo-bit.c b/drivers/i2c/algos/i2c-algo-bit.c index d420cc5f5633..e25e13980af3 100644 --- a/drivers/i2c/algos/i2c-algo-bit.c +++ b/drivers/i2c/algos/i2c-algo-bit.c | |||
| @@ -104,7 +104,7 @@ static int sclhi(struct i2c_algo_bit_data *adap) | |||
| 104 | * chips may hold it low ("clock stretching") while they | 104 | * chips may hold it low ("clock stretching") while they |
| 105 | * are processing data internally. | 105 | * are processing data internally. |
| 106 | */ | 106 | */ |
| 107 | if (time_after_eq(jiffies, start + adap->timeout)) | 107 | if (time_after(jiffies, start + adap->timeout)) |
| 108 | return -ETIMEDOUT; | 108 | return -ETIMEDOUT; |
| 109 | cond_resched(); | 109 | cond_resched(); |
| 110 | } | 110 | } |
diff --git a/drivers/i2c/algos/i2c-algo-pca.c b/drivers/i2c/algos/i2c-algo-pca.c index 6318f7ddc1d4..78d42aae0089 100644 --- a/drivers/i2c/algos/i2c-algo-pca.c +++ b/drivers/i2c/algos/i2c-algo-pca.c | |||
| @@ -287,10 +287,21 @@ static int pca_xfer(struct i2c_adapter *i2c_adap, | |||
| 287 | 287 | ||
| 288 | case 0x30: /* Data byte in I2CDAT has been transmitted; NOT ACK has been received */ | 288 | case 0x30: /* Data byte in I2CDAT has been transmitted; NOT ACK has been received */ |
| 289 | DEB2("NOT ACK received after data byte\n"); | 289 | DEB2("NOT ACK received after data byte\n"); |
| 290 | pca_stop(adap); | ||
| 290 | goto out; | 291 | goto out; |
| 291 | 292 | ||
| 292 | case 0x38: /* Arbitration lost during SLA+W, SLA+R or data bytes */ | 293 | case 0x38: /* Arbitration lost during SLA+W, SLA+R or data bytes */ |
| 293 | DEB2("Arbitration lost\n"); | 294 | DEB2("Arbitration lost\n"); |
| 295 | /* | ||
| 296 | * The PCA9564 data sheet (2006-09-01) says "A | ||
| 297 | * START condition will be transmitted when the | ||
| 298 | * bus becomes free (STOP or SCL and SDA high)" | ||
| 299 | * when the STA bit is set (p. 11). | ||
| 300 | * | ||
| 301 | * In case this won't work, try pca_reset() | ||
| 302 | * instead. | ||
| 303 | */ | ||
| 304 | pca_start(adap); | ||
| 294 | goto out; | 305 | goto out; |
| 295 | 306 | ||
| 296 | case 0x58: /* Data byte has been received; NOT ACK has been returned */ | 307 | case 0x58: /* Data byte has been received; NOT ACK has been returned */ |
diff --git a/drivers/i2c/busses/i2c-ali1535.c b/drivers/i2c/busses/i2c-ali1535.c index 981e080b32ae..d108450df064 100644 --- a/drivers/i2c/busses/i2c-ali1535.c +++ b/drivers/i2c/busses/i2c-ali1535.c | |||
| @@ -284,7 +284,7 @@ static int ali1535_transaction(struct i2c_adapter *adap) | |||
| 284 | && (timeout++ < MAX_TIMEOUT)); | 284 | && (timeout++ < MAX_TIMEOUT)); |
| 285 | 285 | ||
| 286 | /* If the SMBus is still busy, we give up */ | 286 | /* If the SMBus is still busy, we give up */ |
| 287 | if (timeout >= MAX_TIMEOUT) { | 287 | if (timeout > MAX_TIMEOUT) { |
| 288 | result = -ETIMEDOUT; | 288 | result = -ETIMEDOUT; |
| 289 | dev_err(&adap->dev, "SMBus Timeout!\n"); | 289 | dev_err(&adap->dev, "SMBus Timeout!\n"); |
| 290 | } | 290 | } |
diff --git a/drivers/i2c/busses/i2c-ali15x3.c b/drivers/i2c/busses/i2c-ali15x3.c index 39066dee46e3..d627fceb790b 100644 --- a/drivers/i2c/busses/i2c-ali15x3.c +++ b/drivers/i2c/busses/i2c-ali15x3.c | |||
| @@ -306,7 +306,7 @@ static int ali15x3_transaction(struct i2c_adapter *adap) | |||
| 306 | && (timeout++ < MAX_TIMEOUT)); | 306 | && (timeout++ < MAX_TIMEOUT)); |
| 307 | 307 | ||
| 308 | /* If the SMBus is still busy, we give up */ | 308 | /* If the SMBus is still busy, we give up */ |
| 309 | if (timeout >= MAX_TIMEOUT) { | 309 | if (timeout > MAX_TIMEOUT) { |
| 310 | result = -ETIMEDOUT; | 310 | result = -ETIMEDOUT; |
| 311 | dev_err(&adap->dev, "SMBus Timeout!\n"); | 311 | dev_err(&adap->dev, "SMBus Timeout!\n"); |
| 312 | } | 312 | } |
diff --git a/drivers/i2c/busses/i2c-amd756.c b/drivers/i2c/busses/i2c-amd756.c index 220f4a1eee1d..f7d6fe9c49ba 100644 --- a/drivers/i2c/busses/i2c-amd756.c +++ b/drivers/i2c/busses/i2c-amd756.c | |||
| @@ -126,7 +126,7 @@ static int amd756_transaction(struct i2c_adapter *adap) | |||
| 126 | } while ((temp & (GS_HST_STS | GS_SMB_STS)) && | 126 | } while ((temp & (GS_HST_STS | GS_SMB_STS)) && |
| 127 | (timeout++ < MAX_TIMEOUT)); | 127 | (timeout++ < MAX_TIMEOUT)); |
| 128 | /* If the SMBus is still busy, we give up */ | 128 | /* If the SMBus is still busy, we give up */ |
| 129 | if (timeout >= MAX_TIMEOUT) { | 129 | if (timeout > MAX_TIMEOUT) { |
| 130 | dev_dbg(&adap->dev, "Busy wait timeout (%04x)\n", temp); | 130 | dev_dbg(&adap->dev, "Busy wait timeout (%04x)\n", temp); |
| 131 | goto abort; | 131 | goto abort; |
| 132 | } | 132 | } |
| @@ -143,7 +143,7 @@ static int amd756_transaction(struct i2c_adapter *adap) | |||
| 143 | } while ((temp & GS_HST_STS) && (timeout++ < MAX_TIMEOUT)); | 143 | } while ((temp & GS_HST_STS) && (timeout++ < MAX_TIMEOUT)); |
| 144 | 144 | ||
| 145 | /* If the SMBus is still busy, we give up */ | 145 | /* If the SMBus is still busy, we give up */ |
| 146 | if (timeout >= MAX_TIMEOUT) { | 146 | if (timeout > MAX_TIMEOUT) { |
| 147 | dev_dbg(&adap->dev, "Completion timeout!\n"); | 147 | dev_dbg(&adap->dev, "Completion timeout!\n"); |
| 148 | goto abort; | 148 | goto abort; |
| 149 | } | 149 | } |
diff --git a/drivers/i2c/busses/i2c-i801.c b/drivers/i2c/busses/i2c-i801.c index 10411848fd70..9d2c5adf5d4f 100644 --- a/drivers/i2c/busses/i2c-i801.c +++ b/drivers/i2c/busses/i2c-i801.c | |||
| @@ -237,7 +237,7 @@ static int i801_transaction(int xact) | |||
| 237 | status = inb_p(SMBHSTSTS); | 237 | status = inb_p(SMBHSTSTS); |
| 238 | } while ((status & SMBHSTSTS_HOST_BUSY) && (timeout++ < MAX_TIMEOUT)); | 238 | } while ((status & SMBHSTSTS_HOST_BUSY) && (timeout++ < MAX_TIMEOUT)); |
| 239 | 239 | ||
| 240 | result = i801_check_post(status, timeout >= MAX_TIMEOUT); | 240 | result = i801_check_post(status, timeout > MAX_TIMEOUT); |
| 241 | if (result < 0) | 241 | if (result < 0) |
| 242 | return result; | 242 | return result; |
| 243 | 243 | ||
| @@ -257,9 +257,9 @@ static void i801_wait_hwpec(void) | |||
| 257 | } while ((!(status & SMBHSTSTS_INTR)) | 257 | } while ((!(status & SMBHSTSTS_INTR)) |
| 258 | && (timeout++ < MAX_TIMEOUT)); | 258 | && (timeout++ < MAX_TIMEOUT)); |
| 259 | 259 | ||
| 260 | if (timeout >= MAX_TIMEOUT) { | 260 | if (timeout > MAX_TIMEOUT) |
| 261 | dev_dbg(&I801_dev->dev, "PEC Timeout!\n"); | 261 | dev_dbg(&I801_dev->dev, "PEC Timeout!\n"); |
| 262 | } | 262 | |
| 263 | outb_p(status, SMBHSTSTS); | 263 | outb_p(status, SMBHSTSTS); |
| 264 | } | 264 | } |
| 265 | 265 | ||
| @@ -344,7 +344,7 @@ static int i801_block_transaction_byte_by_byte(union i2c_smbus_data *data, | |||
| 344 | while ((!(status & SMBHSTSTS_BYTE_DONE)) | 344 | while ((!(status & SMBHSTSTS_BYTE_DONE)) |
| 345 | && (timeout++ < MAX_TIMEOUT)); | 345 | && (timeout++ < MAX_TIMEOUT)); |
| 346 | 346 | ||
| 347 | result = i801_check_post(status, timeout >= MAX_TIMEOUT); | 347 | result = i801_check_post(status, timeout > MAX_TIMEOUT); |
| 348 | if (result < 0) | 348 | if (result < 0) |
| 349 | return result; | 349 | return result; |
| 350 | 350 | ||
diff --git a/drivers/i2c/busses/i2c-isch.c b/drivers/i2c/busses/i2c-isch.c index b9c01aa90036..9f6b8e0f8632 100644 --- a/drivers/i2c/busses/i2c-isch.c +++ b/drivers/i2c/busses/i2c-isch.c | |||
| @@ -112,7 +112,7 @@ static int sch_transaction(void) | |||
| 112 | } while ((temp & 0x08) && (timeout++ < MAX_TIMEOUT)); | 112 | } while ((temp & 0x08) && (timeout++ < MAX_TIMEOUT)); |
| 113 | 113 | ||
| 114 | /* If the SMBus is still busy, we give up */ | 114 | /* If the SMBus is still busy, we give up */ |
| 115 | if (timeout >= MAX_TIMEOUT) { | 115 | if (timeout > MAX_TIMEOUT) { |
| 116 | dev_err(&sch_adapter.dev, "SMBus Timeout!\n"); | 116 | dev_err(&sch_adapter.dev, "SMBus Timeout!\n"); |
| 117 | result = -ETIMEDOUT; | 117 | result = -ETIMEDOUT; |
| 118 | } | 118 | } |
diff --git a/drivers/i2c/busses/i2c-nforce2.c b/drivers/i2c/busses/i2c-nforce2.c index 2ff4683703a8..ec11d1c4e77b 100644 --- a/drivers/i2c/busses/i2c-nforce2.c +++ b/drivers/i2c/busses/i2c-nforce2.c | |||
| @@ -173,7 +173,7 @@ static int nforce2_check_status(struct i2c_adapter *adap) | |||
| 173 | temp = inb_p(NVIDIA_SMB_STS); | 173 | temp = inb_p(NVIDIA_SMB_STS); |
| 174 | } while ((!temp) && (timeout++ < MAX_TIMEOUT)); | 174 | } while ((!temp) && (timeout++ < MAX_TIMEOUT)); |
| 175 | 175 | ||
| 176 | if (timeout >= MAX_TIMEOUT) { | 176 | if (timeout > MAX_TIMEOUT) { |
| 177 | dev_dbg(&adap->dev, "SMBus Timeout!\n"); | 177 | dev_dbg(&adap->dev, "SMBus Timeout!\n"); |
| 178 | if (smbus->can_abort) | 178 | if (smbus->can_abort) |
| 179 | nforce2_abort(adap); | 179 | nforce2_abort(adap); |
diff --git a/drivers/i2c/busses/i2c-sis5595.c b/drivers/i2c/busses/i2c-sis5595.c index f320ab27da46..139f0c7f12a4 100644 --- a/drivers/i2c/busses/i2c-sis5595.c +++ b/drivers/i2c/busses/i2c-sis5595.c | |||
| @@ -256,7 +256,7 @@ static int sis5595_transaction(struct i2c_adapter *adap) | |||
| 256 | } while (!(temp & 0x40) && (timeout++ < MAX_TIMEOUT)); | 256 | } while (!(temp & 0x40) && (timeout++ < MAX_TIMEOUT)); |
| 257 | 257 | ||
| 258 | /* If the SMBus is still busy, we give up */ | 258 | /* If the SMBus is still busy, we give up */ |
| 259 | if (timeout >= MAX_TIMEOUT) { | 259 | if (timeout > MAX_TIMEOUT) { |
| 260 | dev_dbg(&adap->dev, "SMBus Timeout!\n"); | 260 | dev_dbg(&adap->dev, "SMBus Timeout!\n"); |
| 261 | result = -ETIMEDOUT; | 261 | result = -ETIMEDOUT; |
| 262 | } | 262 | } |
diff --git a/drivers/i2c/busses/i2c-sis630.c b/drivers/i2c/busses/i2c-sis630.c index 50c3610e6028..70ca41e90e58 100644 --- a/drivers/i2c/busses/i2c-sis630.c +++ b/drivers/i2c/busses/i2c-sis630.c | |||
| @@ -173,7 +173,7 @@ static int sis630_transaction_wait(struct i2c_adapter *adap, int size) | |||
| 173 | } while (!(temp & 0x0e) && (timeout++ < MAX_TIMEOUT)); | 173 | } while (!(temp & 0x0e) && (timeout++ < MAX_TIMEOUT)); |
| 174 | 174 | ||
| 175 | /* If the SMBus is still busy, we give up */ | 175 | /* If the SMBus is still busy, we give up */ |
| 176 | if (timeout >= MAX_TIMEOUT) { | 176 | if (timeout > MAX_TIMEOUT) { |
| 177 | dev_dbg(&adap->dev, "SMBus Timeout!\n"); | 177 | dev_dbg(&adap->dev, "SMBus Timeout!\n"); |
| 178 | result = -ETIMEDOUT; | 178 | result = -ETIMEDOUT; |
| 179 | } | 179 | } |
diff --git a/drivers/i2c/busses/i2c-sis96x.c b/drivers/i2c/busses/i2c-sis96x.c index 7e1594b40579..8295885b2fdb 100644 --- a/drivers/i2c/busses/i2c-sis96x.c +++ b/drivers/i2c/busses/i2c-sis96x.c | |||
| @@ -132,7 +132,7 @@ static int sis96x_transaction(int size) | |||
| 132 | } while (!(temp & 0x0e) && (timeout++ < MAX_TIMEOUT)); | 132 | } while (!(temp & 0x0e) && (timeout++ < MAX_TIMEOUT)); |
| 133 | 133 | ||
| 134 | /* If the SMBus is still busy, we give up */ | 134 | /* If the SMBus is still busy, we give up */ |
| 135 | if (timeout >= MAX_TIMEOUT) { | 135 | if (timeout > MAX_TIMEOUT) { |
| 136 | dev_dbg(&sis96x_adapter.dev, "SMBus Timeout! (0x%02x)\n", temp); | 136 | dev_dbg(&sis96x_adapter.dev, "SMBus Timeout! (0x%02x)\n", temp); |
| 137 | result = -ETIMEDOUT; | 137 | result = -ETIMEDOUT; |
| 138 | } | 138 | } |
diff --git a/drivers/misc/isl29003.c b/drivers/misc/isl29003.c index 2e2a5923d4c2..a71e245801ee 100644 --- a/drivers/misc/isl29003.c +++ b/drivers/misc/isl29003.c | |||
| @@ -64,6 +64,7 @@ struct isl29003_data { | |||
| 64 | struct i2c_client *client; | 64 | struct i2c_client *client; |
| 65 | struct mutex lock; | 65 | struct mutex lock; |
| 66 | u8 reg_cache[ISL29003_NUM_CACHABLE_REGS]; | 66 | u8 reg_cache[ISL29003_NUM_CACHABLE_REGS]; |
| 67 | u8 power_state_before_suspend; | ||
| 67 | }; | 68 | }; |
| 68 | 69 | ||
| 69 | static int gain_range[] = { | 70 | static int gain_range[] = { |
| @@ -411,6 +412,9 @@ static int __devexit isl29003_remove(struct i2c_client *client) | |||
| 411 | #ifdef CONFIG_PM | 412 | #ifdef CONFIG_PM |
| 412 | static int isl29003_suspend(struct i2c_client *client, pm_message_t mesg) | 413 | static int isl29003_suspend(struct i2c_client *client, pm_message_t mesg) |
| 413 | { | 414 | { |
| 415 | struct isl29003_data *data = i2c_get_clientdata(client); | ||
| 416 | |||
| 417 | data->power_state_before_suspend = isl29003_get_power_state(client); | ||
| 414 | return isl29003_set_power_state(client, 0); | 418 | return isl29003_set_power_state(client, 0); |
| 415 | } | 419 | } |
| 416 | 420 | ||
| @@ -421,10 +425,11 @@ static int isl29003_resume(struct i2c_client *client) | |||
| 421 | 425 | ||
| 422 | /* restore registers from cache */ | 426 | /* restore registers from cache */ |
| 423 | for (i = 0; i < ARRAY_SIZE(data->reg_cache); i++) | 427 | for (i = 0; i < ARRAY_SIZE(data->reg_cache); i++) |
| 424 | if (!i2c_smbus_write_byte_data(client, i, data->reg_cache[i])) | 428 | if (i2c_smbus_write_byte_data(client, i, data->reg_cache[i])) |
| 425 | return -EIO; | 429 | return -EIO; |
| 426 | 430 | ||
| 427 | return 0; | 431 | return isl29003_set_power_state(client, |
| 432 | data->power_state_before_suspend); | ||
| 428 | } | 433 | } |
| 429 | 434 | ||
| 430 | #else | 435 | #else |
diff --git a/drivers/mmc/card/block.c b/drivers/mmc/card/block.c index fe8041e619ea..b25e9b6516ae 100644 --- a/drivers/mmc/card/block.c +++ b/drivers/mmc/card/block.c | |||
| @@ -254,6 +254,14 @@ static int mmc_blk_issue_rq(struct mmc_queue *mq, struct request *req) | |||
| 254 | brq.data.blocks = req->nr_sectors; | 254 | brq.data.blocks = req->nr_sectors; |
| 255 | 255 | ||
| 256 | /* | 256 | /* |
| 257 | * The block layer doesn't support all sector count | ||
| 258 | * restrictions, so we need to be prepared for too big | ||
| 259 | * requests. | ||
| 260 | */ | ||
| 261 | if (brq.data.blocks > card->host->max_blk_count) | ||
| 262 | brq.data.blocks = card->host->max_blk_count; | ||
| 263 | |||
| 264 | /* | ||
| 257 | * After a read error, we redo the request one sector at a time | 265 | * After a read error, we redo the request one sector at a time |
| 258 | * in order to accurately determine which sectors can be read | 266 | * in order to accurately determine which sectors can be read |
| 259 | * successfully. | 267 | * successfully. |
diff --git a/drivers/mmc/core/core.c b/drivers/mmc/core/core.c index fa073ab3fa34..264911732756 100644 --- a/drivers/mmc/core/core.c +++ b/drivers/mmc/core/core.c | |||
| @@ -706,7 +706,7 @@ static void mmc_power_up(struct mmc_host *host) | |||
| 706 | * This delay should be sufficient to allow the power supply | 706 | * This delay should be sufficient to allow the power supply |
| 707 | * to reach the minimum voltage. | 707 | * to reach the minimum voltage. |
| 708 | */ | 708 | */ |
| 709 | mmc_delay(2); | 709 | mmc_delay(10); |
| 710 | 710 | ||
| 711 | host->ios.clock = host->f_min; | 711 | host->ios.clock = host->f_min; |
| 712 | host->ios.power_mode = MMC_POWER_ON; | 712 | host->ios.power_mode = MMC_POWER_ON; |
| @@ -716,7 +716,7 @@ static void mmc_power_up(struct mmc_host *host) | |||
| 716 | * This delay must be at least 74 clock sizes, or 1 ms, or the | 716 | * This delay must be at least 74 clock sizes, or 1 ms, or the |
| 717 | * time required to reach a stable voltage. | 717 | * time required to reach a stable voltage. |
| 718 | */ | 718 | */ |
| 719 | mmc_delay(2); | 719 | mmc_delay(10); |
| 720 | } | 720 | } |
| 721 | 721 | ||
| 722 | static void mmc_power_off(struct mmc_host *host) | 722 | static void mmc_power_off(struct mmc_host *host) |
diff --git a/drivers/mmc/host/mmci.c b/drivers/mmc/host/mmci.c index a663429b3d55..36875dcfa492 100644 --- a/drivers/mmc/host/mmci.c +++ b/drivers/mmc/host/mmci.c | |||
| @@ -514,6 +514,7 @@ static int __devinit mmci_probe(struct amba_device *dev, void *id) | |||
| 514 | } | 514 | } |
| 515 | 515 | ||
| 516 | host = mmc_priv(mmc); | 516 | host = mmc_priv(mmc); |
| 517 | host->mmc = mmc; | ||
| 517 | /* Bits 12 thru 19 is the designer */ | 518 | /* Bits 12 thru 19 is the designer */ |
| 518 | host->hw_designer = (dev->periphid >> 12) & 0xff; | 519 | host->hw_designer = (dev->periphid >> 12) & 0xff; |
| 519 | /* Bits 20 thru 23 is the revison */ | 520 | /* Bits 20 thru 23 is the revison */ |
| @@ -545,7 +546,6 @@ static int __devinit mmci_probe(struct amba_device *dev, void *id) | |||
| 545 | host->mclk = clk_get_rate(host->clk); | 546 | host->mclk = clk_get_rate(host->clk); |
| 546 | DBG(host, "eventual mclk rate: %u Hz\n", host->mclk); | 547 | DBG(host, "eventual mclk rate: %u Hz\n", host->mclk); |
| 547 | } | 548 | } |
| 548 | host->mmc = mmc; | ||
| 549 | host->base = ioremap(dev->res.start, SZ_4K); | 549 | host->base = ioremap(dev->res.start, SZ_4K); |
| 550 | if (!host->base) { | 550 | if (!host->base) { |
| 551 | ret = -ENOMEM; | 551 | ret = -ENOMEM; |
diff --git a/drivers/mmc/host/mvsdio.c b/drivers/mmc/host/mvsdio.c index b5c375d94ab3..c643d0fe118f 100644 --- a/drivers/mmc/host/mvsdio.c +++ b/drivers/mmc/host/mvsdio.c | |||
| @@ -825,24 +825,23 @@ static int __exit mvsd_remove(struct platform_device *pdev) | |||
| 825 | } | 825 | } |
| 826 | 826 | ||
| 827 | #ifdef CONFIG_PM | 827 | #ifdef CONFIG_PM |
| 828 | static int mvsd_suspend(struct platform_device *dev, pm_message_t state, | 828 | static int mvsd_suspend(struct platform_device *dev, pm_message_t state) |
| 829 | u32 level) | ||
| 830 | { | 829 | { |
| 831 | struct mmc_host *mmc = platform_get_drvdata(dev); | 830 | struct mmc_host *mmc = platform_get_drvdata(dev); |
| 832 | int ret = 0; | 831 | int ret = 0; |
| 833 | 832 | ||
| 834 | if (mmc && level == SUSPEND_DISABLE) | 833 | if (mmc) |
| 835 | ret = mmc_suspend_host(mmc, state); | 834 | ret = mmc_suspend_host(mmc, state); |
| 836 | 835 | ||
| 837 | return ret; | 836 | return ret; |
| 838 | } | 837 | } |
| 839 | 838 | ||
| 840 | static int mvsd_resume(struct platform_device *dev, u32 level) | 839 | static int mvsd_resume(struct platform_device *dev) |
| 841 | { | 840 | { |
| 842 | struct mmc_host *mmc = platform_dev_get_drvdata(dev); | 841 | struct mmc_host *mmc = platform_get_drvdata(dev); |
| 843 | int ret = 0; | 842 | int ret = 0; |
| 844 | 843 | ||
| 845 | if (mmc && level == RESUME_ENABLE) | 844 | if (mmc) |
| 846 | ret = mmc_resume_host(mmc); | 845 | ret = mmc_resume_host(mmc); |
| 847 | 846 | ||
| 848 | return ret; | 847 | return ret; |
diff --git a/drivers/mmc/host/sdhci-pci.c b/drivers/mmc/host/sdhci-pci.c index cd37962ec44f..65be27995d5c 100644 --- a/drivers/mmc/host/sdhci-pci.c +++ b/drivers/mmc/host/sdhci-pci.c | |||
| @@ -522,8 +522,8 @@ static struct sdhci_pci_slot * __devinit sdhci_pci_probe_slot( | |||
| 522 | 522 | ||
| 523 | host = sdhci_alloc_host(&pdev->dev, sizeof(struct sdhci_pci_slot)); | 523 | host = sdhci_alloc_host(&pdev->dev, sizeof(struct sdhci_pci_slot)); |
| 524 | if (IS_ERR(host)) { | 524 | if (IS_ERR(host)) { |
| 525 | ret = PTR_ERR(host); | 525 | dev_err(&pdev->dev, "cannot allocate host\n"); |
| 526 | goto unmap; | 526 | return ERR_PTR(PTR_ERR(host)); |
| 527 | } | 527 | } |
| 528 | 528 | ||
| 529 | slot = sdhci_priv(host); | 529 | slot = sdhci_priv(host); |
| @@ -541,7 +541,7 @@ static struct sdhci_pci_slot * __devinit sdhci_pci_probe_slot( | |||
| 541 | ret = pci_request_region(pdev, bar, mmc_hostname(host->mmc)); | 541 | ret = pci_request_region(pdev, bar, mmc_hostname(host->mmc)); |
| 542 | if (ret) { | 542 | if (ret) { |
| 543 | dev_err(&pdev->dev, "cannot request region\n"); | 543 | dev_err(&pdev->dev, "cannot request region\n"); |
| 544 | return ERR_PTR(ret); | 544 | goto free; |
| 545 | } | 545 | } |
| 546 | 546 | ||
| 547 | addr = pci_resource_start(pdev, bar); | 547 | addr = pci_resource_start(pdev, bar); |
| @@ -572,6 +572,8 @@ unmap: | |||
| 572 | 572 | ||
| 573 | release: | 573 | release: |
| 574 | pci_release_region(pdev, bar); | 574 | pci_release_region(pdev, bar); |
| 575 | |||
| 576 | free: | ||
| 575 | sdhci_free_host(host); | 577 | sdhci_free_host(host); |
| 576 | 578 | ||
| 577 | return ERR_PTR(ret); | 579 | return ERR_PTR(ret); |
diff --git a/drivers/mmc/host/sdhci.h b/drivers/mmc/host/sdhci.h index f20a834f4309..65c6f996bbd3 100644 --- a/drivers/mmc/host/sdhci.h +++ b/drivers/mmc/host/sdhci.h | |||
| @@ -125,7 +125,7 @@ | |||
| 125 | #define SDHCI_INT_DATA_MASK (SDHCI_INT_DATA_END | SDHCI_INT_DMA_END | \ | 125 | #define SDHCI_INT_DATA_MASK (SDHCI_INT_DATA_END | SDHCI_INT_DMA_END | \ |
| 126 | SDHCI_INT_DATA_AVAIL | SDHCI_INT_SPACE_AVAIL | \ | 126 | SDHCI_INT_DATA_AVAIL | SDHCI_INT_SPACE_AVAIL | \ |
| 127 | SDHCI_INT_DATA_TIMEOUT | SDHCI_INT_DATA_CRC | \ | 127 | SDHCI_INT_DATA_TIMEOUT | SDHCI_INT_DATA_CRC | \ |
| 128 | SDHCI_INT_DATA_END_BIT) | 128 | SDHCI_INT_DATA_END_BIT | SDHCI_ADMA_ERROR) |
| 129 | #define SDHCI_INT_ALL_MASK ((unsigned int)-1) | 129 | #define SDHCI_INT_ALL_MASK ((unsigned int)-1) |
| 130 | 130 | ||
| 131 | #define SDHCI_ACMD12_ERR 0x3C | 131 | #define SDHCI_ACMD12_ERR 0x3C |
diff --git a/drivers/net/bonding/bond_alb.c b/drivers/net/bonding/bond_alb.c index 553a89919778..46d312bedfb8 100644 --- a/drivers/net/bonding/bond_alb.c +++ b/drivers/net/bonding/bond_alb.c | |||
| @@ -1706,10 +1706,8 @@ void bond_alb_handle_active_change(struct bonding *bond, struct slave *new_slave | |||
| 1706 | * Called with RTNL | 1706 | * Called with RTNL |
| 1707 | */ | 1707 | */ |
| 1708 | int bond_alb_set_mac_address(struct net_device *bond_dev, void *addr) | 1708 | int bond_alb_set_mac_address(struct net_device *bond_dev, void *addr) |
| 1709 | __releases(&bond->curr_slave_lock) | ||
| 1710 | __releases(&bond->lock) | ||
| 1711 | __acquires(&bond->lock) | 1709 | __acquires(&bond->lock) |
| 1712 | __acquires(&bond->curr_slave_lock) | 1710 | __releases(&bond->lock) |
| 1713 | { | 1711 | { |
| 1714 | struct bonding *bond = netdev_priv(bond_dev); | 1712 | struct bonding *bond = netdev_priv(bond_dev); |
| 1715 | struct sockaddr *sa = addr; | 1713 | struct sockaddr *sa = addr; |
| @@ -1745,9 +1743,6 @@ int bond_alb_set_mac_address(struct net_device *bond_dev, void *addr) | |||
| 1745 | } | 1743 | } |
| 1746 | } | 1744 | } |
| 1747 | 1745 | ||
| 1748 | write_unlock_bh(&bond->curr_slave_lock); | ||
| 1749 | read_unlock(&bond->lock); | ||
| 1750 | |||
| 1751 | if (swap_slave) { | 1746 | if (swap_slave) { |
| 1752 | alb_swap_mac_addr(bond, swap_slave, bond->curr_active_slave); | 1747 | alb_swap_mac_addr(bond, swap_slave, bond->curr_active_slave); |
| 1753 | alb_fasten_mac_swap(bond, swap_slave, bond->curr_active_slave); | 1748 | alb_fasten_mac_swap(bond, swap_slave, bond->curr_active_slave); |
| @@ -1755,16 +1750,15 @@ int bond_alb_set_mac_address(struct net_device *bond_dev, void *addr) | |||
| 1755 | alb_set_slave_mac_addr(bond->curr_active_slave, bond_dev->dev_addr, | 1750 | alb_set_slave_mac_addr(bond->curr_active_slave, bond_dev->dev_addr, |
| 1756 | bond->alb_info.rlb_enabled); | 1751 | bond->alb_info.rlb_enabled); |
| 1757 | 1752 | ||
| 1753 | read_lock(&bond->lock); | ||
| 1758 | alb_send_learning_packets(bond->curr_active_slave, bond_dev->dev_addr); | 1754 | alb_send_learning_packets(bond->curr_active_slave, bond_dev->dev_addr); |
| 1759 | if (bond->alb_info.rlb_enabled) { | 1755 | if (bond->alb_info.rlb_enabled) { |
| 1760 | /* inform clients mac address has changed */ | 1756 | /* inform clients mac address has changed */ |
| 1761 | rlb_req_update_slave_clients(bond, bond->curr_active_slave); | 1757 | rlb_req_update_slave_clients(bond, bond->curr_active_slave); |
| 1762 | } | 1758 | } |
| 1759 | read_unlock(&bond->lock); | ||
| 1763 | } | 1760 | } |
| 1764 | 1761 | ||
| 1765 | read_lock(&bond->lock); | ||
| 1766 | write_lock_bh(&bond->curr_slave_lock); | ||
| 1767 | |||
| 1768 | return 0; | 1762 | return 0; |
| 1769 | } | 1763 | } |
| 1770 | 1764 | ||
diff --git a/drivers/net/bonding/bond_main.c b/drivers/net/bonding/bond_main.c index 63369b6b14d4..2188a96fc090 100644 --- a/drivers/net/bonding/bond_main.c +++ b/drivers/net/bonding/bond_main.c | |||
| @@ -2213,33 +2213,24 @@ static int bond_slave_info_query(struct net_device *bond_dev, struct ifslave *in | |||
| 2213 | { | 2213 | { |
| 2214 | struct bonding *bond = netdev_priv(bond_dev); | 2214 | struct bonding *bond = netdev_priv(bond_dev); |
| 2215 | struct slave *slave; | 2215 | struct slave *slave; |
| 2216 | int i, found = 0; | 2216 | int i, res = -ENODEV; |
| 2217 | |||
| 2218 | if (info->slave_id < 0) { | ||
| 2219 | return -ENODEV; | ||
| 2220 | } | ||
| 2221 | 2217 | ||
| 2222 | read_lock(&bond->lock); | 2218 | read_lock(&bond->lock); |
| 2223 | 2219 | ||
| 2224 | bond_for_each_slave(bond, slave, i) { | 2220 | bond_for_each_slave(bond, slave, i) { |
| 2225 | if (i == (int)info->slave_id) { | 2221 | if (i == (int)info->slave_id) { |
| 2226 | found = 1; | 2222 | res = 0; |
| 2223 | strcpy(info->slave_name, slave->dev->name); | ||
| 2224 | info->link = slave->link; | ||
| 2225 | info->state = slave->state; | ||
| 2226 | info->link_failure_count = slave->link_failure_count; | ||
| 2227 | break; | 2227 | break; |
| 2228 | } | 2228 | } |
| 2229 | } | 2229 | } |
| 2230 | 2230 | ||
| 2231 | read_unlock(&bond->lock); | 2231 | read_unlock(&bond->lock); |
| 2232 | 2232 | ||
| 2233 | if (found) { | 2233 | return res; |
| 2234 | strcpy(info->slave_name, slave->dev->name); | ||
| 2235 | info->link = slave->link; | ||
| 2236 | info->state = slave->state; | ||
| 2237 | info->link_failure_count = slave->link_failure_count; | ||
| 2238 | } else { | ||
| 2239 | return -ENODEV; | ||
| 2240 | } | ||
| 2241 | |||
| 2242 | return 0; | ||
| 2243 | } | 2234 | } |
| 2244 | 2235 | ||
| 2245 | /*-------------------------------- Monitoring -------------------------------*/ | 2236 | /*-------------------------------- Monitoring -------------------------------*/ |
| @@ -5167,16 +5158,15 @@ int bond_create(char *name, struct bond_params *params) | |||
| 5167 | up_write(&bonding_rwsem); | 5158 | up_write(&bonding_rwsem); |
| 5168 | rtnl_unlock(); /* allows sysfs registration of net device */ | 5159 | rtnl_unlock(); /* allows sysfs registration of net device */ |
| 5169 | res = bond_create_sysfs_entry(netdev_priv(bond_dev)); | 5160 | res = bond_create_sysfs_entry(netdev_priv(bond_dev)); |
| 5170 | if (res < 0) { | 5161 | if (res < 0) |
| 5171 | rtnl_lock(); | 5162 | goto out_unreg; |
| 5172 | down_write(&bonding_rwsem); | ||
| 5173 | bond_deinit(bond_dev); | ||
| 5174 | unregister_netdevice(bond_dev); | ||
| 5175 | goto out_rtnl; | ||
| 5176 | } | ||
| 5177 | 5163 | ||
| 5178 | return 0; | 5164 | return 0; |
| 5179 | 5165 | ||
| 5166 | out_unreg: | ||
| 5167 | rtnl_lock(); | ||
| 5168 | down_write(&bonding_rwsem); | ||
| 5169 | unregister_netdevice(bond_dev); | ||
| 5180 | out_bond: | 5170 | out_bond: |
| 5181 | bond_deinit(bond_dev); | 5171 | bond_deinit(bond_dev); |
| 5182 | out_netdev: | 5172 | out_netdev: |
diff --git a/drivers/net/cxgb3/t3_hw.c b/drivers/net/cxgb3/t3_hw.c index e1bd690ff831..4f68aeb2679a 100644 --- a/drivers/net/cxgb3/t3_hw.c +++ b/drivers/net/cxgb3/t3_hw.c | |||
| @@ -3779,7 +3779,7 @@ int t3_prep_adapter(struct adapter *adapter, const struct adapter_info *ai, | |||
| 3779 | 3779 | ||
| 3780 | adapter->params.info = ai; | 3780 | adapter->params.info = ai; |
| 3781 | adapter->params.nports = ai->nports0 + ai->nports1; | 3781 | adapter->params.nports = ai->nports0 + ai->nports1; |
| 3782 | adapter->params.chan_map = !!ai->nports0 | (!!ai->nports1 << 1); | 3782 | adapter->params.chan_map = (!!ai->nports0) | (!!ai->nports1 << 1); |
| 3783 | adapter->params.rev = t3_read_reg(adapter, A_PL_REV); | 3783 | adapter->params.rev = t3_read_reg(adapter, A_PL_REV); |
| 3784 | /* | 3784 | /* |
| 3785 | * We used to only run the "adapter check task" once a second if | 3785 | * We used to only run the "adapter check task" once a second if |
diff --git a/drivers/net/e1000/e1000_main.c b/drivers/net/e1000/e1000_main.c index 6a46ceed9436..b1419e21b46b 100644 --- a/drivers/net/e1000/e1000_main.c +++ b/drivers/net/e1000/e1000_main.c | |||
| @@ -3738,7 +3738,7 @@ static irqreturn_t e1000_intr(int irq, void *data) | |||
| 3738 | struct e1000_hw *hw = &adapter->hw; | 3738 | struct e1000_hw *hw = &adapter->hw; |
| 3739 | u32 rctl, icr = er32(ICR); | 3739 | u32 rctl, icr = er32(ICR); |
| 3740 | 3740 | ||
| 3741 | if (unlikely((!icr) || test_bit(__E1000_RESETTING, &adapter->flags))) | 3741 | if (unlikely((!icr) || test_bit(__E1000_DOWN, &adapter->flags))) |
| 3742 | return IRQ_NONE; /* Not our interrupt */ | 3742 | return IRQ_NONE; /* Not our interrupt */ |
| 3743 | 3743 | ||
| 3744 | /* IMS will not auto-mask if INT_ASSERTED is not set, and if it is | 3744 | /* IMS will not auto-mask if INT_ASSERTED is not set, and if it is |
diff --git a/drivers/net/ehea/ehea.h b/drivers/net/ehea/ehea.h index 6e317caf429c..16a41389575a 100644 --- a/drivers/net/ehea/ehea.h +++ b/drivers/net/ehea/ehea.h | |||
| @@ -40,7 +40,7 @@ | |||
| 40 | #include <asm/io.h> | 40 | #include <asm/io.h> |
| 41 | 41 | ||
| 42 | #define DRV_NAME "ehea" | 42 | #define DRV_NAME "ehea" |
| 43 | #define DRV_VERSION "EHEA_0100" | 43 | #define DRV_VERSION "EHEA_0101" |
| 44 | 44 | ||
| 45 | /* eHEA capability flags */ | 45 | /* eHEA capability flags */ |
| 46 | #define DLPAR_PORT_ADD_REM 1 | 46 | #define DLPAR_PORT_ADD_REM 1 |
diff --git a/drivers/net/ehea/ehea_main.c b/drivers/net/ehea/ehea_main.c index 604c844d0769..b22dab9153f6 100644 --- a/drivers/net/ehea/ehea_main.c +++ b/drivers/net/ehea/ehea_main.c | |||
| @@ -545,14 +545,17 @@ static inline struct sk_buff *get_skb_by_index(struct sk_buff **skb_array, | |||
| 545 | x &= (arr_len - 1); | 545 | x &= (arr_len - 1); |
| 546 | 546 | ||
| 547 | pref = skb_array[x]; | 547 | pref = skb_array[x]; |
| 548 | prefetchw(pref); | 548 | if (pref) { |
| 549 | prefetchw(pref + EHEA_CACHE_LINE); | 549 | prefetchw(pref); |
| 550 | 550 | prefetchw(pref + EHEA_CACHE_LINE); | |
| 551 | pref = (skb_array[x]->data); | 551 | |
| 552 | prefetch(pref); | 552 | pref = (skb_array[x]->data); |
| 553 | prefetch(pref + EHEA_CACHE_LINE); | 553 | prefetch(pref); |
| 554 | prefetch(pref + EHEA_CACHE_LINE * 2); | 554 | prefetch(pref + EHEA_CACHE_LINE); |
| 555 | prefetch(pref + EHEA_CACHE_LINE * 3); | 555 | prefetch(pref + EHEA_CACHE_LINE * 2); |
| 556 | prefetch(pref + EHEA_CACHE_LINE * 3); | ||
| 557 | } | ||
| 558 | |||
| 556 | skb = skb_array[skb_index]; | 559 | skb = skb_array[skb_index]; |
| 557 | skb_array[skb_index] = NULL; | 560 | skb_array[skb_index] = NULL; |
| 558 | return skb; | 561 | return skb; |
| @@ -569,12 +572,14 @@ static inline struct sk_buff *get_skb_by_index_ll(struct sk_buff **skb_array, | |||
| 569 | x &= (arr_len - 1); | 572 | x &= (arr_len - 1); |
| 570 | 573 | ||
| 571 | pref = skb_array[x]; | 574 | pref = skb_array[x]; |
| 572 | prefetchw(pref); | 575 | if (pref) { |
| 573 | prefetchw(pref + EHEA_CACHE_LINE); | 576 | prefetchw(pref); |
| 577 | prefetchw(pref + EHEA_CACHE_LINE); | ||
| 574 | 578 | ||
| 575 | pref = (skb_array[x]->data); | 579 | pref = (skb_array[x]->data); |
| 576 | prefetchw(pref); | 580 | prefetchw(pref); |
| 577 | prefetchw(pref + EHEA_CACHE_LINE); | 581 | prefetchw(pref + EHEA_CACHE_LINE); |
| 582 | } | ||
| 578 | 583 | ||
| 579 | skb = skb_array[wqe_index]; | 584 | skb = skb_array[wqe_index]; |
| 580 | skb_array[wqe_index] = NULL; | 585 | skb_array[wqe_index] = NULL; |
diff --git a/drivers/net/mv643xx_eth.c b/drivers/net/mv643xx_eth.c index b3185bf2c158..a400d7115f78 100644 --- a/drivers/net/mv643xx_eth.c +++ b/drivers/net/mv643xx_eth.c | |||
| @@ -393,12 +393,12 @@ struct mv643xx_eth_private { | |||
| 393 | struct work_struct tx_timeout_task; | 393 | struct work_struct tx_timeout_task; |
| 394 | 394 | ||
| 395 | struct napi_struct napi; | 395 | struct napi_struct napi; |
| 396 | u8 oom; | ||
| 396 | u8 work_link; | 397 | u8 work_link; |
| 397 | u8 work_tx; | 398 | u8 work_tx; |
| 398 | u8 work_tx_end; | 399 | u8 work_tx_end; |
| 399 | u8 work_rx; | 400 | u8 work_rx; |
| 400 | u8 work_rx_refill; | 401 | u8 work_rx_refill; |
| 401 | u8 work_rx_oom; | ||
| 402 | 402 | ||
| 403 | int skb_size; | 403 | int skb_size; |
| 404 | struct sk_buff_head rx_recycle; | 404 | struct sk_buff_head rx_recycle; |
| @@ -661,7 +661,7 @@ static int rxq_refill(struct rx_queue *rxq, int budget) | |||
| 661 | dma_get_cache_alignment() - 1); | 661 | dma_get_cache_alignment() - 1); |
| 662 | 662 | ||
| 663 | if (skb == NULL) { | 663 | if (skb == NULL) { |
| 664 | mp->work_rx_oom |= 1 << rxq->index; | 664 | mp->oom = 1; |
| 665 | goto oom; | 665 | goto oom; |
| 666 | } | 666 | } |
| 667 | 667 | ||
| @@ -1255,7 +1255,6 @@ static void mib_counters_update(struct mv643xx_eth_private *mp) | |||
| 1255 | 1255 | ||
| 1256 | spin_lock_bh(&mp->mib_counters_lock); | 1256 | spin_lock_bh(&mp->mib_counters_lock); |
| 1257 | p->good_octets_received += mib_read(mp, 0x00); | 1257 | p->good_octets_received += mib_read(mp, 0x00); |
| 1258 | p->good_octets_received += (u64)mib_read(mp, 0x04) << 32; | ||
| 1259 | p->bad_octets_received += mib_read(mp, 0x08); | 1258 | p->bad_octets_received += mib_read(mp, 0x08); |
| 1260 | p->internal_mac_transmit_err += mib_read(mp, 0x0c); | 1259 | p->internal_mac_transmit_err += mib_read(mp, 0x0c); |
| 1261 | p->good_frames_received += mib_read(mp, 0x10); | 1260 | p->good_frames_received += mib_read(mp, 0x10); |
| @@ -1269,7 +1268,6 @@ static void mib_counters_update(struct mv643xx_eth_private *mp) | |||
| 1269 | p->frames_512_to_1023_octets += mib_read(mp, 0x30); | 1268 | p->frames_512_to_1023_octets += mib_read(mp, 0x30); |
| 1270 | p->frames_1024_to_max_octets += mib_read(mp, 0x34); | 1269 | p->frames_1024_to_max_octets += mib_read(mp, 0x34); |
| 1271 | p->good_octets_sent += mib_read(mp, 0x38); | 1270 | p->good_octets_sent += mib_read(mp, 0x38); |
| 1272 | p->good_octets_sent += (u64)mib_read(mp, 0x3c) << 32; | ||
| 1273 | p->good_frames_sent += mib_read(mp, 0x40); | 1271 | p->good_frames_sent += mib_read(mp, 0x40); |
| 1274 | p->excessive_collision += mib_read(mp, 0x44); | 1272 | p->excessive_collision += mib_read(mp, 0x44); |
| 1275 | p->multicast_frames_sent += mib_read(mp, 0x48); | 1273 | p->multicast_frames_sent += mib_read(mp, 0x48); |
| @@ -2167,8 +2165,10 @@ static int mv643xx_eth_poll(struct napi_struct *napi, int budget) | |||
| 2167 | 2165 | ||
| 2168 | mp = container_of(napi, struct mv643xx_eth_private, napi); | 2166 | mp = container_of(napi, struct mv643xx_eth_private, napi); |
| 2169 | 2167 | ||
| 2170 | mp->work_rx_refill |= mp->work_rx_oom; | 2168 | if (unlikely(mp->oom)) { |
| 2171 | mp->work_rx_oom = 0; | 2169 | mp->oom = 0; |
| 2170 | del_timer(&mp->rx_oom); | ||
| 2171 | } | ||
| 2172 | 2172 | ||
| 2173 | work_done = 0; | 2173 | work_done = 0; |
| 2174 | while (work_done < budget) { | 2174 | while (work_done < budget) { |
| @@ -2182,8 +2182,10 @@ static int mv643xx_eth_poll(struct napi_struct *napi, int budget) | |||
| 2182 | continue; | 2182 | continue; |
| 2183 | } | 2183 | } |
| 2184 | 2184 | ||
| 2185 | queue_mask = mp->work_tx | mp->work_tx_end | | 2185 | queue_mask = mp->work_tx | mp->work_tx_end | mp->work_rx; |
| 2186 | mp->work_rx | mp->work_rx_refill; | 2186 | if (likely(!mp->oom)) |
| 2187 | queue_mask |= mp->work_rx_refill; | ||
| 2188 | |||
| 2187 | if (!queue_mask) { | 2189 | if (!queue_mask) { |
| 2188 | if (mv643xx_eth_collect_events(mp)) | 2190 | if (mv643xx_eth_collect_events(mp)) |
| 2189 | continue; | 2191 | continue; |
| @@ -2204,7 +2206,7 @@ static int mv643xx_eth_poll(struct napi_struct *napi, int budget) | |||
| 2204 | txq_maybe_wake(mp->txq + queue); | 2206 | txq_maybe_wake(mp->txq + queue); |
| 2205 | } else if (mp->work_rx & queue_mask) { | 2207 | } else if (mp->work_rx & queue_mask) { |
| 2206 | work_done += rxq_process(mp->rxq + queue, work_tbd); | 2208 | work_done += rxq_process(mp->rxq + queue, work_tbd); |
| 2207 | } else if (mp->work_rx_refill & queue_mask) { | 2209 | } else if (!mp->oom && (mp->work_rx_refill & queue_mask)) { |
| 2208 | work_done += rxq_refill(mp->rxq + queue, work_tbd); | 2210 | work_done += rxq_refill(mp->rxq + queue, work_tbd); |
| 2209 | } else { | 2211 | } else { |
| 2210 | BUG(); | 2212 | BUG(); |
| @@ -2212,7 +2214,7 @@ static int mv643xx_eth_poll(struct napi_struct *napi, int budget) | |||
| 2212 | } | 2214 | } |
| 2213 | 2215 | ||
| 2214 | if (work_done < budget) { | 2216 | if (work_done < budget) { |
| 2215 | if (mp->work_rx_oom) | 2217 | if (mp->oom) |
| 2216 | mod_timer(&mp->rx_oom, jiffies + (HZ / 10)); | 2218 | mod_timer(&mp->rx_oom, jiffies + (HZ / 10)); |
| 2217 | napi_complete(napi); | 2219 | napi_complete(napi); |
| 2218 | wrlp(mp, INT_MASK, INT_TX_END | INT_RX | INT_EXT); | 2220 | wrlp(mp, INT_MASK, INT_TX_END | INT_RX | INT_EXT); |
| @@ -2372,7 +2374,7 @@ static int mv643xx_eth_open(struct net_device *dev) | |||
| 2372 | rxq_refill(mp->rxq + i, INT_MAX); | 2374 | rxq_refill(mp->rxq + i, INT_MAX); |
| 2373 | } | 2375 | } |
| 2374 | 2376 | ||
| 2375 | if (mp->work_rx_oom) { | 2377 | if (mp->oom) { |
| 2376 | mp->rx_oom.expires = jiffies + (HZ / 10); | 2378 | mp->rx_oom.expires = jiffies + (HZ / 10); |
| 2377 | add_timer(&mp->rx_oom); | 2379 | add_timer(&mp->rx_oom); |
| 2378 | } | 2380 | } |
diff --git a/drivers/net/ne2k-pci.c b/drivers/net/ne2k-pci.c index eb66f658f9d1..7d83896b8c26 100644 --- a/drivers/net/ne2k-pci.c +++ b/drivers/net/ne2k-pci.c | |||
| @@ -374,18 +374,17 @@ static int __devinit ne2k_pci_init_one (struct pci_dev *pdev, | |||
| 374 | dev->ethtool_ops = &ne2k_pci_ethtool_ops; | 374 | dev->ethtool_ops = &ne2k_pci_ethtool_ops; |
| 375 | NS8390_init(dev, 0); | 375 | NS8390_init(dev, 0); |
| 376 | 376 | ||
| 377 | memcpy(dev->dev_addr, SA_prom, 6); | ||
| 378 | memcpy(dev->perm_addr, dev->dev_addr, dev->addr_len); | ||
| 379 | |||
| 377 | i = register_netdev(dev); | 380 | i = register_netdev(dev); |
| 378 | if (i) | 381 | if (i) |
| 379 | goto err_out_free_netdev; | 382 | goto err_out_free_netdev; |
| 380 | 383 | ||
| 381 | for(i = 0; i < 6; i++) | ||
| 382 | dev->dev_addr[i] = SA_prom[i]; | ||
| 383 | printk("%s: %s found at %#lx, IRQ %d, %pM.\n", | 384 | printk("%s: %s found at %#lx, IRQ %d, %pM.\n", |
| 384 | dev->name, pci_clone_list[chip_idx].name, ioaddr, dev->irq, | 385 | dev->name, pci_clone_list[chip_idx].name, ioaddr, dev->irq, |
| 385 | dev->dev_addr); | 386 | dev->dev_addr); |
| 386 | 387 | ||
| 387 | memcpy(dev->perm_addr, dev->dev_addr, dev->addr_len); | ||
| 388 | |||
| 389 | return 0; | 388 | return 0; |
| 390 | 389 | ||
| 391 | err_out_free_netdev: | 390 | err_out_free_netdev: |
diff --git a/drivers/net/netconsole.c b/drivers/net/netconsole.c index eceadf787a67..bf4af5248cb7 100644 --- a/drivers/net/netconsole.c +++ b/drivers/net/netconsole.c | |||
| @@ -664,7 +664,7 @@ static int netconsole_netdev_event(struct notifier_block *this, | |||
| 664 | struct netconsole_target *nt; | 664 | struct netconsole_target *nt; |
| 665 | struct net_device *dev = ptr; | 665 | struct net_device *dev = ptr; |
| 666 | 666 | ||
| 667 | if (!(event == NETDEV_CHANGENAME)) | 667 | if (!(event == NETDEV_CHANGENAME || event == NETDEV_UNREGISTER)) |
| 668 | goto done; | 668 | goto done; |
| 669 | 669 | ||
| 670 | spin_lock_irqsave(&target_list_lock, flags); | 670 | spin_lock_irqsave(&target_list_lock, flags); |
| @@ -675,6 +675,15 @@ static int netconsole_netdev_event(struct notifier_block *this, | |||
| 675 | case NETDEV_CHANGENAME: | 675 | case NETDEV_CHANGENAME: |
| 676 | strlcpy(nt->np.dev_name, dev->name, IFNAMSIZ); | 676 | strlcpy(nt->np.dev_name, dev->name, IFNAMSIZ); |
| 677 | break; | 677 | break; |
| 678 | case NETDEV_UNREGISTER: | ||
| 679 | if (!nt->enabled) | ||
| 680 | break; | ||
| 681 | netpoll_cleanup(&nt->np); | ||
| 682 | nt->enabled = 0; | ||
| 683 | printk(KERN_INFO "netconsole: network logging stopped" | ||
| 684 | ", interface %s unregistered\n", | ||
| 685 | dev->name); | ||
| 686 | break; | ||
| 678 | } | 687 | } |
| 679 | } | 688 | } |
| 680 | netconsole_target_put(nt); | 689 | netconsole_target_put(nt); |
diff --git a/drivers/net/usb/Kconfig b/drivers/net/usb/Kconfig index 8ee21030e9ac..dfc6cf765fbd 100644 --- a/drivers/net/usb/Kconfig +++ b/drivers/net/usb/Kconfig | |||
| @@ -180,6 +180,20 @@ config USB_NET_CDCETHER | |||
| 180 | IEEE 802 "local assignment" bit is set in the address, a "usbX" | 180 | IEEE 802 "local assignment" bit is set in the address, a "usbX" |
| 181 | name is used instead. | 181 | name is used instead. |
| 182 | 182 | ||
| 183 | config USB_NET_CDC_EEM | ||
| 184 | tristate "CDC EEM support" | ||
| 185 | depends on USB_USBNET && EXPERIMENTAL | ||
| 186 | help | ||
| 187 | This option supports devices conforming to the Communication Device | ||
| 188 | Class (CDC) Ethernet Emulation Model, a specification that's easy to | ||
| 189 | implement in device firmware. The CDC EEM specifications are available | ||
| 190 | from <http://www.usb.org/>. | ||
| 191 | |||
| 192 | This driver creates an interface named "ethX", where X depends on | ||
| 193 | what other networking devices you have in use. However, if the | ||
| 194 | IEEE 802 "local assignment" bit is set in the address, a "usbX" | ||
| 195 | name is used instead. | ||
| 196 | |||
| 183 | config USB_NET_DM9601 | 197 | config USB_NET_DM9601 |
| 184 | tristate "Davicom DM9601 based USB 1.1 10/100 ethernet devices" | 198 | tristate "Davicom DM9601 based USB 1.1 10/100 ethernet devices" |
| 185 | depends on USB_USBNET | 199 | depends on USB_USBNET |
diff --git a/drivers/net/usb/Makefile b/drivers/net/usb/Makefile index 88a87eeb376a..c8aef62cf2b7 100644 --- a/drivers/net/usb/Makefile +++ b/drivers/net/usb/Makefile | |||
| @@ -9,6 +9,7 @@ obj-$(CONFIG_USB_RTL8150) += rtl8150.o | |||
| 9 | obj-$(CONFIG_USB_HSO) += hso.o | 9 | obj-$(CONFIG_USB_HSO) += hso.o |
| 10 | obj-$(CONFIG_USB_NET_AX8817X) += asix.o | 10 | obj-$(CONFIG_USB_NET_AX8817X) += asix.o |
| 11 | obj-$(CONFIG_USB_NET_CDCETHER) += cdc_ether.o | 11 | obj-$(CONFIG_USB_NET_CDCETHER) += cdc_ether.o |
| 12 | obj-$(CONFIG_USB_NET_CDC_EEM) += cdc_eem.o | ||
| 12 | obj-$(CONFIG_USB_NET_DM9601) += dm9601.o | 13 | obj-$(CONFIG_USB_NET_DM9601) += dm9601.o |
| 13 | obj-$(CONFIG_USB_NET_SMSC95XX) += smsc95xx.o | 14 | obj-$(CONFIG_USB_NET_SMSC95XX) += smsc95xx.o |
| 14 | obj-$(CONFIG_USB_NET_GL620A) += gl620a.o | 15 | obj-$(CONFIG_USB_NET_GL620A) += gl620a.o |
diff --git a/drivers/net/usb/cdc_eem.c b/drivers/net/usb/cdc_eem.c new file mode 100644 index 000000000000..80e01778dd3b --- /dev/null +++ b/drivers/net/usb/cdc_eem.c | |||
| @@ -0,0 +1,381 @@ | |||
| 1 | /* | ||
| 2 | * USB CDC EEM network interface driver | ||
| 3 | * Copyright (C) 2009 Oberthur Technologies | ||
| 4 | * by Omar Laazimani, Olivier Condemine | ||
| 5 | * | ||
| 6 | * This program is free software; you can redistribute it and/or modify | ||
| 7 | * it under the terms of the GNU General Public License as published by | ||
| 8 | * the Free Software Foundation; either version 2 of the License, or | ||
| 9 | * (at your option) any later version. | ||
| 10 | * | ||
| 11 | * This program is distributed in the hope that it will be useful, | ||
| 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 14 | * GNU General Public License for more details. | ||
| 15 | * | ||
| 16 | * You should have received a copy of the GNU General Public License | ||
| 17 | * along with this program; if not, write to the Free Software | ||
| 18 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | ||
| 19 | */ | ||
| 20 | |||
| 21 | #include <linux/module.h> | ||
| 22 | #include <linux/init.h> | ||
| 23 | #include <linux/netdevice.h> | ||
| 24 | #include <linux/etherdevice.h> | ||
| 25 | #include <linux/ctype.h> | ||
| 26 | #include <linux/ethtool.h> | ||
| 27 | #include <linux/workqueue.h> | ||
| 28 | #include <linux/mii.h> | ||
| 29 | #include <linux/usb.h> | ||
| 30 | #include <linux/crc32.h> | ||
| 31 | #include <linux/usb/cdc.h> | ||
| 32 | #include <linux/usb/usbnet.h> | ||
| 33 | |||
| 34 | |||
| 35 | /* | ||
| 36 | * This driver is an implementation of the CDC "Ethernet Emulation | ||
| 37 | * Model" (EEM) specification, which encapsulates Ethernet frames | ||
| 38 | * for transport over USB using a simpler USB device model than the | ||
| 39 | * previous CDC "Ethernet Control Model" (ECM, or "CDC Ethernet"). | ||
| 40 | * | ||
| 41 | * For details, see www.usb.org/developers/devclass_docs/CDC_EEM10.pdf | ||
| 42 | * | ||
| 43 | * This version has been tested with GIGAntIC WuaoW SIM Smart Card on 2.6.24, | ||
| 44 | * 2.6.27 and 2.6.30rc2 kernel. | ||
| 45 | * It has also been validated on Openmoko Om 2008.12 (based on 2.6.24 kernel). | ||
| 46 | * build on 23-April-2009 | ||
| 47 | */ | ||
| 48 | |||
| 49 | #define EEM_HEAD 2 /* 2 byte header */ | ||
| 50 | |||
| 51 | /*-------------------------------------------------------------------------*/ | ||
| 52 | |||
| 53 | static void eem_linkcmd_complete(struct urb *urb) | ||
| 54 | { | ||
| 55 | dev_kfree_skb(urb->context); | ||
| 56 | usb_free_urb(urb); | ||
| 57 | } | ||
| 58 | |||
| 59 | static void eem_linkcmd(struct usbnet *dev, struct sk_buff *skb) | ||
| 60 | { | ||
| 61 | struct urb *urb; | ||
| 62 | int status; | ||
| 63 | |||
| 64 | urb = usb_alloc_urb(0, GFP_ATOMIC); | ||
| 65 | if (!urb) | ||
| 66 | goto fail; | ||
| 67 | |||
| 68 | usb_fill_bulk_urb(urb, dev->udev, dev->out, | ||
| 69 | skb->data, skb->len, eem_linkcmd_complete, skb); | ||
| 70 | |||
| 71 | status = usb_submit_urb(urb, GFP_ATOMIC); | ||
| 72 | if (status) { | ||
| 73 | usb_free_urb(urb); | ||
| 74 | fail: | ||
| 75 | dev_kfree_skb(skb); | ||
| 76 | devwarn(dev, "link cmd failure\n"); | ||
| 77 | return; | ||
| 78 | } | ||
| 79 | } | ||
| 80 | |||
| 81 | static int eem_bind(struct usbnet *dev, struct usb_interface *intf) | ||
| 82 | { | ||
| 83 | int status = 0; | ||
| 84 | |||
| 85 | status = usbnet_get_endpoints(dev, intf); | ||
| 86 | if (status < 0) { | ||
| 87 | usb_set_intfdata(intf, NULL); | ||
| 88 | usb_driver_release_interface(driver_of(intf), intf); | ||
| 89 | return status; | ||
| 90 | } | ||
| 91 | |||
| 92 | /* no jumbogram (16K) support for now */ | ||
| 93 | |||
| 94 | dev->net->hard_header_len += EEM_HEAD + ETH_FCS_LEN; | ||
| 95 | |||
| 96 | return 0; | ||
| 97 | } | ||
| 98 | |||
| 99 | /* | ||
| 100 | * EEM permits packing multiple Ethernet frames into USB transfers | ||
| 101 | * (a "bundle"), but for TX we don't try to do that. | ||
| 102 | */ | ||
| 103 | static struct sk_buff *eem_tx_fixup(struct usbnet *dev, struct sk_buff *skb, | ||
| 104 | gfp_t flags) | ||
| 105 | { | ||
| 106 | struct sk_buff *skb2 = NULL; | ||
| 107 | u16 len = skb->len; | ||
| 108 | u32 crc = 0; | ||
| 109 | int padlen = 0; | ||
| 110 | |||
| 111 | /* When ((len + EEM_HEAD + ETH_FCS_LEN) % dev->maxpacket) is | ||
| 112 | * zero, stick two bytes of zero length EEM packet on the end. | ||
| 113 | * Else the framework would add invalid single byte padding, | ||
| 114 | * since it can't know whether ZLPs will be handled right by | ||
| 115 | * all the relevant hardware and software. | ||
| 116 | */ | ||
| 117 | if (!((len + EEM_HEAD + ETH_FCS_LEN) % dev->maxpacket)) | ||
| 118 | padlen += 2; | ||
| 119 | |||
| 120 | if (!skb_cloned(skb)) { | ||
| 121 | int headroom = skb_headroom(skb); | ||
| 122 | int tailroom = skb_tailroom(skb); | ||
| 123 | |||
| 124 | if ((tailroom >= ETH_FCS_LEN + padlen) | ||
| 125 | && (headroom >= EEM_HEAD)) | ||
| 126 | goto done; | ||
| 127 | |||
| 128 | if ((headroom + tailroom) | ||
| 129 | > (EEM_HEAD + ETH_FCS_LEN + padlen)) { | ||
| 130 | skb->data = memmove(skb->head + | ||
| 131 | EEM_HEAD, | ||
| 132 | skb->data, | ||
| 133 | skb->len); | ||
| 134 | skb_set_tail_pointer(skb, len); | ||
| 135 | goto done; | ||
| 136 | } | ||
| 137 | } | ||
| 138 | |||
| 139 | skb2 = skb_copy_expand(skb, EEM_HEAD, ETH_FCS_LEN + padlen, flags); | ||
| 140 | if (!skb2) | ||
| 141 | return NULL; | ||
| 142 | |||
| 143 | dev_kfree_skb_any(skb); | ||
| 144 | skb = skb2; | ||
| 145 | |||
| 146 | done: | ||
| 147 | /* we don't use the "no Ethernet CRC" option */ | ||
| 148 | crc = crc32_le(~0, skb->data, skb->len); | ||
| 149 | crc = ~crc; | ||
| 150 | |||
| 151 | put_unaligned_le32(crc, skb_put(skb, 4)); | ||
| 152 | |||
| 153 | /* EEM packet header format: | ||
| 154 | * b0..13: length of ethernet frame | ||
| 155 | * b14: bmCRC (1 == valid Ethernet CRC) | ||
| 156 | * b15: bmType (0 == data) | ||
| 157 | */ | ||
| 158 | len = skb->len; | ||
| 159 | put_unaligned_le16(BIT(14) | len, skb_push(skb, 2)); | ||
| 160 | |||
| 161 | /* Bundle a zero length EEM packet if needed */ | ||
| 162 | if (padlen) | ||
| 163 | put_unaligned_le16(0, skb_put(skb, 2)); | ||
| 164 | |||
| 165 | return skb; | ||
| 166 | } | ||
| 167 | |||
| 168 | static int eem_rx_fixup(struct usbnet *dev, struct sk_buff *skb) | ||
| 169 | { | ||
| 170 | /* | ||
| 171 | * Our task here is to strip off framing, leaving skb with one | ||
| 172 | * data frame for the usbnet framework code to process. But we | ||
| 173 | * may have received multiple EEM payloads, or command payloads. | ||
| 174 | * So we must process _everything_ as if it's a header, except | ||
| 175 | * maybe the last data payload | ||
| 176 | * | ||
| 177 | * REVISIT the framework needs updating so that when we consume | ||
| 178 | * all payloads (the last or only message was a command, or a | ||
| 179 | * zero length EEM packet) that is not accounted as an rx_error. | ||
| 180 | */ | ||
| 181 | do { | ||
| 182 | struct sk_buff *skb2 = NULL; | ||
| 183 | u16 header; | ||
| 184 | u16 len = 0; | ||
| 185 | |||
| 186 | /* incomplete EEM header? */ | ||
| 187 | if (skb->len < EEM_HEAD) | ||
| 188 | return 0; | ||
| 189 | |||
| 190 | /* | ||
| 191 | * EEM packet header format: | ||
| 192 | * b0..14: EEM type dependant (Data or Command) | ||
| 193 | * b15: bmType | ||
| 194 | */ | ||
| 195 | header = get_unaligned_le16(skb->data); | ||
| 196 | skb_pull(skb, EEM_HEAD); | ||
| 197 | |||
| 198 | /* | ||
| 199 | * The bmType bit helps to denote when EEM | ||
| 200 | * packet is data or command : | ||
| 201 | * bmType = 0 : EEM data payload | ||
| 202 | * bmType = 1 : EEM (link) command | ||
| 203 | */ | ||
| 204 | if (header & BIT(15)) { | ||
| 205 | u16 bmEEMCmd; | ||
| 206 | |||
| 207 | /* | ||
| 208 | * EEM (link) command packet: | ||
| 209 | * b0..10: bmEEMCmdParam | ||
| 210 | * b11..13: bmEEMCmd | ||
| 211 | * b14: bmReserved (must be 0) | ||
| 212 | * b15: 1 (EEM command) | ||
| 213 | */ | ||
| 214 | if (header & BIT(14)) { | ||
| 215 | devdbg(dev, "reserved command %04x\n", header); | ||
| 216 | continue; | ||
| 217 | } | ||
| 218 | |||
| 219 | bmEEMCmd = (header >> 11) & 0x7; | ||
| 220 | switch (bmEEMCmd) { | ||
| 221 | |||
| 222 | /* Responding to echo requests is mandatory. */ | ||
| 223 | case 0: /* Echo command */ | ||
| 224 | len = header & 0x7FF; | ||
| 225 | |||
| 226 | /* bogus command? */ | ||
| 227 | if (skb->len < len) | ||
| 228 | return 0; | ||
| 229 | |||
| 230 | skb2 = skb_clone(skb, GFP_ATOMIC); | ||
| 231 | if (unlikely(!skb2)) | ||
| 232 | goto next; | ||
| 233 | skb_trim(skb2, len); | ||
| 234 | put_unaligned_le16(BIT(15) | (1 << 11) | len, | ||
| 235 | skb_push(skb2, 2)); | ||
| 236 | eem_linkcmd(dev, skb2); | ||
| 237 | break; | ||
| 238 | |||
| 239 | /* | ||
| 240 | * Host may choose to ignore hints. | ||
| 241 | * - suspend: peripheral ready to suspend | ||
| 242 | * - response: suggest N millisec polling | ||
| 243 | * - response complete: suggest N sec polling | ||
| 244 | */ | ||
| 245 | case 2: /* Suspend hint */ | ||
| 246 | case 3: /* Response hint */ | ||
| 247 | case 4: /* Response complete hint */ | ||
| 248 | continue; | ||
| 249 | |||
| 250 | /* | ||
| 251 | * Hosts should never receive host-to-peripheral | ||
| 252 | * or reserved command codes; or responses to an | ||
| 253 | * echo command we didn't send. | ||
| 254 | */ | ||
| 255 | case 1: /* Echo response */ | ||
| 256 | case 5: /* Tickle */ | ||
| 257 | default: /* reserved */ | ||
| 258 | devwarn(dev, "unexpected link command %d\n", | ||
| 259 | bmEEMCmd); | ||
| 260 | continue; | ||
| 261 | } | ||
| 262 | |||
| 263 | } else { | ||
| 264 | u32 crc, crc2; | ||
| 265 | int is_last; | ||
| 266 | |||
| 267 | /* zero length EEM packet? */ | ||
| 268 | if (header == 0) | ||
| 269 | continue; | ||
| 270 | |||
| 271 | /* | ||
| 272 | * EEM data packet header : | ||
| 273 | * b0..13: length of ethernet frame | ||
| 274 | * b14: bmCRC | ||
| 275 | * b15: 0 (EEM data) | ||
| 276 | */ | ||
| 277 | len = header & 0x3FFF; | ||
| 278 | |||
| 279 | /* bogus EEM payload? */ | ||
| 280 | if (skb->len < len) | ||
| 281 | return 0; | ||
| 282 | |||
| 283 | /* bogus ethernet frame? */ | ||
| 284 | if (len < (ETH_HLEN + ETH_FCS_LEN)) | ||
| 285 | goto next; | ||
| 286 | |||
| 287 | /* | ||
| 288 | * Treat the last payload differently: framework | ||
| 289 | * code expects our "fixup" to have stripped off | ||
| 290 | * headers, so "skb" is a data packet (or error). | ||
| 291 | * Else if it's not the last payload, keep "skb" | ||
| 292 | * for further processing. | ||
| 293 | */ | ||
| 294 | is_last = (len == skb->len); | ||
| 295 | if (is_last) | ||
| 296 | skb2 = skb; | ||
| 297 | else { | ||
| 298 | skb2 = skb_clone(skb, GFP_ATOMIC); | ||
| 299 | if (unlikely(!skb2)) | ||
| 300 | return 0; | ||
| 301 | } | ||
| 302 | |||
| 303 | crc = get_unaligned_le32(skb2->data | ||
| 304 | + len - ETH_FCS_LEN); | ||
| 305 | skb_trim(skb2, len - ETH_FCS_LEN); | ||
| 306 | |||
| 307 | /* | ||
| 308 | * The bmCRC helps to denote when the CRC field in | ||
| 309 | * the Ethernet frame contains a calculated CRC: | ||
| 310 | * bmCRC = 1 : CRC is calculated | ||
| 311 | * bmCRC = 0 : CRC = 0xDEADBEEF | ||
| 312 | */ | ||
| 313 | if (header & BIT(14)) | ||
| 314 | crc2 = ~crc32_le(~0, skb2->data, len); | ||
| 315 | else | ||
| 316 | crc2 = 0xdeadbeef; | ||
| 317 | |||
| 318 | if (is_last) | ||
| 319 | return crc == crc2; | ||
| 320 | |||
| 321 | if (unlikely(crc != crc2)) { | ||
| 322 | dev->stats.rx_errors++; | ||
| 323 | dev_kfree_skb_any(skb2); | ||
| 324 | } else | ||
| 325 | usbnet_skb_return(dev, skb2); | ||
| 326 | } | ||
| 327 | |||
| 328 | next: | ||
| 329 | skb_pull(skb, len); | ||
| 330 | } while (skb->len); | ||
| 331 | |||
| 332 | return 1; | ||
| 333 | } | ||
| 334 | |||
| 335 | static const struct driver_info eem_info = { | ||
| 336 | .description = "CDC EEM Device", | ||
| 337 | .flags = FLAG_ETHER, | ||
| 338 | .bind = eem_bind, | ||
| 339 | .rx_fixup = eem_rx_fixup, | ||
| 340 | .tx_fixup = eem_tx_fixup, | ||
| 341 | }; | ||
| 342 | |||
| 343 | /*-------------------------------------------------------------------------*/ | ||
| 344 | |||
| 345 | static const struct usb_device_id products[] = { | ||
| 346 | { | ||
| 347 | USB_INTERFACE_INFO(USB_CLASS_COMM, USB_CDC_SUBCLASS_EEM, | ||
| 348 | USB_CDC_PROTO_EEM), | ||
| 349 | .driver_info = (unsigned long) &eem_info, | ||
| 350 | }, | ||
| 351 | { | ||
| 352 | /* EMPTY == end of list */ | ||
| 353 | }, | ||
| 354 | }; | ||
| 355 | MODULE_DEVICE_TABLE(usb, products); | ||
| 356 | |||
| 357 | static struct usb_driver eem_driver = { | ||
| 358 | .name = "cdc_eem", | ||
| 359 | .id_table = products, | ||
| 360 | .probe = usbnet_probe, | ||
| 361 | .disconnect = usbnet_disconnect, | ||
| 362 | .suspend = usbnet_suspend, | ||
| 363 | .resume = usbnet_resume, | ||
| 364 | }; | ||
| 365 | |||
| 366 | |||
| 367 | static int __init eem_init(void) | ||
| 368 | { | ||
| 369 | return usb_register(&eem_driver); | ||
| 370 | } | ||
| 371 | module_init(eem_init); | ||
| 372 | |||
| 373 | static void __exit eem_exit(void) | ||
| 374 | { | ||
| 375 | usb_deregister(&eem_driver); | ||
| 376 | } | ||
| 377 | module_exit(eem_exit); | ||
| 378 | |||
| 379 | MODULE_AUTHOR("Omar Laazimani <omar.oberthur@gmail.com>"); | ||
| 380 | MODULE_DESCRIPTION("USB CDC EEM"); | ||
| 381 | MODULE_LICENSE("GPL"); | ||
diff --git a/drivers/net/usb/smsc95xx.c b/drivers/net/usb/smsc95xx.c index dc1665326592..5a7283372b53 100644 --- a/drivers/net/usb/smsc95xx.c +++ b/drivers/net/usb/smsc95xx.c | |||
| @@ -941,6 +941,16 @@ static int smsc95xx_reset(struct usbnet *dev) | |||
| 941 | if (netif_msg_ifup(dev)) | 941 | if (netif_msg_ifup(dev)) |
| 942 | devdbg(dev, "ID_REV = 0x%08x", read_buf); | 942 | devdbg(dev, "ID_REV = 0x%08x", read_buf); |
| 943 | 943 | ||
| 944 | /* Configure GPIO pins as LED outputs */ | ||
| 945 | write_buf = LED_GPIO_CFG_SPD_LED | LED_GPIO_CFG_LNK_LED | | ||
| 946 | LED_GPIO_CFG_FDX_LED; | ||
| 947 | ret = smsc95xx_write_reg(dev, LED_GPIO_CFG, write_buf); | ||
| 948 | if (ret < 0) { | ||
| 949 | devwarn(dev, "Failed to write LED_GPIO_CFG register, ret=%d", | ||
| 950 | ret); | ||
| 951 | return ret; | ||
| 952 | } | ||
| 953 | |||
| 944 | /* Init Tx */ | 954 | /* Init Tx */ |
| 945 | write_buf = 0; | 955 | write_buf = 0; |
| 946 | ret = smsc95xx_write_reg(dev, FLOW, write_buf); | 956 | ret = smsc95xx_write_reg(dev, FLOW, write_buf); |
| @@ -1231,6 +1241,11 @@ static const struct usb_device_id products[] = { | |||
| 1231 | USB_DEVICE(0x0424, 0x9500), | 1241 | USB_DEVICE(0x0424, 0x9500), |
| 1232 | .driver_info = (unsigned long) &smsc95xx_info, | 1242 | .driver_info = (unsigned long) &smsc95xx_info, |
| 1233 | }, | 1243 | }, |
| 1244 | { | ||
| 1245 | /* SMSC9512/9514 USB Hub & Ethernet Device */ | ||
| 1246 | USB_DEVICE(0x0424, 0xec00), | ||
| 1247 | .driver_info = (unsigned long) &smsc95xx_info, | ||
| 1248 | }, | ||
| 1234 | { }, /* END */ | 1249 | { }, /* END */ |
| 1235 | }; | 1250 | }; |
| 1236 | MODULE_DEVICE_TABLE(usb, products); | 1251 | MODULE_DEVICE_TABLE(usb, products); |
diff --git a/drivers/net/usb/smsc95xx.h b/drivers/net/usb/smsc95xx.h index 66b5c84f302e..86bc44977fbd 100644 --- a/drivers/net/usb/smsc95xx.h +++ b/drivers/net/usb/smsc95xx.h | |||
| @@ -99,6 +99,9 @@ | |||
| 99 | #define PM_CTL_WUPS_MULTI_ (0x00000003) | 99 | #define PM_CTL_WUPS_MULTI_ (0x00000003) |
| 100 | 100 | ||
| 101 | #define LED_GPIO_CFG (0x24) | 101 | #define LED_GPIO_CFG (0x24) |
| 102 | #define LED_GPIO_CFG_SPD_LED (0x01000000) | ||
| 103 | #define LED_GPIO_CFG_LNK_LED (0x00100000) | ||
| 104 | #define LED_GPIO_CFG_FDX_LED (0x00010000) | ||
| 102 | 105 | ||
| 103 | #define GPIO_CFG (0x28) | 106 | #define GPIO_CFG (0x28) |
| 104 | 107 | ||
diff --git a/drivers/net/virtio_net.c b/drivers/net/virtio_net.c index 9c82a39497e5..4d1d47953fc6 100644 --- a/drivers/net/virtio_net.c +++ b/drivers/net/virtio_net.c | |||
| @@ -616,10 +616,11 @@ static int virtnet_open(struct net_device *dev) | |||
| 616 | static bool virtnet_send_command(struct virtnet_info *vi, u8 class, u8 cmd, | 616 | static bool virtnet_send_command(struct virtnet_info *vi, u8 class, u8 cmd, |
| 617 | struct scatterlist *data, int out, int in) | 617 | struct scatterlist *data, int out, int in) |
| 618 | { | 618 | { |
| 619 | struct scatterlist sg[VIRTNET_SEND_COMMAND_SG_MAX + 2]; | 619 | struct scatterlist *s, sg[VIRTNET_SEND_COMMAND_SG_MAX + 2]; |
| 620 | struct virtio_net_ctrl_hdr ctrl; | 620 | struct virtio_net_ctrl_hdr ctrl; |
| 621 | virtio_net_ctrl_ack status = ~0; | 621 | virtio_net_ctrl_ack status = ~0; |
| 622 | unsigned int tmp; | 622 | unsigned int tmp; |
| 623 | int i; | ||
| 623 | 624 | ||
| 624 | if (!virtio_has_feature(vi->vdev, VIRTIO_NET_F_CTRL_VQ)) { | 625 | if (!virtio_has_feature(vi->vdev, VIRTIO_NET_F_CTRL_VQ)) { |
| 625 | BUG(); /* Caller should know better */ | 626 | BUG(); /* Caller should know better */ |
| @@ -637,7 +638,8 @@ static bool virtnet_send_command(struct virtnet_info *vi, u8 class, u8 cmd, | |||
| 637 | sg_init_table(sg, out + in); | 638 | sg_init_table(sg, out + in); |
| 638 | 639 | ||
| 639 | sg_set_buf(&sg[0], &ctrl, sizeof(ctrl)); | 640 | sg_set_buf(&sg[0], &ctrl, sizeof(ctrl)); |
| 640 | memcpy(&sg[1], data, sizeof(struct scatterlist) * (out + in - 2)); | 641 | for_each_sg(data, s, out + in - 2, i) |
| 642 | sg_set_buf(&sg[i + 1], sg_virt(s), s->length); | ||
| 641 | sg_set_buf(&sg[out + in - 1], &status, sizeof(status)); | 643 | sg_set_buf(&sg[out + in - 1], &status, sizeof(status)); |
| 642 | 644 | ||
| 643 | if (vi->cvq->vq_ops->add_buf(vi->cvq, sg, out, in, vi) != 0) | 645 | if (vi->cvq->vq_ops->add_buf(vi->cvq, sg, out, in, vi) != 0) |
| @@ -692,7 +694,7 @@ static void virtnet_set_rx_mode(struct net_device *dev) | |||
| 692 | promisc = ((dev->flags & IFF_PROMISC) != 0); | 694 | promisc = ((dev->flags & IFF_PROMISC) != 0); |
| 693 | allmulti = ((dev->flags & IFF_ALLMULTI) != 0); | 695 | allmulti = ((dev->flags & IFF_ALLMULTI) != 0); |
| 694 | 696 | ||
| 695 | sg_set_buf(sg, &promisc, sizeof(promisc)); | 697 | sg_init_one(sg, &promisc, sizeof(promisc)); |
| 696 | 698 | ||
| 697 | if (!virtnet_send_command(vi, VIRTIO_NET_CTRL_RX, | 699 | if (!virtnet_send_command(vi, VIRTIO_NET_CTRL_RX, |
| 698 | VIRTIO_NET_CTRL_RX_PROMISC, | 700 | VIRTIO_NET_CTRL_RX_PROMISC, |
| @@ -700,7 +702,7 @@ static void virtnet_set_rx_mode(struct net_device *dev) | |||
| 700 | dev_warn(&dev->dev, "Failed to %sable promisc mode.\n", | 702 | dev_warn(&dev->dev, "Failed to %sable promisc mode.\n", |
| 701 | promisc ? "en" : "dis"); | 703 | promisc ? "en" : "dis"); |
| 702 | 704 | ||
| 703 | sg_set_buf(sg, &allmulti, sizeof(allmulti)); | 705 | sg_init_one(sg, &allmulti, sizeof(allmulti)); |
| 704 | 706 | ||
| 705 | if (!virtnet_send_command(vi, VIRTIO_NET_CTRL_RX, | 707 | if (!virtnet_send_command(vi, VIRTIO_NET_CTRL_RX, |
| 706 | VIRTIO_NET_CTRL_RX_ALLMULTI, | 708 | VIRTIO_NET_CTRL_RX_ALLMULTI, |
| @@ -716,6 +718,8 @@ static void virtnet_set_rx_mode(struct net_device *dev) | |||
| 716 | return; | 718 | return; |
| 717 | } | 719 | } |
| 718 | 720 | ||
| 721 | sg_init_table(sg, 2); | ||
| 722 | |||
| 719 | /* Store the unicast list and count in the front of the buffer */ | 723 | /* Store the unicast list and count in the front of the buffer */ |
| 720 | mac_data->entries = dev->uc_count; | 724 | mac_data->entries = dev->uc_count; |
| 721 | addr = dev->uc_list; | 725 | addr = dev->uc_list; |
| @@ -744,24 +748,24 @@ static void virtnet_set_rx_mode(struct net_device *dev) | |||
| 744 | kfree(buf); | 748 | kfree(buf); |
| 745 | } | 749 | } |
| 746 | 750 | ||
| 747 | static void virnet_vlan_rx_add_vid(struct net_device *dev, u16 vid) | 751 | static void virtnet_vlan_rx_add_vid(struct net_device *dev, u16 vid) |
| 748 | { | 752 | { |
| 749 | struct virtnet_info *vi = netdev_priv(dev); | 753 | struct virtnet_info *vi = netdev_priv(dev); |
| 750 | struct scatterlist sg; | 754 | struct scatterlist sg; |
| 751 | 755 | ||
| 752 | sg_set_buf(&sg, &vid, sizeof(vid)); | 756 | sg_init_one(&sg, &vid, sizeof(vid)); |
| 753 | 757 | ||
| 754 | if (!virtnet_send_command(vi, VIRTIO_NET_CTRL_VLAN, | 758 | if (!virtnet_send_command(vi, VIRTIO_NET_CTRL_VLAN, |
| 755 | VIRTIO_NET_CTRL_VLAN_ADD, &sg, 1, 0)) | 759 | VIRTIO_NET_CTRL_VLAN_ADD, &sg, 1, 0)) |
| 756 | dev_warn(&dev->dev, "Failed to add VLAN ID %d.\n", vid); | 760 | dev_warn(&dev->dev, "Failed to add VLAN ID %d.\n", vid); |
| 757 | } | 761 | } |
| 758 | 762 | ||
| 759 | static void virnet_vlan_rx_kill_vid(struct net_device *dev, u16 vid) | 763 | static void virtnet_vlan_rx_kill_vid(struct net_device *dev, u16 vid) |
| 760 | { | 764 | { |
| 761 | struct virtnet_info *vi = netdev_priv(dev); | 765 | struct virtnet_info *vi = netdev_priv(dev); |
| 762 | struct scatterlist sg; | 766 | struct scatterlist sg; |
| 763 | 767 | ||
| 764 | sg_set_buf(&sg, &vid, sizeof(vid)); | 768 | sg_init_one(&sg, &vid, sizeof(vid)); |
| 765 | 769 | ||
| 766 | if (!virtnet_send_command(vi, VIRTIO_NET_CTRL_VLAN, | 770 | if (!virtnet_send_command(vi, VIRTIO_NET_CTRL_VLAN, |
| 767 | VIRTIO_NET_CTRL_VLAN_DEL, &sg, 1, 0)) | 771 | VIRTIO_NET_CTRL_VLAN_DEL, &sg, 1, 0)) |
| @@ -794,8 +798,8 @@ static const struct net_device_ops virtnet_netdev = { | |||
| 794 | .ndo_set_mac_address = virtnet_set_mac_address, | 798 | .ndo_set_mac_address = virtnet_set_mac_address, |
| 795 | .ndo_set_rx_mode = virtnet_set_rx_mode, | 799 | .ndo_set_rx_mode = virtnet_set_rx_mode, |
| 796 | .ndo_change_mtu = virtnet_change_mtu, | 800 | .ndo_change_mtu = virtnet_change_mtu, |
| 797 | .ndo_vlan_rx_add_vid = virnet_vlan_rx_add_vid, | 801 | .ndo_vlan_rx_add_vid = virtnet_vlan_rx_add_vid, |
| 798 | .ndo_vlan_rx_kill_vid = virnet_vlan_rx_kill_vid, | 802 | .ndo_vlan_rx_kill_vid = virtnet_vlan_rx_kill_vid, |
| 799 | #ifdef CONFIG_NET_POLL_CONTROLLER | 803 | #ifdef CONFIG_NET_POLL_CONTROLLER |
| 800 | .ndo_poll_controller = virtnet_netpoll, | 804 | .ndo_poll_controller = virtnet_netpoll, |
| 801 | #endif | 805 | #endif |
diff --git a/drivers/net/wireless/ath5k/debug.c b/drivers/net/wireless/ath5k/debug.c index 9770bb3d40f9..4904a07e4b59 100644 --- a/drivers/net/wireless/ath5k/debug.c +++ b/drivers/net/wireless/ath5k/debug.c | |||
| @@ -424,7 +424,7 @@ ath5k_debug_dump_bands(struct ath5k_softc *sc) | |||
| 424 | 424 | ||
| 425 | for (b = 0; b < IEEE80211_NUM_BANDS; b++) { | 425 | for (b = 0; b < IEEE80211_NUM_BANDS; b++) { |
| 426 | struct ieee80211_supported_band *band = &sc->sbands[b]; | 426 | struct ieee80211_supported_band *band = &sc->sbands[b]; |
| 427 | char bname[5]; | 427 | char bname[6]; |
| 428 | switch (band->band) { | 428 | switch (band->band) { |
| 429 | case IEEE80211_BAND_2GHZ: | 429 | case IEEE80211_BAND_2GHZ: |
| 430 | strcpy(bname, "2 GHz"); | 430 | strcpy(bname, "2 GHz"); |
diff --git a/drivers/net/wireless/iwlwifi/iwl-scan.c b/drivers/net/wireless/iwlwifi/iwl-scan.c index 23644cf884f1..e7c65c4f741b 100644 --- a/drivers/net/wireless/iwlwifi/iwl-scan.c +++ b/drivers/net/wireless/iwlwifi/iwl-scan.c | |||
| @@ -925,11 +925,11 @@ void iwl_bg_scan_completed(struct work_struct *work) | |||
| 925 | 925 | ||
| 926 | IWL_DEBUG_SCAN(priv, "SCAN complete scan\n"); | 926 | IWL_DEBUG_SCAN(priv, "SCAN complete scan\n"); |
| 927 | 927 | ||
| 928 | ieee80211_scan_completed(priv->hw, false); | ||
| 929 | |||
| 928 | if (test_bit(STATUS_EXIT_PENDING, &priv->status)) | 930 | if (test_bit(STATUS_EXIT_PENDING, &priv->status)) |
| 929 | return; | 931 | return; |
| 930 | 932 | ||
| 931 | ieee80211_scan_completed(priv->hw, false); | ||
| 932 | |||
| 933 | /* Since setting the TXPOWER may have been deferred while | 933 | /* Since setting the TXPOWER may have been deferred while |
| 934 | * performing the scan, fire one off */ | 934 | * performing the scan, fire one off */ |
| 935 | mutex_lock(&priv->mutex); | 935 | mutex_lock(&priv->mutex); |
diff --git a/drivers/net/wireless/iwlwifi/iwl3945-base.c b/drivers/net/wireless/iwlwifi/iwl3945-base.c index 617c4235d971..70a00c8ee42e 100644 --- a/drivers/net/wireless/iwlwifi/iwl3945-base.c +++ b/drivers/net/wireless/iwlwifi/iwl3945-base.c | |||
| @@ -1694,7 +1694,6 @@ void iwl3945_rx_queue_reset(struct iwl_priv *priv, struct iwl_rx_queue *rxq) | |||
| 1694 | rxq->free_count = 0; | 1694 | rxq->free_count = 0; |
| 1695 | spin_unlock_irqrestore(&rxq->lock, flags); | 1695 | spin_unlock_irqrestore(&rxq->lock, flags); |
| 1696 | } | 1696 | } |
| 1697 | EXPORT_SYMBOL(iwl3945_rx_queue_reset); | ||
| 1698 | 1697 | ||
| 1699 | /* | 1698 | /* |
| 1700 | * this should be called while priv->lock is locked | 1699 | * this should be called while priv->lock is locked |
diff --git a/drivers/net/wireless/rndis_wlan.c b/drivers/net/wireless/rndis_wlan.c index db91db776508..bebf735cd4bd 100644 --- a/drivers/net/wireless/rndis_wlan.c +++ b/drivers/net/wireless/rndis_wlan.c | |||
| @@ -2558,6 +2558,11 @@ static int rndis_wext_bind(struct usbnet *usbdev, struct usb_interface *intf) | |||
| 2558 | mutex_init(&priv->command_lock); | 2558 | mutex_init(&priv->command_lock); |
| 2559 | spin_lock_init(&priv->stats_lock); | 2559 | spin_lock_init(&priv->stats_lock); |
| 2560 | 2560 | ||
| 2561 | /* because rndis_command() sleeps we need to use workqueue */ | ||
| 2562 | priv->workqueue = create_singlethread_workqueue("rndis_wlan"); | ||
| 2563 | INIT_WORK(&priv->work, rndis_wext_worker); | ||
| 2564 | INIT_DELAYED_WORK(&priv->stats_work, rndis_update_wireless_stats); | ||
| 2565 | |||
| 2561 | /* try bind rndis_host */ | 2566 | /* try bind rndis_host */ |
| 2562 | retval = generic_rndis_bind(usbdev, intf, FLAG_RNDIS_PHYM_WIRELESS); | 2567 | retval = generic_rndis_bind(usbdev, intf, FLAG_RNDIS_PHYM_WIRELESS); |
| 2563 | if (retval < 0) | 2568 | if (retval < 0) |
| @@ -2603,16 +2608,17 @@ static int rndis_wext_bind(struct usbnet *usbdev, struct usb_interface *intf) | |||
| 2603 | disassociate(usbdev, 1); | 2608 | disassociate(usbdev, 1); |
| 2604 | netif_carrier_off(usbdev->net); | 2609 | netif_carrier_off(usbdev->net); |
| 2605 | 2610 | ||
| 2606 | /* because rndis_command() sleeps we need to use workqueue */ | ||
| 2607 | priv->workqueue = create_singlethread_workqueue("rndis_wlan"); | ||
| 2608 | INIT_DELAYED_WORK(&priv->stats_work, rndis_update_wireless_stats); | ||
| 2609 | queue_delayed_work(priv->workqueue, &priv->stats_work, | 2611 | queue_delayed_work(priv->workqueue, &priv->stats_work, |
| 2610 | round_jiffies_relative(STATS_UPDATE_JIFFIES)); | 2612 | round_jiffies_relative(STATS_UPDATE_JIFFIES)); |
| 2611 | INIT_WORK(&priv->work, rndis_wext_worker); | ||
| 2612 | 2613 | ||
| 2613 | return 0; | 2614 | return 0; |
| 2614 | 2615 | ||
| 2615 | fail: | 2616 | fail: |
| 2617 | cancel_delayed_work_sync(&priv->stats_work); | ||
| 2618 | cancel_work_sync(&priv->work); | ||
| 2619 | flush_workqueue(priv->workqueue); | ||
| 2620 | destroy_workqueue(priv->workqueue); | ||
| 2621 | |||
| 2616 | kfree(priv); | 2622 | kfree(priv); |
| 2617 | return retval; | 2623 | return retval; |
| 2618 | } | 2624 | } |
diff --git a/drivers/serial/jsm/jsm.h b/drivers/serial/jsm/jsm.h index 8871aaa3dba6..c0a3e2734e24 100644 --- a/drivers/serial/jsm/jsm.h +++ b/drivers/serial/jsm/jsm.h | |||
| @@ -130,8 +130,6 @@ struct jsm_board | |||
| 130 | struct pci_dev *pci_dev; | 130 | struct pci_dev *pci_dev; |
| 131 | u32 maxports; /* MAX ports this board can handle */ | 131 | u32 maxports; /* MAX ports this board can handle */ |
| 132 | 132 | ||
| 133 | spinlock_t bd_lock; /* Used to protect board */ | ||
| 134 | |||
| 135 | spinlock_t bd_intr_lock; /* Used to protect the poller tasklet and | 133 | spinlock_t bd_intr_lock; /* Used to protect the poller tasklet and |
| 136 | * the interrupt routine from each other. | 134 | * the interrupt routine from each other. |
| 137 | */ | 135 | */ |
diff --git a/drivers/serial/jsm/jsm_driver.c b/drivers/serial/jsm/jsm_driver.c index d2d32a198629..b3604aa322a4 100644 --- a/drivers/serial/jsm/jsm_driver.c +++ b/drivers/serial/jsm/jsm_driver.c | |||
| @@ -88,7 +88,6 @@ static int __devinit jsm_probe_one(struct pci_dev *pdev, const struct pci_device | |||
| 88 | else | 88 | else |
| 89 | brd->maxports = 2; | 89 | brd->maxports = 2; |
| 90 | 90 | ||
| 91 | spin_lock_init(&brd->bd_lock); | ||
| 92 | spin_lock_init(&brd->bd_intr_lock); | 91 | spin_lock_init(&brd->bd_intr_lock); |
| 93 | 92 | ||
| 94 | /* store which revision we have */ | 93 | /* store which revision we have */ |
diff --git a/drivers/serial/s3c6400.c b/drivers/serial/s3c6400.c index 06936d13393f..3e3785233682 100644 --- a/drivers/serial/s3c6400.c +++ b/drivers/serial/s3c6400.c | |||
| @@ -102,6 +102,7 @@ static struct s3c24xx_uart_info s3c6400_uart_inf = { | |||
| 102 | .name = "Samsung S3C6400 UART", | 102 | .name = "Samsung S3C6400 UART", |
| 103 | .type = PORT_S3C6400, | 103 | .type = PORT_S3C6400, |
| 104 | .fifosize = 64, | 104 | .fifosize = 64, |
| 105 | .has_divslot = 1, | ||
| 105 | .rx_fifomask = S3C2440_UFSTAT_RXMASK, | 106 | .rx_fifomask = S3C2440_UFSTAT_RXMASK, |
| 106 | .rx_fifoshift = S3C2440_UFSTAT_RXSHIFT, | 107 | .rx_fifoshift = S3C2440_UFSTAT_RXSHIFT, |
| 107 | .rx_fifofull = S3C2440_UFSTAT_RXFULL, | 108 | .rx_fifofull = S3C2440_UFSTAT_RXFULL, |
diff --git a/drivers/serial/samsung.c b/drivers/serial/samsung.c index e06686ae858b..93b5d75db126 100644 --- a/drivers/serial/samsung.c +++ b/drivers/serial/samsung.c | |||
| @@ -508,6 +508,7 @@ s3c24xx_serial_setsource(struct uart_port *port, struct s3c24xx_uart_clksrc *c) | |||
| 508 | struct baud_calc { | 508 | struct baud_calc { |
| 509 | struct s3c24xx_uart_clksrc *clksrc; | 509 | struct s3c24xx_uart_clksrc *clksrc; |
| 510 | unsigned int calc; | 510 | unsigned int calc; |
| 511 | unsigned int divslot; | ||
| 511 | unsigned int quot; | 512 | unsigned int quot; |
| 512 | struct clk *src; | 513 | struct clk *src; |
| 513 | }; | 514 | }; |
| @@ -517,6 +518,7 @@ static int s3c24xx_serial_calcbaud(struct baud_calc *calc, | |||
| 517 | struct s3c24xx_uart_clksrc *clksrc, | 518 | struct s3c24xx_uart_clksrc *clksrc, |
| 518 | unsigned int baud) | 519 | unsigned int baud) |
| 519 | { | 520 | { |
| 521 | struct s3c24xx_uart_port *ourport = to_ourport(port); | ||
| 520 | unsigned long rate; | 522 | unsigned long rate; |
| 521 | 523 | ||
| 522 | calc->src = clk_get(port->dev, clksrc->name); | 524 | calc->src = clk_get(port->dev, clksrc->name); |
| @@ -527,8 +529,24 @@ static int s3c24xx_serial_calcbaud(struct baud_calc *calc, | |||
| 527 | rate /= clksrc->divisor; | 529 | rate /= clksrc->divisor; |
| 528 | 530 | ||
| 529 | calc->clksrc = clksrc; | 531 | calc->clksrc = clksrc; |
| 530 | calc->quot = (rate + (8 * baud)) / (16 * baud); | 532 | |
| 531 | calc->calc = (rate / (calc->quot * 16)); | 533 | if (ourport->info->has_divslot) { |
| 534 | unsigned long div = rate / baud; | ||
| 535 | |||
| 536 | /* The UDIVSLOT register on the newer UARTs allows us to | ||
| 537 | * get a divisor adjustment of 1/16th on the baud clock. | ||
| 538 | * | ||
| 539 | * We don't keep the UDIVSLOT value (the 16ths we calculated | ||
| 540 | * by not multiplying the baud by 16) as it is easy enough | ||
| 541 | * to recalculate. | ||
| 542 | */ | ||
| 543 | |||
| 544 | calc->quot = div / 16; | ||
| 545 | calc->calc = rate / div; | ||
| 546 | } else { | ||
| 547 | calc->quot = (rate + (8 * baud)) / (16 * baud); | ||
| 548 | calc->calc = (rate / (calc->quot * 16)); | ||
| 549 | } | ||
| 532 | 550 | ||
| 533 | calc->quot--; | 551 | calc->quot--; |
| 534 | return 1; | 552 | return 1; |
| @@ -611,6 +629,30 @@ static unsigned int s3c24xx_serial_getclk(struct uart_port *port, | |||
| 611 | return best->quot; | 629 | return best->quot; |
| 612 | } | 630 | } |
| 613 | 631 | ||
| 632 | /* udivslot_table[] | ||
| 633 | * | ||
| 634 | * This table takes the fractional value of the baud divisor and gives | ||
| 635 | * the recommended setting for the UDIVSLOT register. | ||
| 636 | */ | ||
| 637 | static u16 udivslot_table[16] = { | ||
| 638 | [0] = 0x0000, | ||
| 639 | [1] = 0x0080, | ||
| 640 | [2] = 0x0808, | ||
| 641 | [3] = 0x0888, | ||
| 642 | [4] = 0x2222, | ||
| 643 | [5] = 0x4924, | ||
| 644 | [6] = 0x4A52, | ||
| 645 | [7] = 0x54AA, | ||
| 646 | [8] = 0x5555, | ||
| 647 | [9] = 0xD555, | ||
| 648 | [10] = 0xD5D5, | ||
| 649 | [11] = 0xDDD5, | ||
| 650 | [12] = 0xDDDD, | ||
| 651 | [13] = 0xDFDD, | ||
| 652 | [14] = 0xDFDF, | ||
| 653 | [15] = 0xFFDF, | ||
| 654 | }; | ||
| 655 | |||
| 614 | static void s3c24xx_serial_set_termios(struct uart_port *port, | 656 | static void s3c24xx_serial_set_termios(struct uart_port *port, |
| 615 | struct ktermios *termios, | 657 | struct ktermios *termios, |
| 616 | struct ktermios *old) | 658 | struct ktermios *old) |
| @@ -623,6 +665,7 @@ static void s3c24xx_serial_set_termios(struct uart_port *port, | |||
| 623 | unsigned int baud, quot; | 665 | unsigned int baud, quot; |
| 624 | unsigned int ulcon; | 666 | unsigned int ulcon; |
| 625 | unsigned int umcon; | 667 | unsigned int umcon; |
| 668 | unsigned int udivslot = 0; | ||
| 626 | 669 | ||
| 627 | /* | 670 | /* |
| 628 | * We don't support modem control lines. | 671 | * We don't support modem control lines. |
| @@ -644,6 +687,7 @@ static void s3c24xx_serial_set_termios(struct uart_port *port, | |||
| 644 | /* check to see if we need to change clock source */ | 687 | /* check to see if we need to change clock source */ |
| 645 | 688 | ||
| 646 | if (ourport->clksrc != clksrc || ourport->baudclk != clk) { | 689 | if (ourport->clksrc != clksrc || ourport->baudclk != clk) { |
| 690 | dbg("selecting clock %p\n", clk); | ||
| 647 | s3c24xx_serial_setsource(port, clksrc); | 691 | s3c24xx_serial_setsource(port, clksrc); |
| 648 | 692 | ||
| 649 | if (ourport->baudclk != NULL && !IS_ERR(ourport->baudclk)) { | 693 | if (ourport->baudclk != NULL && !IS_ERR(ourport->baudclk)) { |
| @@ -658,6 +702,13 @@ static void s3c24xx_serial_set_termios(struct uart_port *port, | |||
| 658 | ourport->baudclk_rate = clk ? clk_get_rate(clk) : 0; | 702 | ourport->baudclk_rate = clk ? clk_get_rate(clk) : 0; |
| 659 | } | 703 | } |
| 660 | 704 | ||
| 705 | if (ourport->info->has_divslot) { | ||
| 706 | unsigned int div = ourport->baudclk_rate / baud; | ||
| 707 | |||
| 708 | udivslot = udivslot_table[div & 15]; | ||
| 709 | dbg("udivslot = %04x (div %d)\n", udivslot, div & 15); | ||
| 710 | } | ||
| 711 | |||
| 661 | switch (termios->c_cflag & CSIZE) { | 712 | switch (termios->c_cflag & CSIZE) { |
| 662 | case CS5: | 713 | case CS5: |
| 663 | dbg("config: 5bits/char\n"); | 714 | dbg("config: 5bits/char\n"); |
| @@ -697,12 +748,16 @@ static void s3c24xx_serial_set_termios(struct uart_port *port, | |||
| 697 | 748 | ||
| 698 | spin_lock_irqsave(&port->lock, flags); | 749 | spin_lock_irqsave(&port->lock, flags); |
| 699 | 750 | ||
| 700 | dbg("setting ulcon to %08x, brddiv to %d\n", ulcon, quot); | 751 | dbg("setting ulcon to %08x, brddiv to %d, udivslot %08x\n", |
| 752 | ulcon, quot, udivslot); | ||
| 701 | 753 | ||
| 702 | wr_regl(port, S3C2410_ULCON, ulcon); | 754 | wr_regl(port, S3C2410_ULCON, ulcon); |
| 703 | wr_regl(port, S3C2410_UBRDIV, quot); | 755 | wr_regl(port, S3C2410_UBRDIV, quot); |
| 704 | wr_regl(port, S3C2410_UMCON, umcon); | 756 | wr_regl(port, S3C2410_UMCON, umcon); |
| 705 | 757 | ||
| 758 | if (ourport->info->has_divslot) | ||
| 759 | wr_regl(port, S3C2443_DIVSLOT, udivslot); | ||
| 760 | |||
| 706 | dbg("uart: ulcon = 0x%08x, ucon = 0x%08x, ufcon = 0x%08x\n", | 761 | dbg("uart: ulcon = 0x%08x, ucon = 0x%08x, ufcon = 0x%08x\n", |
| 707 | rd_regl(port, S3C2410_ULCON), | 762 | rd_regl(port, S3C2410_ULCON), |
| 708 | rd_regl(port, S3C2410_UCON), | 763 | rd_regl(port, S3C2410_UCON), |
diff --git a/drivers/serial/samsung.h b/drivers/serial/samsung.h index 571d6b90d206..7afb94843a08 100644 --- a/drivers/serial/samsung.h +++ b/drivers/serial/samsung.h | |||
| @@ -21,6 +21,10 @@ struct s3c24xx_uart_info { | |||
| 21 | unsigned long tx_fifoshift; | 21 | unsigned long tx_fifoshift; |
| 22 | unsigned long tx_fifofull; | 22 | unsigned long tx_fifofull; |
| 23 | 23 | ||
| 24 | /* uart port features */ | ||
| 25 | |||
| 26 | unsigned int has_divslot:1; | ||
| 27 | |||
| 24 | /* clock source control */ | 28 | /* clock source control */ |
| 25 | 29 | ||
| 26 | int (*get_clksrc)(struct uart_port *, struct s3c24xx_uart_clksrc *clk); | 30 | int (*get_clksrc)(struct uart_port *, struct s3c24xx_uart_clksrc *clk); |
diff --git a/drivers/video/Makefile b/drivers/video/Makefile index 0dbd6c68d76b..d8d0be5151e3 100644 --- a/drivers/video/Makefile +++ b/drivers/video/Makefile | |||
| @@ -56,7 +56,6 @@ obj-$(CONFIG_FB_CT65550) += chipsfb.o | |||
| 56 | obj-$(CONFIG_FB_IMSTT) += imsttfb.o | 56 | obj-$(CONFIG_FB_IMSTT) += imsttfb.o |
| 57 | obj-$(CONFIG_FB_FM2) += fm2fb.o | 57 | obj-$(CONFIG_FB_FM2) += fm2fb.o |
| 58 | obj-$(CONFIG_FB_VT8623) += vt8623fb.o | 58 | obj-$(CONFIG_FB_VT8623) += vt8623fb.o |
| 59 | obj-$(CONFIG_FB_CYBLA) += cyblafb.o | ||
| 60 | obj-$(CONFIG_FB_TRIDENT) += tridentfb.o | 59 | obj-$(CONFIG_FB_TRIDENT) += tridentfb.o |
| 61 | obj-$(CONFIG_FB_LE80578) += vermilion/ | 60 | obj-$(CONFIG_FB_LE80578) += vermilion/ |
| 62 | obj-$(CONFIG_FB_S3) += s3fb.o | 61 | obj-$(CONFIG_FB_S3) += s3fb.o |
diff --git a/drivers/video/cfbfillrect.c b/drivers/video/cfbfillrect.c index 64b35766b2a2..ba9f58b2a5e8 100644 --- a/drivers/video/cfbfillrect.c +++ b/drivers/video/cfbfillrect.c | |||
| @@ -9,10 +9,6 @@ | |||
| 9 | * | 9 | * |
| 10 | * NOTES: | 10 | * NOTES: |
| 11 | * | 11 | * |
| 12 | * The code for depths like 24 that don't have integer number of pixels per | ||
| 13 | * long is broken and needs to be fixed. For now I turned these types of | ||
| 14 | * mode off. | ||
| 15 | * | ||
| 16 | * Also need to add code to deal with cards endians that are different than | 12 | * Also need to add code to deal with cards endians that are different than |
| 17 | * the native cpu endians. I also need to deal with MSB position in the word. | 13 | * the native cpu endians. I also need to deal with MSB position in the word. |
| 18 | * | 14 | * |
| @@ -139,7 +135,7 @@ bitfill_unaligned(struct fb_info *p, unsigned long __iomem *dst, int dst_idx, | |||
| 139 | 135 | ||
| 140 | // Trailing bits | 136 | // Trailing bits |
| 141 | if (last) | 137 | if (last) |
| 142 | FB_WRITEL(comp(pat, FB_READL(dst), first), dst); | 138 | FB_WRITEL(comp(pat, FB_READL(dst), last), dst); |
| 143 | } | 139 | } |
| 144 | } | 140 | } |
| 145 | 141 | ||
| @@ -281,7 +277,7 @@ bitfill_unaligned_rev(struct fb_info *p, unsigned long __iomem *dst, | |||
| 281 | 277 | ||
| 282 | void cfb_fillrect(struct fb_info *p, const struct fb_fillrect *rect) | 278 | void cfb_fillrect(struct fb_info *p, const struct fb_fillrect *rect) |
| 283 | { | 279 | { |
| 284 | unsigned long pat, fg; | 280 | unsigned long pat, pat2, fg; |
| 285 | unsigned long width = rect->width, height = rect->height; | 281 | unsigned long width = rect->width, height = rect->height; |
| 286 | int bits = BITS_PER_LONG, bytes = bits >> 3; | 282 | int bits = BITS_PER_LONG, bytes = bits >> 3; |
| 287 | u32 bpp = p->var.bits_per_pixel; | 283 | u32 bpp = p->var.bits_per_pixel; |
| @@ -297,7 +293,7 @@ void cfb_fillrect(struct fb_info *p, const struct fb_fillrect *rect) | |||
| 297 | else | 293 | else |
| 298 | fg = rect->color; | 294 | fg = rect->color; |
| 299 | 295 | ||
| 300 | pat = pixel_to_pat( bpp, fg); | 296 | pat = pixel_to_pat(bpp, fg); |
| 301 | 297 | ||
| 302 | dst = (unsigned long __iomem *)((unsigned long)p->screen_base & ~(bytes-1)); | 298 | dst = (unsigned long __iomem *)((unsigned long)p->screen_base & ~(bytes-1)); |
| 303 | dst_idx = ((unsigned long)p->screen_base & (bytes - 1))*8; | 299 | dst_idx = ((unsigned long)p->screen_base & (bytes - 1))*8; |
| @@ -333,17 +329,16 @@ void cfb_fillrect(struct fb_info *p, const struct fb_fillrect *rect) | |||
| 333 | dst_idx += p->fix.line_length*8; | 329 | dst_idx += p->fix.line_length*8; |
| 334 | } | 330 | } |
| 335 | } else { | 331 | } else { |
| 336 | int right; | 332 | int right, r; |
| 337 | int r; | ||
| 338 | int rot = (left-dst_idx) % bpp; | ||
| 339 | void (*fill_op)(struct fb_info *p, unsigned long __iomem *dst, | 333 | void (*fill_op)(struct fb_info *p, unsigned long __iomem *dst, |
| 340 | int dst_idx, unsigned long pat, int left, | 334 | int dst_idx, unsigned long pat, int left, |
| 341 | int right, unsigned n, int bits) = NULL; | 335 | int right, unsigned n, int bits) = NULL; |
| 342 | 336 | #ifdef __LITTLE_ENDIAN | |
| 343 | /* rotate pattern to correct start position */ | 337 | right = left; |
| 344 | pat = pat << rot | pat >> (bpp-rot); | 338 | left = bpp - right; |
| 345 | 339 | #else | |
| 346 | right = bpp-left; | 340 | right = bpp - left; |
| 341 | #endif | ||
| 347 | switch (rect->rop) { | 342 | switch (rect->rop) { |
| 348 | case ROP_XOR: | 343 | case ROP_XOR: |
| 349 | fill_op = bitfill_unaligned_rev; | 344 | fill_op = bitfill_unaligned_rev; |
| @@ -352,17 +347,18 @@ void cfb_fillrect(struct fb_info *p, const struct fb_fillrect *rect) | |||
| 352 | fill_op = bitfill_unaligned; | 347 | fill_op = bitfill_unaligned; |
| 353 | break; | 348 | break; |
| 354 | default: | 349 | default: |
| 355 | printk( KERN_ERR "cfb_fillrect(): unknown rop, defaulting to ROP_COPY\n"); | 350 | printk(KERN_ERR "cfb_fillrect(): unknown rop, defaulting to ROP_COPY\n"); |
| 356 | fill_op = bitfill_unaligned; | 351 | fill_op = bitfill_unaligned; |
| 357 | break; | 352 | break; |
| 358 | } | 353 | } |
| 359 | while (height--) { | 354 | while (height--) { |
| 360 | dst += dst_idx >> (ffs(bits) - 1); | 355 | dst += dst_idx / bits; |
| 361 | dst_idx &= (bits - 1); | 356 | dst_idx &= (bits - 1); |
| 362 | fill_op(p, dst, dst_idx, pat, left, right, | 357 | r = dst_idx % bpp; |
| 358 | /* rotate pattern to the correct start position */ | ||
| 359 | pat2 = le_long_to_cpu(rolx(cpu_to_le_long(pat), r, bpp)); | ||
| 360 | fill_op(p, dst, dst_idx, pat2, left, right, | ||
| 363 | width*bpp, bits); | 361 | width*bpp, bits); |
| 364 | r = (p->fix.line_length*8) % bpp; | ||
| 365 | pat = pat << (bpp-r) | pat >> r; | ||
| 366 | dst_idx += p->fix.line_length*8; | 362 | dst_idx += p->fix.line_length*8; |
| 367 | } | 363 | } |
| 368 | } | 364 | } |
diff --git a/drivers/video/fb_draw.h b/drivers/video/fb_draw.h index 1db622192bde..04c01faaf772 100644 --- a/drivers/video/fb_draw.h +++ b/drivers/video/fb_draw.h | |||
| @@ -33,11 +33,11 @@ pixel_to_pat( u32 bpp, u32 pixel) | |||
| 33 | case 8: | 33 | case 8: |
| 34 | return 0x0101010101010101ul*pixel; | 34 | return 0x0101010101010101ul*pixel; |
| 35 | case 12: | 35 | case 12: |
| 36 | return 0x0001001001001001ul*pixel; | 36 | return 0x1001001001001001ul*pixel; |
| 37 | case 16: | 37 | case 16: |
| 38 | return 0x0001000100010001ul*pixel; | 38 | return 0x0001000100010001ul*pixel; |
| 39 | case 24: | 39 | case 24: |
| 40 | return 0x0000000001000001ul*pixel; | 40 | return 0x0001000001000001ul*pixel; |
| 41 | case 32: | 41 | case 32: |
| 42 | return 0x0000000100000001ul*pixel; | 42 | return 0x0000000100000001ul*pixel; |
| 43 | default: | 43 | default: |
| @@ -58,11 +58,11 @@ pixel_to_pat( u32 bpp, u32 pixel) | |||
| 58 | case 8: | 58 | case 8: |
| 59 | return 0x01010101ul*pixel; | 59 | return 0x01010101ul*pixel; |
| 60 | case 12: | 60 | case 12: |
| 61 | return 0x00001001ul*pixel; | 61 | return 0x01001001ul*pixel; |
| 62 | case 16: | 62 | case 16: |
| 63 | return 0x00010001ul*pixel; | 63 | return 0x00010001ul*pixel; |
| 64 | case 24: | 64 | case 24: |
| 65 | return 0x00000001ul*pixel; | 65 | return 0x01000001ul*pixel; |
| 66 | case 32: | 66 | case 32: |
| 67 | return 0x00000001ul*pixel; | 67 | return 0x00000001ul*pixel; |
| 68 | default: | 68 | default: |
| @@ -167,4 +167,17 @@ static inline unsigned long fb_rev_pixels_in_long(unsigned long val, | |||
| 167 | 167 | ||
| 168 | #endif /* CONFIG_FB_CFB_REV_PIXELS_IN_BYTE */ | 168 | #endif /* CONFIG_FB_CFB_REV_PIXELS_IN_BYTE */ |
| 169 | 169 | ||
| 170 | #define cpu_to_le_long _cpu_to_le_long(BITS_PER_LONG) | ||
| 171 | #define _cpu_to_le_long(x) __cpu_to_le_long(x) | ||
| 172 | #define __cpu_to_le_long(x) cpu_to_le##x | ||
| 173 | |||
| 174 | #define le_long_to_cpu _le_long_to_cpu(BITS_PER_LONG) | ||
| 175 | #define _le_long_to_cpu(x) __le_long_to_cpu(x) | ||
| 176 | #define __le_long_to_cpu(x) le##x##_to_cpu | ||
| 177 | |||
| 178 | static inline unsigned long rolx(unsigned long word, unsigned int shift, unsigned int x) | ||
| 179 | { | ||
| 180 | return (word << shift) | (word >> (x - shift)); | ||
| 181 | } | ||
| 182 | |||
| 170 | #endif /* FB_DRAW_H */ | 183 | #endif /* FB_DRAW_H */ |
diff --git a/drivers/video/mx3fb.c b/drivers/video/mx3fb.c index 21b3692092f2..9894de1c9b9f 100644 --- a/drivers/video/mx3fb.c +++ b/drivers/video/mx3fb.c | |||
| @@ -1152,11 +1152,11 @@ static struct fb_ops mx3fb_ops = { | |||
| 1152 | */ | 1152 | */ |
| 1153 | static int mx3fb_suspend(struct platform_device *pdev, pm_message_t state) | 1153 | static int mx3fb_suspend(struct platform_device *pdev, pm_message_t state) |
| 1154 | { | 1154 | { |
| 1155 | struct mx3fb_data *drv_data = platform_get_drvdata(pdev); | 1155 | struct mx3fb_data *mx3fb = platform_get_drvdata(pdev); |
| 1156 | struct mx3fb_info *mx3_fbi = drv_data->fbi->par; | 1156 | struct mx3fb_info *mx3_fbi = mx3fb->fbi->par; |
| 1157 | 1157 | ||
| 1158 | acquire_console_sem(); | 1158 | acquire_console_sem(); |
| 1159 | fb_set_suspend(drv_data->fbi, 1); | 1159 | fb_set_suspend(mx3fb->fbi, 1); |
| 1160 | release_console_sem(); | 1160 | release_console_sem(); |
| 1161 | 1161 | ||
| 1162 | if (mx3_fbi->blank == FB_BLANK_UNBLANK) { | 1162 | if (mx3_fbi->blank == FB_BLANK_UNBLANK) { |
| @@ -1172,16 +1172,16 @@ static int mx3fb_suspend(struct platform_device *pdev, pm_message_t state) | |||
| 1172 | */ | 1172 | */ |
| 1173 | static int mx3fb_resume(struct platform_device *pdev) | 1173 | static int mx3fb_resume(struct platform_device *pdev) |
| 1174 | { | 1174 | { |
| 1175 | struct mx3fb_data *drv_data = platform_get_drvdata(pdev); | 1175 | struct mx3fb_data *mx3fb = platform_get_drvdata(pdev); |
| 1176 | struct mx3fb_info *mx3_fbi = drv_data->fbi->par; | 1176 | struct mx3fb_info *mx3_fbi = mx3fb->fbi->par; |
| 1177 | 1177 | ||
| 1178 | if (mx3_fbi->blank == FB_BLANK_UNBLANK) { | 1178 | if (mx3_fbi->blank == FB_BLANK_UNBLANK) { |
| 1179 | sdc_enable_channel(mx3_fbi); | 1179 | sdc_enable_channel(mx3_fbi); |
| 1180 | sdc_set_brightness(mx3fb, drv_data->backlight_level); | 1180 | sdc_set_brightness(mx3fb, mx3fb->backlight_level); |
| 1181 | } | 1181 | } |
| 1182 | 1182 | ||
| 1183 | acquire_console_sem(); | 1183 | acquire_console_sem(); |
| 1184 | fb_set_suspend(drv_data->fbi, 0); | 1184 | fb_set_suspend(mx3fb->fbi, 0); |
| 1185 | release_console_sem(); | 1185 | release_console_sem(); |
| 1186 | 1186 | ||
| 1187 | return 0; | 1187 | return 0; |
diff --git a/drivers/video/sysfillrect.c b/drivers/video/sysfillrect.c index f94d6b6e29ee..33ee3d34f9d2 100644 --- a/drivers/video/sysfillrect.c +++ b/drivers/video/sysfillrect.c | |||
| @@ -124,7 +124,7 @@ bitfill_unaligned(struct fb_info *p, unsigned long *dst, int dst_idx, | |||
| 124 | 124 | ||
| 125 | /* Trailing bits */ | 125 | /* Trailing bits */ |
| 126 | if (last) | 126 | if (last) |
| 127 | *dst = comp(pat, *dst, first); | 127 | *dst = comp(pat, *dst, last); |
| 128 | } | 128 | } |
| 129 | } | 129 | } |
| 130 | 130 | ||
| @@ -242,7 +242,7 @@ bitfill_unaligned_rev(struct fb_info *p, unsigned long *dst, int dst_idx, | |||
| 242 | 242 | ||
| 243 | void sys_fillrect(struct fb_info *p, const struct fb_fillrect *rect) | 243 | void sys_fillrect(struct fb_info *p, const struct fb_fillrect *rect) |
| 244 | { | 244 | { |
| 245 | unsigned long pat, fg; | 245 | unsigned long pat, pat2, fg; |
| 246 | unsigned long width = rect->width, height = rect->height; | 246 | unsigned long width = rect->width, height = rect->height; |
| 247 | int bits = BITS_PER_LONG, bytes = bits >> 3; | 247 | int bits = BITS_PER_LONG, bytes = bits >> 3; |
| 248 | u32 bpp = p->var.bits_per_pixel; | 248 | u32 bpp = p->var.bits_per_pixel; |
| @@ -292,17 +292,16 @@ void sys_fillrect(struct fb_info *p, const struct fb_fillrect *rect) | |||
| 292 | dst_idx += p->fix.line_length*8; | 292 | dst_idx += p->fix.line_length*8; |
| 293 | } | 293 | } |
| 294 | } else { | 294 | } else { |
| 295 | int right; | 295 | int right, r; |
| 296 | int r; | ||
| 297 | int rot = (left-dst_idx) % bpp; | ||
| 298 | void (*fill_op)(struct fb_info *p, unsigned long *dst, | 296 | void (*fill_op)(struct fb_info *p, unsigned long *dst, |
| 299 | int dst_idx, unsigned long pat, int left, | 297 | int dst_idx, unsigned long pat, int left, |
| 300 | int right, unsigned n, int bits) = NULL; | 298 | int right, unsigned n, int bits) = NULL; |
| 301 | 299 | #ifdef __LITTLE_ENDIAN | |
| 302 | /* rotate pattern to correct start position */ | 300 | right = left; |
| 303 | pat = pat << rot | pat >> (bpp-rot); | 301 | left = bpp - right; |
| 304 | 302 | #else | |
| 305 | right = bpp-left; | 303 | right = bpp - left; |
| 304 | #endif | ||
| 306 | switch (rect->rop) { | 305 | switch (rect->rop) { |
| 307 | case ROP_XOR: | 306 | case ROP_XOR: |
| 308 | fill_op = bitfill_unaligned_rev; | 307 | fill_op = bitfill_unaligned_rev; |
| @@ -311,18 +310,19 @@ void sys_fillrect(struct fb_info *p, const struct fb_fillrect *rect) | |||
| 311 | fill_op = bitfill_unaligned; | 310 | fill_op = bitfill_unaligned; |
| 312 | break; | 311 | break; |
| 313 | default: | 312 | default: |
| 314 | printk(KERN_ERR "cfb_fillrect(): unknown rop, " | 313 | printk(KERN_ERR "sys_fillrect(): unknown rop, " |
| 315 | "defaulting to ROP_COPY\n"); | 314 | "defaulting to ROP_COPY\n"); |
| 316 | fill_op = bitfill_unaligned; | 315 | fill_op = bitfill_unaligned; |
| 317 | break; | 316 | break; |
| 318 | } | 317 | } |
| 319 | while (height--) { | 318 | while (height--) { |
| 320 | dst += dst_idx >> (ffs(bits) - 1); | 319 | dst += dst_idx / bits; |
| 321 | dst_idx &= (bits - 1); | 320 | dst_idx &= (bits - 1); |
| 322 | fill_op(p, dst, dst_idx, pat, left, right, | 321 | r = dst_idx % bpp; |
| 322 | /* rotate pattern to the correct start position */ | ||
| 323 | pat2 = le_long_to_cpu(rolx(cpu_to_le_long(pat), r, bpp)); | ||
| 324 | fill_op(p, dst, dst_idx, pat2, left, right, | ||
| 323 | width*bpp, bits); | 325 | width*bpp, bits); |
| 324 | r = (p->fix.line_length*8) % bpp; | ||
| 325 | pat = pat << (bpp-r) | pat >> r; | ||
| 326 | dst_idx += p->fix.line_length*8; | 326 | dst_idx += p->fix.line_length*8; |
| 327 | } | 327 | } |
| 328 | } | 328 | } |
diff --git a/drivers/xen/balloon.c b/drivers/xen/balloon.c index efa4b363ce72..f5bbd9e83416 100644 --- a/drivers/xen/balloon.c +++ b/drivers/xen/balloon.c | |||
| @@ -513,7 +513,8 @@ static ssize_t show_target(struct sys_device *dev, struct sysdev_attribute *attr | |||
| 513 | char *buf) | 513 | char *buf) |
| 514 | { | 514 | { |
| 515 | return sprintf(buf, "%llu\n", | 515 | return sprintf(buf, "%llu\n", |
| 516 | (u64)balloon_stats.target_pages << PAGE_SHIFT); | 516 | (unsigned long long)balloon_stats.target_pages |
| 517 | << PAGE_SHIFT); | ||
| 517 | } | 518 | } |
| 518 | 519 | ||
| 519 | static ssize_t store_target(struct sys_device *dev, | 520 | static ssize_t store_target(struct sys_device *dev, |
diff --git a/fs/ioctl.c b/fs/ioctl.c index ac2d47e43926..82d9c42b8bac 100644 --- a/fs/ioctl.c +++ b/fs/ioctl.c | |||
| @@ -258,7 +258,7 @@ int __generic_block_fiemap(struct inode *inode, | |||
| 258 | long long length = 0, map_len = 0; | 258 | long long length = 0, map_len = 0; |
| 259 | u64 logical = 0, phys = 0, size = 0; | 259 | u64 logical = 0, phys = 0, size = 0; |
| 260 | u32 flags = FIEMAP_EXTENT_MERGED; | 260 | u32 flags = FIEMAP_EXTENT_MERGED; |
| 261 | int ret = 0; | 261 | int ret = 0, past_eof = 0, whole_file = 0; |
| 262 | 262 | ||
| 263 | if ((ret = fiemap_check_flags(fieinfo, FIEMAP_FLAG_SYNC))) | 263 | if ((ret = fiemap_check_flags(fieinfo, FIEMAP_FLAG_SYNC))) |
| 264 | return ret; | 264 | return ret; |
| @@ -266,6 +266,9 @@ int __generic_block_fiemap(struct inode *inode, | |||
| 266 | start_blk = logical_to_blk(inode, start); | 266 | start_blk = logical_to_blk(inode, start); |
| 267 | 267 | ||
| 268 | length = (long long)min_t(u64, len, i_size_read(inode)); | 268 | length = (long long)min_t(u64, len, i_size_read(inode)); |
| 269 | if (length < len) | ||
| 270 | whole_file = 1; | ||
| 271 | |||
| 269 | map_len = length; | 272 | map_len = length; |
| 270 | 273 | ||
| 271 | do { | 274 | do { |
| @@ -282,11 +285,26 @@ int __generic_block_fiemap(struct inode *inode, | |||
| 282 | 285 | ||
| 283 | /* HOLE */ | 286 | /* HOLE */ |
| 284 | if (!buffer_mapped(&tmp)) { | 287 | if (!buffer_mapped(&tmp)) { |
| 288 | length -= blk_to_logical(inode, 1); | ||
| 289 | start_blk++; | ||
| 290 | |||
| 291 | /* | ||
| 292 | * we want to handle the case where there is an | ||
| 293 | * allocated block at the front of the file, and then | ||
| 294 | * nothing but holes up to the end of the file properly, | ||
| 295 | * to make sure that extent at the front gets properly | ||
| 296 | * marked with FIEMAP_EXTENT_LAST | ||
| 297 | */ | ||
| 298 | if (!past_eof && | ||
| 299 | blk_to_logical(inode, start_blk) >= | ||
| 300 | blk_to_logical(inode, 0)+i_size_read(inode)) | ||
| 301 | past_eof = 1; | ||
| 302 | |||
| 285 | /* | 303 | /* |
| 286 | * first hole after going past the EOF, this is our | 304 | * first hole after going past the EOF, this is our |
| 287 | * last extent | 305 | * last extent |
| 288 | */ | 306 | */ |
| 289 | if (length <= 0) { | 307 | if (past_eof && size) { |
| 290 | flags = FIEMAP_EXTENT_MERGED|FIEMAP_EXTENT_LAST; | 308 | flags = FIEMAP_EXTENT_MERGED|FIEMAP_EXTENT_LAST; |
| 291 | ret = fiemap_fill_next_extent(fieinfo, logical, | 309 | ret = fiemap_fill_next_extent(fieinfo, logical, |
| 292 | phys, size, | 310 | phys, size, |
| @@ -294,15 +312,37 @@ int __generic_block_fiemap(struct inode *inode, | |||
| 294 | break; | 312 | break; |
| 295 | } | 313 | } |
| 296 | 314 | ||
| 297 | length -= blk_to_logical(inode, 1); | ||
| 298 | |||
| 299 | /* if we have holes up to/past EOF then we're done */ | 315 | /* if we have holes up to/past EOF then we're done */ |
| 300 | if (length <= 0) | 316 | if (length <= 0 || past_eof) |
| 301 | break; | 317 | break; |
| 302 | |||
| 303 | start_blk++; | ||
| 304 | } else { | 318 | } else { |
| 305 | if (length <= 0 && size) { | 319 | /* |
| 320 | * we have gone over the length of what we wanted to | ||
| 321 | * map, and it wasn't the entire file, so add the extent | ||
| 322 | * we got last time and exit. | ||
| 323 | * | ||
| 324 | * This is for the case where say we want to map all the | ||
| 325 | * way up to the second to the last block in a file, but | ||
| 326 | * the last block is a hole, making the second to last | ||
| 327 | * block FIEMAP_EXTENT_LAST. In this case we want to | ||
| 328 | * see if there is a hole after the second to last block | ||
| 329 | * so we can mark it properly. If we found data after | ||
| 330 | * we exceeded the length we were requesting, then we | ||
| 331 | * are good to go, just add the extent to the fieinfo | ||
| 332 | * and break | ||
| 333 | */ | ||
| 334 | if (length <= 0 && !whole_file) { | ||
| 335 | ret = fiemap_fill_next_extent(fieinfo, logical, | ||
| 336 | phys, size, | ||
| 337 | flags); | ||
| 338 | break; | ||
| 339 | } | ||
| 340 | |||
| 341 | /* | ||
| 342 | * if size != 0 then we know we already have an extent | ||
| 343 | * to add, so add it. | ||
| 344 | */ | ||
| 345 | if (size) { | ||
| 306 | ret = fiemap_fill_next_extent(fieinfo, logical, | 346 | ret = fiemap_fill_next_extent(fieinfo, logical, |
| 307 | phys, size, | 347 | phys, size, |
| 308 | flags); | 348 | flags); |
| @@ -319,19 +359,14 @@ int __generic_block_fiemap(struct inode *inode, | |||
| 319 | start_blk += logical_to_blk(inode, size); | 359 | start_blk += logical_to_blk(inode, size); |
| 320 | 360 | ||
| 321 | /* | 361 | /* |
| 322 | * if we are past the EOF we need to loop again to see | 362 | * If we are past the EOF, then we need to make sure as |
| 323 | * if there is a hole so we can mark this extent as the | 363 | * soon as we find a hole that the last extent we found |
| 324 | * last one, and if not keep mapping things until we | 364 | * is marked with FIEMAP_EXTENT_LAST |
| 325 | * find a hole, or we run out of slots in the extent | ||
| 326 | * array | ||
| 327 | */ | 365 | */ |
| 328 | if (length <= 0) | 366 | if (!past_eof && |
| 329 | continue; | 367 | logical+size >= |
| 330 | 368 | blk_to_logical(inode, 0)+i_size_read(inode)) | |
| 331 | ret = fiemap_fill_next_extent(fieinfo, logical, phys, | 369 | past_eof = 1; |
| 332 | size, flags); | ||
| 333 | if (ret) | ||
| 334 | break; | ||
| 335 | } | 370 | } |
| 336 | cond_resched(); | 371 | cond_resched(); |
| 337 | } while (1); | 372 | } while (1); |
diff --git a/fs/nfs/file.c b/fs/nfs/file.c index 5a97bcfe03e5..ec7e27d00bc6 100644 --- a/fs/nfs/file.c +++ b/fs/nfs/file.c | |||
| @@ -517,10 +517,10 @@ static int nfs_vm_page_mkwrite(struct vm_area_struct *vma, struct vm_fault *vmf) | |||
| 517 | 517 | ||
| 518 | ret = nfs_updatepage(filp, page, 0, pagelen); | 518 | ret = nfs_updatepage(filp, page, 0, pagelen); |
| 519 | out_unlock: | 519 | out_unlock: |
| 520 | if (!ret) | ||
| 521 | return VM_FAULT_LOCKED; | ||
| 520 | unlock_page(page); | 522 | unlock_page(page); |
| 521 | if (ret) | 523 | return VM_FAULT_SIGBUS; |
| 522 | ret = VM_FAULT_SIGBUS; | ||
| 523 | return ret; | ||
| 524 | } | 524 | } |
| 525 | 525 | ||
| 526 | static struct vm_operations_struct nfs_file_vm_ops = { | 526 | static struct vm_operations_struct nfs_file_vm_ops = { |
diff --git a/fs/notify/inotify/inotify_user.c b/fs/notify/inotify/inotify_user.c index bed766e435b5..1634319e2404 100644 --- a/fs/notify/inotify/inotify_user.c +++ b/fs/notify/inotify/inotify_user.c | |||
| @@ -220,7 +220,7 @@ static struct inotify_kernel_event * kernel_event(s32 wd, u32 mask, u32 cookie, | |||
| 220 | rem = 0; | 220 | rem = 0; |
| 221 | } | 221 | } |
| 222 | 222 | ||
| 223 | kevent->name = kmalloc(len + rem, GFP_KERNEL); | 223 | kevent->name = kmalloc(len + rem, GFP_NOFS); |
| 224 | if (unlikely(!kevent->name)) { | 224 | if (unlikely(!kevent->name)) { |
| 225 | kmem_cache_free(event_cachep, kevent); | 225 | kmem_cache_free(event_cachep, kevent); |
| 226 | return NULL; | 226 | return NULL; |
diff --git a/fs/proc/array.c b/fs/proc/array.c index 7e4877d9dcb5..725a650bbbb8 100644 --- a/fs/proc/array.c +++ b/fs/proc/array.c | |||
| @@ -80,6 +80,7 @@ | |||
| 80 | #include <linux/delayacct.h> | 80 | #include <linux/delayacct.h> |
| 81 | #include <linux/seq_file.h> | 81 | #include <linux/seq_file.h> |
| 82 | #include <linux/pid_namespace.h> | 82 | #include <linux/pid_namespace.h> |
| 83 | #include <linux/ptrace.h> | ||
| 83 | #include <linux/tracehook.h> | 84 | #include <linux/tracehook.h> |
| 84 | 85 | ||
| 85 | #include <asm/pgtable.h> | 86 | #include <asm/pgtable.h> |
| @@ -352,6 +353,7 @@ static int do_task_stat(struct seq_file *m, struct pid_namespace *ns, | |||
| 352 | char state; | 353 | char state; |
| 353 | pid_t ppid = 0, pgid = -1, sid = -1; | 354 | pid_t ppid = 0, pgid = -1, sid = -1; |
| 354 | int num_threads = 0; | 355 | int num_threads = 0; |
| 356 | int permitted; | ||
| 355 | struct mm_struct *mm; | 357 | struct mm_struct *mm; |
| 356 | unsigned long long start_time; | 358 | unsigned long long start_time; |
| 357 | unsigned long cmin_flt = 0, cmaj_flt = 0; | 359 | unsigned long cmin_flt = 0, cmaj_flt = 0; |
| @@ -364,11 +366,14 @@ static int do_task_stat(struct seq_file *m, struct pid_namespace *ns, | |||
| 364 | 366 | ||
| 365 | state = *get_task_state(task); | 367 | state = *get_task_state(task); |
| 366 | vsize = eip = esp = 0; | 368 | vsize = eip = esp = 0; |
| 369 | permitted = ptrace_may_access(task, PTRACE_MODE_READ); | ||
| 367 | mm = get_task_mm(task); | 370 | mm = get_task_mm(task); |
| 368 | if (mm) { | 371 | if (mm) { |
| 369 | vsize = task_vsize(mm); | 372 | vsize = task_vsize(mm); |
| 370 | eip = KSTK_EIP(task); | 373 | if (permitted) { |
| 371 | esp = KSTK_ESP(task); | 374 | eip = KSTK_EIP(task); |
| 375 | esp = KSTK_ESP(task); | ||
| 376 | } | ||
| 372 | } | 377 | } |
| 373 | 378 | ||
| 374 | get_task_comm(tcomm, task); | 379 | get_task_comm(tcomm, task); |
| @@ -424,7 +429,7 @@ static int do_task_stat(struct seq_file *m, struct pid_namespace *ns, | |||
| 424 | unlock_task_sighand(task, &flags); | 429 | unlock_task_sighand(task, &flags); |
| 425 | } | 430 | } |
| 426 | 431 | ||
| 427 | if (!whole || num_threads < 2) | 432 | if (permitted && (!whole || num_threads < 2)) |
| 428 | wchan = get_wchan(task); | 433 | wchan = get_wchan(task); |
| 429 | if (!whole) { | 434 | if (!whole) { |
| 430 | min_flt = task->min_flt; | 435 | min_flt = task->min_flt; |
| @@ -476,7 +481,7 @@ static int do_task_stat(struct seq_file *m, struct pid_namespace *ns, | |||
| 476 | rsslim, | 481 | rsslim, |
| 477 | mm ? mm->start_code : 0, | 482 | mm ? mm->start_code : 0, |
| 478 | mm ? mm->end_code : 0, | 483 | mm ? mm->end_code : 0, |
| 479 | mm ? mm->start_stack : 0, | 484 | (permitted && mm) ? mm->start_stack : 0, |
| 480 | esp, | 485 | esp, |
| 481 | eip, | 486 | eip, |
| 482 | /* The signal information here is obsolete. | 487 | /* The signal information here is obsolete. |
diff --git a/fs/proc/base.c b/fs/proc/base.c index aa763ab00777..fb45615943c2 100644 --- a/fs/proc/base.c +++ b/fs/proc/base.c | |||
| @@ -322,7 +322,10 @@ static int proc_pid_wchan(struct task_struct *task, char *buffer) | |||
| 322 | wchan = get_wchan(task); | 322 | wchan = get_wchan(task); |
| 323 | 323 | ||
| 324 | if (lookup_symbol_name(wchan, symname) < 0) | 324 | if (lookup_symbol_name(wchan, symname) < 0) |
| 325 | return sprintf(buffer, "%lu", wchan); | 325 | if (!ptrace_may_access(task, PTRACE_MODE_READ)) |
| 326 | return 0; | ||
| 327 | else | ||
| 328 | return sprintf(buffer, "%lu", wchan); | ||
| 326 | else | 329 | else |
| 327 | return sprintf(buffer, "%s", symname); | 330 | return sprintf(buffer, "%s", symname); |
| 328 | } | 331 | } |
diff --git a/include/asm-generic/bug.h b/include/asm-generic/bug.h index e727fe0d1451..4b6755984d24 100644 --- a/include/asm-generic/bug.h +++ b/include/asm-generic/bug.h | |||
| @@ -58,12 +58,13 @@ struct bug_entry { | |||
| 58 | */ | 58 | */ |
| 59 | #ifndef __WARN | 59 | #ifndef __WARN |
| 60 | #ifndef __ASSEMBLY__ | 60 | #ifndef __ASSEMBLY__ |
| 61 | extern void warn_slowpath(const char *file, const int line, | 61 | extern void warn_slowpath_fmt(const char *file, const int line, |
| 62 | const char *fmt, ...) __attribute__((format(printf, 3, 4))); | 62 | const char *fmt, ...) __attribute__((format(printf, 3, 4))); |
| 63 | extern void warn_slowpath_null(const char *file, const int line); | ||
| 63 | #define WANT_WARN_ON_SLOWPATH | 64 | #define WANT_WARN_ON_SLOWPATH |
| 64 | #endif | 65 | #endif |
| 65 | #define __WARN() warn_slowpath(__FILE__, __LINE__, NULL) | 66 | #define __WARN() warn_slowpath_null(__FILE__, __LINE__) |
| 66 | #define __WARN_printf(arg...) warn_slowpath(__FILE__, __LINE__, arg) | 67 | #define __WARN_printf(arg...) warn_slowpath_fmt(__FILE__, __LINE__, arg) |
| 67 | #else | 68 | #else |
| 68 | #define __WARN_printf(arg...) do { printk(arg); __WARN(); } while (0) | 69 | #define __WARN_printf(arg...) do { printk(arg); __WARN(); } while (0) |
| 69 | #endif | 70 | #endif |
diff --git a/include/linux/netfilter/x_tables.h b/include/linux/netfilter/x_tables.h index 1b2e43502ef7..c9efe039dc57 100644 --- a/include/linux/netfilter/x_tables.h +++ b/include/linux/netfilter/x_tables.h | |||
| @@ -472,7 +472,7 @@ static inline void xt_info_rdlock_bh(void) | |||
| 472 | 472 | ||
| 473 | local_bh_disable(); | 473 | local_bh_disable(); |
| 474 | lock = &__get_cpu_var(xt_info_locks); | 474 | lock = &__get_cpu_var(xt_info_locks); |
| 475 | if (!lock->readers++) | 475 | if (likely(!lock->readers++)) |
| 476 | spin_lock(&lock->lock); | 476 | spin_lock(&lock->lock); |
| 477 | } | 477 | } |
| 478 | 478 | ||
| @@ -480,7 +480,7 @@ static inline void xt_info_rdunlock_bh(void) | |||
| 480 | { | 480 | { |
| 481 | struct xt_info_lock *lock = &__get_cpu_var(xt_info_locks); | 481 | struct xt_info_lock *lock = &__get_cpu_var(xt_info_locks); |
| 482 | 482 | ||
| 483 | if (!--lock->readers) | 483 | if (likely(!--lock->readers)) |
| 484 | spin_unlock(&lock->lock); | 484 | spin_unlock(&lock->lock); |
| 485 | local_bh_enable(); | 485 | local_bh_enable(); |
| 486 | } | 486 | } |
diff --git a/include/linux/usb/cdc.h b/include/linux/usb/cdc.h index 3c86ed25a04c..c24124a42ce5 100644 --- a/include/linux/usb/cdc.h +++ b/include/linux/usb/cdc.h | |||
| @@ -17,6 +17,7 @@ | |||
| 17 | #define USB_CDC_SUBCLASS_DMM 0x09 | 17 | #define USB_CDC_SUBCLASS_DMM 0x09 |
| 18 | #define USB_CDC_SUBCLASS_MDLM 0x0a | 18 | #define USB_CDC_SUBCLASS_MDLM 0x0a |
| 19 | #define USB_CDC_SUBCLASS_OBEX 0x0b | 19 | #define USB_CDC_SUBCLASS_OBEX 0x0b |
| 20 | #define USB_CDC_SUBCLASS_EEM 0x0c | ||
| 20 | 21 | ||
| 21 | #define USB_CDC_PROTO_NONE 0 | 22 | #define USB_CDC_PROTO_NONE 0 |
| 22 | 23 | ||
| @@ -28,6 +29,8 @@ | |||
| 28 | #define USB_CDC_ACM_PROTO_AT_CDMA 6 | 29 | #define USB_CDC_ACM_PROTO_AT_CDMA 6 |
| 29 | #define USB_CDC_ACM_PROTO_VENDOR 0xff | 30 | #define USB_CDC_ACM_PROTO_VENDOR 0xff |
| 30 | 31 | ||
| 32 | #define USB_CDC_PROTO_EEM 7 | ||
| 33 | |||
| 31 | /*-------------------------------------------------------------------------*/ | 34 | /*-------------------------------------------------------------------------*/ |
| 32 | 35 | ||
| 33 | /* | 36 | /* |
diff --git a/include/linux/virtio_net.h b/include/linux/virtio_net.h index 242348bb3766..cec79adbe3ea 100644 --- a/include/linux/virtio_net.h +++ b/include/linux/virtio_net.h | |||
| @@ -4,6 +4,7 @@ | |||
| 4 | * compatible drivers/servers. */ | 4 | * compatible drivers/servers. */ |
| 5 | #include <linux/types.h> | 5 | #include <linux/types.h> |
| 6 | #include <linux/virtio_config.h> | 6 | #include <linux/virtio_config.h> |
| 7 | #include <linux/if_ether.h> | ||
| 7 | 8 | ||
| 8 | /* The ID for virtio_net */ | 9 | /* The ID for virtio_net */ |
| 9 | #define VIRTIO_ID_NET 1 | 10 | #define VIRTIO_ID_NET 1 |
diff --git a/include/net/9p/client.h b/include/net/9p/client.h index 4012e07162e5..e26812274b75 100644 --- a/include/net/9p/client.h +++ b/include/net/9p/client.h | |||
| @@ -98,7 +98,6 @@ enum p9_req_status_t { | |||
| 98 | struct p9_req_t { | 98 | struct p9_req_t { |
| 99 | int status; | 99 | int status; |
| 100 | int t_err; | 100 | int t_err; |
| 101 | u16 flush_tag; | ||
| 102 | wait_queue_head_t *wq; | 101 | wait_queue_head_t *wq; |
| 103 | struct p9_fcall *tc; | 102 | struct p9_fcall *tc; |
| 104 | struct p9_fcall *rc; | 103 | struct p9_fcall *rc; |
diff --git a/include/net/bluetooth/hci_core.h b/include/net/bluetooth/hci_core.h index be5bd713d2c9..73aead222b32 100644 --- a/include/net/bluetooth/hci_core.h +++ b/include/net/bluetooth/hci_core.h | |||
| @@ -457,6 +457,7 @@ int hci_recv_fragment(struct hci_dev *hdev, int type, void *data, int count); | |||
| 457 | 457 | ||
| 458 | int hci_register_sysfs(struct hci_dev *hdev); | 458 | int hci_register_sysfs(struct hci_dev *hdev); |
| 459 | void hci_unregister_sysfs(struct hci_dev *hdev); | 459 | void hci_unregister_sysfs(struct hci_dev *hdev); |
| 460 | void hci_conn_init_sysfs(struct hci_conn *conn); | ||
| 460 | void hci_conn_add_sysfs(struct hci_conn *conn); | 461 | void hci_conn_add_sysfs(struct hci_conn *conn); |
| 461 | void hci_conn_del_sysfs(struct hci_conn *conn); | 462 | void hci_conn_del_sysfs(struct hci_conn *conn); |
| 462 | 463 | ||
diff --git a/include/net/tcp.h b/include/net/tcp.h index 1b94b9bfe2dc..646dbe3962ea 100644 --- a/include/net/tcp.h +++ b/include/net/tcp.h | |||
| @@ -41,6 +41,7 @@ | |||
| 41 | #include <net/ip.h> | 41 | #include <net/ip.h> |
| 42 | #include <net/tcp_states.h> | 42 | #include <net/tcp_states.h> |
| 43 | #include <net/inet_ecn.h> | 43 | #include <net/inet_ecn.h> |
| 44 | #include <net/dst.h> | ||
| 44 | 45 | ||
| 45 | #include <linux/seq_file.h> | 46 | #include <linux/seq_file.h> |
| 46 | 47 | ||
| @@ -530,6 +531,17 @@ static inline void tcp_fast_path_check(struct sock *sk) | |||
| 530 | tcp_fast_path_on(tp); | 531 | tcp_fast_path_on(tp); |
| 531 | } | 532 | } |
| 532 | 533 | ||
| 534 | /* Compute the actual rto_min value */ | ||
| 535 | static inline u32 tcp_rto_min(struct sock *sk) | ||
| 536 | { | ||
| 537 | struct dst_entry *dst = __sk_dst_get(sk); | ||
| 538 | u32 rto_min = TCP_RTO_MIN; | ||
| 539 | |||
| 540 | if (dst && dst_metric_locked(dst, RTAX_RTO_MIN)) | ||
| 541 | rto_min = dst_metric_rtt(dst, RTAX_RTO_MIN); | ||
| 542 | return rto_min; | ||
| 543 | } | ||
| 544 | |||
| 533 | /* Compute the actual receive window we are currently advertising. | 545 | /* Compute the actual receive window we are currently advertising. |
| 534 | * Rcv_nxt can be after the window if our peer push more data | 546 | * Rcv_nxt can be after the window if our peer push more data |
| 535 | * than the offered window. | 547 | * than the offered window. |
| @@ -895,7 +907,7 @@ static inline int tcp_prequeue(struct sock *sk, struct sk_buff *skb) | |||
| 895 | wake_up_interruptible(sk->sk_sleep); | 907 | wake_up_interruptible(sk->sk_sleep); |
| 896 | if (!inet_csk_ack_scheduled(sk)) | 908 | if (!inet_csk_ack_scheduled(sk)) |
| 897 | inet_csk_reset_xmit_timer(sk, ICSK_TIME_DACK, | 909 | inet_csk_reset_xmit_timer(sk, ICSK_TIME_DACK, |
| 898 | (3 * TCP_RTO_MIN) / 4, | 910 | (3 * tcp_rto_min(sk)) / 4, |
| 899 | TCP_RTO_MAX); | 911 | TCP_RTO_MAX); |
| 900 | } | 912 | } |
| 901 | return 1; | 913 | return 1; |
diff --git a/init/initramfs.c b/init/initramfs.c index 9ee7b7810417..4c00edc59689 100644 --- a/init/initramfs.c +++ b/init/initramfs.c | |||
| @@ -574,11 +574,10 @@ static int __init populate_rootfs(void) | |||
| 574 | if (initrd_start) { | 574 | if (initrd_start) { |
| 575 | #ifdef CONFIG_BLK_DEV_RAM | 575 | #ifdef CONFIG_BLK_DEV_RAM |
| 576 | int fd; | 576 | int fd; |
| 577 | printk(KERN_INFO "checking if image is initramfs...\n"); | 577 | printk(KERN_INFO "Trying to unpack rootfs image as initramfs...\n"); |
| 578 | err = unpack_to_rootfs((char *)initrd_start, | 578 | err = unpack_to_rootfs((char *)initrd_start, |
| 579 | initrd_end - initrd_start); | 579 | initrd_end - initrd_start); |
| 580 | if (!err) { | 580 | if (!err) { |
| 581 | printk(KERN_INFO "rootfs image is initramfs; unpacking...\n"); | ||
| 582 | free_initrd(); | 581 | free_initrd(); |
| 583 | return 0; | 582 | return 0; |
| 584 | } else { | 583 | } else { |
| @@ -596,15 +595,11 @@ static int __init populate_rootfs(void) | |||
| 596 | free_initrd(); | 595 | free_initrd(); |
| 597 | } | 596 | } |
| 598 | #else | 597 | #else |
| 599 | printk(KERN_INFO "Unpacking initramfs..."); | 598 | printk(KERN_INFO "Unpacking initramfs...\n"); |
| 600 | err = unpack_to_rootfs((char *)initrd_start, | 599 | err = unpack_to_rootfs((char *)initrd_start, |
| 601 | initrd_end - initrd_start); | 600 | initrd_end - initrd_start); |
| 602 | if (err) { | 601 | if (err) |
| 603 | printk(" failed!\n"); | 602 | printk(KERN_EMERG "Initramfs unpacking failed: %s\n", err); |
| 604 | printk(KERN_EMERG "%s\n", err); | ||
| 605 | } else { | ||
| 606 | printk(" done\n"); | ||
| 607 | } | ||
| 608 | free_initrd(); | 603 | free_initrd(); |
| 609 | #endif | 604 | #endif |
| 610 | } | 605 | } |
diff --git a/kernel/auditfilter.c b/kernel/auditfilter.c index a6fe71fd5d1b..713098ee5a02 100644 --- a/kernel/auditfilter.c +++ b/kernel/auditfilter.c | |||
| @@ -1028,7 +1028,7 @@ static void audit_update_watch(struct audit_parent *parent, | |||
| 1028 | 1028 | ||
| 1029 | if (audit_enabled) { | 1029 | if (audit_enabled) { |
| 1030 | struct audit_buffer *ab; | 1030 | struct audit_buffer *ab; |
| 1031 | ab = audit_log_start(NULL, GFP_KERNEL, | 1031 | ab = audit_log_start(NULL, GFP_NOFS, |
| 1032 | AUDIT_CONFIG_CHANGE); | 1032 | AUDIT_CONFIG_CHANGE); |
| 1033 | audit_log_format(ab, "auid=%u ses=%u", | 1033 | audit_log_format(ab, "auid=%u ses=%u", |
| 1034 | audit_get_loginuid(current), | 1034 | audit_get_loginuid(current), |
| @@ -1067,7 +1067,7 @@ static void audit_remove_parent_watches(struct audit_parent *parent) | |||
| 1067 | e = container_of(r, struct audit_entry, rule); | 1067 | e = container_of(r, struct audit_entry, rule); |
| 1068 | if (audit_enabled) { | 1068 | if (audit_enabled) { |
| 1069 | struct audit_buffer *ab; | 1069 | struct audit_buffer *ab; |
| 1070 | ab = audit_log_start(NULL, GFP_KERNEL, | 1070 | ab = audit_log_start(NULL, GFP_NOFS, |
| 1071 | AUDIT_CONFIG_CHANGE); | 1071 | AUDIT_CONFIG_CHANGE); |
| 1072 | audit_log_format(ab, "auid=%u ses=%u", | 1072 | audit_log_format(ab, "auid=%u ses=%u", |
| 1073 | audit_get_loginuid(current), | 1073 | audit_get_loginuid(current), |
diff --git a/kernel/irq/handle.c b/kernel/irq/handle.c index d82142be8dd2..26e08754744f 100644 --- a/kernel/irq/handle.c +++ b/kernel/irq/handle.c | |||
| @@ -363,8 +363,6 @@ irqreturn_t handle_IRQ_event(unsigned int irq, struct irqaction *action) | |||
| 363 | irqreturn_t ret, retval = IRQ_NONE; | 363 | irqreturn_t ret, retval = IRQ_NONE; |
| 364 | unsigned int status = 0; | 364 | unsigned int status = 0; |
| 365 | 365 | ||
| 366 | WARN_ONCE(!in_irq(), "BUG: IRQ handler called from non-hardirq context!"); | ||
| 367 | |||
| 368 | if (!(action->flags & IRQF_DISABLED)) | 366 | if (!(action->flags & IRQF_DISABLED)) |
| 369 | local_irq_enable_in_hardirq(); | 367 | local_irq_enable_in_hardirq(); |
| 370 | 368 | ||
diff --git a/kernel/panic.c b/kernel/panic.c index 3dcaa1661357..874ecf1307ae 100644 --- a/kernel/panic.c +++ b/kernel/panic.c | |||
| @@ -340,7 +340,7 @@ void oops_exit(void) | |||
| 340 | } | 340 | } |
| 341 | 341 | ||
| 342 | #ifdef WANT_WARN_ON_SLOWPATH | 342 | #ifdef WANT_WARN_ON_SLOWPATH |
| 343 | void warn_slowpath(const char *file, int line, const char *fmt, ...) | 343 | void warn_slowpath_fmt(const char *file, int line, const char *fmt, ...) |
| 344 | { | 344 | { |
| 345 | va_list args; | 345 | va_list args; |
| 346 | char function[KSYM_SYMBOL_LEN]; | 346 | char function[KSYM_SYMBOL_LEN]; |
| @@ -356,7 +356,7 @@ void warn_slowpath(const char *file, int line, const char *fmt, ...) | |||
| 356 | if (board) | 356 | if (board) |
| 357 | printk(KERN_WARNING "Hardware name: %s\n", board); | 357 | printk(KERN_WARNING "Hardware name: %s\n", board); |
| 358 | 358 | ||
| 359 | if (fmt) { | 359 | if (*fmt) { |
| 360 | va_start(args, fmt); | 360 | va_start(args, fmt); |
| 361 | vprintk(fmt, args); | 361 | vprintk(fmt, args); |
| 362 | va_end(args); | 362 | va_end(args); |
| @@ -367,7 +367,14 @@ void warn_slowpath(const char *file, int line, const char *fmt, ...) | |||
| 367 | print_oops_end_marker(); | 367 | print_oops_end_marker(); |
| 368 | add_taint(TAINT_WARN); | 368 | add_taint(TAINT_WARN); |
| 369 | } | 369 | } |
| 370 | EXPORT_SYMBOL(warn_slowpath); | 370 | EXPORT_SYMBOL(warn_slowpath_fmt); |
| 371 | |||
| 372 | void warn_slowpath_null(const char *file, int line) | ||
| 373 | { | ||
| 374 | static const char *empty = ""; | ||
| 375 | warn_slowpath_fmt(file, line, empty); | ||
| 376 | } | ||
| 377 | EXPORT_SYMBOL(warn_slowpath_null); | ||
| 371 | #endif | 378 | #endif |
| 372 | 379 | ||
| 373 | #ifdef CONFIG_CC_STACKPROTECTOR | 380 | #ifdef CONFIG_CC_STACKPROTECTOR |
diff --git a/kernel/posix-cpu-timers.c b/kernel/posix-cpu-timers.c index c9dcf98b4463..bece7c0b67b2 100644 --- a/kernel/posix-cpu-timers.c +++ b/kernel/posix-cpu-timers.c | |||
| @@ -1420,19 +1420,19 @@ void run_posix_cpu_timers(struct task_struct *tsk) | |||
| 1420 | * timer call will interfere. | 1420 | * timer call will interfere. |
| 1421 | */ | 1421 | */ |
| 1422 | list_for_each_entry_safe(timer, next, &firing, it.cpu.entry) { | 1422 | list_for_each_entry_safe(timer, next, &firing, it.cpu.entry) { |
| 1423 | int firing; | 1423 | int cpu_firing; |
| 1424 | |||
| 1424 | spin_lock(&timer->it_lock); | 1425 | spin_lock(&timer->it_lock); |
| 1425 | list_del_init(&timer->it.cpu.entry); | 1426 | list_del_init(&timer->it.cpu.entry); |
| 1426 | firing = timer->it.cpu.firing; | 1427 | cpu_firing = timer->it.cpu.firing; |
| 1427 | timer->it.cpu.firing = 0; | 1428 | timer->it.cpu.firing = 0; |
| 1428 | /* | 1429 | /* |
| 1429 | * The firing flag is -1 if we collided with a reset | 1430 | * The firing flag is -1 if we collided with a reset |
| 1430 | * of the timer, which already reported this | 1431 | * of the timer, which already reported this |
| 1431 | * almost-firing as an overrun. So don't generate an event. | 1432 | * almost-firing as an overrun. So don't generate an event. |
| 1432 | */ | 1433 | */ |
| 1433 | if (likely(firing >= 0)) { | 1434 | if (likely(cpu_firing >= 0)) |
| 1434 | cpu_timer_fire(timer); | 1435 | cpu_timer_fire(timer); |
| 1435 | } | ||
| 1436 | spin_unlock(&timer->it_lock); | 1436 | spin_unlock(&timer->it_lock); |
| 1437 | } | 1437 | } |
| 1438 | } | 1438 | } |
diff --git a/kernel/sched.c b/kernel/sched.c index b902e587a3a0..26efa475bdc1 100644 --- a/kernel/sched.c +++ b/kernel/sched.c | |||
| @@ -4732,7 +4732,7 @@ void account_process_tick(struct task_struct *p, int user_tick) | |||
| 4732 | 4732 | ||
| 4733 | if (user_tick) | 4733 | if (user_tick) |
| 4734 | account_user_time(p, one_jiffy, one_jiffy_scaled); | 4734 | account_user_time(p, one_jiffy, one_jiffy_scaled); |
| 4735 | else if (p != rq->idle) | 4735 | else if ((p != rq->idle) || (irq_count() != HARDIRQ_OFFSET)) |
| 4736 | account_system_time(p, HARDIRQ_OFFSET, one_jiffy, | 4736 | account_system_time(p, HARDIRQ_OFFSET, one_jiffy, |
| 4737 | one_jiffy_scaled); | 4737 | one_jiffy_scaled); |
| 4738 | else | 4738 | else |
diff --git a/kernel/time/tick-common.c b/kernel/time/tick-common.c index 21a5ca849514..83c4417b6a3c 100644 --- a/kernel/time/tick-common.c +++ b/kernel/time/tick-common.c | |||
| @@ -93,7 +93,17 @@ void tick_handle_periodic(struct clock_event_device *dev) | |||
| 93 | for (;;) { | 93 | for (;;) { |
| 94 | if (!clockevents_program_event(dev, next, ktime_get())) | 94 | if (!clockevents_program_event(dev, next, ktime_get())) |
| 95 | return; | 95 | return; |
| 96 | tick_periodic(cpu); | 96 | /* |
| 97 | * Have to be careful here. If we're in oneshot mode, | ||
| 98 | * before we call tick_periodic() in a loop, we need | ||
| 99 | * to be sure we're using a real hardware clocksource. | ||
| 100 | * Otherwise we could get trapped in an infinite | ||
| 101 | * loop, as the tick_periodic() increments jiffies, | ||
| 102 | * when then will increment time, posibly causing | ||
| 103 | * the loop to trigger again and again. | ||
| 104 | */ | ||
| 105 | if (timekeeping_valid_for_hres()) | ||
| 106 | tick_periodic(cpu); | ||
| 97 | next = ktime_add(next, tick_period); | 107 | next = ktime_add(next, tick_period); |
| 98 | } | 108 | } |
| 99 | } | 109 | } |
diff --git a/kernel/trace/trace.c b/kernel/trace/trace.c index 1ce5dc6372b8..a884c09006c4 100644 --- a/kernel/trace/trace.c +++ b/kernel/trace/trace.c | |||
| @@ -3448,6 +3448,7 @@ tracing_buffers_splice_read(struct file *file, loff_t *ppos, | |||
| 3448 | if (!ref) | 3448 | if (!ref) |
| 3449 | break; | 3449 | break; |
| 3450 | 3450 | ||
| 3451 | ref->ref = 1; | ||
| 3451 | ref->buffer = info->tr->buffer; | 3452 | ref->buffer = info->tr->buffer; |
| 3452 | ref->page = ring_buffer_alloc_read_page(ref->buffer); | 3453 | ref->page = ring_buffer_alloc_read_page(ref->buffer); |
| 3453 | if (!ref->page) { | 3454 | if (!ref->page) { |
diff --git a/lib/dma-debug.c b/lib/dma-debug.c index d3da7edc034f..69da09a085a1 100644 --- a/lib/dma-debug.c +++ b/lib/dma-debug.c | |||
| @@ -400,60 +400,9 @@ out_err: | |||
| 400 | return -ENOMEM; | 400 | return -ENOMEM; |
| 401 | } | 401 | } |
| 402 | 402 | ||
| 403 | static int device_dma_allocations(struct device *dev) | ||
| 404 | { | ||
| 405 | struct dma_debug_entry *entry; | ||
| 406 | unsigned long flags; | ||
| 407 | int count = 0, i; | ||
| 408 | |||
| 409 | for (i = 0; i < HASH_SIZE; ++i) { | ||
| 410 | spin_lock_irqsave(&dma_entry_hash[i].lock, flags); | ||
| 411 | list_for_each_entry(entry, &dma_entry_hash[i].list, list) { | ||
| 412 | if (entry->dev == dev) | ||
| 413 | count += 1; | ||
| 414 | } | ||
| 415 | spin_unlock_irqrestore(&dma_entry_hash[i].lock, flags); | ||
| 416 | } | ||
| 417 | |||
| 418 | return count; | ||
| 419 | } | ||
| 420 | |||
| 421 | static int dma_debug_device_change(struct notifier_block *nb, | ||
| 422 | unsigned long action, void *data) | ||
| 423 | { | ||
| 424 | struct device *dev = data; | ||
| 425 | int count; | ||
| 426 | |||
| 427 | |||
| 428 | switch (action) { | ||
| 429 | case BUS_NOTIFY_UNBIND_DRIVER: | ||
| 430 | count = device_dma_allocations(dev); | ||
| 431 | if (count == 0) | ||
| 432 | break; | ||
| 433 | err_printk(dev, NULL, "DMA-API: device driver has pending " | ||
| 434 | "DMA allocations while released from device " | ||
| 435 | "[count=%d]\n", count); | ||
| 436 | break; | ||
| 437 | default: | ||
| 438 | break; | ||
| 439 | } | ||
| 440 | |||
| 441 | return 0; | ||
| 442 | } | ||
| 443 | |||
| 444 | void dma_debug_add_bus(struct bus_type *bus) | 403 | void dma_debug_add_bus(struct bus_type *bus) |
| 445 | { | 404 | { |
| 446 | struct notifier_block *nb; | 405 | /* FIXME: register notifier */ |
| 447 | |||
| 448 | nb = kzalloc(sizeof(struct notifier_block), GFP_KERNEL); | ||
| 449 | if (nb == NULL) { | ||
| 450 | printk(KERN_ERR "dma_debug_add_bus: out of memory\n"); | ||
| 451 | return; | ||
| 452 | } | ||
| 453 | |||
| 454 | nb->notifier_call = dma_debug_device_change; | ||
| 455 | |||
| 456 | bus_register_notifier(bus, nb); | ||
| 457 | } | 406 | } |
| 458 | 407 | ||
| 459 | /* | 408 | /* |
diff --git a/mm/Kconfig b/mm/Kconfig index 57971d2ab848..c2b57d81e153 100644 --- a/mm/Kconfig +++ b/mm/Kconfig | |||
| @@ -225,3 +225,31 @@ config HAVE_MLOCKED_PAGE_BIT | |||
| 225 | 225 | ||
| 226 | config MMU_NOTIFIER | 226 | config MMU_NOTIFIER |
| 227 | bool | 227 | bool |
| 228 | |||
| 229 | config NOMMU_INITIAL_TRIM_EXCESS | ||
| 230 | int "Turn on mmap() excess space trimming before booting" | ||
| 231 | depends on !MMU | ||
| 232 | default 1 | ||
| 233 | help | ||
| 234 | The NOMMU mmap() frequently needs to allocate large contiguous chunks | ||
| 235 | of memory on which to store mappings, but it can only ask the system | ||
| 236 | allocator for chunks in 2^N*PAGE_SIZE amounts - which is frequently | ||
| 237 | more than it requires. To deal with this, mmap() is able to trim off | ||
| 238 | the excess and return it to the allocator. | ||
| 239 | |||
| 240 | If trimming is enabled, the excess is trimmed off and returned to the | ||
| 241 | system allocator, which can cause extra fragmentation, particularly | ||
| 242 | if there are a lot of transient processes. | ||
| 243 | |||
| 244 | If trimming is disabled, the excess is kept, but not used, which for | ||
| 245 | long-term mappings means that the space is wasted. | ||
| 246 | |||
| 247 | Trimming can be dynamically controlled through a sysctl option | ||
| 248 | (/proc/sys/vm/nr_trim_pages) which specifies the minimum number of | ||
| 249 | excess pages there must be before trimming should occur, or zero if | ||
| 250 | no trimming is to occur. | ||
| 251 | |||
| 252 | This option specifies the initial value of this option. The default | ||
| 253 | of 1 says that all excess pages should be trimmed. | ||
| 254 | |||
| 255 | See Documentation/nommu-mmap.txt for more information. | ||
diff --git a/mm/madvise.c b/mm/madvise.c index b9ce574827c8..36d6ea2b6340 100644 --- a/mm/madvise.c +++ b/mm/madvise.c | |||
| @@ -112,6 +112,14 @@ static long madvise_willneed(struct vm_area_struct * vma, | |||
| 112 | if (!file) | 112 | if (!file) |
| 113 | return -EBADF; | 113 | return -EBADF; |
| 114 | 114 | ||
| 115 | /* | ||
| 116 | * Page cache readahead assumes page cache pages are order-0 which | ||
| 117 | * is not the case for hugetlbfs. Do not give a bad return value | ||
| 118 | * but ignore the advice. | ||
| 119 | */ | ||
| 120 | if (vma->vm_flags & VM_HUGETLB) | ||
| 121 | return 0; | ||
| 122 | |||
| 115 | if (file->f_mapping->a_ops->get_xip_mem) { | 123 | if (file->f_mapping->a_ops->get_xip_mem) { |
| 116 | /* no bad return value, but ignore advice */ | 124 | /* no bad return value, but ignore advice */ |
| 117 | return 0; | 125 | return 0; |
diff --git a/mm/nommu.c b/mm/nommu.c index 809998aa7b50..67cd1a487ee6 100644 --- a/mm/nommu.c +++ b/mm/nommu.c | |||
| @@ -66,7 +66,7 @@ struct percpu_counter vm_committed_as; | |||
| 66 | int sysctl_overcommit_memory = OVERCOMMIT_GUESS; /* heuristic overcommit */ | 66 | int sysctl_overcommit_memory = OVERCOMMIT_GUESS; /* heuristic overcommit */ |
| 67 | int sysctl_overcommit_ratio = 50; /* default is 50% */ | 67 | int sysctl_overcommit_ratio = 50; /* default is 50% */ |
| 68 | int sysctl_max_map_count = DEFAULT_MAX_MAP_COUNT; | 68 | int sysctl_max_map_count = DEFAULT_MAX_MAP_COUNT; |
| 69 | int sysctl_nr_trim_pages = 1; /* page trimming behaviour */ | 69 | int sysctl_nr_trim_pages = CONFIG_NOMMU_INITIAL_TRIM_EXCESS; |
| 70 | int heap_stack_gap = 0; | 70 | int heap_stack_gap = 0; |
| 71 | 71 | ||
| 72 | atomic_long_t mmap_pages_allocated; | 72 | atomic_long_t mmap_pages_allocated; |
diff --git a/mm/oom_kill.c b/mm/oom_kill.c index 2f3166e308d9..92bcf1db16b2 100644 --- a/mm/oom_kill.c +++ b/mm/oom_kill.c | |||
| @@ -514,34 +514,32 @@ void clear_zonelist_oom(struct zonelist *zonelist, gfp_t gfp_mask) | |||
| 514 | */ | 514 | */ |
| 515 | static void __out_of_memory(gfp_t gfp_mask, int order) | 515 | static void __out_of_memory(gfp_t gfp_mask, int order) |
| 516 | { | 516 | { |
| 517 | if (sysctl_oom_kill_allocating_task) { | 517 | struct task_struct *p; |
| 518 | oom_kill_process(current, gfp_mask, order, 0, NULL, | 518 | unsigned long points; |
| 519 | "Out of memory (oom_kill_allocating_task)"); | ||
| 520 | |||
| 521 | } else { | ||
| 522 | unsigned long points; | ||
| 523 | struct task_struct *p; | ||
| 524 | |||
| 525 | retry: | ||
| 526 | /* | ||
| 527 | * Rambo mode: Shoot down a process and hope it solves whatever | ||
| 528 | * issues we may have. | ||
| 529 | */ | ||
| 530 | p = select_bad_process(&points, NULL); | ||
| 531 | 519 | ||
| 532 | if (PTR_ERR(p) == -1UL) | 520 | if (sysctl_oom_kill_allocating_task) |
| 521 | if (!oom_kill_process(current, gfp_mask, order, 0, NULL, | ||
| 522 | "Out of memory (oom_kill_allocating_task)")) | ||
| 533 | return; | 523 | return; |
| 524 | retry: | ||
| 525 | /* | ||
| 526 | * Rambo mode: Shoot down a process and hope it solves whatever | ||
| 527 | * issues we may have. | ||
| 528 | */ | ||
| 529 | p = select_bad_process(&points, NULL); | ||
| 534 | 530 | ||
| 535 | /* Found nothing?!?! Either we hang forever, or we panic. */ | 531 | if (PTR_ERR(p) == -1UL) |
| 536 | if (!p) { | 532 | return; |
| 537 | read_unlock(&tasklist_lock); | ||
| 538 | panic("Out of memory and no killable processes...\n"); | ||
| 539 | } | ||
| 540 | 533 | ||
| 541 | if (oom_kill_process(p, gfp_mask, order, points, NULL, | 534 | /* Found nothing?!?! Either we hang forever, or we panic. */ |
| 542 | "Out of memory")) | 535 | if (!p) { |
| 543 | goto retry; | 536 | read_unlock(&tasklist_lock); |
| 537 | panic("Out of memory and no killable processes...\n"); | ||
| 544 | } | 538 | } |
| 539 | |||
| 540 | if (oom_kill_process(p, gfp_mask, order, points, NULL, | ||
| 541 | "Out of memory")) | ||
| 542 | goto retry; | ||
| 545 | } | 543 | } |
| 546 | 544 | ||
| 547 | /* | 545 | /* |
diff --git a/mm/page_alloc.c b/mm/page_alloc.c index e2f26991fff1..fe753ecf2aa5 100644 --- a/mm/page_alloc.c +++ b/mm/page_alloc.c | |||
| @@ -2681,6 +2681,7 @@ static void __meminit zone_init_free_lists(struct zone *zone) | |||
| 2681 | 2681 | ||
| 2682 | static int zone_batchsize(struct zone *zone) | 2682 | static int zone_batchsize(struct zone *zone) |
| 2683 | { | 2683 | { |
| 2684 | #ifdef CONFIG_MMU | ||
| 2684 | int batch; | 2685 | int batch; |
| 2685 | 2686 | ||
| 2686 | /* | 2687 | /* |
| @@ -2706,9 +2707,26 @@ static int zone_batchsize(struct zone *zone) | |||
| 2706 | * of pages of one half of the possible page colors | 2707 | * of pages of one half of the possible page colors |
| 2707 | * and the other with pages of the other colors. | 2708 | * and the other with pages of the other colors. |
| 2708 | */ | 2709 | */ |
| 2709 | batch = (1 << (fls(batch + batch/2)-1)) - 1; | 2710 | batch = rounddown_pow_of_two(batch + batch/2) - 1; |
| 2710 | 2711 | ||
| 2711 | return batch; | 2712 | return batch; |
| 2713 | |||
| 2714 | #else | ||
| 2715 | /* The deferral and batching of frees should be suppressed under NOMMU | ||
| 2716 | * conditions. | ||
| 2717 | * | ||
| 2718 | * The problem is that NOMMU needs to be able to allocate large chunks | ||
| 2719 | * of contiguous memory as there's no hardware page translation to | ||
| 2720 | * assemble apparent contiguous memory from discontiguous pages. | ||
| 2721 | * | ||
| 2722 | * Queueing large contiguous runs of pages for batching, however, | ||
| 2723 | * causes the pages to actually be freed in smaller chunks. As there | ||
| 2724 | * can be a significant delay between the individual batches being | ||
| 2725 | * recycled, this leads to the once large chunks of space being | ||
| 2726 | * fragmented and becoming unavailable for high-order allocations. | ||
| 2727 | */ | ||
| 2728 | return 0; | ||
| 2729 | #endif | ||
| 2712 | } | 2730 | } |
| 2713 | 2731 | ||
| 2714 | static void setup_pageset(struct per_cpu_pageset *p, unsigned long batch) | 2732 | static void setup_pageset(struct per_cpu_pageset *p, unsigned long batch) |
diff --git a/mm/vmalloc.c b/mm/vmalloc.c index fab19876b4d1..083716ea38c9 100644 --- a/mm/vmalloc.c +++ b/mm/vmalloc.c | |||
| @@ -402,6 +402,7 @@ overflow: | |||
| 402 | printk(KERN_WARNING | 402 | printk(KERN_WARNING |
| 403 | "vmap allocation for size %lu failed: " | 403 | "vmap allocation for size %lu failed: " |
| 404 | "use vmalloc=<size> to increase size.\n", size); | 404 | "use vmalloc=<size> to increase size.\n", size); |
| 405 | kfree(va); | ||
| 405 | return ERR_PTR(-EBUSY); | 406 | return ERR_PTR(-EBUSY); |
| 406 | } | 407 | } |
| 407 | 408 | ||
diff --git a/net/9p/client.c b/net/9p/client.c index 1eb580c38fbb..dd43a8289b0d 100644 --- a/net/9p/client.c +++ b/net/9p/client.c | |||
| @@ -203,7 +203,6 @@ static struct p9_req_t *p9_tag_alloc(struct p9_client *c, u16 tag) | |||
| 203 | p9pdu_reset(req->tc); | 203 | p9pdu_reset(req->tc); |
| 204 | p9pdu_reset(req->rc); | 204 | p9pdu_reset(req->rc); |
| 205 | 205 | ||
| 206 | req->flush_tag = 0; | ||
| 207 | req->tc->tag = tag-1; | 206 | req->tc->tag = tag-1; |
| 208 | req->status = REQ_STATUS_ALLOC; | 207 | req->status = REQ_STATUS_ALLOC; |
| 209 | 208 | ||
| @@ -324,35 +323,9 @@ static void p9_free_req(struct p9_client *c, struct p9_req_t *r) | |||
| 324 | */ | 323 | */ |
| 325 | void p9_client_cb(struct p9_client *c, struct p9_req_t *req) | 324 | void p9_client_cb(struct p9_client *c, struct p9_req_t *req) |
| 326 | { | 325 | { |
| 327 | struct p9_req_t *other_req; | ||
| 328 | unsigned long flags; | ||
| 329 | |||
| 330 | P9_DPRINTK(P9_DEBUG_MUX, " tag %d\n", req->tc->tag); | 326 | P9_DPRINTK(P9_DEBUG_MUX, " tag %d\n", req->tc->tag); |
| 331 | 327 | wake_up(req->wq); | |
| 332 | if (req->status == REQ_STATUS_ERROR) | 328 | P9_DPRINTK(P9_DEBUG_MUX, "wakeup: %d\n", req->tc->tag); |
| 333 | wake_up(req->wq); | ||
| 334 | |||
| 335 | if (req->flush_tag) { /* flush receive path */ | ||
| 336 | P9_DPRINTK(P9_DEBUG_9P, "<<< RFLUSH %d\n", req->tc->tag); | ||
| 337 | spin_lock_irqsave(&c->lock, flags); | ||
| 338 | other_req = p9_tag_lookup(c, req->flush_tag); | ||
| 339 | if (other_req->status != REQ_STATUS_FLSH) /* stale flush */ | ||
| 340 | spin_unlock_irqrestore(&c->lock, flags); | ||
| 341 | else { | ||
| 342 | other_req->status = REQ_STATUS_FLSHD; | ||
| 343 | spin_unlock_irqrestore(&c->lock, flags); | ||
| 344 | wake_up(other_req->wq); | ||
| 345 | } | ||
| 346 | p9_free_req(c, req); | ||
| 347 | } else { /* normal receive path */ | ||
| 348 | P9_DPRINTK(P9_DEBUG_MUX, "normal: tag %d\n", req->tc->tag); | ||
| 349 | spin_lock_irqsave(&c->lock, flags); | ||
| 350 | if (req->status != REQ_STATUS_FLSHD) | ||
| 351 | req->status = REQ_STATUS_RCVD; | ||
| 352 | spin_unlock_irqrestore(&c->lock, flags); | ||
| 353 | wake_up(req->wq); | ||
| 354 | P9_DPRINTK(P9_DEBUG_MUX, "wakeup: %d\n", req->tc->tag); | ||
| 355 | } | ||
| 356 | } | 329 | } |
| 357 | EXPORT_SYMBOL(p9_client_cb); | 330 | EXPORT_SYMBOL(p9_client_cb); |
| 358 | 331 | ||
| @@ -486,9 +459,15 @@ static int p9_client_flush(struct p9_client *c, struct p9_req_t *oldreq) | |||
| 486 | if (IS_ERR(req)) | 459 | if (IS_ERR(req)) |
| 487 | return PTR_ERR(req); | 460 | return PTR_ERR(req); |
| 488 | 461 | ||
| 489 | req->flush_tag = oldtag; | ||
| 490 | 462 | ||
| 491 | /* we don't free anything here because RPC isn't complete */ | 463 | /* if we haven't received a response for oldreq, |
| 464 | remove it from the list. */ | ||
| 465 | spin_lock(&c->lock); | ||
| 466 | if (oldreq->status == REQ_STATUS_FLSH) | ||
| 467 | list_del(&oldreq->req_list); | ||
| 468 | spin_unlock(&c->lock); | ||
| 469 | |||
| 470 | p9_free_req(c, req); | ||
| 492 | return 0; | 471 | return 0; |
| 493 | } | 472 | } |
| 494 | 473 | ||
| @@ -509,7 +488,6 @@ p9_client_rpc(struct p9_client *c, int8_t type, const char *fmt, ...) | |||
| 509 | struct p9_req_t *req; | 488 | struct p9_req_t *req; |
| 510 | unsigned long flags; | 489 | unsigned long flags; |
| 511 | int sigpending; | 490 | int sigpending; |
| 512 | int flushed = 0; | ||
| 513 | 491 | ||
| 514 | P9_DPRINTK(P9_DEBUG_MUX, "client %p op %d\n", c, type); | 492 | P9_DPRINTK(P9_DEBUG_MUX, "client %p op %d\n", c, type); |
| 515 | 493 | ||
| @@ -546,42 +524,28 @@ p9_client_rpc(struct p9_client *c, int8_t type, const char *fmt, ...) | |||
| 546 | goto reterr; | 524 | goto reterr; |
| 547 | } | 525 | } |
| 548 | 526 | ||
| 549 | /* if it was a flush we just transmitted, return our tag */ | ||
| 550 | if (type == P9_TFLUSH) | ||
| 551 | return req; | ||
| 552 | again: | ||
| 553 | P9_DPRINTK(P9_DEBUG_MUX, "wait %p tag: %d\n", req->wq, tag); | 527 | P9_DPRINTK(P9_DEBUG_MUX, "wait %p tag: %d\n", req->wq, tag); |
| 554 | err = wait_event_interruptible(*req->wq, | 528 | err = wait_event_interruptible(*req->wq, |
| 555 | req->status >= REQ_STATUS_RCVD); | 529 | req->status >= REQ_STATUS_RCVD); |
| 556 | P9_DPRINTK(P9_DEBUG_MUX, "wait %p tag: %d returned %d (flushed=%d)\n", | 530 | P9_DPRINTK(P9_DEBUG_MUX, "wait %p tag: %d returned %d\n", |
| 557 | req->wq, tag, err, flushed); | 531 | req->wq, tag, err); |
| 558 | 532 | ||
| 559 | if (req->status == REQ_STATUS_ERROR) { | 533 | if (req->status == REQ_STATUS_ERROR) { |
| 560 | P9_DPRINTK(P9_DEBUG_ERROR, "req_status error %d\n", req->t_err); | 534 | P9_DPRINTK(P9_DEBUG_ERROR, "req_status error %d\n", req->t_err); |
| 561 | err = req->t_err; | 535 | err = req->t_err; |
| 562 | } else if (err == -ERESTARTSYS && flushed) { | ||
| 563 | P9_DPRINTK(P9_DEBUG_MUX, "flushed - going again\n"); | ||
| 564 | goto again; | ||
| 565 | } else if (req->status == REQ_STATUS_FLSHD) { | ||
| 566 | P9_DPRINTK(P9_DEBUG_MUX, "flushed - erestartsys\n"); | ||
| 567 | err = -ERESTARTSYS; | ||
| 568 | } | 536 | } |
| 569 | 537 | ||
| 570 | if ((err == -ERESTARTSYS) && (c->status == Connected) && (!flushed)) { | 538 | if ((err == -ERESTARTSYS) && (c->status == Connected)) { |
| 571 | P9_DPRINTK(P9_DEBUG_MUX, "flushing\n"); | 539 | P9_DPRINTK(P9_DEBUG_MUX, "flushing\n"); |
| 572 | spin_lock_irqsave(&c->lock, flags); | ||
| 573 | if (req->status == REQ_STATUS_SENT) | ||
| 574 | req->status = REQ_STATUS_FLSH; | ||
| 575 | spin_unlock_irqrestore(&c->lock, flags); | ||
| 576 | sigpending = 1; | 540 | sigpending = 1; |
| 577 | flushed = 1; | ||
| 578 | clear_thread_flag(TIF_SIGPENDING); | 541 | clear_thread_flag(TIF_SIGPENDING); |
| 579 | 542 | ||
| 580 | if (c->trans_mod->cancel(c, req)) { | 543 | if (c->trans_mod->cancel(c, req)) |
| 581 | err = p9_client_flush(c, req); | 544 | p9_client_flush(c, req); |
| 582 | if (err == 0) | 545 | |
| 583 | goto again; | 546 | /* if we received the response anyway, don't signal error */ |
| 584 | } | 547 | if (req->status == REQ_STATUS_RCVD) |
| 548 | err = 0; | ||
| 585 | } | 549 | } |
| 586 | 550 | ||
| 587 | if (sigpending) { | 551 | if (sigpending) { |
| @@ -1244,19 +1208,53 @@ struct p9_wstat *p9_client_stat(struct p9_fid *fid) | |||
| 1244 | ret->name, ret->uid, ret->gid, ret->muid, ret->extension, | 1208 | ret->name, ret->uid, ret->gid, ret->muid, ret->extension, |
| 1245 | ret->n_uid, ret->n_gid, ret->n_muid); | 1209 | ret->n_uid, ret->n_gid, ret->n_muid); |
| 1246 | 1210 | ||
| 1211 | p9_free_req(clnt, req); | ||
| 1212 | return ret; | ||
| 1213 | |||
| 1247 | free_and_error: | 1214 | free_and_error: |
| 1248 | p9_free_req(clnt, req); | 1215 | p9_free_req(clnt, req); |
| 1249 | error: | 1216 | error: |
| 1250 | return ret; | 1217 | kfree(ret); |
| 1218 | return ERR_PTR(err); | ||
| 1251 | } | 1219 | } |
| 1252 | EXPORT_SYMBOL(p9_client_stat); | 1220 | EXPORT_SYMBOL(p9_client_stat); |
| 1253 | 1221 | ||
| 1222 | static int p9_client_statsize(struct p9_wstat *wst, int optional) | ||
| 1223 | { | ||
| 1224 | int ret; | ||
| 1225 | |||
| 1226 | /* size[2] type[2] dev[4] qid[13] */ | ||
| 1227 | /* mode[4] atime[4] mtime[4] length[8]*/ | ||
| 1228 | /* name[s] uid[s] gid[s] muid[s] */ | ||
| 1229 | ret = 2+2+4+13+4+4+4+8+2+2+2+2; | ||
| 1230 | |||
| 1231 | if (wst->name) | ||
| 1232 | ret += strlen(wst->name); | ||
| 1233 | if (wst->uid) | ||
| 1234 | ret += strlen(wst->uid); | ||
| 1235 | if (wst->gid) | ||
| 1236 | ret += strlen(wst->gid); | ||
| 1237 | if (wst->muid) | ||
| 1238 | ret += strlen(wst->muid); | ||
| 1239 | |||
| 1240 | if (optional) { | ||
| 1241 | ret += 2+4+4+4; /* extension[s] n_uid[4] n_gid[4] n_muid[4] */ | ||
| 1242 | if (wst->extension) | ||
| 1243 | ret += strlen(wst->extension); | ||
| 1244 | } | ||
| 1245 | |||
| 1246 | return ret; | ||
| 1247 | } | ||
| 1248 | |||
| 1254 | int p9_client_wstat(struct p9_fid *fid, struct p9_wstat *wst) | 1249 | int p9_client_wstat(struct p9_fid *fid, struct p9_wstat *wst) |
| 1255 | { | 1250 | { |
| 1256 | int err; | 1251 | int err; |
| 1257 | struct p9_req_t *req; | 1252 | struct p9_req_t *req; |
| 1258 | struct p9_client *clnt; | 1253 | struct p9_client *clnt; |
| 1259 | 1254 | ||
| 1255 | err = 0; | ||
| 1256 | clnt = fid->clnt; | ||
| 1257 | wst->size = p9_client_statsize(wst, clnt->dotu); | ||
| 1260 | P9_DPRINTK(P9_DEBUG_9P, ">>> TWSTAT fid %d\n", fid->fid); | 1258 | P9_DPRINTK(P9_DEBUG_9P, ">>> TWSTAT fid %d\n", fid->fid); |
| 1261 | P9_DPRINTK(P9_DEBUG_9P, | 1259 | P9_DPRINTK(P9_DEBUG_9P, |
| 1262 | " sz=%x type=%x dev=%x qid=%x.%llx.%x\n" | 1260 | " sz=%x type=%x dev=%x qid=%x.%llx.%x\n" |
| @@ -1268,10 +1266,8 @@ int p9_client_wstat(struct p9_fid *fid, struct p9_wstat *wst) | |||
| 1268 | wst->atime, wst->mtime, (unsigned long long)wst->length, | 1266 | wst->atime, wst->mtime, (unsigned long long)wst->length, |
| 1269 | wst->name, wst->uid, wst->gid, wst->muid, wst->extension, | 1267 | wst->name, wst->uid, wst->gid, wst->muid, wst->extension, |
| 1270 | wst->n_uid, wst->n_gid, wst->n_muid); | 1268 | wst->n_uid, wst->n_gid, wst->n_muid); |
| 1271 | err = 0; | ||
| 1272 | clnt = fid->clnt; | ||
| 1273 | 1269 | ||
| 1274 | req = p9_client_rpc(clnt, P9_TWSTAT, "dwS", fid->fid, 0, wst); | 1270 | req = p9_client_rpc(clnt, P9_TWSTAT, "dwS", fid->fid, wst->size, wst); |
| 1275 | if (IS_ERR(req)) { | 1271 | if (IS_ERR(req)) { |
| 1276 | err = PTR_ERR(req); | 1272 | err = PTR_ERR(req); |
| 1277 | goto error; | 1273 | goto error; |
diff --git a/net/9p/trans_fd.c b/net/9p/trans_fd.c index c613ed08a5ee..a2a1814c7a8d 100644 --- a/net/9p/trans_fd.c +++ b/net/9p/trans_fd.c | |||
| @@ -213,8 +213,8 @@ static void p9_conn_cancel(struct p9_conn *m, int err) | |||
| 213 | spin_unlock_irqrestore(&m->client->lock, flags); | 213 | spin_unlock_irqrestore(&m->client->lock, flags); |
| 214 | 214 | ||
| 215 | list_for_each_entry_safe(req, rtmp, &cancel_list, req_list) { | 215 | list_for_each_entry_safe(req, rtmp, &cancel_list, req_list) { |
| 216 | list_del(&req->req_list); | ||
| 217 | P9_DPRINTK(P9_DEBUG_ERROR, "call back req %p\n", req); | 216 | P9_DPRINTK(P9_DEBUG_ERROR, "call back req %p\n", req); |
| 217 | list_del(&req->req_list); | ||
| 218 | p9_client_cb(m->client, req); | 218 | p9_client_cb(m->client, req); |
| 219 | } | 219 | } |
| 220 | } | 220 | } |
| @@ -336,7 +336,8 @@ static void p9_read_work(struct work_struct *work) | |||
| 336 | "mux %p pkt: size: %d bytes tag: %d\n", m, n, tag); | 336 | "mux %p pkt: size: %d bytes tag: %d\n", m, n, tag); |
| 337 | 337 | ||
| 338 | m->req = p9_tag_lookup(m->client, tag); | 338 | m->req = p9_tag_lookup(m->client, tag); |
| 339 | if (!m->req) { | 339 | if (!m->req || (m->req->status != REQ_STATUS_SENT && |
| 340 | m->req->status != REQ_STATUS_FLSH)) { | ||
| 340 | P9_DPRINTK(P9_DEBUG_ERROR, "Unexpected packet tag %d\n", | 341 | P9_DPRINTK(P9_DEBUG_ERROR, "Unexpected packet tag %d\n", |
| 341 | tag); | 342 | tag); |
| 342 | err = -EIO; | 343 | err = -EIO; |
| @@ -361,10 +362,11 @@ static void p9_read_work(struct work_struct *work) | |||
| 361 | if ((m->req) && (m->rpos == m->rsize)) { /* packet is read in */ | 362 | if ((m->req) && (m->rpos == m->rsize)) { /* packet is read in */ |
| 362 | P9_DPRINTK(P9_DEBUG_TRANS, "got new packet\n"); | 363 | P9_DPRINTK(P9_DEBUG_TRANS, "got new packet\n"); |
| 363 | spin_lock(&m->client->lock); | 364 | spin_lock(&m->client->lock); |
| 365 | if (m->req->status != REQ_STATUS_ERROR) | ||
| 366 | m->req->status = REQ_STATUS_RCVD; | ||
| 364 | list_del(&m->req->req_list); | 367 | list_del(&m->req->req_list); |
| 365 | spin_unlock(&m->client->lock); | 368 | spin_unlock(&m->client->lock); |
| 366 | p9_client_cb(m->client, m->req); | 369 | p9_client_cb(m->client, m->req); |
| 367 | |||
| 368 | m->rbuf = NULL; | 370 | m->rbuf = NULL; |
| 369 | m->rpos = 0; | 371 | m->rpos = 0; |
| 370 | m->rsize = 0; | 372 | m->rsize = 0; |
| @@ -454,6 +456,7 @@ static void p9_write_work(struct work_struct *work) | |||
| 454 | req = list_entry(m->unsent_req_list.next, struct p9_req_t, | 456 | req = list_entry(m->unsent_req_list.next, struct p9_req_t, |
| 455 | req_list); | 457 | req_list); |
| 456 | req->status = REQ_STATUS_SENT; | 458 | req->status = REQ_STATUS_SENT; |
| 459 | P9_DPRINTK(P9_DEBUG_TRANS, "move req %p\n", req); | ||
| 457 | list_move_tail(&req->req_list, &m->req_list); | 460 | list_move_tail(&req->req_list, &m->req_list); |
| 458 | 461 | ||
| 459 | m->wbuf = req->tc->sdata; | 462 | m->wbuf = req->tc->sdata; |
| @@ -683,12 +686,13 @@ static int p9_fd_cancel(struct p9_client *client, struct p9_req_t *req) | |||
| 683 | P9_DPRINTK(P9_DEBUG_TRANS, "client %p req %p\n", client, req); | 686 | P9_DPRINTK(P9_DEBUG_TRANS, "client %p req %p\n", client, req); |
| 684 | 687 | ||
| 685 | spin_lock(&client->lock); | 688 | spin_lock(&client->lock); |
| 686 | list_del(&req->req_list); | ||
| 687 | 689 | ||
| 688 | if (req->status == REQ_STATUS_UNSENT) { | 690 | if (req->status == REQ_STATUS_UNSENT) { |
| 691 | list_del(&req->req_list); | ||
| 689 | req->status = REQ_STATUS_FLSHD; | 692 | req->status = REQ_STATUS_FLSHD; |
| 690 | ret = 0; | 693 | ret = 0; |
| 691 | } | 694 | } else if (req->status == REQ_STATUS_SENT) |
| 695 | req->status = REQ_STATUS_FLSH; | ||
| 692 | 696 | ||
| 693 | spin_unlock(&client->lock); | 697 | spin_unlock(&client->lock); |
| 694 | 698 | ||
diff --git a/net/9p/trans_rdma.c b/net/9p/trans_rdma.c index 7fa0eb20b2f6..ac4990041ebb 100644 --- a/net/9p/trans_rdma.c +++ b/net/9p/trans_rdma.c | |||
| @@ -295,6 +295,7 @@ handle_recv(struct p9_client *client, struct p9_trans_rdma *rdma, | |||
| 295 | goto err_out; | 295 | goto err_out; |
| 296 | 296 | ||
| 297 | req->rc = c->rc; | 297 | req->rc = c->rc; |
| 298 | req->status = REQ_STATUS_RCVD; | ||
| 298 | p9_client_cb(client, req); | 299 | p9_client_cb(client, req); |
| 299 | 300 | ||
| 300 | return; | 301 | return; |
diff --git a/net/9p/trans_virtio.c b/net/9p/trans_virtio.c index 2d7781ec663b..bb8579a141a8 100644 --- a/net/9p/trans_virtio.c +++ b/net/9p/trans_virtio.c | |||
| @@ -134,6 +134,7 @@ static void req_done(struct virtqueue *vq) | |||
| 134 | P9_DPRINTK(P9_DEBUG_TRANS, ": rc %p\n", rc); | 134 | P9_DPRINTK(P9_DEBUG_TRANS, ": rc %p\n", rc); |
| 135 | P9_DPRINTK(P9_DEBUG_TRANS, ": lookup tag %d\n", rc->tag); | 135 | P9_DPRINTK(P9_DEBUG_TRANS, ": lookup tag %d\n", rc->tag); |
| 136 | req = p9_tag_lookup(chan->client, rc->tag); | 136 | req = p9_tag_lookup(chan->client, rc->tag); |
| 137 | req->status = REQ_STATUS_RCVD; | ||
| 137 | p9_client_cb(chan->client, req); | 138 | p9_client_cb(chan->client, req); |
| 138 | } | 139 | } |
| 139 | } | 140 | } |
diff --git a/net/atm/br2684.c b/net/atm/br2684.c index 334fcd4a4ea4..3100a8940afc 100644 --- a/net/atm/br2684.c +++ b/net/atm/br2684.c | |||
| @@ -549,6 +549,7 @@ static void br2684_setup(struct net_device *netdev) | |||
| 549 | struct br2684_dev *brdev = BRPRIV(netdev); | 549 | struct br2684_dev *brdev = BRPRIV(netdev); |
| 550 | 550 | ||
| 551 | ether_setup(netdev); | 551 | ether_setup(netdev); |
| 552 | brdev->net_dev = netdev; | ||
| 552 | 553 | ||
| 553 | netdev->netdev_ops = &br2684_netdev_ops; | 554 | netdev->netdev_ops = &br2684_netdev_ops; |
| 554 | 555 | ||
diff --git a/net/bluetooth/hci_conn.c b/net/bluetooth/hci_conn.c index 375f4b4f7f79..61309b26f271 100644 --- a/net/bluetooth/hci_conn.c +++ b/net/bluetooth/hci_conn.c | |||
| @@ -248,6 +248,8 @@ struct hci_conn *hci_conn_add(struct hci_dev *hdev, int type, bdaddr_t *dst) | |||
| 248 | if (hdev->notify) | 248 | if (hdev->notify) |
| 249 | hdev->notify(hdev, HCI_NOTIFY_CONN_ADD); | 249 | hdev->notify(hdev, HCI_NOTIFY_CONN_ADD); |
| 250 | 250 | ||
| 251 | hci_conn_init_sysfs(conn); | ||
| 252 | |||
| 251 | tasklet_enable(&hdev->tx_task); | 253 | tasklet_enable(&hdev->tx_task); |
| 252 | 254 | ||
| 253 | return conn; | 255 | return conn; |
diff --git a/net/bluetooth/hci_sysfs.c b/net/bluetooth/hci_sysfs.c index b7c51082ddeb..582d8877078c 100644 --- a/net/bluetooth/hci_sysfs.c +++ b/net/bluetooth/hci_sysfs.c | |||
| @@ -9,7 +9,7 @@ | |||
| 9 | struct class *bt_class = NULL; | 9 | struct class *bt_class = NULL; |
| 10 | EXPORT_SYMBOL_GPL(bt_class); | 10 | EXPORT_SYMBOL_GPL(bt_class); |
| 11 | 11 | ||
| 12 | static struct workqueue_struct *bluetooth; | 12 | static struct workqueue_struct *bt_workq; |
| 13 | 13 | ||
| 14 | static inline char *link_typetostr(int type) | 14 | static inline char *link_typetostr(int type) |
| 15 | { | 15 | { |
| @@ -89,8 +89,8 @@ static void add_conn(struct work_struct *work) | |||
| 89 | { | 89 | { |
| 90 | struct hci_conn *conn = container_of(work, struct hci_conn, work_add); | 90 | struct hci_conn *conn = container_of(work, struct hci_conn, work_add); |
| 91 | 91 | ||
| 92 | /* ensure previous add/del is complete */ | 92 | /* ensure previous del is complete */ |
| 93 | flush_workqueue(bluetooth); | 93 | flush_work(&conn->work_del); |
| 94 | 94 | ||
| 95 | if (device_add(&conn->dev) < 0) { | 95 | if (device_add(&conn->dev) < 0) { |
| 96 | BT_ERR("Failed to register connection device"); | 96 | BT_ERR("Failed to register connection device"); |
| @@ -98,27 +98,6 @@ static void add_conn(struct work_struct *work) | |||
| 98 | } | 98 | } |
| 99 | } | 99 | } |
| 100 | 100 | ||
| 101 | void hci_conn_add_sysfs(struct hci_conn *conn) | ||
| 102 | { | ||
| 103 | struct hci_dev *hdev = conn->hdev; | ||
| 104 | |||
| 105 | BT_DBG("conn %p", conn); | ||
| 106 | |||
| 107 | conn->dev.type = &bt_link; | ||
| 108 | conn->dev.class = bt_class; | ||
| 109 | conn->dev.parent = &hdev->dev; | ||
| 110 | |||
| 111 | dev_set_name(&conn->dev, "%s:%d", hdev->name, conn->handle); | ||
| 112 | |||
| 113 | dev_set_drvdata(&conn->dev, conn); | ||
| 114 | |||
| 115 | device_initialize(&conn->dev); | ||
| 116 | |||
| 117 | INIT_WORK(&conn->work_add, add_conn); | ||
| 118 | |||
| 119 | queue_work(bluetooth, &conn->work_add); | ||
| 120 | } | ||
| 121 | |||
| 122 | /* | 101 | /* |
| 123 | * The rfcomm tty device will possibly retain even when conn | 102 | * The rfcomm tty device will possibly retain even when conn |
| 124 | * is down, and sysfs doesn't support move zombie device, | 103 | * is down, and sysfs doesn't support move zombie device, |
| @@ -134,8 +113,11 @@ static void del_conn(struct work_struct *work) | |||
| 134 | struct hci_conn *conn = container_of(work, struct hci_conn, work_del); | 113 | struct hci_conn *conn = container_of(work, struct hci_conn, work_del); |
| 135 | struct hci_dev *hdev = conn->hdev; | 114 | struct hci_dev *hdev = conn->hdev; |
| 136 | 115 | ||
| 137 | /* ensure previous add/del is complete */ | 116 | /* ensure previous add is complete */ |
| 138 | flush_workqueue(bluetooth); | 117 | flush_work(&conn->work_add); |
| 118 | |||
| 119 | if (!device_is_registered(&conn->dev)) | ||
| 120 | return; | ||
| 139 | 121 | ||
| 140 | while (1) { | 122 | while (1) { |
| 141 | struct device *dev; | 123 | struct device *dev; |
| @@ -152,16 +134,40 @@ static void del_conn(struct work_struct *work) | |||
| 152 | hci_dev_put(hdev); | 134 | hci_dev_put(hdev); |
| 153 | } | 135 | } |
| 154 | 136 | ||
| 155 | void hci_conn_del_sysfs(struct hci_conn *conn) | 137 | void hci_conn_init_sysfs(struct hci_conn *conn) |
| 156 | { | 138 | { |
| 139 | struct hci_dev *hdev = conn->hdev; | ||
| 140 | |||
| 157 | BT_DBG("conn %p", conn); | 141 | BT_DBG("conn %p", conn); |
| 158 | 142 | ||
| 159 | if (!device_is_registered(&conn->dev)) | 143 | conn->dev.type = &bt_link; |
| 160 | return; | 144 | conn->dev.class = bt_class; |
| 145 | conn->dev.parent = &hdev->dev; | ||
| 146 | |||
| 147 | dev_set_drvdata(&conn->dev, conn); | ||
| 161 | 148 | ||
| 149 | device_initialize(&conn->dev); | ||
| 150 | |||
| 151 | INIT_WORK(&conn->work_add, add_conn); | ||
| 162 | INIT_WORK(&conn->work_del, del_conn); | 152 | INIT_WORK(&conn->work_del, del_conn); |
| 153 | } | ||
| 154 | |||
| 155 | void hci_conn_add_sysfs(struct hci_conn *conn) | ||
| 156 | { | ||
| 157 | struct hci_dev *hdev = conn->hdev; | ||
| 158 | |||
| 159 | BT_DBG("conn %p", conn); | ||
| 160 | |||
| 161 | dev_set_name(&conn->dev, "%s:%d", hdev->name, conn->handle); | ||
| 162 | |||
| 163 | queue_work(bt_workq, &conn->work_add); | ||
| 164 | } | ||
| 165 | |||
| 166 | void hci_conn_del_sysfs(struct hci_conn *conn) | ||
| 167 | { | ||
| 168 | BT_DBG("conn %p", conn); | ||
| 163 | 169 | ||
| 164 | queue_work(bluetooth, &conn->work_del); | 170 | queue_work(bt_workq, &conn->work_del); |
| 165 | } | 171 | } |
| 166 | 172 | ||
| 167 | static inline char *host_typetostr(int type) | 173 | static inline char *host_typetostr(int type) |
| @@ -438,13 +444,13 @@ void hci_unregister_sysfs(struct hci_dev *hdev) | |||
| 438 | 444 | ||
| 439 | int __init bt_sysfs_init(void) | 445 | int __init bt_sysfs_init(void) |
| 440 | { | 446 | { |
| 441 | bluetooth = create_singlethread_workqueue("bluetooth"); | 447 | bt_workq = create_singlethread_workqueue("bluetooth"); |
| 442 | if (!bluetooth) | 448 | if (!bt_workq) |
| 443 | return -ENOMEM; | 449 | return -ENOMEM; |
| 444 | 450 | ||
| 445 | bt_class = class_create(THIS_MODULE, "bluetooth"); | 451 | bt_class = class_create(THIS_MODULE, "bluetooth"); |
| 446 | if (IS_ERR(bt_class)) { | 452 | if (IS_ERR(bt_class)) { |
| 447 | destroy_workqueue(bluetooth); | 453 | destroy_workqueue(bt_workq); |
| 448 | return PTR_ERR(bt_class); | 454 | return PTR_ERR(bt_class); |
| 449 | } | 455 | } |
| 450 | 456 | ||
| @@ -453,7 +459,7 @@ int __init bt_sysfs_init(void) | |||
| 453 | 459 | ||
| 454 | void bt_sysfs_cleanup(void) | 460 | void bt_sysfs_cleanup(void) |
| 455 | { | 461 | { |
| 456 | destroy_workqueue(bluetooth); | 462 | destroy_workqueue(bt_workq); |
| 457 | 463 | ||
| 458 | class_destroy(bt_class); | 464 | class_destroy(bt_class); |
| 459 | } | 465 | } |
diff --git a/net/core/dev.c b/net/core/dev.c index 308a7d0c277f..e2e9e4af3ace 100644 --- a/net/core/dev.c +++ b/net/core/dev.c | |||
| @@ -1735,11 +1735,12 @@ u16 skb_tx_hash(const struct net_device *dev, const struct sk_buff *skb) | |||
| 1735 | { | 1735 | { |
| 1736 | u32 hash; | 1736 | u32 hash; |
| 1737 | 1737 | ||
| 1738 | if (skb_rx_queue_recorded(skb)) { | 1738 | if (skb_rx_queue_recorded(skb)) |
| 1739 | hash = skb_get_rx_queue(skb); | 1739 | return skb_get_rx_queue(skb) % dev->real_num_tx_queues; |
| 1740 | } else if (skb->sk && skb->sk->sk_hash) { | 1740 | |
| 1741 | if (skb->sk && skb->sk->sk_hash) | ||
| 1741 | hash = skb->sk->sk_hash; | 1742 | hash = skb->sk->sk_hash; |
| 1742 | } else | 1743 | else |
| 1743 | hash = skb->protocol; | 1744 | hash = skb->protocol; |
| 1744 | 1745 | ||
| 1745 | hash = jhash_1word(hash, skb_tx_hashrnd); | 1746 | hash = jhash_1word(hash, skb_tx_hashrnd); |
diff --git a/net/core/skbuff.c b/net/core/skbuff.c index ce6356cd9f71..f091a5a845c1 100644 --- a/net/core/skbuff.c +++ b/net/core/skbuff.c | |||
| @@ -1365,9 +1365,8 @@ static void sock_spd_release(struct splice_pipe_desc *spd, unsigned int i) | |||
| 1365 | 1365 | ||
| 1366 | static inline struct page *linear_to_page(struct page *page, unsigned int *len, | 1366 | static inline struct page *linear_to_page(struct page *page, unsigned int *len, |
| 1367 | unsigned int *offset, | 1367 | unsigned int *offset, |
| 1368 | struct sk_buff *skb) | 1368 | struct sk_buff *skb, struct sock *sk) |
| 1369 | { | 1369 | { |
| 1370 | struct sock *sk = skb->sk; | ||
| 1371 | struct page *p = sk->sk_sndmsg_page; | 1370 | struct page *p = sk->sk_sndmsg_page; |
| 1372 | unsigned int off; | 1371 | unsigned int off; |
| 1373 | 1372 | ||
| @@ -1405,13 +1404,14 @@ new_page: | |||
| 1405 | */ | 1404 | */ |
| 1406 | static inline int spd_fill_page(struct splice_pipe_desc *spd, struct page *page, | 1405 | static inline int spd_fill_page(struct splice_pipe_desc *spd, struct page *page, |
| 1407 | unsigned int *len, unsigned int offset, | 1406 | unsigned int *len, unsigned int offset, |
| 1408 | struct sk_buff *skb, int linear) | 1407 | struct sk_buff *skb, int linear, |
| 1408 | struct sock *sk) | ||
| 1409 | { | 1409 | { |
| 1410 | if (unlikely(spd->nr_pages == PIPE_BUFFERS)) | 1410 | if (unlikely(spd->nr_pages == PIPE_BUFFERS)) |
| 1411 | return 1; | 1411 | return 1; |
| 1412 | 1412 | ||
| 1413 | if (linear) { | 1413 | if (linear) { |
| 1414 | page = linear_to_page(page, len, &offset, skb); | 1414 | page = linear_to_page(page, len, &offset, skb, sk); |
| 1415 | if (!page) | 1415 | if (!page) |
| 1416 | return 1; | 1416 | return 1; |
| 1417 | } else | 1417 | } else |
| @@ -1442,7 +1442,8 @@ static inline void __segment_seek(struct page **page, unsigned int *poff, | |||
| 1442 | static inline int __splice_segment(struct page *page, unsigned int poff, | 1442 | static inline int __splice_segment(struct page *page, unsigned int poff, |
| 1443 | unsigned int plen, unsigned int *off, | 1443 | unsigned int plen, unsigned int *off, |
| 1444 | unsigned int *len, struct sk_buff *skb, | 1444 | unsigned int *len, struct sk_buff *skb, |
| 1445 | struct splice_pipe_desc *spd, int linear) | 1445 | struct splice_pipe_desc *spd, int linear, |
| 1446 | struct sock *sk) | ||
| 1446 | { | 1447 | { |
| 1447 | if (!*len) | 1448 | if (!*len) |
| 1448 | return 1; | 1449 | return 1; |
| @@ -1465,7 +1466,7 @@ static inline int __splice_segment(struct page *page, unsigned int poff, | |||
| 1465 | /* the linear region may spread across several pages */ | 1466 | /* the linear region may spread across several pages */ |
| 1466 | flen = min_t(unsigned int, flen, PAGE_SIZE - poff); | 1467 | flen = min_t(unsigned int, flen, PAGE_SIZE - poff); |
| 1467 | 1468 | ||
| 1468 | if (spd_fill_page(spd, page, &flen, poff, skb, linear)) | 1469 | if (spd_fill_page(spd, page, &flen, poff, skb, linear, sk)) |
| 1469 | return 1; | 1470 | return 1; |
| 1470 | 1471 | ||
| 1471 | __segment_seek(&page, &poff, &plen, flen); | 1472 | __segment_seek(&page, &poff, &plen, flen); |
| @@ -1481,8 +1482,8 @@ static inline int __splice_segment(struct page *page, unsigned int poff, | |||
| 1481 | * pipe is full or if we already spliced the requested length. | 1482 | * pipe is full or if we already spliced the requested length. |
| 1482 | */ | 1483 | */ |
| 1483 | static int __skb_splice_bits(struct sk_buff *skb, unsigned int *offset, | 1484 | static int __skb_splice_bits(struct sk_buff *skb, unsigned int *offset, |
| 1484 | unsigned int *len, | 1485 | unsigned int *len, struct splice_pipe_desc *spd, |
| 1485 | struct splice_pipe_desc *spd) | 1486 | struct sock *sk) |
| 1486 | { | 1487 | { |
| 1487 | int seg; | 1488 | int seg; |
| 1488 | 1489 | ||
| @@ -1492,7 +1493,7 @@ static int __skb_splice_bits(struct sk_buff *skb, unsigned int *offset, | |||
| 1492 | if (__splice_segment(virt_to_page(skb->data), | 1493 | if (__splice_segment(virt_to_page(skb->data), |
| 1493 | (unsigned long) skb->data & (PAGE_SIZE - 1), | 1494 | (unsigned long) skb->data & (PAGE_SIZE - 1), |
| 1494 | skb_headlen(skb), | 1495 | skb_headlen(skb), |
| 1495 | offset, len, skb, spd, 1)) | 1496 | offset, len, skb, spd, 1, sk)) |
| 1496 | return 1; | 1497 | return 1; |
| 1497 | 1498 | ||
| 1498 | /* | 1499 | /* |
| @@ -1502,7 +1503,7 @@ static int __skb_splice_bits(struct sk_buff *skb, unsigned int *offset, | |||
| 1502 | const skb_frag_t *f = &skb_shinfo(skb)->frags[seg]; | 1503 | const skb_frag_t *f = &skb_shinfo(skb)->frags[seg]; |
| 1503 | 1504 | ||
| 1504 | if (__splice_segment(f->page, f->page_offset, f->size, | 1505 | if (__splice_segment(f->page, f->page_offset, f->size, |
| 1505 | offset, len, skb, spd, 0)) | 1506 | offset, len, skb, spd, 0, sk)) |
| 1506 | return 1; | 1507 | return 1; |
| 1507 | } | 1508 | } |
| 1508 | 1509 | ||
| @@ -1528,12 +1529,13 @@ int skb_splice_bits(struct sk_buff *skb, unsigned int offset, | |||
| 1528 | .ops = &sock_pipe_buf_ops, | 1529 | .ops = &sock_pipe_buf_ops, |
| 1529 | .spd_release = sock_spd_release, | 1530 | .spd_release = sock_spd_release, |
| 1530 | }; | 1531 | }; |
| 1532 | struct sock *sk = skb->sk; | ||
| 1531 | 1533 | ||
| 1532 | /* | 1534 | /* |
| 1533 | * __skb_splice_bits() only fails if the output has no room left, | 1535 | * __skb_splice_bits() only fails if the output has no room left, |
| 1534 | * so no point in going over the frag_list for the error case. | 1536 | * so no point in going over the frag_list for the error case. |
| 1535 | */ | 1537 | */ |
| 1536 | if (__skb_splice_bits(skb, &offset, &tlen, &spd)) | 1538 | if (__skb_splice_bits(skb, &offset, &tlen, &spd, sk)) |
| 1537 | goto done; | 1539 | goto done; |
| 1538 | else if (!tlen) | 1540 | else if (!tlen) |
| 1539 | goto done; | 1541 | goto done; |
| @@ -1545,14 +1547,13 @@ int skb_splice_bits(struct sk_buff *skb, unsigned int offset, | |||
| 1545 | struct sk_buff *list = skb_shinfo(skb)->frag_list; | 1547 | struct sk_buff *list = skb_shinfo(skb)->frag_list; |
| 1546 | 1548 | ||
| 1547 | for (; list && tlen; list = list->next) { | 1549 | for (; list && tlen; list = list->next) { |
| 1548 | if (__skb_splice_bits(list, &offset, &tlen, &spd)) | 1550 | if (__skb_splice_bits(list, &offset, &tlen, &spd, sk)) |
| 1549 | break; | 1551 | break; |
| 1550 | } | 1552 | } |
| 1551 | } | 1553 | } |
| 1552 | 1554 | ||
| 1553 | done: | 1555 | done: |
| 1554 | if (spd.nr_pages) { | 1556 | if (spd.nr_pages) { |
| 1555 | struct sock *sk = skb->sk; | ||
| 1556 | int ret; | 1557 | int ret; |
| 1557 | 1558 | ||
| 1558 | /* | 1559 | /* |
diff --git a/net/ipv4/tcp_input.c b/net/ipv4/tcp_input.c index c96a6bb25430..eec3e6f9956c 100644 --- a/net/ipv4/tcp_input.c +++ b/net/ipv4/tcp_input.c | |||
| @@ -597,16 +597,6 @@ static void tcp_event_data_recv(struct sock *sk, struct sk_buff *skb) | |||
| 597 | tcp_grow_window(sk, skb); | 597 | tcp_grow_window(sk, skb); |
| 598 | } | 598 | } |
| 599 | 599 | ||
| 600 | static u32 tcp_rto_min(struct sock *sk) | ||
| 601 | { | ||
| 602 | struct dst_entry *dst = __sk_dst_get(sk); | ||
| 603 | u32 rto_min = TCP_RTO_MIN; | ||
| 604 | |||
| 605 | if (dst && dst_metric_locked(dst, RTAX_RTO_MIN)) | ||
| 606 | rto_min = dst_metric_rtt(dst, RTAX_RTO_MIN); | ||
| 607 | return rto_min; | ||
| 608 | } | ||
| 609 | |||
| 610 | /* Called to compute a smoothed rtt estimate. The data fed to this | 600 | /* Called to compute a smoothed rtt estimate. The data fed to this |
| 611 | * routine either comes from timestamps, or from segments that were | 601 | * routine either comes from timestamps, or from segments that were |
| 612 | * known _not_ to have been retransmitted [see Karn/Partridge | 602 | * known _not_ to have been retransmitted [see Karn/Partridge |
diff --git a/net/mac80211/main.c b/net/mac80211/main.c index fbcbed6cad01..14134193cd17 100644 --- a/net/mac80211/main.c +++ b/net/mac80211/main.c | |||
| @@ -757,6 +757,7 @@ struct ieee80211_hw *ieee80211_alloc_hw(size_t priv_data_len, | |||
| 757 | local->hw.conf.long_frame_max_tx_count = 4; | 757 | local->hw.conf.long_frame_max_tx_count = 4; |
| 758 | local->hw.conf.short_frame_max_tx_count = 7; | 758 | local->hw.conf.short_frame_max_tx_count = 7; |
| 759 | local->hw.conf.radio_enabled = true; | 759 | local->hw.conf.radio_enabled = true; |
| 760 | local->user_power_level = -1; | ||
| 760 | 761 | ||
| 761 | INIT_LIST_HEAD(&local->interfaces); | 762 | INIT_LIST_HEAD(&local->interfaces); |
| 762 | mutex_init(&local->iflist_mtx); | 763 | mutex_init(&local->iflist_mtx); |
| @@ -909,6 +910,13 @@ int ieee80211_register_hw(struct ieee80211_hw *hw) | |||
| 909 | if (result < 0) | 910 | if (result < 0) |
| 910 | goto fail_sta_info; | 911 | goto fail_sta_info; |
| 911 | 912 | ||
| 913 | result = ieee80211_wep_init(local); | ||
| 914 | if (result < 0) { | ||
| 915 | printk(KERN_DEBUG "%s: Failed to initialize wep: %d\n", | ||
| 916 | wiphy_name(local->hw.wiphy), result); | ||
| 917 | goto fail_wep; | ||
| 918 | } | ||
| 919 | |||
| 912 | rtnl_lock(); | 920 | rtnl_lock(); |
| 913 | result = dev_alloc_name(local->mdev, local->mdev->name); | 921 | result = dev_alloc_name(local->mdev, local->mdev->name); |
| 914 | if (result < 0) | 922 | if (result < 0) |
| @@ -930,14 +938,6 @@ int ieee80211_register_hw(struct ieee80211_hw *hw) | |||
| 930 | goto fail_rate; | 938 | goto fail_rate; |
| 931 | } | 939 | } |
| 932 | 940 | ||
| 933 | result = ieee80211_wep_init(local); | ||
| 934 | |||
| 935 | if (result < 0) { | ||
| 936 | printk(KERN_DEBUG "%s: Failed to initialize wep: %d\n", | ||
| 937 | wiphy_name(local->hw.wiphy), result); | ||
| 938 | goto fail_wep; | ||
| 939 | } | ||
| 940 | |||
| 941 | /* add one default STA interface if supported */ | 941 | /* add one default STA interface if supported */ |
| 942 | if (local->hw.wiphy->interface_modes & BIT(NL80211_IFTYPE_STATION)) { | 942 | if (local->hw.wiphy->interface_modes & BIT(NL80211_IFTYPE_STATION)) { |
| 943 | result = ieee80211_if_add(local, "wlan%d", NULL, | 943 | result = ieee80211_if_add(local, "wlan%d", NULL, |
| @@ -967,13 +967,13 @@ int ieee80211_register_hw(struct ieee80211_hw *hw) | |||
| 967 | 967 | ||
| 968 | return 0; | 968 | return 0; |
| 969 | 969 | ||
| 970 | fail_wep: | ||
| 971 | rate_control_deinitialize(local); | ||
| 972 | fail_rate: | 970 | fail_rate: |
| 973 | unregister_netdevice(local->mdev); | 971 | unregister_netdevice(local->mdev); |
| 974 | local->mdev = NULL; | 972 | local->mdev = NULL; |
| 975 | fail_dev: | 973 | fail_dev: |
| 976 | rtnl_unlock(); | 974 | rtnl_unlock(); |
| 975 | ieee80211_wep_free(local); | ||
| 976 | fail_wep: | ||
| 977 | sta_info_stop(local); | 977 | sta_info_stop(local); |
| 978 | fail_sta_info: | 978 | fail_sta_info: |
| 979 | debugfs_hw_del(local); | 979 | debugfs_hw_del(local); |
diff --git a/net/netfilter/Kconfig b/net/netfilter/Kconfig index 881203c4a142..cb3ad741ebf8 100644 --- a/net/netfilter/Kconfig +++ b/net/netfilter/Kconfig | |||
| @@ -837,6 +837,7 @@ config NETFILTER_XT_MATCH_SOCKET | |||
| 837 | depends on NETFILTER_TPROXY | 837 | depends on NETFILTER_TPROXY |
| 838 | depends on NETFILTER_XTABLES | 838 | depends on NETFILTER_XTABLES |
| 839 | depends on NETFILTER_ADVANCED | 839 | depends on NETFILTER_ADVANCED |
| 840 | depends on !NF_CONNTRACK || NF_CONNTRACK | ||
| 840 | select NF_DEFRAG_IPV4 | 841 | select NF_DEFRAG_IPV4 |
| 841 | help | 842 | help |
| 842 | This option adds a `socket' match, which can be used to match | 843 | This option adds a `socket' match, which can be used to match |
diff --git a/net/sched/cls_api.c b/net/sched/cls_api.c index 173fcc4b050d..0759f32e9dca 100644 --- a/net/sched/cls_api.c +++ b/net/sched/cls_api.c | |||
| @@ -254,7 +254,7 @@ replay: | |||
| 254 | } | 254 | } |
| 255 | tp->ops = tp_ops; | 255 | tp->ops = tp_ops; |
| 256 | tp->protocol = protocol; | 256 | tp->protocol = protocol; |
| 257 | tp->prio = nprio ? : tcf_auto_prio(*back); | 257 | tp->prio = nprio ? : TC_H_MAJ(tcf_auto_prio(*back)); |
| 258 | tp->q = q; | 258 | tp->q = q; |
| 259 | tp->classify = tp_ops->classify; | 259 | tp->classify = tp_ops->classify; |
| 260 | tp->classid = parent; | 260 | tp->classid = parent; |
diff --git a/scripts/mod/modpost.c b/scripts/mod/modpost.c index 936b6f8e46ff..161b7846733e 100644 --- a/scripts/mod/modpost.c +++ b/scripts/mod/modpost.c | |||
| @@ -384,11 +384,19 @@ static int parse_elf(struct elf_info *info, const char *filename) | |||
| 384 | return 0; | 384 | return 0; |
| 385 | } | 385 | } |
| 386 | /* Fix endianness in ELF header */ | 386 | /* Fix endianness in ELF header */ |
| 387 | hdr->e_shoff = TO_NATIVE(hdr->e_shoff); | 387 | hdr->e_type = TO_NATIVE(hdr->e_type); |
| 388 | hdr->e_shstrndx = TO_NATIVE(hdr->e_shstrndx); | 388 | hdr->e_machine = TO_NATIVE(hdr->e_machine); |
| 389 | hdr->e_shnum = TO_NATIVE(hdr->e_shnum); | 389 | hdr->e_version = TO_NATIVE(hdr->e_version); |
| 390 | hdr->e_machine = TO_NATIVE(hdr->e_machine); | 390 | hdr->e_entry = TO_NATIVE(hdr->e_entry); |
| 391 | hdr->e_type = TO_NATIVE(hdr->e_type); | 391 | hdr->e_phoff = TO_NATIVE(hdr->e_phoff); |
| 392 | hdr->e_shoff = TO_NATIVE(hdr->e_shoff); | ||
| 393 | hdr->e_flags = TO_NATIVE(hdr->e_flags); | ||
| 394 | hdr->e_ehsize = TO_NATIVE(hdr->e_ehsize); | ||
| 395 | hdr->e_phentsize = TO_NATIVE(hdr->e_phentsize); | ||
| 396 | hdr->e_phnum = TO_NATIVE(hdr->e_phnum); | ||
| 397 | hdr->e_shentsize = TO_NATIVE(hdr->e_shentsize); | ||
| 398 | hdr->e_shnum = TO_NATIVE(hdr->e_shnum); | ||
| 399 | hdr->e_shstrndx = TO_NATIVE(hdr->e_shstrndx); | ||
| 392 | sechdrs = (void *)hdr + hdr->e_shoff; | 400 | sechdrs = (void *)hdr + hdr->e_shoff; |
| 393 | info->sechdrs = sechdrs; | 401 | info->sechdrs = sechdrs; |
| 394 | 402 | ||
| @@ -402,13 +410,16 @@ static int parse_elf(struct elf_info *info, const char *filename) | |||
| 402 | 410 | ||
| 403 | /* Fix endianness in section headers */ | 411 | /* Fix endianness in section headers */ |
| 404 | for (i = 0; i < hdr->e_shnum; i++) { | 412 | for (i = 0; i < hdr->e_shnum; i++) { |
| 405 | sechdrs[i].sh_type = TO_NATIVE(sechdrs[i].sh_type); | 413 | sechdrs[i].sh_name = TO_NATIVE(sechdrs[i].sh_name); |
| 406 | sechdrs[i].sh_offset = TO_NATIVE(sechdrs[i].sh_offset); | 414 | sechdrs[i].sh_type = TO_NATIVE(sechdrs[i].sh_type); |
| 407 | sechdrs[i].sh_size = TO_NATIVE(sechdrs[i].sh_size); | 415 | sechdrs[i].sh_flags = TO_NATIVE(sechdrs[i].sh_flags); |
| 408 | sechdrs[i].sh_link = TO_NATIVE(sechdrs[i].sh_link); | 416 | sechdrs[i].sh_addr = TO_NATIVE(sechdrs[i].sh_addr); |
| 409 | sechdrs[i].sh_name = TO_NATIVE(sechdrs[i].sh_name); | 417 | sechdrs[i].sh_offset = TO_NATIVE(sechdrs[i].sh_offset); |
| 410 | sechdrs[i].sh_info = TO_NATIVE(sechdrs[i].sh_info); | 418 | sechdrs[i].sh_size = TO_NATIVE(sechdrs[i].sh_size); |
| 411 | sechdrs[i].sh_addr = TO_NATIVE(sechdrs[i].sh_addr); | 419 | sechdrs[i].sh_link = TO_NATIVE(sechdrs[i].sh_link); |
| 420 | sechdrs[i].sh_info = TO_NATIVE(sechdrs[i].sh_info); | ||
| 421 | sechdrs[i].sh_addralign = TO_NATIVE(sechdrs[i].sh_addralign); | ||
| 422 | sechdrs[i].sh_entsize = TO_NATIVE(sechdrs[i].sh_entsize); | ||
| 412 | } | 423 | } |
| 413 | /* Find symbol table. */ | 424 | /* Find symbol table. */ |
| 414 | for (i = 1; i < hdr->e_shnum; i++) { | 425 | for (i = 1; i < hdr->e_shnum; i++) { |
| @@ -716,7 +727,17 @@ int match(const char *sym, const char * const pat[]) | |||
| 716 | 727 | ||
| 717 | /* sections that we do not want to do full section mismatch check on */ | 728 | /* sections that we do not want to do full section mismatch check on */ |
| 718 | static const char *section_white_list[] = | 729 | static const char *section_white_list[] = |
| 719 | { ".comment", ".debug*", ".stab*", ".note*", ".got*", ".toc*", NULL }; | 730 | { |
| 731 | ".comment*", | ||
| 732 | ".debug*", | ||
| 733 | ".mdebug*", /* alpha, score, mips etc. */ | ||
| 734 | ".pdr", /* alpha, score, mips etc. */ | ||
| 735 | ".stab*", | ||
| 736 | ".note*", | ||
| 737 | ".got*", | ||
| 738 | ".toc*", | ||
| 739 | NULL | ||
| 740 | }; | ||
| 720 | 741 | ||
| 721 | /* | 742 | /* |
| 722 | * This is used to find sections missing the SHF_ALLOC flag. | 743 | * This is used to find sections missing the SHF_ALLOC flag. |
diff --git a/security/selinux/hooks.c b/security/selinux/hooks.c index ba808ef6babb..2fcad7c33eaf 100644 --- a/security/selinux/hooks.c +++ b/security/selinux/hooks.c | |||
| @@ -3153,7 +3153,7 @@ static int selinux_file_send_sigiotask(struct task_struct *tsk, | |||
| 3153 | struct fown_struct *fown, int signum) | 3153 | struct fown_struct *fown, int signum) |
| 3154 | { | 3154 | { |
| 3155 | struct file *file; | 3155 | struct file *file; |
| 3156 | u32 sid = current_sid(); | 3156 | u32 sid = task_sid(tsk); |
| 3157 | u32 perm; | 3157 | u32 perm; |
| 3158 | struct file_security_struct *fsec; | 3158 | struct file_security_struct *fsec; |
| 3159 | 3159 | ||
diff --git a/sound/core/pcm_lib.c b/sound/core/pcm_lib.c index 63d088f2265f..a2a792c18c40 100644 --- a/sound/core/pcm_lib.c +++ b/sound/core/pcm_lib.c | |||
| @@ -249,6 +249,12 @@ static int snd_pcm_update_hw_ptr_interrupt(struct snd_pcm_substream *substream) | |||
| 249 | new_hw_ptr = hw_base + pos; | 249 | new_hw_ptr = hw_base + pos; |
| 250 | } | 250 | } |
| 251 | } | 251 | } |
| 252 | /* Skip the jiffies check for hardwares with BATCH flag. | ||
| 253 | * Such hardware usually just increases the position at each IRQ, | ||
| 254 | * thus it can't give any strange position. | ||
| 255 | */ | ||
| 256 | if (runtime->hw.info & SNDRV_PCM_INFO_BATCH) | ||
| 257 | goto no_jiffies_check; | ||
| 252 | hdelta = new_hw_ptr - old_hw_ptr; | 258 | hdelta = new_hw_ptr - old_hw_ptr; |
| 253 | jdelta = jiffies - runtime->hw_ptr_jiffies; | 259 | jdelta = jiffies - runtime->hw_ptr_jiffies; |
| 254 | if (((hdelta * HZ) / runtime->rate) > jdelta + HZ/100) { | 260 | if (((hdelta * HZ) / runtime->rate) > jdelta + HZ/100) { |
| @@ -272,6 +278,7 @@ static int snd_pcm_update_hw_ptr_interrupt(struct snd_pcm_substream *substream) | |||
| 272 | hw_base -= hw_base % runtime->buffer_size; | 278 | hw_base -= hw_base % runtime->buffer_size; |
| 273 | delta = 0; | 279 | delta = 0; |
| 274 | } | 280 | } |
| 281 | no_jiffies_check: | ||
| 275 | if (delta > runtime->period_size + runtime->period_size / 2) { | 282 | if (delta > runtime->period_size + runtime->period_size / 2) { |
| 276 | hw_ptr_error(substream, | 283 | hw_ptr_error(substream, |
| 277 | "Lost interrupts? " | 284 | "Lost interrupts? " |
diff --git a/sound/isa/msnd/msnd.c b/sound/isa/msnd/msnd.c index 906454413ed2..3a1526ae1729 100644 --- a/sound/isa/msnd/msnd.c +++ b/sound/isa/msnd/msnd.c | |||
| @@ -438,7 +438,8 @@ static void snd_msnd_capture_reset_queue(struct snd_msnd *chip, | |||
| 438 | static struct snd_pcm_hardware snd_msnd_playback = { | 438 | static struct snd_pcm_hardware snd_msnd_playback = { |
| 439 | .info = SNDRV_PCM_INFO_MMAP | | 439 | .info = SNDRV_PCM_INFO_MMAP | |
| 440 | SNDRV_PCM_INFO_INTERLEAVED | | 440 | SNDRV_PCM_INFO_INTERLEAVED | |
| 441 | SNDRV_PCM_INFO_MMAP_VALID, | 441 | SNDRV_PCM_INFO_MMAP_VALID | |
| 442 | SNDRV_PCM_INFO_BATCH, | ||
| 442 | .formats = SNDRV_PCM_FMTBIT_U8 | SNDRV_PCM_FMTBIT_S16_LE, | 443 | .formats = SNDRV_PCM_FMTBIT_U8 | SNDRV_PCM_FMTBIT_S16_LE, |
| 443 | .rates = SNDRV_PCM_RATE_8000_48000, | 444 | .rates = SNDRV_PCM_RATE_8000_48000, |
| 444 | .rate_min = 8000, | 445 | .rate_min = 8000, |
| @@ -456,7 +457,8 @@ static struct snd_pcm_hardware snd_msnd_playback = { | |||
| 456 | static struct snd_pcm_hardware snd_msnd_capture = { | 457 | static struct snd_pcm_hardware snd_msnd_capture = { |
| 457 | .info = SNDRV_PCM_INFO_MMAP | | 458 | .info = SNDRV_PCM_INFO_MMAP | |
| 458 | SNDRV_PCM_INFO_INTERLEAVED | | 459 | SNDRV_PCM_INFO_INTERLEAVED | |
| 459 | SNDRV_PCM_INFO_MMAP_VALID, | 460 | SNDRV_PCM_INFO_MMAP_VALID | |
| 461 | SNDRV_PCM_INFO_BATCH, | ||
| 460 | .formats = SNDRV_PCM_FMTBIT_U8 | SNDRV_PCM_FMTBIT_S16_LE, | 462 | .formats = SNDRV_PCM_FMTBIT_U8 | SNDRV_PCM_FMTBIT_S16_LE, |
| 461 | .rates = SNDRV_PCM_RATE_8000_48000, | 463 | .rates = SNDRV_PCM_RATE_8000_48000, |
| 462 | .rate_min = 8000, | 464 | .rate_min = 8000, |
diff --git a/sound/pci/bt87x.c b/sound/pci/bt87x.c index a299340519df..ce3f2e90f4d7 100644 --- a/sound/pci/bt87x.c +++ b/sound/pci/bt87x.c | |||
| @@ -349,7 +349,8 @@ static struct snd_pcm_hardware snd_bt87x_digital_hw = { | |||
| 349 | .info = SNDRV_PCM_INFO_MMAP | | 349 | .info = SNDRV_PCM_INFO_MMAP | |
| 350 | SNDRV_PCM_INFO_INTERLEAVED | | 350 | SNDRV_PCM_INFO_INTERLEAVED | |
| 351 | SNDRV_PCM_INFO_BLOCK_TRANSFER | | 351 | SNDRV_PCM_INFO_BLOCK_TRANSFER | |
| 352 | SNDRV_PCM_INFO_MMAP_VALID, | 352 | SNDRV_PCM_INFO_MMAP_VALID | |
| 353 | SNDRV_PCM_INFO_BATCH, | ||
| 353 | .formats = SNDRV_PCM_FMTBIT_S16_LE, | 354 | .formats = SNDRV_PCM_FMTBIT_S16_LE, |
| 354 | .rates = 0, /* set at runtime */ | 355 | .rates = 0, /* set at runtime */ |
| 355 | .channels_min = 2, | 356 | .channels_min = 2, |
| @@ -365,7 +366,8 @@ static struct snd_pcm_hardware snd_bt87x_analog_hw = { | |||
| 365 | .info = SNDRV_PCM_INFO_MMAP | | 366 | .info = SNDRV_PCM_INFO_MMAP | |
| 366 | SNDRV_PCM_INFO_INTERLEAVED | | 367 | SNDRV_PCM_INFO_INTERLEAVED | |
| 367 | SNDRV_PCM_INFO_BLOCK_TRANSFER | | 368 | SNDRV_PCM_INFO_BLOCK_TRANSFER | |
| 368 | SNDRV_PCM_INFO_MMAP_VALID, | 369 | SNDRV_PCM_INFO_MMAP_VALID | |
| 370 | SNDRV_PCM_INFO_BATCH, | ||
| 369 | .formats = SNDRV_PCM_FMTBIT_S16_LE | SNDRV_PCM_FMTBIT_S8, | 371 | .formats = SNDRV_PCM_FMTBIT_S16_LE | SNDRV_PCM_FMTBIT_S8, |
| 370 | .rates = SNDRV_PCM_RATE_KNOT, | 372 | .rates = SNDRV_PCM_RATE_KNOT, |
| 371 | .rate_min = ANALOG_CLOCK / CLOCK_DIV_MAX, | 373 | .rate_min = ANALOG_CLOCK / CLOCK_DIV_MAX, |
diff --git a/sound/pci/echoaudio/indigodjx.c b/sound/pci/echoaudio/indigodjx.c index 3482ef69f491..2e44316530a2 100644 --- a/sound/pci/echoaudio/indigodjx.c +++ b/sound/pci/echoaudio/indigodjx.c | |||
| @@ -88,6 +88,7 @@ static struct snd_pcm_hardware pcm_hardware_skel = { | |||
| 88 | .rates = SNDRV_PCM_RATE_32000 | | 88 | .rates = SNDRV_PCM_RATE_32000 | |
| 89 | SNDRV_PCM_RATE_44100 | | 89 | SNDRV_PCM_RATE_44100 | |
| 90 | SNDRV_PCM_RATE_48000 | | 90 | SNDRV_PCM_RATE_48000 | |
| 91 | SNDRV_PCM_RATE_64000 | | ||
| 91 | SNDRV_PCM_RATE_88200 | | 92 | SNDRV_PCM_RATE_88200 | |
| 92 | SNDRV_PCM_RATE_96000, | 93 | SNDRV_PCM_RATE_96000, |
| 93 | .rate_min = 32000, | 94 | .rate_min = 32000, |
diff --git a/sound/pci/echoaudio/indigoiox.c b/sound/pci/echoaudio/indigoiox.c index aebee27a40ff..eb3819f9654a 100644 --- a/sound/pci/echoaudio/indigoiox.c +++ b/sound/pci/echoaudio/indigoiox.c | |||
| @@ -89,6 +89,7 @@ static struct snd_pcm_hardware pcm_hardware_skel = { | |||
| 89 | .rates = SNDRV_PCM_RATE_32000 | | 89 | .rates = SNDRV_PCM_RATE_32000 | |
| 90 | SNDRV_PCM_RATE_44100 | | 90 | SNDRV_PCM_RATE_44100 | |
| 91 | SNDRV_PCM_RATE_48000 | | 91 | SNDRV_PCM_RATE_48000 | |
| 92 | SNDRV_PCM_RATE_64000 | | ||
| 92 | SNDRV_PCM_RATE_88200 | | 93 | SNDRV_PCM_RATE_88200 | |
| 93 | SNDRV_PCM_RATE_96000, | 94 | SNDRV_PCM_RATE_96000, |
| 94 | .rate_min = 32000, | 95 | .rate_min = 32000, |
diff --git a/sound/pci/korg1212/korg1212.c b/sound/pci/korg1212/korg1212.c index 8b79969034be..7cc38a11e997 100644 --- a/sound/pci/korg1212/korg1212.c +++ b/sound/pci/korg1212/korg1212.c | |||
| @@ -1238,7 +1238,8 @@ static struct snd_pcm_hardware snd_korg1212_playback_info = | |||
| 1238 | { | 1238 | { |
| 1239 | .info = (SNDRV_PCM_INFO_MMAP | | 1239 | .info = (SNDRV_PCM_INFO_MMAP | |
| 1240 | SNDRV_PCM_INFO_MMAP_VALID | | 1240 | SNDRV_PCM_INFO_MMAP_VALID | |
| 1241 | SNDRV_PCM_INFO_INTERLEAVED), | 1241 | SNDRV_PCM_INFO_INTERLEAVED | |
| 1242 | SNDRV_PCM_INFO_BATCH), | ||
| 1242 | .formats = SNDRV_PCM_FMTBIT_S16_LE, | 1243 | .formats = SNDRV_PCM_FMTBIT_S16_LE, |
| 1243 | .rates = (SNDRV_PCM_RATE_44100 | | 1244 | .rates = (SNDRV_PCM_RATE_44100 | |
| 1244 | SNDRV_PCM_RATE_48000), | 1245 | SNDRV_PCM_RATE_48000), |
| @@ -1258,7 +1259,8 @@ static struct snd_pcm_hardware snd_korg1212_capture_info = | |||
| 1258 | { | 1259 | { |
| 1259 | .info = (SNDRV_PCM_INFO_MMAP | | 1260 | .info = (SNDRV_PCM_INFO_MMAP | |
| 1260 | SNDRV_PCM_INFO_MMAP_VALID | | 1261 | SNDRV_PCM_INFO_MMAP_VALID | |
| 1261 | SNDRV_PCM_INFO_INTERLEAVED), | 1262 | SNDRV_PCM_INFO_INTERLEAVED | |
| 1263 | SNDRV_PCM_INFO_BATCH), | ||
| 1262 | .formats = SNDRV_PCM_FMTBIT_S16_LE, | 1264 | .formats = SNDRV_PCM_FMTBIT_S16_LE, |
| 1263 | .rates = (SNDRV_PCM_RATE_44100 | | 1265 | .rates = (SNDRV_PCM_RATE_44100 | |
| 1264 | SNDRV_PCM_RATE_48000), | 1266 | SNDRV_PCM_RATE_48000), |
diff --git a/sound/pcmcia/pdaudiocf/pdaudiocf_pcm.c b/sound/pcmcia/pdaudiocf/pdaudiocf_pcm.c index 01066c95580e..d057e6489643 100644 --- a/sound/pcmcia/pdaudiocf/pdaudiocf_pcm.c +++ b/sound/pcmcia/pdaudiocf/pdaudiocf_pcm.c | |||
| @@ -240,7 +240,8 @@ static int pdacf_pcm_prepare(struct snd_pcm_substream *subs) | |||
| 240 | static struct snd_pcm_hardware pdacf_pcm_capture_hw = { | 240 | static struct snd_pcm_hardware pdacf_pcm_capture_hw = { |
| 241 | .info = (SNDRV_PCM_INFO_MMAP | SNDRV_PCM_INFO_INTERLEAVED | | 241 | .info = (SNDRV_PCM_INFO_MMAP | SNDRV_PCM_INFO_INTERLEAVED | |
| 242 | SNDRV_PCM_INFO_PAUSE | SNDRV_PCM_INFO_RESUME | | 242 | SNDRV_PCM_INFO_PAUSE | SNDRV_PCM_INFO_RESUME | |
| 243 | SNDRV_PCM_INFO_MMAP_VALID), | 243 | SNDRV_PCM_INFO_MMAP_VALID | |
| 244 | SNDRV_PCM_INFO_BATCH), | ||
| 244 | .formats = SNDRV_PCM_FMTBIT_S16_LE | SNDRV_PCM_FMTBIT_S16_BE | | 245 | .formats = SNDRV_PCM_FMTBIT_S16_LE | SNDRV_PCM_FMTBIT_S16_BE | |
| 245 | SNDRV_PCM_FMTBIT_S24_3LE | SNDRV_PCM_FMTBIT_S24_3BE | | 246 | SNDRV_PCM_FMTBIT_S24_3LE | SNDRV_PCM_FMTBIT_S24_3BE | |
| 246 | SNDRV_PCM_FMTBIT_S32_LE | SNDRV_PCM_FMTBIT_S32_BE, | 247 | SNDRV_PCM_FMTBIT_S32_LE | SNDRV_PCM_FMTBIT_S32_BE, |
diff --git a/sound/soc/au1x/dbdma2.c b/sound/soc/au1x/dbdma2.c index 30490a259148..594c6c5b7838 100644 --- a/sound/soc/au1x/dbdma2.c +++ b/sound/soc/au1x/dbdma2.c | |||
| @@ -82,7 +82,7 @@ static struct au1xpsc_audio_dmadata *au1xpsc_audio_pcmdma[2]; | |||
| 82 | /* PCM hardware DMA capabilities - platform specific */ | 82 | /* PCM hardware DMA capabilities - platform specific */ |
| 83 | static const struct snd_pcm_hardware au1xpsc_pcm_hardware = { | 83 | static const struct snd_pcm_hardware au1xpsc_pcm_hardware = { |
| 84 | .info = SNDRV_PCM_INFO_MMAP | SNDRV_PCM_INFO_MMAP_VALID | | 84 | .info = SNDRV_PCM_INFO_MMAP | SNDRV_PCM_INFO_MMAP_VALID | |
| 85 | SNDRV_PCM_INFO_INTERLEAVED, | 85 | SNDRV_PCM_INFO_INTERLEAVED | SNDRV_PCM_INFO_BATCH, |
| 86 | .formats = AU1XPSC_PCM_FMTS, | 86 | .formats = AU1XPSC_PCM_FMTS, |
| 87 | .period_bytes_min = AU1XPSC_PERIOD_MIN_BYTES, | 87 | .period_bytes_min = AU1XPSC_PERIOD_MIN_BYTES, |
| 88 | .period_bytes_max = 4096 * 1024 - 1, | 88 | .period_bytes_max = 4096 * 1024 - 1, |
diff --git a/sound/soc/codecs/twl4030.c b/sound/soc/codecs/twl4030.c index 921b205de28a..df7c8c281d2f 100644 --- a/sound/soc/codecs/twl4030.c +++ b/sound/soc/codecs/twl4030.c | |||
| @@ -836,6 +836,12 @@ static DECLARE_TLV_DB_SCALE(analog_tlv, -2400, 200, 0); | |||
| 836 | static DECLARE_TLV_DB_SCALE(output_tvl, -1200, 600, 1); | 836 | static DECLARE_TLV_DB_SCALE(output_tvl, -1200, 600, 1); |
| 837 | 837 | ||
| 838 | /* | 838 | /* |
| 839 | * Gain control for earpiece amplifier | ||
| 840 | * 0 dB to 12 dB in 6 dB steps (mute instead of -6) | ||
| 841 | */ | ||
| 842 | static DECLARE_TLV_DB_SCALE(output_ear_tvl, -600, 600, 1); | ||
| 843 | |||
| 844 | /* | ||
| 839 | * Capture gain after the ADCs | 845 | * Capture gain after the ADCs |
| 840 | * from 0 dB to 31 dB in 1 dB steps | 846 | * from 0 dB to 31 dB in 1 dB steps |
| 841 | */ | 847 | */ |
| @@ -900,7 +906,7 @@ static const struct snd_kcontrol_new twl4030_snd_controls[] = { | |||
| 900 | 4, 3, 0, output_tvl), | 906 | 4, 3, 0, output_tvl), |
| 901 | 907 | ||
| 902 | SOC_SINGLE_TLV_TWL4030("Earpiece Playback Volume", | 908 | SOC_SINGLE_TLV_TWL4030("Earpiece Playback Volume", |
| 903 | TWL4030_REG_EAR_CTL, 4, 3, 0, output_tvl), | 909 | TWL4030_REG_EAR_CTL, 4, 3, 0, output_ear_tvl), |
| 904 | 910 | ||
| 905 | /* Common capture gain controls */ | 911 | /* Common capture gain controls */ |
| 906 | SOC_DOUBLE_R_TLV("TX1 Digital Capture Volume", | 912 | SOC_DOUBLE_R_TLV("TX1 Digital Capture Volume", |
diff --git a/sound/soc/codecs/wm8350.c b/sound/soc/codecs/wm8350.c index 3b1d0993bed9..0275321ff8ab 100644 --- a/sound/soc/codecs/wm8350.c +++ b/sound/soc/codecs/wm8350.c | |||
| @@ -968,7 +968,7 @@ static int wm8350_pcm_trigger(struct snd_pcm_substream *substream, | |||
| 968 | * required for LRC in master mode. The DACs or ADCs need a | 968 | * required for LRC in master mode. The DACs or ADCs need a |
| 969 | * valid audio path i.e. pin -> ADC or DAC -> pin before | 969 | * valid audio path i.e. pin -> ADC or DAC -> pin before |
| 970 | * the LRC will be enabled in master mode. */ | 970 | * the LRC will be enabled in master mode. */ |
| 971 | if (!master && cmd != SNDRV_PCM_TRIGGER_START) | 971 | if (!master || cmd != SNDRV_PCM_TRIGGER_START) |
| 972 | return 0; | 972 | return 0; |
| 973 | 973 | ||
| 974 | if (substream->stream == SNDRV_PCM_STREAM_CAPTURE) { | 974 | if (substream->stream == SNDRV_PCM_STREAM_CAPTURE) { |
diff --git a/sound/soc/fsl/mpc5200_psc_i2s.c b/sound/soc/fsl/mpc5200_psc_i2s.c index 3aa729df27b5..1111c710118a 100644 --- a/sound/soc/fsl/mpc5200_psc_i2s.c +++ b/sound/soc/fsl/mpc5200_psc_i2s.c | |||
| @@ -504,7 +504,8 @@ static struct snd_soc_dai psc_i2s_dai_template = { | |||
| 504 | 504 | ||
| 505 | static const struct snd_pcm_hardware psc_i2s_pcm_hardware = { | 505 | static const struct snd_pcm_hardware psc_i2s_pcm_hardware = { |
| 506 | .info = SNDRV_PCM_INFO_MMAP | SNDRV_PCM_INFO_MMAP_VALID | | 506 | .info = SNDRV_PCM_INFO_MMAP | SNDRV_PCM_INFO_MMAP_VALID | |
| 507 | SNDRV_PCM_INFO_INTERLEAVED | SNDRV_PCM_INFO_BLOCK_TRANSFER, | 507 | SNDRV_PCM_INFO_INTERLEAVED | SNDRV_PCM_INFO_BLOCK_TRANSFER | |
| 508 | SNDRV_PCM_INFO_BATCH, | ||
| 508 | .formats = SNDRV_PCM_FMTBIT_S8 | SNDRV_PCM_FMTBIT_S16_BE | | 509 | .formats = SNDRV_PCM_FMTBIT_S8 | SNDRV_PCM_FMTBIT_S16_BE | |
| 509 | SNDRV_PCM_FMTBIT_S24_BE | SNDRV_PCM_FMTBIT_S32_BE, | 510 | SNDRV_PCM_FMTBIT_S24_BE | SNDRV_PCM_FMTBIT_S32_BE, |
| 510 | .rate_min = 8000, | 511 | .rate_min = 8000, |
diff --git a/sound/soc/sh/dma-sh7760.c b/sound/soc/sh/dma-sh7760.c index 0dad3a0bb920..baddb1242c71 100644 --- a/sound/soc/sh/dma-sh7760.c +++ b/sound/soc/sh/dma-sh7760.c | |||
| @@ -103,7 +103,8 @@ static struct snd_pcm_hardware camelot_pcm_hardware = { | |||
| 103 | .info = (SNDRV_PCM_INFO_MMAP | | 103 | .info = (SNDRV_PCM_INFO_MMAP | |
| 104 | SNDRV_PCM_INFO_INTERLEAVED | | 104 | SNDRV_PCM_INFO_INTERLEAVED | |
| 105 | SNDRV_PCM_INFO_BLOCK_TRANSFER | | 105 | SNDRV_PCM_INFO_BLOCK_TRANSFER | |
| 106 | SNDRV_PCM_INFO_MMAP_VALID), | 106 | SNDRV_PCM_INFO_MMAP_VALID | |
| 107 | SNDRV_PCM_INFO_BATCH), | ||
| 107 | .formats = DMABRG_FMTS, | 108 | .formats = DMABRG_FMTS, |
| 108 | .rates = DMABRG_RATES, | 109 | .rates = DMABRG_RATES, |
| 109 | .rate_min = 8000, | 110 | .rate_min = 8000, |
diff --git a/sound/sparc/dbri.c b/sound/sparc/dbri.c index af95ff1e126c..1d2e51b3f918 100644 --- a/sound/sparc/dbri.c +++ b/sound/sparc/dbri.c | |||
| @@ -1975,7 +1975,8 @@ static struct snd_pcm_hardware snd_dbri_pcm_hw = { | |||
| 1975 | .info = SNDRV_PCM_INFO_MMAP | | 1975 | .info = SNDRV_PCM_INFO_MMAP | |
| 1976 | SNDRV_PCM_INFO_INTERLEAVED | | 1976 | SNDRV_PCM_INFO_INTERLEAVED | |
| 1977 | SNDRV_PCM_INFO_BLOCK_TRANSFER | | 1977 | SNDRV_PCM_INFO_BLOCK_TRANSFER | |
| 1978 | SNDRV_PCM_INFO_MMAP_VALID, | 1978 | SNDRV_PCM_INFO_MMAP_VALID | |
| 1979 | SNDRV_PCM_INFO_BATCH, | ||
| 1979 | .formats = SNDRV_PCM_FMTBIT_MU_LAW | | 1980 | .formats = SNDRV_PCM_FMTBIT_MU_LAW | |
| 1980 | SNDRV_PCM_FMTBIT_A_LAW | | 1981 | SNDRV_PCM_FMTBIT_A_LAW | |
| 1981 | SNDRV_PCM_FMTBIT_U8 | | 1982 | SNDRV_PCM_FMTBIT_U8 | |
diff --git a/sound/usb/usx2y/usbusx2yaudio.c b/sound/usb/usx2y/usbusx2yaudio.c index 9a608fa85155..dd1ab6177840 100644 --- a/sound/usb/usx2y/usbusx2yaudio.c +++ b/sound/usb/usx2y/usbusx2yaudio.c | |||
| @@ -870,7 +870,8 @@ static struct snd_pcm_hardware snd_usX2Y_2c = | |||
| 870 | { | 870 | { |
| 871 | .info = (SNDRV_PCM_INFO_MMAP | SNDRV_PCM_INFO_INTERLEAVED | | 871 | .info = (SNDRV_PCM_INFO_MMAP | SNDRV_PCM_INFO_INTERLEAVED | |
| 872 | SNDRV_PCM_INFO_BLOCK_TRANSFER | | 872 | SNDRV_PCM_INFO_BLOCK_TRANSFER | |
| 873 | SNDRV_PCM_INFO_MMAP_VALID), | 873 | SNDRV_PCM_INFO_MMAP_VALID | |
| 874 | SNDRV_PCM_INFO_BATCH), | ||
| 874 | .formats = SNDRV_PCM_FMTBIT_S16_LE | SNDRV_PCM_FMTBIT_S24_3LE, | 875 | .formats = SNDRV_PCM_FMTBIT_S16_LE | SNDRV_PCM_FMTBIT_S24_3LE, |
| 875 | .rates = SNDRV_PCM_RATE_44100 | SNDRV_PCM_RATE_48000, | 876 | .rates = SNDRV_PCM_RATE_44100 | SNDRV_PCM_RATE_48000, |
| 876 | .rate_min = 44100, | 877 | .rate_min = 44100, |
