diff options
109 files changed, 2432 insertions, 3239 deletions
diff --git a/Documentation/block/biodoc.txt b/Documentation/block/biodoc.txt index ecad6ee75705..6fab97ea7e6b 100644 --- a/Documentation/block/biodoc.txt +++ b/Documentation/block/biodoc.txt | |||
| @@ -1040,23 +1040,21 @@ Front merges are handled by the binary trees in AS and deadline schedulers. | |||
| 1040 | iii. Plugging the queue to batch requests in anticipation of opportunities for | 1040 | iii. Plugging the queue to batch requests in anticipation of opportunities for |
| 1041 | merge/sort optimizations | 1041 | merge/sort optimizations |
| 1042 | 1042 | ||
| 1043 | This is just the same as in 2.4 so far, though per-device unplugging | ||
| 1044 | support is anticipated for 2.5. Also with a priority-based i/o scheduler, | ||
| 1045 | such decisions could be based on request priorities. | ||
| 1046 | |||
| 1047 | Plugging is an approach that the current i/o scheduling algorithm resorts to so | 1043 | Plugging is an approach that the current i/o scheduling algorithm resorts to so |
| 1048 | that it collects up enough requests in the queue to be able to take | 1044 | that it collects up enough requests in the queue to be able to take |
| 1049 | advantage of the sorting/merging logic in the elevator. If the | 1045 | advantage of the sorting/merging logic in the elevator. If the |
| 1050 | queue is empty when a request comes in, then it plugs the request queue | 1046 | queue is empty when a request comes in, then it plugs the request queue |
| 1051 | (sort of like plugging the bottom of a vessel to get fluid to build up) | 1047 | (sort of like plugging the bath tub of a vessel to get fluid to build up) |
| 1052 | till it fills up with a few more requests, before starting to service | 1048 | till it fills up with a few more requests, before starting to service |
| 1053 | the requests. This provides an opportunity to merge/sort the requests before | 1049 | the requests. This provides an opportunity to merge/sort the requests before |
| 1054 | passing them down to the device. There are various conditions when the queue is | 1050 | passing them down to the device. There are various conditions when the queue is |
| 1055 | unplugged (to open up the flow again), either through a scheduled task or | 1051 | unplugged (to open up the flow again), either through a scheduled task or |
| 1056 | could be on demand. For example wait_on_buffer sets the unplugging going | 1052 | could be on demand. For example wait_on_buffer sets the unplugging going |
| 1057 | (by running tq_disk) so the read gets satisfied soon. So in the read case, | 1053 | through sync_buffer() running blk_run_address_space(mapping). Or the caller |
| 1058 | the queue gets explicitly unplugged as part of waiting for completion, | 1054 | can do it explicity through blk_unplug(bdev). So in the read case, |
| 1059 | in fact all queues get unplugged as a side-effect. | 1055 | the queue gets explicitly unplugged as part of waiting for completion on that |
| 1056 | buffer. For page driven IO, the address space ->sync_page() takes care of | ||
| 1057 | doing the blk_run_address_space(). | ||
| 1060 | 1058 | ||
| 1061 | Aside: | 1059 | Aside: |
| 1062 | This is kind of controversial territory, as it's not clear if plugging is | 1060 | This is kind of controversial territory, as it's not clear if plugging is |
| @@ -1067,11 +1065,6 @@ Aside: | |||
| 1067 | multi-page bios being queued in one shot, we may not need to wait to merge | 1065 | multi-page bios being queued in one shot, we may not need to wait to merge |
| 1068 | a big request from the broken up pieces coming by. | 1066 | a big request from the broken up pieces coming by. |
| 1069 | 1067 | ||
| 1070 | Per-queue granularity unplugging (still a Todo) may help reduce some of the | ||
| 1071 | concerns with just a single tq_disk flush approach. Something like | ||
| 1072 | blk_kick_queue() to unplug a specific queue (right away ?) | ||
| 1073 | or optionally, all queues, is in the plan. | ||
| 1074 | |||
| 1075 | 4.4 I/O contexts | 1068 | 4.4 I/O contexts |
| 1076 | I/O contexts provide a dynamically allocated per process data area. They may | 1069 | I/O contexts provide a dynamically allocated per process data area. They may |
| 1077 | be used in I/O schedulers, and in the block layer (could be used for IO statis, | 1070 | be used in I/O schedulers, and in the block layer (could be used for IO statis, |
diff --git a/Documentation/powerpc/dts-bindings/fsl/i2c.txt b/Documentation/powerpc/dts-bindings/fsl/i2c.txt index d0ab33e21fe6..b6d2e21474f9 100644 --- a/Documentation/powerpc/dts-bindings/fsl/i2c.txt +++ b/Documentation/powerpc/dts-bindings/fsl/i2c.txt | |||
| @@ -7,8 +7,10 @@ Required properties : | |||
| 7 | 7 | ||
| 8 | Recommended properties : | 8 | Recommended properties : |
| 9 | 9 | ||
| 10 | - compatible : Should be "fsl-i2c" for parts compatible with | 10 | - compatible : compatibility list with 2 entries, the first should |
| 11 | Freescale I2C specifications. | 11 | be "fsl,CHIP-i2c" where CHIP is the name of a compatible processor, |
| 12 | e.g. mpc8313, mpc8543, mpc8544, mpc5200 or mpc5200b. The second one | ||
| 13 | should be "fsl-i2c". | ||
| 12 | - interrupts : <a b> where a is the interrupt number and b is a | 14 | - interrupts : <a b> where a is the interrupt number and b is a |
| 13 | field that represents an encoding of the sense and level | 15 | field that represents an encoding of the sense and level |
| 14 | information for the interrupt. This should be encoded based on | 16 | information for the interrupt. This should be encoded based on |
| @@ -16,17 +18,31 @@ Recommended properties : | |||
| 16 | controller you have. | 18 | controller you have. |
| 17 | - interrupt-parent : the phandle for the interrupt controller that | 19 | - interrupt-parent : the phandle for the interrupt controller that |
| 18 | services interrupts for this device. | 20 | services interrupts for this device. |
| 19 | - dfsrr : boolean; if defined, indicates that this I2C device has | 21 | - fsl,preserve-clocking : boolean; if defined, the clock settings |
| 20 | a digital filter sampling rate register | 22 | from the bootloader are preserved (not touched). |
| 21 | - fsl5200-clocking : boolean; if defined, indicated that this device | 23 | - clock-frequency : desired I2C bus clock frequency in Hz. |
| 22 | uses the FSL 5200 clocking mechanism. | 24 | |
| 23 | 25 | Examples : | |
| 24 | Example : | 26 | |
| 25 | i2c@3000 { | 27 | i2c@3d00 { |
| 26 | interrupt-parent = <40000>; | 28 | #address-cells = <1>; |
| 27 | interrupts = <1b 3>; | 29 | #size-cells = <0>; |
| 28 | reg = <3000 18>; | 30 | compatible = "fsl,mpc5200b-i2c","fsl,mpc5200-i2c","fsl-i2c"; |
| 29 | device_type = "i2c"; | 31 | cell-index = <0>; |
| 30 | compatible = "fsl-i2c"; | 32 | reg = <0x3d00 0x40>; |
| 31 | dfsrr; | 33 | interrupts = <2 15 0>; |
| 34 | interrupt-parent = <&mpc5200_pic>; | ||
| 35 | fsl,preserve-clocking; | ||
| 32 | }; | 36 | }; |
| 37 | |||
| 38 | i2c@3100 { | ||
| 39 | #address-cells = <1>; | ||
| 40 | #size-cells = <0>; | ||
| 41 | cell-index = <1>; | ||
| 42 | compatible = "fsl,mpc8544-i2c", "fsl-i2c"; | ||
| 43 | reg = <0x3100 0x100>; | ||
| 44 | interrupts = <43 2>; | ||
| 45 | interrupt-parent = <&mpic>; | ||
| 46 | clock-frequency = <400000>; | ||
| 47 | }; | ||
| 48 | |||
diff --git a/Documentation/sound/alsa/HD-Audio.txt b/Documentation/sound/alsa/HD-Audio.txt index c5948f2f9a25..88b7433d2f11 100644 --- a/Documentation/sound/alsa/HD-Audio.txt +++ b/Documentation/sound/alsa/HD-Audio.txt | |||
| @@ -169,7 +169,7 @@ PCI SSID look-up. | |||
| 169 | What `model` option values are available depends on the codec chip. | 169 | What `model` option values are available depends on the codec chip. |
| 170 | Check your codec chip from the codec proc file (see "Codec Proc-File" | 170 | Check your codec chip from the codec proc file (see "Codec Proc-File" |
| 171 | section below). It will show the vendor/product name of your codec | 171 | section below). It will show the vendor/product name of your codec |
| 172 | chip. Then, see Documentation/sound/alsa/HD-Audio-Modelstxt file, | 172 | chip. Then, see Documentation/sound/alsa/HD-Audio-Models.txt file, |
| 173 | the section of HD-audio driver. You can find a list of codecs | 173 | the section of HD-audio driver. You can find a list of codecs |
| 174 | and `model` options belonging to each codec. For example, for Realtek | 174 | and `model` options belonging to each codec. For example, for Realtek |
| 175 | ALC262 codec chip, pass `model=ultra` for devices that are compatible | 175 | ALC262 codec chip, pass `model=ultra` for devices that are compatible |
| @@ -177,7 +177,7 @@ with Samsung Q1 Ultra. | |||
| 177 | 177 | ||
| 178 | Thus, the first thing you can do for any brand-new, unsupported and | 178 | Thus, the first thing you can do for any brand-new, unsupported and |
| 179 | non-working HD-audio hardware is to check HD-audio codec and several | 179 | non-working HD-audio hardware is to check HD-audio codec and several |
| 180 | different `model` option values. If you have a luck, some of them | 180 | different `model` option values. If you have any luck, some of them |
| 181 | might suit with your device well. | 181 | might suit with your device well. |
| 182 | 182 | ||
| 183 | Some codecs such as ALC880 have a special model option `model=test`. | 183 | Some codecs such as ALC880 have a special model option `model=test`. |
diff --git a/arch/arm/configs/imx27ads_defconfig b/arch/arm/configs/imx27ads_defconfig deleted file mode 100644 index bcd95b8dd2df..000000000000 --- a/arch/arm/configs/imx27ads_defconfig +++ /dev/null | |||
| @@ -1,826 +0,0 @@ | |||
| 1 | # | ||
| 2 | # Automatically generated make config: don't edit | ||
| 3 | # Linux kernel version: 2.6.26-rc6 | ||
| 4 | # Fri Jun 20 16:29:34 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_LOCKDEP_SUPPORT=y | ||
| 16 | CONFIG_TRACE_IRQFLAGS_SUPPORT=y | ||
| 17 | CONFIG_HARDIRQS_SW_RESEND=y | ||
| 18 | CONFIG_GENERIC_IRQ_PROBE=y | ||
| 19 | CONFIG_RWSEM_GENERIC_SPINLOCK=y | ||
| 20 | # CONFIG_ARCH_HAS_ILOG2_U32 is not set | ||
| 21 | # CONFIG_ARCH_HAS_ILOG2_U64 is not set | ||
| 22 | CONFIG_GENERIC_HWEIGHT=y | ||
| 23 | CONFIG_GENERIC_CALIBRATE_DELAY=y | ||
| 24 | CONFIG_ARCH_SUPPORTS_AOUT=y | ||
| 25 | CONFIG_ZONE_DMA=y | ||
| 26 | CONFIG_ARCH_MTD_XIP=y | ||
| 27 | CONFIG_VECTORS_BASE=0xffff0000 | ||
| 28 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | ||
| 29 | |||
| 30 | # | ||
| 31 | # General setup | ||
| 32 | # | ||
| 33 | CONFIG_EXPERIMENTAL=y | ||
| 34 | CONFIG_BROKEN_ON_SMP=y | ||
| 35 | CONFIG_LOCK_KERNEL=y | ||
| 36 | CONFIG_INIT_ENV_ARG_LIMIT=32 | ||
| 37 | CONFIG_LOCALVERSION="" | ||
| 38 | CONFIG_LOCALVERSION_AUTO=y | ||
| 39 | # CONFIG_SWAP is not set | ||
| 40 | CONFIG_SYSVIPC=y | ||
| 41 | CONFIG_SYSVIPC_SYSCTL=y | ||
| 42 | CONFIG_POSIX_MQUEUE=y | ||
| 43 | # CONFIG_BSD_PROCESS_ACCT is not set | ||
| 44 | # CONFIG_TASKSTATS is not set | ||
| 45 | # CONFIG_AUDIT is not set | ||
| 46 | # CONFIG_IKCONFIG is not set | ||
| 47 | CONFIG_LOG_BUF_SHIFT=14 | ||
| 48 | # CONFIG_CGROUPS is not set | ||
| 49 | # CONFIG_GROUP_SCHED is not set | ||
| 50 | CONFIG_SYSFS_DEPRECATED=y | ||
| 51 | CONFIG_SYSFS_DEPRECATED_V2=y | ||
| 52 | # CONFIG_RELAY is not set | ||
| 53 | # CONFIG_NAMESPACES is not set | ||
| 54 | # CONFIG_BLK_DEV_INITRD is not set | ||
| 55 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | ||
| 56 | CONFIG_SYSCTL=y | ||
| 57 | CONFIG_EMBEDDED=y | ||
| 58 | CONFIG_UID16=y | ||
| 59 | CONFIG_SYSCTL_SYSCALL=y | ||
| 60 | CONFIG_SYSCTL_SYSCALL_CHECK=y | ||
| 61 | CONFIG_KALLSYMS=y | ||
| 62 | CONFIG_KALLSYMS_EXTRA_PASS=y | ||
| 63 | CONFIG_HOTPLUG=y | ||
| 64 | CONFIG_PRINTK=y | ||
| 65 | CONFIG_BUG=y | ||
| 66 | CONFIG_ELF_CORE=y | ||
| 67 | CONFIG_COMPAT_BRK=y | ||
| 68 | CONFIG_BASE_FULL=y | ||
| 69 | CONFIG_FUTEX=y | ||
| 70 | CONFIG_ANON_INODES=y | ||
| 71 | CONFIG_EPOLL=y | ||
| 72 | CONFIG_SIGNALFD=y | ||
| 73 | CONFIG_TIMERFD=y | ||
| 74 | CONFIG_EVENTFD=y | ||
| 75 | CONFIG_SHMEM=y | ||
| 76 | CONFIG_VM_EVENT_COUNTERS=y | ||
| 77 | CONFIG_SLAB=y | ||
| 78 | # CONFIG_SLUB is not set | ||
| 79 | # CONFIG_SLOB is not set | ||
| 80 | # CONFIG_PROFILING is not set | ||
| 81 | # CONFIG_MARKERS is not set | ||
| 82 | CONFIG_HAVE_OPROFILE=y | ||
| 83 | # CONFIG_KPROBES is not set | ||
| 84 | CONFIG_HAVE_KPROBES=y | ||
| 85 | CONFIG_HAVE_KRETPROBES=y | ||
| 86 | # CONFIG_HAVE_DMA_ATTRS is not set | ||
| 87 | CONFIG_PROC_PAGE_MONITOR=y | ||
| 88 | CONFIG_SLABINFO=y | ||
| 89 | CONFIG_RT_MUTEXES=y | ||
| 90 | # CONFIG_TINY_SHMEM is not set | ||
| 91 | CONFIG_BASE_SMALL=0 | ||
| 92 | CONFIG_MODULES=y | ||
| 93 | # CONFIG_MODULE_FORCE_LOAD is not set | ||
| 94 | CONFIG_MODULE_UNLOAD=y | ||
| 95 | # CONFIG_MODULE_FORCE_UNLOAD is not set | ||
| 96 | # CONFIG_MODVERSIONS is not set | ||
| 97 | # CONFIG_MODULE_SRCVERSION_ALL is not set | ||
| 98 | # CONFIG_KMOD is not set | ||
| 99 | CONFIG_BLOCK=y | ||
| 100 | # CONFIG_LBD is not set | ||
| 101 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
| 102 | # CONFIG_LSF is not set | ||
| 103 | # CONFIG_BLK_DEV_BSG is not set | ||
| 104 | |||
| 105 | # | ||
| 106 | # IO Schedulers | ||
| 107 | # | ||
| 108 | CONFIG_IOSCHED_NOOP=y | ||
| 109 | # CONFIG_IOSCHED_AS is not set | ||
| 110 | # CONFIG_IOSCHED_DEADLINE is not set | ||
| 111 | # CONFIG_IOSCHED_CFQ is not set | ||
| 112 | # CONFIG_DEFAULT_AS is not set | ||
| 113 | # CONFIG_DEFAULT_DEADLINE is not set | ||
| 114 | # CONFIG_DEFAULT_CFQ is not set | ||
| 115 | CONFIG_DEFAULT_NOOP=y | ||
| 116 | CONFIG_DEFAULT_IOSCHED="noop" | ||
| 117 | CONFIG_CLASSIC_RCU=y | ||
| 118 | |||
| 119 | # | ||
| 120 | # System Type | ||
| 121 | # | ||
| 122 | # CONFIG_ARCH_AAEC2000 is not set | ||
| 123 | # CONFIG_ARCH_INTEGRATOR is not set | ||
| 124 | # CONFIG_ARCH_REALVIEW is not set | ||
| 125 | # CONFIG_ARCH_VERSATILE is not set | ||
| 126 | # CONFIG_ARCH_AT91 is not set | ||
| 127 | # CONFIG_ARCH_CLPS7500 is not set | ||
| 128 | # CONFIG_ARCH_CLPS711X is not set | ||
| 129 | # CONFIG_ARCH_CO285 is not set | ||
| 130 | # CONFIG_ARCH_EBSA110 is not set | ||
| 131 | # CONFIG_ARCH_EP93XX is not set | ||
| 132 | # CONFIG_ARCH_FOOTBRIDGE is not set | ||
| 133 | # CONFIG_ARCH_NETX is not set | ||
| 134 | # CONFIG_ARCH_H720X is not set | ||
| 135 | # CONFIG_ARCH_IMX is not set | ||
| 136 | # CONFIG_ARCH_IOP13XX is not set | ||
| 137 | # CONFIG_ARCH_IOP32X is not set | ||
| 138 | # CONFIG_ARCH_IOP33X is not set | ||
| 139 | # CONFIG_ARCH_IXP23XX is not set | ||
| 140 | # CONFIG_ARCH_IXP2000 is not set | ||
| 141 | # CONFIG_ARCH_IXP4XX is not set | ||
| 142 | # CONFIG_ARCH_L7200 is not set | ||
| 143 | # CONFIG_ARCH_KS8695 is not set | ||
| 144 | # CONFIG_ARCH_NS9XXX is not set | ||
| 145 | CONFIG_ARCH_MXC=y | ||
| 146 | # CONFIG_ARCH_ORION5X is not set | ||
| 147 | # CONFIG_ARCH_PNX4008 is not set | ||
| 148 | # CONFIG_ARCH_PXA is not set | ||
| 149 | # CONFIG_ARCH_RPC is not set | ||
| 150 | # CONFIG_ARCH_SA1100 is not set | ||
| 151 | # CONFIG_ARCH_S3C2410 is not set | ||
| 152 | # CONFIG_ARCH_SHARK is not set | ||
| 153 | # CONFIG_ARCH_LH7A40X is not set | ||
| 154 | # CONFIG_ARCH_DAVINCI is not set | ||
| 155 | # CONFIG_ARCH_OMAP is not set | ||
| 156 | # CONFIG_ARCH_MSM7X00A is not set | ||
| 157 | |||
| 158 | # | ||
| 159 | # Boot options | ||
| 160 | # | ||
| 161 | |||
| 162 | # | ||
| 163 | # Power management | ||
| 164 | # | ||
| 165 | |||
| 166 | # | ||
| 167 | # Freescale MXC Implementations | ||
| 168 | # | ||
| 169 | CONFIG_ARCH_MX2=y | ||
| 170 | # CONFIG_ARCH_MX3 is not set | ||
| 171 | |||
| 172 | # | ||
| 173 | # MX2 family CPU support | ||
| 174 | # | ||
| 175 | CONFIG_MACH_MX27=y | ||
| 176 | |||
| 177 | # | ||
| 178 | # MX2 Platforms | ||
| 179 | # | ||
| 180 | CONFIG_MACH_MX27ADS=y | ||
| 181 | # CONFIG_MACH_PCM038 is not set | ||
| 182 | |||
| 183 | # | ||
| 184 | # Processor Type | ||
| 185 | # | ||
| 186 | CONFIG_CPU_32=y | ||
| 187 | CONFIG_CPU_ARM926T=y | ||
| 188 | CONFIG_CPU_32v5=y | ||
| 189 | CONFIG_CPU_ABRT_EV5TJ=y | ||
| 190 | CONFIG_CPU_PABRT_NOIFAR=y | ||
| 191 | CONFIG_CPU_CACHE_VIVT=y | ||
| 192 | CONFIG_CPU_COPY_V4WB=y | ||
| 193 | CONFIG_CPU_TLB_V4WBI=y | ||
| 194 | CONFIG_CPU_CP15=y | ||
| 195 | CONFIG_CPU_CP15_MMU=y | ||
| 196 | |||
| 197 | # | ||
| 198 | # Processor Features | ||
| 199 | # | ||
| 200 | CONFIG_ARM_THUMB=y | ||
| 201 | # CONFIG_CPU_ICACHE_DISABLE is not set | ||
| 202 | # CONFIG_CPU_DCACHE_DISABLE is not set | ||
| 203 | # CONFIG_CPU_DCACHE_WRITETHROUGH is not set | ||
| 204 | # CONFIG_CPU_CACHE_ROUND_ROBIN is not set | ||
| 205 | # CONFIG_OUTER_CACHE is not set | ||
| 206 | |||
| 207 | # | ||
| 208 | # Bus support | ||
| 209 | # | ||
| 210 | # CONFIG_PCI_SYSCALL is not set | ||
| 211 | # CONFIG_ARCH_SUPPORTS_MSI is not set | ||
| 212 | # CONFIG_PCCARD is not set | ||
| 213 | |||
| 214 | # | ||
| 215 | # Kernel Features | ||
| 216 | # | ||
| 217 | CONFIG_TICK_ONESHOT=y | ||
| 218 | CONFIG_NO_HZ=y | ||
| 219 | CONFIG_HIGH_RES_TIMERS=y | ||
| 220 | CONFIG_GENERIC_CLOCKEVENTS_BUILD=y | ||
| 221 | CONFIG_PREEMPT=y | ||
| 222 | CONFIG_HZ=100 | ||
| 223 | CONFIG_AEABI=y | ||
| 224 | # CONFIG_OABI_COMPAT is not set | ||
| 225 | # CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set | ||
| 226 | CONFIG_SELECT_MEMORY_MODEL=y | ||
| 227 | CONFIG_FLATMEM_MANUAL=y | ||
| 228 | # CONFIG_DISCONTIGMEM_MANUAL is not set | ||
| 229 | # CONFIG_SPARSEMEM_MANUAL is not set | ||
| 230 | CONFIG_FLATMEM=y | ||
| 231 | CONFIG_FLAT_NODE_MEM_MAP=y | ||
| 232 | # CONFIG_SPARSEMEM_STATIC is not set | ||
| 233 | # CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set | ||
| 234 | CONFIG_PAGEFLAGS_EXTENDED=y | ||
| 235 | CONFIG_SPLIT_PTLOCK_CPUS=4096 | ||
| 236 | # CONFIG_RESOURCES_64BIT is not set | ||
| 237 | CONFIG_ZONE_DMA_FLAG=1 | ||
| 238 | CONFIG_BOUNCE=y | ||
| 239 | CONFIG_VIRT_TO_BUS=y | ||
| 240 | CONFIG_ALIGNMENT_TRAP=y | ||
| 241 | |||
| 242 | # | ||
| 243 | # Boot options | ||
| 244 | # | ||
| 245 | CONFIG_ZBOOT_ROM_TEXT=0x0 | ||
| 246 | CONFIG_ZBOOT_ROM_BSS=0x0 | ||
| 247 | CONFIG_CMDLINE="" | ||
| 248 | # CONFIG_XIP_KERNEL is not set | ||
| 249 | # CONFIG_KEXEC is not set | ||
| 250 | |||
| 251 | # | ||
| 252 | # Floating point emulation | ||
| 253 | # | ||
| 254 | |||
| 255 | # | ||
| 256 | # At least one emulation must be selected | ||
| 257 | # | ||
| 258 | # CONFIG_VFP is not set | ||
| 259 | |||
| 260 | # | ||
| 261 | # Userspace binary formats | ||
| 262 | # | ||
| 263 | CONFIG_BINFMT_ELF=y | ||
| 264 | # CONFIG_BINFMT_AOUT is not set | ||
| 265 | # CONFIG_BINFMT_MISC is not set | ||
| 266 | |||
| 267 | # | ||
| 268 | # Power management options | ||
| 269 | # | ||
| 270 | # CONFIG_PM is not set | ||
| 271 | CONFIG_ARCH_SUSPEND_POSSIBLE=y | ||
| 272 | |||
| 273 | # | ||
| 274 | # Networking | ||
| 275 | # | ||
| 276 | CONFIG_NET=y | ||
| 277 | |||
| 278 | # | ||
| 279 | # Networking options | ||
| 280 | # | ||
| 281 | CONFIG_PACKET=y | ||
| 282 | CONFIG_PACKET_MMAP=y | ||
| 283 | CONFIG_UNIX=y | ||
| 284 | # CONFIG_NET_KEY is not set | ||
| 285 | CONFIG_INET=y | ||
| 286 | CONFIG_IP_MULTICAST=y | ||
| 287 | # CONFIG_IP_ADVANCED_ROUTER is not set | ||
| 288 | CONFIG_IP_FIB_HASH=y | ||
| 289 | CONFIG_IP_PNP=y | ||
| 290 | # CONFIG_IP_PNP_DHCP is not set | ||
| 291 | # CONFIG_IP_PNP_BOOTP is not set | ||
| 292 | # CONFIG_IP_PNP_RARP is not set | ||
| 293 | # CONFIG_NET_IPIP is not set | ||
| 294 | # CONFIG_NET_IPGRE is not set | ||
| 295 | # CONFIG_IP_MROUTE is not set | ||
| 296 | # CONFIG_ARPD is not set | ||
| 297 | # CONFIG_SYN_COOKIES is not set | ||
| 298 | # CONFIG_INET_AH is not set | ||
| 299 | # CONFIG_INET_ESP is not set | ||
| 300 | # CONFIG_INET_IPCOMP is not set | ||
| 301 | # CONFIG_INET_XFRM_TUNNEL is not set | ||
| 302 | # CONFIG_INET_TUNNEL is not set | ||
| 303 | # CONFIG_INET_XFRM_MODE_TRANSPORT is not set | ||
| 304 | # CONFIG_INET_XFRM_MODE_TUNNEL is not set | ||
| 305 | # CONFIG_INET_XFRM_MODE_BEET is not set | ||
| 306 | # CONFIG_INET_LRO is not set | ||
| 307 | # CONFIG_INET_DIAG is not set | ||
| 308 | # CONFIG_TCP_CONG_ADVANCED is not set | ||
| 309 | CONFIG_TCP_CONG_CUBIC=y | ||
| 310 | CONFIG_DEFAULT_TCP_CONG="cubic" | ||
| 311 | # CONFIG_TCP_MD5SIG is not set | ||
| 312 | # CONFIG_IPV6 is not set | ||
| 313 | # CONFIG_NETWORK_SECMARK is not set | ||
| 314 | # CONFIG_NETFILTER is not set | ||
| 315 | # CONFIG_IP_DCCP is not set | ||
| 316 | # CONFIG_IP_SCTP is not set | ||
| 317 | # CONFIG_TIPC is not set | ||
| 318 | # CONFIG_ATM is not set | ||
| 319 | # CONFIG_BRIDGE is not set | ||
| 320 | # CONFIG_VLAN_8021Q is not set | ||
| 321 | # CONFIG_DECNET is not set | ||
| 322 | # CONFIG_LLC2 is not set | ||
| 323 | # CONFIG_IPX is not set | ||
| 324 | # CONFIG_ATALK is not set | ||
| 325 | # CONFIG_X25 is not set | ||
| 326 | # CONFIG_LAPB is not set | ||
| 327 | # CONFIG_ECONET is not set | ||
| 328 | # CONFIG_WAN_ROUTER is not set | ||
| 329 | # CONFIG_NET_SCHED is not set | ||
| 330 | |||
| 331 | # | ||
| 332 | # Network testing | ||
| 333 | # | ||
| 334 | # CONFIG_NET_PKTGEN is not set | ||
| 335 | # CONFIG_HAMRADIO is not set | ||
| 336 | # CONFIG_CAN is not set | ||
| 337 | # CONFIG_IRDA is not set | ||
| 338 | # CONFIG_BT is not set | ||
| 339 | # CONFIG_AF_RXRPC is not set | ||
| 340 | |||
| 341 | # | ||
| 342 | # Wireless | ||
| 343 | # | ||
| 344 | # CONFIG_CFG80211 is not set | ||
| 345 | # CONFIG_WIRELESS_EXT is not set | ||
| 346 | # CONFIG_MAC80211 is not set | ||
| 347 | # CONFIG_IEEE80211 is not set | ||
| 348 | # CONFIG_RFKILL is not set | ||
| 349 | # CONFIG_NET_9P is not set | ||
| 350 | |||
| 351 | # | ||
| 352 | # Device Drivers | ||
| 353 | # | ||
| 354 | |||
| 355 | # | ||
| 356 | # Generic Driver Options | ||
| 357 | # | ||
| 358 | CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" | ||
| 359 | CONFIG_STANDALONE=y | ||
| 360 | CONFIG_PREVENT_FIRMWARE_BUILD=y | ||
| 361 | # CONFIG_FW_LOADER is not set | ||
| 362 | # CONFIG_SYS_HYPERVISOR is not set | ||
| 363 | # CONFIG_CONNECTOR is not set | ||
| 364 | CONFIG_MTD=y | ||
| 365 | # CONFIG_MTD_DEBUG is not set | ||
| 366 | # CONFIG_MTD_CONCAT is not set | ||
| 367 | CONFIG_MTD_PARTITIONS=y | ||
| 368 | # CONFIG_MTD_REDBOOT_PARTS is not set | ||
| 369 | CONFIG_MTD_CMDLINE_PARTS=y | ||
| 370 | # CONFIG_MTD_AFS_PARTS is not set | ||
| 371 | # CONFIG_MTD_AR7_PARTS is not set | ||
| 372 | |||
| 373 | # | ||
| 374 | # User Modules And Translation Layers | ||
| 375 | # | ||
| 376 | CONFIG_MTD_CHAR=y | ||
| 377 | CONFIG_MTD_BLKDEVS=y | ||
| 378 | CONFIG_MTD_BLOCK=y | ||
| 379 | # CONFIG_FTL is not set | ||
| 380 | # CONFIG_NFTL is not set | ||
| 381 | # CONFIG_INFTL is not set | ||
| 382 | # CONFIG_RFD_FTL is not set | ||
| 383 | # CONFIG_SSFDC is not set | ||
| 384 | # CONFIG_MTD_OOPS is not set | ||
| 385 | |||
| 386 | # | ||
| 387 | # RAM/ROM/Flash chip drivers | ||
| 388 | # | ||
| 389 | CONFIG_MTD_CFI=y | ||
| 390 | # CONFIG_MTD_JEDECPROBE is not set | ||
| 391 | CONFIG_MTD_GEN_PROBE=y | ||
| 392 | CONFIG_MTD_CFI_ADV_OPTIONS=y | ||
| 393 | CONFIG_MTD_CFI_NOSWAP=y | ||
| 394 | # CONFIG_MTD_CFI_BE_BYTE_SWAP is not set | ||
| 395 | # CONFIG_MTD_CFI_LE_BYTE_SWAP is not set | ||
| 396 | CONFIG_MTD_CFI_GEOMETRY=y | ||
| 397 | # CONFIG_MTD_MAP_BANK_WIDTH_1 is not set | ||
| 398 | CONFIG_MTD_MAP_BANK_WIDTH_2=y | ||
| 399 | # CONFIG_MTD_MAP_BANK_WIDTH_4 is not set | ||
| 400 | # CONFIG_MTD_MAP_BANK_WIDTH_8 is not set | ||
| 401 | # CONFIG_MTD_MAP_BANK_WIDTH_16 is not set | ||
| 402 | # CONFIG_MTD_MAP_BANK_WIDTH_32 is not set | ||
| 403 | CONFIG_MTD_CFI_I1=y | ||
| 404 | # CONFIG_MTD_CFI_I2 is not set | ||
| 405 | # CONFIG_MTD_CFI_I4 is not set | ||
| 406 | # CONFIG_MTD_CFI_I8 is not set | ||
| 407 | # CONFIG_MTD_OTP is not set | ||
| 408 | CONFIG_MTD_CFI_INTELEXT=y | ||
| 409 | # CONFIG_MTD_CFI_AMDSTD is not set | ||
| 410 | # CONFIG_MTD_CFI_STAA is not set | ||
| 411 | CONFIG_MTD_CFI_UTIL=y | ||
| 412 | # CONFIG_MTD_RAM is not set | ||
| 413 | # CONFIG_MTD_ROM is not set | ||
| 414 | # CONFIG_MTD_ABSENT is not set | ||
| 415 | # CONFIG_MTD_XIP is not set | ||
| 416 | |||
| 417 | # | ||
| 418 | # Mapping drivers for chip access | ||
| 419 | # | ||
| 420 | # CONFIG_MTD_COMPLEX_MAPPINGS is not set | ||
| 421 | CONFIG_MTD_PHYSMAP=y | ||
| 422 | CONFIG_MTD_PHYSMAP_START=0x00000000 | ||
| 423 | CONFIG_MTD_PHYSMAP_LEN=0x0 | ||
| 424 | CONFIG_MTD_PHYSMAP_BANKWIDTH=2 | ||
| 425 | # CONFIG_MTD_ARM_INTEGRATOR is not set | ||
| 426 | # CONFIG_MTD_PLATRAM is not set | ||
| 427 | |||
| 428 | # | ||
| 429 | # Self-contained MTD device drivers | ||
| 430 | # | ||
| 431 | # CONFIG_MTD_SLRAM is not set | ||
| 432 | # CONFIG_MTD_PHRAM is not set | ||
| 433 | # CONFIG_MTD_MTDRAM is not set | ||
| 434 | # CONFIG_MTD_BLOCK2MTD is not set | ||
| 435 | |||
| 436 | # | ||
| 437 | # Disk-On-Chip Device Drivers | ||
| 438 | # | ||
| 439 | # CONFIG_MTD_DOC2000 is not set | ||
| 440 | # CONFIG_MTD_DOC2001 is not set | ||
| 441 | # CONFIG_MTD_DOC2001PLUS is not set | ||
| 442 | # CONFIG_MTD_NAND is not set | ||
| 443 | # CONFIG_MTD_ONENAND is not set | ||
| 444 | |||
| 445 | # | ||
| 446 | # UBI - Unsorted block images | ||
| 447 | # | ||
| 448 | # CONFIG_MTD_UBI is not set | ||
| 449 | # CONFIG_PARPORT is not set | ||
| 450 | CONFIG_BLK_DEV=y | ||
| 451 | # CONFIG_BLK_DEV_COW_COMMON is not set | ||
| 452 | # CONFIG_BLK_DEV_LOOP is not set | ||
| 453 | # CONFIG_BLK_DEV_NBD is not set | ||
| 454 | # CONFIG_BLK_DEV_RAM is not set | ||
| 455 | # CONFIG_CDROM_PKTCDVD is not set | ||
| 456 | # CONFIG_ATA_OVER_ETH is not set | ||
| 457 | # CONFIG_MISC_DEVICES is not set | ||
| 458 | CONFIG_HAVE_IDE=y | ||
| 459 | # CONFIG_IDE is not set | ||
| 460 | |||
| 461 | # | ||
| 462 | # SCSI device support | ||
| 463 | # | ||
| 464 | # CONFIG_RAID_ATTRS is not set | ||
| 465 | # CONFIG_SCSI is not set | ||
| 466 | # CONFIG_SCSI_DMA is not set | ||
| 467 | # CONFIG_SCSI_NETLINK is not set | ||
| 468 | # CONFIG_ATA is not set | ||
| 469 | # CONFIG_MD is not set | ||
| 470 | CONFIG_NETDEVICES=y | ||
| 471 | # CONFIG_NETDEVICES_MULTIQUEUE is not set | ||
| 472 | # CONFIG_DUMMY is not set | ||
| 473 | # CONFIG_BONDING is not set | ||
| 474 | # CONFIG_MACVLAN is not set | ||
| 475 | # CONFIG_EQUALIZER is not set | ||
| 476 | # CONFIG_TUN is not set | ||
| 477 | # CONFIG_VETH is not set | ||
| 478 | # CONFIG_PHYLIB is not set | ||
| 479 | CONFIG_NET_ETHERNET=y | ||
| 480 | # CONFIG_MII is not set | ||
| 481 | # CONFIG_AX88796 is not set | ||
| 482 | # CONFIG_SMC91X is not set | ||
| 483 | # CONFIG_DM9000 is not set | ||
| 484 | # CONFIG_IBM_NEW_EMAC_ZMII is not set | ||
| 485 | # CONFIG_IBM_NEW_EMAC_RGMII is not set | ||
| 486 | # CONFIG_IBM_NEW_EMAC_TAH is not set | ||
| 487 | # CONFIG_IBM_NEW_EMAC_EMAC4 is not set | ||
| 488 | # CONFIG_B44 is not set | ||
| 489 | # CONFIG_FEC_OLD is not set | ||
| 490 | # CONFIG_NETDEV_1000 is not set | ||
| 491 | # CONFIG_NETDEV_10000 is not set | ||
| 492 | |||
| 493 | # | ||
| 494 | # Wireless LAN | ||
| 495 | # | ||
| 496 | # CONFIG_WLAN_PRE80211 is not set | ||
| 497 | # CONFIG_WLAN_80211 is not set | ||
| 498 | # CONFIG_IWLWIFI_LEDS is not set | ||
| 499 | # CONFIG_WAN is not set | ||
| 500 | # CONFIG_PPP is not set | ||
| 501 | # CONFIG_SLIP is not set | ||
| 502 | # CONFIG_NETCONSOLE is not set | ||
| 503 | # CONFIG_NETPOLL is not set | ||
| 504 | # CONFIG_NET_POLL_CONTROLLER is not set | ||
| 505 | # CONFIG_ISDN is not set | ||
| 506 | |||
| 507 | # | ||
| 508 | # Input device support | ||
| 509 | # | ||
| 510 | CONFIG_INPUT=y | ||
| 511 | # CONFIG_INPUT_FF_MEMLESS is not set | ||
| 512 | # CONFIG_INPUT_POLLDEV is not set | ||
| 513 | |||
| 514 | # | ||
| 515 | # Userland interfaces | ||
| 516 | # | ||
| 517 | # CONFIG_INPUT_MOUSEDEV is not set | ||
| 518 | # CONFIG_INPUT_JOYDEV is not set | ||
| 519 | CONFIG_INPUT_EVDEV=y | ||
| 520 | # CONFIG_INPUT_EVBUG is not set | ||
| 521 | |||
| 522 | # | ||
| 523 | # Input Device Drivers | ||
| 524 | # | ||
| 525 | # CONFIG_INPUT_KEYBOARD is not set | ||
| 526 | # CONFIG_INPUT_MOUSE is not set | ||
| 527 | # CONFIG_INPUT_JOYSTICK is not set | ||
| 528 | # CONFIG_INPUT_TABLET is not set | ||
| 529 | CONFIG_INPUT_TOUCHSCREEN=y | ||
| 530 | # CONFIG_TOUCHSCREEN_FUJITSU is not set | ||
| 531 | # CONFIG_TOUCHSCREEN_GUNZE is not set | ||
| 532 | # CONFIG_TOUCHSCREEN_ELO is not set | ||
| 533 | # CONFIG_TOUCHSCREEN_MTOUCH is not set | ||
| 534 | # CONFIG_TOUCHSCREEN_MK712 is not set | ||
| 535 | # CONFIG_TOUCHSCREEN_PENMOUNT is not set | ||
| 536 | # CONFIG_TOUCHSCREEN_TOUCHRIGHT is not set | ||
| 537 | # CONFIG_TOUCHSCREEN_TOUCHWIN is not set | ||
| 538 | # CONFIG_TOUCHSCREEN_UCB1400 is not set | ||
| 539 | # CONFIG_INPUT_MISC is not set | ||
| 540 | |||
| 541 | # | ||
| 542 | # Hardware I/O ports | ||
| 543 | # | ||
| 544 | # CONFIG_SERIO is not set | ||
| 545 | # CONFIG_GAMEPORT is not set | ||
| 546 | |||
| 547 | # | ||
| 548 | # Character devices | ||
| 549 | # | ||
| 550 | # CONFIG_VT is not set | ||
| 551 | CONFIG_DEVKMEM=y | ||
| 552 | # CONFIG_SERIAL_NONSTANDARD is not set | ||
| 553 | |||
| 554 | # | ||
| 555 | # Serial drivers | ||
| 556 | # | ||
| 557 | # CONFIG_SERIAL_8250 is not set | ||
| 558 | |||
| 559 | # | ||
| 560 | # Non-8250 serial port support | ||
| 561 | # | ||
| 562 | # CONFIG_SERIAL_IMX is not set | ||
| 563 | CONFIG_UNIX98_PTYS=y | ||
| 564 | # CONFIG_LEGACY_PTYS is not set | ||
| 565 | # CONFIG_IPMI_HANDLER is not set | ||
| 566 | # CONFIG_HW_RANDOM is not set | ||
| 567 | # CONFIG_NVRAM is not set | ||
| 568 | # CONFIG_R3964 is not set | ||
| 569 | # CONFIG_RAW_DRIVER is not set | ||
| 570 | # CONFIG_TCG_TPM is not set | ||
| 571 | # CONFIG_I2C is not set | ||
| 572 | # CONFIG_SPI is not set | ||
| 573 | CONFIG_HAVE_GPIO_LIB=y | ||
| 574 | |||
| 575 | # | ||
| 576 | # GPIO Support | ||
| 577 | # | ||
| 578 | |||
| 579 | # | ||
| 580 | # I2C GPIO expanders: | ||
| 581 | # | ||
| 582 | |||
| 583 | # | ||
| 584 | # SPI GPIO expanders: | ||
| 585 | # | ||
| 586 | # CONFIG_W1 is not set | ||
| 587 | # CONFIG_POWER_SUPPLY is not set | ||
| 588 | # CONFIG_HWMON is not set | ||
| 589 | # CONFIG_WATCHDOG is not set | ||
| 590 | |||
| 591 | # | ||
| 592 | # Sonics Silicon Backplane | ||
| 593 | # | ||
| 594 | CONFIG_SSB_POSSIBLE=y | ||
| 595 | # CONFIG_SSB is not set | ||
| 596 | |||
| 597 | # | ||
| 598 | # Multifunction device drivers | ||
| 599 | # | ||
| 600 | # CONFIG_MFD_SM501 is not set | ||
| 601 | # CONFIG_MFD_ASIC3 is not set | ||
| 602 | # CONFIG_HTC_EGPIO is not set | ||
| 603 | # CONFIG_HTC_PASIC3 is not set | ||
| 604 | |||
| 605 | # | ||
| 606 | # Multimedia devices | ||
| 607 | # | ||
| 608 | |||
| 609 | # | ||
| 610 | # Multimedia core support | ||
| 611 | # | ||
| 612 | # CONFIG_VIDEO_DEV is not set | ||
| 613 | # CONFIG_DVB_CORE is not set | ||
| 614 | # CONFIG_VIDEO_MEDIA is not set | ||
| 615 | |||
| 616 | # | ||
| 617 | # Multimedia drivers | ||
| 618 | # | ||
| 619 | # CONFIG_DAB is not set | ||
| 620 | |||
| 621 | # | ||
| 622 | # Graphics support | ||
| 623 | # | ||
| 624 | # CONFIG_VGASTATE is not set | ||
| 625 | # CONFIG_VIDEO_OUTPUT_CONTROL is not set | ||
| 626 | # CONFIG_FB is not set | ||
| 627 | # CONFIG_BACKLIGHT_LCD_SUPPORT is not set | ||
| 628 | |||
| 629 | # | ||
| 630 | # Display device support | ||
| 631 | # | ||
| 632 | # CONFIG_DISPLAY_SUPPORT is not set | ||
| 633 | |||
| 634 | # | ||
| 635 | # Sound | ||
| 636 | # | ||
| 637 | # CONFIG_SOUND is not set | ||
| 638 | # CONFIG_HID_SUPPORT is not set | ||
| 639 | # CONFIG_USB_SUPPORT is not set | ||
| 640 | # CONFIG_MMC is not set | ||
| 641 | # CONFIG_NEW_LEDS is not set | ||
| 642 | CONFIG_RTC_LIB=y | ||
| 643 | # CONFIG_RTC_CLASS is not set | ||
| 644 | # CONFIG_UIO is not set | ||
| 645 | |||
| 646 | # | ||
| 647 | # File systems | ||
| 648 | # | ||
| 649 | # CONFIG_EXT2_FS is not set | ||
| 650 | # CONFIG_EXT3_FS is not set | ||
| 651 | # CONFIG_EXT4DEV_FS is not set | ||
| 652 | # CONFIG_REISERFS_FS is not set | ||
| 653 | # CONFIG_JFS_FS is not set | ||
| 654 | # CONFIG_FS_POSIX_ACL is not set | ||
| 655 | # CONFIG_XFS_FS is not set | ||
| 656 | # CONFIG_OCFS2_FS is not set | ||
| 657 | # CONFIG_DNOTIFY is not set | ||
| 658 | # CONFIG_INOTIFY is not set | ||
| 659 | # CONFIG_QUOTA is not set | ||
| 660 | # CONFIG_AUTOFS_FS is not set | ||
| 661 | # CONFIG_AUTOFS4_FS is not set | ||
| 662 | # CONFIG_FUSE_FS is not set | ||
| 663 | |||
| 664 | # | ||
| 665 | # CD-ROM/DVD Filesystems | ||
| 666 | # | ||
| 667 | # CONFIG_ISO9660_FS is not set | ||
| 668 | # CONFIG_UDF_FS is not set | ||
| 669 | |||
| 670 | # | ||
| 671 | # DOS/FAT/NT Filesystems | ||
| 672 | # | ||
| 673 | # CONFIG_MSDOS_FS is not set | ||
| 674 | # CONFIG_VFAT_FS is not set | ||
| 675 | # CONFIG_NTFS_FS is not set | ||
| 676 | |||
| 677 | # | ||
| 678 | # Pseudo filesystems | ||
| 679 | # | ||
| 680 | CONFIG_PROC_FS=y | ||
| 681 | CONFIG_PROC_SYSCTL=y | ||
| 682 | CONFIG_SYSFS=y | ||
| 683 | CONFIG_TMPFS=y | ||
| 684 | # CONFIG_TMPFS_POSIX_ACL is not set | ||
| 685 | # CONFIG_HUGETLB_PAGE is not set | ||
| 686 | # CONFIG_CONFIGFS_FS is not set | ||
| 687 | |||
| 688 | # | ||
| 689 | # Miscellaneous filesystems | ||
| 690 | # | ||
| 691 | # CONFIG_ADFS_FS is not set | ||
| 692 | # CONFIG_AFFS_FS is not set | ||
| 693 | # CONFIG_HFS_FS is not set | ||
| 694 | # CONFIG_HFSPLUS_FS is not set | ||
| 695 | # CONFIG_BEFS_FS is not set | ||
| 696 | # CONFIG_BFS_FS is not set | ||
| 697 | # CONFIG_EFS_FS is not set | ||
| 698 | CONFIG_JFFS2_FS=y | ||
| 699 | CONFIG_JFFS2_FS_DEBUG=0 | ||
| 700 | CONFIG_JFFS2_FS_WRITEBUFFER=y | ||
| 701 | # CONFIG_JFFS2_FS_WBUF_VERIFY is not set | ||
| 702 | # CONFIG_JFFS2_SUMMARY is not set | ||
| 703 | # CONFIG_JFFS2_FS_XATTR is not set | ||
| 704 | # CONFIG_JFFS2_COMPRESSION_OPTIONS is not set | ||
| 705 | CONFIG_JFFS2_ZLIB=y | ||
| 706 | # CONFIG_JFFS2_LZO is not set | ||
| 707 | CONFIG_JFFS2_RTIME=y | ||
| 708 | # CONFIG_JFFS2_RUBIN is not set | ||
| 709 | # CONFIG_CRAMFS is not set | ||
| 710 | # CONFIG_VXFS_FS is not set | ||
| 711 | # CONFIG_MINIX_FS is not set | ||
| 712 | # CONFIG_HPFS_FS is not set | ||
| 713 | # CONFIG_QNX4FS_FS is not set | ||
| 714 | # CONFIG_ROMFS_FS is not set | ||
| 715 | # CONFIG_SYSV_FS is not set | ||
| 716 | # CONFIG_UFS_FS is not set | ||
| 717 | CONFIG_NETWORK_FILESYSTEMS=y | ||
| 718 | CONFIG_NFS_FS=y | ||
| 719 | CONFIG_NFS_V3=y | ||
| 720 | # CONFIG_NFS_V3_ACL is not set | ||
| 721 | # CONFIG_NFS_V4 is not set | ||
| 722 | # CONFIG_NFSD is not set | ||
| 723 | CONFIG_ROOT_NFS=y | ||
| 724 | CONFIG_LOCKD=y | ||
| 725 | CONFIG_LOCKD_V4=y | ||
| 726 | CONFIG_NFS_COMMON=y | ||
| 727 | CONFIG_SUNRPC=y | ||
| 728 | # CONFIG_SUNRPC_BIND34 is not set | ||
| 729 | # CONFIG_RPCSEC_GSS_KRB5 is not set | ||
| 730 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | ||
| 731 | # CONFIG_SMB_FS is not set | ||
| 732 | # CONFIG_CIFS is not set | ||
| 733 | # CONFIG_NCP_FS is not set | ||
| 734 | # CONFIG_CODA_FS is not set | ||
| 735 | # CONFIG_AFS_FS is not set | ||
| 736 | |||
| 737 | # | ||
| 738 | # Partition Types | ||
| 739 | # | ||
| 740 | # CONFIG_PARTITION_ADVANCED is not set | ||
| 741 | CONFIG_MSDOS_PARTITION=y | ||
| 742 | CONFIG_NLS=y | ||
| 743 | CONFIG_NLS_DEFAULT="iso8859-1" | ||
| 744 | CONFIG_NLS_CODEPAGE_437=m | ||
| 745 | # CONFIG_NLS_CODEPAGE_737 is not set | ||
| 746 | # CONFIG_NLS_CODEPAGE_775 is not set | ||
| 747 | CONFIG_NLS_CODEPAGE_850=m | ||
| 748 | # CONFIG_NLS_CODEPAGE_852 is not set | ||
| 749 | # CONFIG_NLS_CODEPAGE_855 is not set | ||
| 750 | # CONFIG_NLS_CODEPAGE_857 is not set | ||
| 751 | # CONFIG_NLS_CODEPAGE_860 is not set | ||
| 752 | # CONFIG_NLS_CODEPAGE_861 is not set | ||
| 753 | # CONFIG_NLS_CODEPAGE_862 is not set | ||
| 754 | # CONFIG_NLS_CODEPAGE_863 is not set | ||
| 755 | # CONFIG_NLS_CODEPAGE_864 is not set | ||
| 756 | # CONFIG_NLS_CODEPAGE_865 is not set | ||
| 757 | # CONFIG_NLS_CODEPAGE_866 is not set | ||
| 758 | # CONFIG_NLS_CODEPAGE_869 is not set | ||
| 759 | # CONFIG_NLS_CODEPAGE_936 is not set | ||
| 760 | # CONFIG_NLS_CODEPAGE_950 is not set | ||
| 761 | # CONFIG_NLS_CODEPAGE_932 is not set | ||
| 762 | # CONFIG_NLS_CODEPAGE_949 is not set | ||
| 763 | # CONFIG_NLS_CODEPAGE_874 is not set | ||
| 764 | # CONFIG_NLS_ISO8859_8 is not set | ||
| 765 | # CONFIG_NLS_CODEPAGE_1250 is not set | ||
| 766 | # CONFIG_NLS_CODEPAGE_1251 is not set | ||
| 767 | # CONFIG_NLS_ASCII is not set | ||
| 768 | CONFIG_NLS_ISO8859_1=y | ||
| 769 | # CONFIG_NLS_ISO8859_2 is not set | ||
| 770 | # CONFIG_NLS_ISO8859_3 is not set | ||
| 771 | # CONFIG_NLS_ISO8859_4 is not set | ||
| 772 | # CONFIG_NLS_ISO8859_5 is not set | ||
| 773 | # CONFIG_NLS_ISO8859_6 is not set | ||
| 774 | # CONFIG_NLS_ISO8859_7 is not set | ||
| 775 | # CONFIG_NLS_ISO8859_9 is not set | ||
| 776 | # CONFIG_NLS_ISO8859_13 is not set | ||
| 777 | # CONFIG_NLS_ISO8859_14 is not set | ||
| 778 | CONFIG_NLS_ISO8859_15=m | ||
| 779 | # CONFIG_NLS_KOI8_R is not set | ||
| 780 | # CONFIG_NLS_KOI8_U is not set | ||
| 781 | # CONFIG_NLS_UTF8 is not set | ||
| 782 | # CONFIG_DLM is not set | ||
| 783 | |||
| 784 | # | ||
| 785 | # Kernel hacking | ||
| 786 | # | ||
| 787 | # CONFIG_PRINTK_TIME is not set | ||
| 788 | CONFIG_ENABLE_WARN_DEPRECATED=y | ||
| 789 | CONFIG_ENABLE_MUST_CHECK=y | ||
| 790 | CONFIG_FRAME_WARN=1024 | ||
| 791 | # CONFIG_MAGIC_SYSRQ is not set | ||
| 792 | # CONFIG_UNUSED_SYMBOLS is not set | ||
| 793 | # CONFIG_DEBUG_FS is not set | ||
| 794 | # CONFIG_HEADERS_CHECK is not set | ||
| 795 | # CONFIG_DEBUG_KERNEL is not set | ||
| 796 | # CONFIG_DEBUG_BUGVERBOSE is not set | ||
| 797 | CONFIG_FRAME_POINTER=y | ||
| 798 | # CONFIG_SAMPLES is not set | ||
| 799 | # CONFIG_DEBUG_USER is not set | ||
| 800 | |||
| 801 | # | ||
| 802 | # Security options | ||
| 803 | # | ||
| 804 | # CONFIG_KEYS is not set | ||
| 805 | # CONFIG_SECURITY is not set | ||
| 806 | # CONFIG_SECURITY_FILE_CAPABILITIES is not set | ||
| 807 | # CONFIG_CRYPTO is not set | ||
| 808 | |||
| 809 | # | ||
| 810 | # Library routines | ||
| 811 | # | ||
| 812 | CONFIG_BITREVERSE=y | ||
| 813 | # CONFIG_GENERIC_FIND_FIRST_BIT is not set | ||
| 814 | # CONFIG_GENERIC_FIND_NEXT_BIT is not set | ||
| 815 | # CONFIG_CRC_CCITT is not set | ||
| 816 | # CONFIG_CRC16 is not set | ||
| 817 | # CONFIG_CRC_ITU_T is not set | ||
| 818 | CONFIG_CRC32=y | ||
| 819 | # CONFIG_CRC7 is not set | ||
| 820 | # CONFIG_LIBCRC32C is not set | ||
| 821 | CONFIG_ZLIB_INFLATE=y | ||
| 822 | CONFIG_ZLIB_DEFLATE=y | ||
| 823 | CONFIG_PLIST=y | ||
| 824 | CONFIG_HAS_IOMEM=y | ||
| 825 | CONFIG_HAS_IOPORT=y | ||
| 826 | CONFIG_HAS_DMA=y | ||
diff --git a/arch/arm/configs/mx31ads_defconfig b/arch/arm/configs/mx1_defconfig index e05271753e15..0200d67e30ba 100644 --- a/arch/arm/configs/mx31ads_defconfig +++ b/arch/arm/configs/mx1_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.26-rc6 | 3 | # Linux kernel version: 2.6.30-rc1 |
| 4 | # Fri Jun 20 16:21:11 2008 | 4 | # Wed Apr 8 11:11:33 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 |
| @@ -12,6 +12,7 @@ CONFIG_MMU=y | |||
| 12 | # CONFIG_NO_IOPORT is not set | 12 | # CONFIG_NO_IOPORT is not set |
| 13 | CONFIG_GENERIC_HARDIRQS=y | 13 | CONFIG_GENERIC_HARDIRQS=y |
| 14 | CONFIG_STACKTRACE_SUPPORT=y | 14 | CONFIG_STACKTRACE_SUPPORT=y |
| 15 | CONFIG_HAVE_LATENCYTOP_SUPPORT=y | ||
| 15 | CONFIG_LOCKDEP_SUPPORT=y | 16 | CONFIG_LOCKDEP_SUPPORT=y |
| 16 | CONFIG_TRACE_IRQFLAGS_SUPPORT=y | 17 | CONFIG_TRACE_IRQFLAGS_SUPPORT=y |
| 17 | CONFIG_HARDIRQS_SW_RESEND=y | 18 | CONFIG_HARDIRQS_SW_RESEND=y |
| @@ -21,9 +22,8 @@ CONFIG_RWSEM_GENERIC_SPINLOCK=y | |||
| 21 | # CONFIG_ARCH_HAS_ILOG2_U64 is not set | 22 | # CONFIG_ARCH_HAS_ILOG2_U64 is not set |
| 22 | CONFIG_GENERIC_HWEIGHT=y | 23 | CONFIG_GENERIC_HWEIGHT=y |
| 23 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 24 | CONFIG_GENERIC_CALIBRATE_DELAY=y |
| 24 | CONFIG_ARCH_SUPPORTS_AOUT=y | ||
| 25 | CONFIG_ZONE_DMA=y | ||
| 26 | CONFIG_ARCH_MTD_XIP=y | 25 | CONFIG_ARCH_MTD_XIP=y |
| 26 | CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y | ||
| 27 | CONFIG_VECTORS_BASE=0xffff0000 | 27 | CONFIG_VECTORS_BASE=0xffff0000 |
| 28 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | 28 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" |
| 29 | 29 | ||
| @@ -43,15 +43,24 @@ CONFIG_SYSVIPC_SYSCTL=y | |||
| 43 | # CONFIG_BSD_PROCESS_ACCT is not set | 43 | # CONFIG_BSD_PROCESS_ACCT is not set |
| 44 | # CONFIG_TASKSTATS is not set | 44 | # CONFIG_TASKSTATS is not set |
| 45 | # CONFIG_AUDIT is not set | 45 | # CONFIG_AUDIT is not set |
| 46 | |||
| 47 | # | ||
| 48 | # RCU Subsystem | ||
| 49 | # | ||
| 50 | CONFIG_CLASSIC_RCU=y | ||
| 51 | # CONFIG_TREE_RCU is not set | ||
| 52 | # CONFIG_PREEMPT_RCU is not set | ||
| 53 | # CONFIG_TREE_RCU_TRACE is not set | ||
| 54 | # CONFIG_PREEMPT_RCU_TRACE is not set | ||
| 46 | CONFIG_IKCONFIG=y | 55 | CONFIG_IKCONFIG=y |
| 47 | CONFIG_IKCONFIG_PROC=y | 56 | CONFIG_IKCONFIG_PROC=y |
| 48 | CONFIG_LOG_BUF_SHIFT=14 | 57 | CONFIG_LOG_BUF_SHIFT=14 |
| 49 | # CONFIG_CGROUPS is not set | ||
| 50 | CONFIG_GROUP_SCHED=y | 58 | CONFIG_GROUP_SCHED=y |
| 51 | CONFIG_FAIR_GROUP_SCHED=y | 59 | CONFIG_FAIR_GROUP_SCHED=y |
| 52 | # CONFIG_RT_GROUP_SCHED is not set | 60 | # CONFIG_RT_GROUP_SCHED is not set |
| 53 | CONFIG_USER_SCHED=y | 61 | CONFIG_USER_SCHED=y |
| 54 | # CONFIG_CGROUP_SCHED is not set | 62 | # CONFIG_CGROUP_SCHED is not set |
| 63 | # CONFIG_CGROUPS is not set | ||
| 55 | CONFIG_SYSFS_DEPRECATED=y | 64 | CONFIG_SYSFS_DEPRECATED=y |
| 56 | CONFIG_SYSFS_DEPRECATED_V2=y | 65 | CONFIG_SYSFS_DEPRECATED_V2=y |
| 57 | # CONFIG_RELAY is not set | 66 | # CONFIG_RELAY is not set |
| @@ -59,26 +68,26 @@ CONFIG_SYSFS_DEPRECATED_V2=y | |||
| 59 | # CONFIG_BLK_DEV_INITRD is not set | 68 | # CONFIG_BLK_DEV_INITRD is not set |
| 60 | CONFIG_CC_OPTIMIZE_FOR_SIZE=y | 69 | CONFIG_CC_OPTIMIZE_FOR_SIZE=y |
| 61 | CONFIG_SYSCTL=y | 70 | CONFIG_SYSCTL=y |
| 71 | CONFIG_ANON_INODES=y | ||
| 62 | CONFIG_EMBEDDED=y | 72 | CONFIG_EMBEDDED=y |
| 63 | CONFIG_UID16=y | 73 | CONFIG_UID16=y |
| 64 | CONFIG_SYSCTL_SYSCALL=y | 74 | CONFIG_SYSCTL_SYSCALL=y |
| 65 | CONFIG_SYSCTL_SYSCALL_CHECK=y | ||
| 66 | CONFIG_KALLSYMS=y | 75 | CONFIG_KALLSYMS=y |
| 67 | # CONFIG_KALLSYMS_EXTRA_PASS is not set | 76 | # CONFIG_KALLSYMS_EXTRA_PASS is not set |
| 68 | CONFIG_HOTPLUG=y | 77 | CONFIG_HOTPLUG=y |
| 69 | CONFIG_PRINTK=y | 78 | CONFIG_PRINTK=y |
| 70 | CONFIG_BUG=y | 79 | CONFIG_BUG=y |
| 71 | CONFIG_ELF_CORE=y | 80 | CONFIG_ELF_CORE=y |
| 72 | CONFIG_COMPAT_BRK=y | ||
| 73 | CONFIG_BASE_FULL=y | 81 | CONFIG_BASE_FULL=y |
| 74 | CONFIG_FUTEX=y | 82 | CONFIG_FUTEX=y |
| 75 | CONFIG_ANON_INODES=y | ||
| 76 | CONFIG_EPOLL=y | 83 | CONFIG_EPOLL=y |
| 77 | CONFIG_SIGNALFD=y | 84 | CONFIG_SIGNALFD=y |
| 78 | CONFIG_TIMERFD=y | 85 | CONFIG_TIMERFD=y |
| 79 | CONFIG_EVENTFD=y | 86 | CONFIG_EVENTFD=y |
| 80 | CONFIG_SHMEM=y | 87 | CONFIG_SHMEM=y |
| 88 | CONFIG_AIO=y | ||
| 81 | CONFIG_VM_EVENT_COUNTERS=y | 89 | CONFIG_VM_EVENT_COUNTERS=y |
| 90 | CONFIG_COMPAT_BRK=y | ||
| 82 | CONFIG_SLAB=y | 91 | CONFIG_SLAB=y |
| 83 | # CONFIG_SLUB is not set | 92 | # CONFIG_SLUB is not set |
| 84 | # CONFIG_SLOB is not set | 93 | # CONFIG_SLOB is not set |
| @@ -88,11 +97,10 @@ CONFIG_HAVE_OPROFILE=y | |||
| 88 | # CONFIG_KPROBES is not set | 97 | # CONFIG_KPROBES is not set |
| 89 | CONFIG_HAVE_KPROBES=y | 98 | CONFIG_HAVE_KPROBES=y |
| 90 | CONFIG_HAVE_KRETPROBES=y | 99 | CONFIG_HAVE_KRETPROBES=y |
| 91 | # CONFIG_HAVE_DMA_ATTRS is not set | 100 | # CONFIG_SLOW_WORK is not set |
| 92 | CONFIG_PROC_PAGE_MONITOR=y | 101 | CONFIG_HAVE_GENERIC_DMA_COHERENT=y |
| 93 | CONFIG_SLABINFO=y | 102 | CONFIG_SLABINFO=y |
| 94 | CONFIG_RT_MUTEXES=y | 103 | CONFIG_RT_MUTEXES=y |
| 95 | # CONFIG_TINY_SHMEM is not set | ||
| 96 | CONFIG_BASE_SMALL=0 | 104 | CONFIG_BASE_SMALL=0 |
| 97 | CONFIG_MODULES=y | 105 | CONFIG_MODULES=y |
| 98 | # CONFIG_MODULE_FORCE_LOAD is not set | 106 | # CONFIG_MODULE_FORCE_LOAD is not set |
| @@ -100,12 +108,10 @@ CONFIG_MODULE_UNLOAD=y | |||
| 100 | CONFIG_MODULE_FORCE_UNLOAD=y | 108 | CONFIG_MODULE_FORCE_UNLOAD=y |
| 101 | CONFIG_MODVERSIONS=y | 109 | CONFIG_MODVERSIONS=y |
| 102 | # CONFIG_MODULE_SRCVERSION_ALL is not set | 110 | # CONFIG_MODULE_SRCVERSION_ALL is not set |
| 103 | CONFIG_KMOD=y | ||
| 104 | CONFIG_BLOCK=y | 111 | CONFIG_BLOCK=y |
| 105 | # CONFIG_LBD is not set | 112 | # CONFIG_LBD is not set |
| 106 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
| 107 | # CONFIG_LSF is not set | ||
| 108 | # CONFIG_BLK_DEV_BSG is not set | 113 | # CONFIG_BLK_DEV_BSG is not set |
| 114 | # CONFIG_BLK_DEV_INTEGRITY is not set | ||
| 109 | 115 | ||
| 110 | # | 116 | # |
| 111 | # IO Schedulers | 117 | # IO Schedulers |
| @@ -119,7 +125,7 @@ CONFIG_IOSCHED_CFQ=y | |||
| 119 | CONFIG_DEFAULT_CFQ=y | 125 | CONFIG_DEFAULT_CFQ=y |
| 120 | # CONFIG_DEFAULT_NOOP is not set | 126 | # CONFIG_DEFAULT_NOOP is not set |
| 121 | CONFIG_DEFAULT_IOSCHED="cfq" | 127 | CONFIG_DEFAULT_IOSCHED="cfq" |
| 122 | CONFIG_CLASSIC_RCU=y | 128 | CONFIG_FREEZER=y |
| 123 | 129 | ||
| 124 | # | 130 | # |
| 125 | # System Type | 131 | # System Type |
| @@ -129,11 +135,10 @@ CONFIG_CLASSIC_RCU=y | |||
| 129 | # CONFIG_ARCH_REALVIEW is not set | 135 | # CONFIG_ARCH_REALVIEW is not set |
| 130 | # CONFIG_ARCH_VERSATILE is not set | 136 | # CONFIG_ARCH_VERSATILE is not set |
| 131 | # CONFIG_ARCH_AT91 is not set | 137 | # CONFIG_ARCH_AT91 is not set |
| 132 | # CONFIG_ARCH_CLPS7500 is not set | ||
| 133 | # CONFIG_ARCH_CLPS711X is not set | 138 | # CONFIG_ARCH_CLPS711X is not set |
| 134 | # CONFIG_ARCH_CO285 is not set | ||
| 135 | # CONFIG_ARCH_EBSA110 is not set | 139 | # CONFIG_ARCH_EBSA110 is not set |
| 136 | # CONFIG_ARCH_EP93XX is not set | 140 | # CONFIG_ARCH_EP93XX is not set |
| 141 | # CONFIG_ARCH_GEMINI is not set | ||
| 137 | # CONFIG_ARCH_FOOTBRIDGE is not set | 142 | # CONFIG_ARCH_FOOTBRIDGE is not set |
| 138 | # CONFIG_ARCH_NETX is not set | 143 | # CONFIG_ARCH_NETX is not set |
| 139 | # CONFIG_ARCH_H720X is not set | 144 | # CONFIG_ARCH_H720X is not set |
| @@ -145,55 +150,55 @@ CONFIG_CLASSIC_RCU=y | |||
| 145 | # CONFIG_ARCH_IXP2000 is not set | 150 | # CONFIG_ARCH_IXP2000 is not set |
| 146 | # CONFIG_ARCH_IXP4XX is not set | 151 | # CONFIG_ARCH_IXP4XX is not set |
| 147 | # CONFIG_ARCH_L7200 is not set | 152 | # CONFIG_ARCH_L7200 is not set |
| 153 | # CONFIG_ARCH_KIRKWOOD is not set | ||
| 148 | # CONFIG_ARCH_KS8695 is not set | 154 | # CONFIG_ARCH_KS8695 is not set |
| 149 | # CONFIG_ARCH_NS9XXX is not set | 155 | # CONFIG_ARCH_NS9XXX is not set |
| 156 | # CONFIG_ARCH_LOKI is not set | ||
| 157 | # CONFIG_ARCH_MV78XX0 is not set | ||
| 150 | CONFIG_ARCH_MXC=y | 158 | CONFIG_ARCH_MXC=y |
| 151 | # CONFIG_ARCH_ORION5X is not set | 159 | # CONFIG_ARCH_ORION5X is not set |
| 152 | # CONFIG_ARCH_PNX4008 is not set | 160 | # CONFIG_ARCH_PNX4008 is not set |
| 153 | # CONFIG_ARCH_PXA is not set | 161 | # CONFIG_ARCH_PXA is not set |
| 162 | # CONFIG_ARCH_MMP is not set | ||
| 154 | # CONFIG_ARCH_RPC is not set | 163 | # CONFIG_ARCH_RPC is not set |
| 155 | # CONFIG_ARCH_SA1100 is not set | 164 | # CONFIG_ARCH_SA1100 is not set |
| 156 | # CONFIG_ARCH_S3C2410 is not set | 165 | # CONFIG_ARCH_S3C2410 is not set |
| 166 | # CONFIG_ARCH_S3C64XX is not set | ||
| 157 | # CONFIG_ARCH_SHARK is not set | 167 | # CONFIG_ARCH_SHARK is not set |
| 158 | # CONFIG_ARCH_LH7A40X is not set | 168 | # CONFIG_ARCH_LH7A40X is not set |
| 159 | # CONFIG_ARCH_DAVINCI is not set | 169 | # CONFIG_ARCH_DAVINCI is not set |
| 160 | # CONFIG_ARCH_OMAP is not set | 170 | # CONFIG_ARCH_OMAP is not set |
| 161 | # CONFIG_ARCH_MSM7X00A is not set | 171 | # CONFIG_ARCH_MSM is not set |
| 162 | 172 | # CONFIG_ARCH_W90X900 is not set | |
| 163 | # | 173 | CONFIG_ARCH_MX1ADS=y |
| 164 | # Boot options | ||
| 165 | # | ||
| 166 | |||
| 167 | # | ||
| 168 | # Power management | ||
| 169 | # | ||
| 170 | 174 | ||
| 171 | # | 175 | # |
| 172 | # Freescale MXC Implementations | 176 | # Freescale MXC Implementations |
| 173 | # | 177 | # |
| 178 | CONFIG_ARCH_MX1=y | ||
| 174 | # CONFIG_ARCH_MX2 is not set | 179 | # CONFIG_ARCH_MX2 is not set |
| 175 | CONFIG_ARCH_MX3=y | 180 | # CONFIG_ARCH_MX3 is not set |
| 176 | 181 | ||
| 177 | # | 182 | # |
| 178 | # MX3 Options | 183 | # MX1 platforms: |
| 179 | # | 184 | # |
| 180 | CONFIG_MACH_MX31ADS=y | 185 | CONFIG_MACH_MXLADS=y |
| 181 | # CONFIG_MACH_PCM037 is not set | 186 | CONFIG_MACH_SCB9328=y |
| 187 | CONFIG_MXC_IRQ_PRIOR=y | ||
| 188 | # CONFIG_MXC_PWM is not set | ||
| 182 | 189 | ||
| 183 | # | 190 | # |
| 184 | # Processor Type | 191 | # Processor Type |
| 185 | # | 192 | # |
| 186 | CONFIG_CPU_32=y | 193 | CONFIG_CPU_32=y |
| 187 | CONFIG_CPU_V6=y | 194 | CONFIG_CPU_ARM920T=y |
| 188 | # CONFIG_CPU_32v6K is not set | 195 | CONFIG_CPU_32v4T=y |
| 189 | CONFIG_CPU_32v6=y | 196 | CONFIG_CPU_ABRT_EV4T=y |
| 190 | CONFIG_CPU_ABRT_EV6=y | ||
| 191 | CONFIG_CPU_PABRT_NOIFAR=y | 197 | CONFIG_CPU_PABRT_NOIFAR=y |
| 192 | CONFIG_CPU_CACHE_V6=y | 198 | CONFIG_CPU_CACHE_V4WT=y |
| 193 | CONFIG_CPU_CACHE_VIPT=y | 199 | CONFIG_CPU_CACHE_VIVT=y |
| 194 | CONFIG_CPU_COPY_V6=y | 200 | CONFIG_CPU_COPY_V4WB=y |
| 195 | CONFIG_CPU_TLB_V6=y | 201 | CONFIG_CPU_TLB_V4WBI=y |
| 196 | CONFIG_CPU_HAS_ASID=y | ||
| 197 | CONFIG_CPU_CP15=y | 202 | CONFIG_CPU_CP15=y |
| 198 | CONFIG_CPU_CP15_MMU=y | 203 | CONFIG_CPU_CP15_MMU=y |
| 199 | 204 | ||
| @@ -203,7 +208,7 @@ CONFIG_CPU_CP15_MMU=y | |||
| 203 | CONFIG_ARM_THUMB=y | 208 | CONFIG_ARM_THUMB=y |
| 204 | # CONFIG_CPU_ICACHE_DISABLE is not set | 209 | # CONFIG_CPU_ICACHE_DISABLE is not set |
| 205 | # CONFIG_CPU_DCACHE_DISABLE is not set | 210 | # CONFIG_CPU_DCACHE_DISABLE is not set |
| 206 | # CONFIG_CPU_BPREDICT_DISABLE is not set | 211 | # CONFIG_CPU_DCACHE_WRITETHROUGH is not set |
| 207 | # CONFIG_OUTER_CACHE is not set | 212 | # CONFIG_OUTER_CACHE is not set |
| 208 | 213 | ||
| 209 | # | 214 | # |
| @@ -220,25 +225,32 @@ CONFIG_TICK_ONESHOT=y | |||
| 220 | CONFIG_NO_HZ=y | 225 | CONFIG_NO_HZ=y |
| 221 | CONFIG_HIGH_RES_TIMERS=y | 226 | CONFIG_HIGH_RES_TIMERS=y |
| 222 | CONFIG_GENERIC_CLOCKEVENTS_BUILD=y | 227 | CONFIG_GENERIC_CLOCKEVENTS_BUILD=y |
| 228 | CONFIG_VMSPLIT_3G=y | ||
| 229 | # CONFIG_VMSPLIT_2G is not set | ||
| 230 | # CONFIG_VMSPLIT_1G is not set | ||
| 231 | CONFIG_PAGE_OFFSET=0xC0000000 | ||
| 223 | CONFIG_PREEMPT=y | 232 | CONFIG_PREEMPT=y |
| 224 | CONFIG_HZ=100 | 233 | CONFIG_HZ=100 |
| 225 | CONFIG_AEABI=y | 234 | CONFIG_AEABI=y |
| 226 | # CONFIG_OABI_COMPAT is not set | 235 | CONFIG_OABI_COMPAT=y |
| 227 | # CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set | 236 | CONFIG_ARCH_FLATMEM_HAS_HOLES=y |
| 237 | # CONFIG_ARCH_SPARSEMEM_DEFAULT is not set | ||
| 238 | # CONFIG_ARCH_SELECT_MEMORY_MODEL is not set | ||
| 239 | # CONFIG_HIGHMEM is not set | ||
| 228 | CONFIG_SELECT_MEMORY_MODEL=y | 240 | CONFIG_SELECT_MEMORY_MODEL=y |
| 229 | CONFIG_FLATMEM_MANUAL=y | 241 | CONFIG_FLATMEM_MANUAL=y |
| 230 | # CONFIG_DISCONTIGMEM_MANUAL is not set | 242 | # CONFIG_DISCONTIGMEM_MANUAL is not set |
| 231 | # CONFIG_SPARSEMEM_MANUAL is not set | 243 | # CONFIG_SPARSEMEM_MANUAL is not set |
| 232 | CONFIG_FLATMEM=y | 244 | CONFIG_FLATMEM=y |
| 233 | CONFIG_FLAT_NODE_MEM_MAP=y | 245 | CONFIG_FLAT_NODE_MEM_MAP=y |
| 234 | # CONFIG_SPARSEMEM_STATIC is not set | ||
| 235 | # CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set | ||
| 236 | CONFIG_PAGEFLAGS_EXTENDED=y | 246 | CONFIG_PAGEFLAGS_EXTENDED=y |
| 237 | CONFIG_SPLIT_PTLOCK_CPUS=4 | 247 | CONFIG_SPLIT_PTLOCK_CPUS=4096 |
| 238 | # CONFIG_RESOURCES_64BIT is not set | 248 | # CONFIG_PHYS_ADDR_T_64BIT is not set |
| 239 | CONFIG_ZONE_DMA_FLAG=1 | 249 | CONFIG_ZONE_DMA_FLAG=0 |
| 240 | CONFIG_BOUNCE=y | ||
| 241 | CONFIG_VIRT_TO_BUS=y | 250 | CONFIG_VIRT_TO_BUS=y |
| 251 | CONFIG_UNEVICTABLE_LRU=y | ||
| 252 | CONFIG_HAVE_MLOCK=y | ||
| 253 | CONFIG_HAVE_MLOCKED_PAGE_BIT=y | ||
| 242 | CONFIG_ALIGNMENT_TRAP=y | 254 | CONFIG_ALIGNMENT_TRAP=y |
| 243 | 255 | ||
| 244 | # | 256 | # |
| @@ -251,30 +263,41 @@ CONFIG_CMDLINE="noinitrd console=ttymxc0,115200 root=/dev/mtdblock2 rw ip=off" | |||
| 251 | # CONFIG_KEXEC is not set | 263 | # CONFIG_KEXEC is not set |
| 252 | 264 | ||
| 253 | # | 265 | # |
| 266 | # CPU Power Management | ||
| 267 | # | ||
| 268 | # CONFIG_CPU_IDLE is not set | ||
| 269 | |||
| 270 | # | ||
| 254 | # Floating point emulation | 271 | # Floating point emulation |
| 255 | # | 272 | # |
| 256 | 273 | ||
| 257 | # | 274 | # |
| 258 | # At least one emulation must be selected | 275 | # At least one emulation must be selected |
| 259 | # | 276 | # |
| 260 | CONFIG_VFP=y | 277 | # CONFIG_FPE_NWFPE is not set |
| 278 | # CONFIG_FPE_FASTFPE is not set | ||
| 261 | 279 | ||
| 262 | # | 280 | # |
| 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 | ||
| 269 | # | 289 | # |
| 270 | # Power management options | 290 | # Power management options |
| 271 | # | 291 | # |
| 272 | # CONFIG_PM is not set | 292 | CONFIG_PM=y |
| 293 | CONFIG_PM_DEBUG=y | ||
| 294 | # CONFIG_PM_VERBOSE is not set | ||
| 295 | CONFIG_CAN_PM_TRACE=y | ||
| 296 | CONFIG_PM_SLEEP=y | ||
| 297 | CONFIG_SUSPEND=y | ||
| 298 | CONFIG_SUSPEND_FREEZER=y | ||
| 299 | # CONFIG_APM_EMULATION is not set | ||
| 273 | CONFIG_ARCH_SUSPEND_POSSIBLE=y | 300 | CONFIG_ARCH_SUSPEND_POSSIBLE=y |
| 274 | |||
| 275 | # | ||
| 276 | # Networking | ||
| 277 | # | ||
| 278 | CONFIG_NET=y | 301 | CONFIG_NET=y |
| 279 | 302 | ||
| 280 | # | 303 | # |
| @@ -283,11 +306,6 @@ CONFIG_NET=y | |||
| 283 | CONFIG_PACKET=y | 306 | CONFIG_PACKET=y |
| 284 | # CONFIG_PACKET_MMAP is not set | 307 | # CONFIG_PACKET_MMAP is not set |
| 285 | CONFIG_UNIX=y | 308 | CONFIG_UNIX=y |
| 286 | CONFIG_XFRM=y | ||
| 287 | # CONFIG_XFRM_USER is not set | ||
| 288 | # CONFIG_XFRM_SUB_POLICY is not set | ||
| 289 | # CONFIG_XFRM_MIGRATE is not set | ||
| 290 | # CONFIG_XFRM_STATISTICS is not set | ||
| 291 | # CONFIG_NET_KEY is not set | 309 | # CONFIG_NET_KEY is not set |
| 292 | CONFIG_INET=y | 310 | CONFIG_INET=y |
| 293 | # CONFIG_IP_MULTICAST is not set | 311 | # CONFIG_IP_MULTICAST is not set |
| @@ -306,12 +324,11 @@ CONFIG_IP_PNP_DHCP=y | |||
| 306 | # CONFIG_INET_IPCOMP is not set | 324 | # CONFIG_INET_IPCOMP is not set |
| 307 | # CONFIG_INET_XFRM_TUNNEL is not set | 325 | # CONFIG_INET_XFRM_TUNNEL is not set |
| 308 | # CONFIG_INET_TUNNEL is not set | 326 | # CONFIG_INET_TUNNEL is not set |
| 309 | CONFIG_INET_XFRM_MODE_TRANSPORT=y | 327 | # CONFIG_INET_XFRM_MODE_TRANSPORT is not set |
| 310 | CONFIG_INET_XFRM_MODE_TUNNEL=y | 328 | # CONFIG_INET_XFRM_MODE_TUNNEL is not set |
| 311 | CONFIG_INET_XFRM_MODE_BEET=y | 329 | # CONFIG_INET_XFRM_MODE_BEET is not set |
| 312 | # CONFIG_INET_LRO is not set | 330 | # CONFIG_INET_LRO is not set |
| 313 | CONFIG_INET_DIAG=y | 331 | # CONFIG_INET_DIAG is not set |
| 314 | CONFIG_INET_TCP_DIAG=y | ||
| 315 | # CONFIG_TCP_CONG_ADVANCED is not set | 332 | # CONFIG_TCP_CONG_ADVANCED is not set |
| 316 | CONFIG_TCP_CONG_CUBIC=y | 333 | CONFIG_TCP_CONG_CUBIC=y |
| 317 | CONFIG_DEFAULT_TCP_CONG="cubic" | 334 | CONFIG_DEFAULT_TCP_CONG="cubic" |
| @@ -324,6 +341,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic" | |||
| 324 | # CONFIG_TIPC is not set | 341 | # CONFIG_TIPC is not set |
| 325 | # CONFIG_ATM is not set | 342 | # CONFIG_ATM is not set |
| 326 | # CONFIG_BRIDGE is not set | 343 | # CONFIG_BRIDGE is not set |
| 344 | # CONFIG_NET_DSA is not set | ||
| 327 | # CONFIG_VLAN_8021Q is not set | 345 | # CONFIG_VLAN_8021Q is not set |
| 328 | # CONFIG_DECNET is not set | 346 | # CONFIG_DECNET is not set |
| 329 | # CONFIG_LLC2 is not set | 347 | # CONFIG_LLC2 is not set |
| @@ -333,7 +351,9 @@ CONFIG_DEFAULT_TCP_CONG="cubic" | |||
| 333 | # CONFIG_LAPB is not set | 351 | # CONFIG_LAPB is not set |
| 334 | # CONFIG_ECONET is not set | 352 | # CONFIG_ECONET is not set |
| 335 | # CONFIG_WAN_ROUTER is not set | 353 | # CONFIG_WAN_ROUTER is not set |
| 354 | # CONFIG_PHONET is not set | ||
| 336 | # CONFIG_NET_SCHED is not set | 355 | # CONFIG_NET_SCHED is not set |
| 356 | # CONFIG_DCB is not set | ||
| 337 | 357 | ||
| 338 | # | 358 | # |
| 339 | # Network testing | 359 | # Network testing |
| @@ -344,14 +364,8 @@ CONFIG_DEFAULT_TCP_CONG="cubic" | |||
| 344 | # CONFIG_IRDA is not set | 364 | # CONFIG_IRDA is not set |
| 345 | # CONFIG_BT is not set | 365 | # CONFIG_BT is not set |
| 346 | # CONFIG_AF_RXRPC is not set | 366 | # CONFIG_AF_RXRPC is not set |
| 347 | 367 | # CONFIG_WIRELESS is not set | |
| 348 | # | 368 | # CONFIG_WIMAX is not set |
| 349 | # Wireless | ||
| 350 | # | ||
| 351 | # CONFIG_CFG80211 is not set | ||
| 352 | # CONFIG_WIRELESS_EXT is not set | ||
| 353 | # CONFIG_MAC80211 is not set | ||
| 354 | # CONFIG_IEEE80211 is not set | ||
| 355 | # CONFIG_RFKILL is not set | 369 | # CONFIG_RFKILL is not set |
| 356 | # CONFIG_NET_9P is not set | 370 | # CONFIG_NET_9P is not set |
| 357 | 371 | ||
| @@ -366,16 +380,16 @@ CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" | |||
| 366 | CONFIG_STANDALONE=y | 380 | CONFIG_STANDALONE=y |
| 367 | CONFIG_PREVENT_FIRMWARE_BUILD=y | 381 | CONFIG_PREVENT_FIRMWARE_BUILD=y |
| 368 | CONFIG_FW_LOADER=m | 382 | CONFIG_FW_LOADER=m |
| 383 | CONFIG_FIRMWARE_IN_KERNEL=y | ||
| 384 | CONFIG_EXTRA_FIRMWARE="" | ||
| 369 | # CONFIG_SYS_HYPERVISOR is not set | 385 | # CONFIG_SYS_HYPERVISOR is not set |
| 370 | # CONFIG_CONNECTOR is not set | 386 | # CONFIG_CONNECTOR is not set |
| 371 | CONFIG_MTD=y | 387 | CONFIG_MTD=y |
| 372 | # CONFIG_MTD_DEBUG is not set | 388 | # CONFIG_MTD_DEBUG is not set |
| 373 | # CONFIG_MTD_CONCAT is not set | 389 | # CONFIG_MTD_CONCAT is not set |
| 374 | CONFIG_MTD_PARTITIONS=y | 390 | CONFIG_MTD_PARTITIONS=y |
| 375 | CONFIG_MTD_REDBOOT_PARTS=y | 391 | # CONFIG_MTD_TESTS is not set |
| 376 | CONFIG_MTD_REDBOOT_DIRECTORY_BLOCK=-1 | 392 | # CONFIG_MTD_REDBOOT_PARTS is not set |
| 377 | # CONFIG_MTD_REDBOOT_PARTS_UNALLOCATED is not set | ||
| 378 | # CONFIG_MTD_REDBOOT_PARTS_READONLY is not set | ||
| 379 | CONFIG_MTD_CMDLINE_PARTS=y | 393 | CONFIG_MTD_CMDLINE_PARTS=y |
| 380 | # CONFIG_MTD_AFS_PARTS is not set | 394 | # CONFIG_MTD_AFS_PARTS is not set |
| 381 | # CONFIG_MTD_AR7_PARTS is not set | 395 | # CONFIG_MTD_AR7_PARTS is not set |
| @@ -399,36 +413,31 @@ CONFIG_MTD_BLOCK=y | |||
| 399 | CONFIG_MTD_CFI=y | 413 | CONFIG_MTD_CFI=y |
| 400 | # CONFIG_MTD_JEDECPROBE is not set | 414 | # CONFIG_MTD_JEDECPROBE is not set |
| 401 | CONFIG_MTD_GEN_PROBE=y | 415 | CONFIG_MTD_GEN_PROBE=y |
| 402 | CONFIG_MTD_CFI_ADV_OPTIONS=y | 416 | # CONFIG_MTD_CFI_ADV_OPTIONS is not set |
| 403 | CONFIG_MTD_CFI_NOSWAP=y | 417 | CONFIG_MTD_MAP_BANK_WIDTH_1=y |
| 404 | # CONFIG_MTD_CFI_BE_BYTE_SWAP is not set | ||
| 405 | # CONFIG_MTD_CFI_LE_BYTE_SWAP is not set | ||
| 406 | CONFIG_MTD_CFI_GEOMETRY=y | ||
| 407 | # CONFIG_MTD_MAP_BANK_WIDTH_1 is not set | ||
| 408 | CONFIG_MTD_MAP_BANK_WIDTH_2=y | 418 | CONFIG_MTD_MAP_BANK_WIDTH_2=y |
| 409 | # CONFIG_MTD_MAP_BANK_WIDTH_4 is not set | 419 | CONFIG_MTD_MAP_BANK_WIDTH_4=y |
| 410 | # CONFIG_MTD_MAP_BANK_WIDTH_8 is not set | 420 | # CONFIG_MTD_MAP_BANK_WIDTH_8 is not set |
| 411 | # CONFIG_MTD_MAP_BANK_WIDTH_16 is not set | 421 | # CONFIG_MTD_MAP_BANK_WIDTH_16 is not set |
| 412 | # CONFIG_MTD_MAP_BANK_WIDTH_32 is not set | 422 | # CONFIG_MTD_MAP_BANK_WIDTH_32 is not set |
| 413 | CONFIG_MTD_CFI_I1=y | 423 | CONFIG_MTD_CFI_I1=y |
| 414 | # CONFIG_MTD_CFI_I2 is not set | 424 | CONFIG_MTD_CFI_I2=y |
| 415 | # CONFIG_MTD_CFI_I4 is not set | 425 | # CONFIG_MTD_CFI_I4 is not set |
| 416 | # CONFIG_MTD_CFI_I8 is not set | 426 | # CONFIG_MTD_CFI_I8 is not set |
| 417 | # CONFIG_MTD_OTP is not set | ||
| 418 | # CONFIG_MTD_CFI_INTELEXT is not set | 427 | # CONFIG_MTD_CFI_INTELEXT is not set |
| 419 | CONFIG_MTD_CFI_AMDSTD=y | 428 | # CONFIG_MTD_CFI_AMDSTD is not set |
| 420 | # CONFIG_MTD_CFI_STAA is not set | 429 | # CONFIG_MTD_CFI_STAA is not set |
| 421 | CONFIG_MTD_CFI_UTIL=y | 430 | CONFIG_MTD_CFI_UTIL=y |
| 422 | CONFIG_MTD_RAM=y | 431 | # CONFIG_MTD_RAM is not set |
| 423 | # CONFIG_MTD_ROM is not set | 432 | # CONFIG_MTD_ROM is not set |
| 424 | # CONFIG_MTD_ABSENT is not set | 433 | # CONFIG_MTD_ABSENT is not set |
| 425 | # CONFIG_MTD_XIP is not set | ||
| 426 | 434 | ||
| 427 | # | 435 | # |
| 428 | # Mapping drivers for chip access | 436 | # Mapping drivers for chip access |
| 429 | # | 437 | # |
| 430 | # CONFIG_MTD_COMPLEX_MAPPINGS is not set | 438 | # CONFIG_MTD_COMPLEX_MAPPINGS is not set |
| 431 | # CONFIG_MTD_PHYSMAP is not set | 439 | CONFIG_MTD_PHYSMAP=y |
| 440 | # CONFIG_MTD_PHYSMAP_COMPAT is not set | ||
| 432 | # CONFIG_MTD_ARM_INTEGRATOR is not set | 441 | # CONFIG_MTD_ARM_INTEGRATOR is not set |
| 433 | # CONFIG_MTD_PLATRAM is not set | 442 | # CONFIG_MTD_PLATRAM is not set |
| 434 | 443 | ||
| @@ -446,17 +455,15 @@ CONFIG_MTD_RAM=y | |||
| 446 | # CONFIG_MTD_DOC2000 is not set | 455 | # CONFIG_MTD_DOC2000 is not set |
| 447 | # CONFIG_MTD_DOC2001 is not set | 456 | # CONFIG_MTD_DOC2001 is not set |
| 448 | # CONFIG_MTD_DOC2001PLUS is not set | 457 | # CONFIG_MTD_DOC2001PLUS is not set |
| 449 | CONFIG_MTD_NAND=y | 458 | # CONFIG_MTD_NAND is not set |
| 450 | # CONFIG_MTD_NAND_VERIFY_WRITE is not set | ||
| 451 | # CONFIG_MTD_NAND_ECC_SMC is not set | ||
| 452 | # CONFIG_MTD_NAND_MUSEUM_IDS is not set | ||
| 453 | CONFIG_MTD_NAND_IDS=y | ||
| 454 | # CONFIG_MTD_NAND_DISKONCHIP is not set | ||
| 455 | # CONFIG_MTD_NAND_NANDSIM is not set | ||
| 456 | # CONFIG_MTD_NAND_PLATFORM is not set | ||
| 457 | # CONFIG_MTD_ONENAND is not set | 459 | # CONFIG_MTD_ONENAND is not set |
| 458 | 460 | ||
| 459 | # | 461 | # |
| 462 | # LPDDR flash memory drivers | ||
| 463 | # | ||
| 464 | # CONFIG_MTD_LPDDR is not set | ||
| 465 | |||
| 466 | # | ||
| 460 | # UBI - Unsorted block images | 467 | # UBI - Unsorted block images |
| 461 | # | 468 | # |
| 462 | # CONFIG_MTD_UBI is not set | 469 | # CONFIG_MTD_UBI is not set |
| @@ -476,23 +483,51 @@ CONFIG_HAVE_IDE=y | |||
| 476 | # CONFIG_ATA is not set | 483 | # CONFIG_ATA is not set |
| 477 | # CONFIG_MD is not set | 484 | # CONFIG_MD is not set |
| 478 | CONFIG_NETDEVICES=y | 485 | CONFIG_NETDEVICES=y |
| 479 | # CONFIG_NETDEVICES_MULTIQUEUE is not set | 486 | CONFIG_COMPAT_NET_DEV_OPS=y |
| 480 | # CONFIG_DUMMY is not set | 487 | # CONFIG_DUMMY is not set |
| 481 | # CONFIG_BONDING is not set | 488 | # CONFIG_BONDING is not set |
| 482 | # CONFIG_MACVLAN is not set | 489 | # CONFIG_MACVLAN is not set |
| 483 | # CONFIG_EQUALIZER is not set | 490 | # CONFIG_EQUALIZER is not set |
| 484 | # CONFIG_TUN is not set | 491 | # CONFIG_TUN is not set |
| 485 | # CONFIG_VETH is not set | 492 | # CONFIG_VETH is not set |
| 486 | # CONFIG_PHYLIB is not set | 493 | CONFIG_PHYLIB=y |
| 494 | |||
| 495 | # | ||
| 496 | # MII PHY device drivers | ||
| 497 | # | ||
| 498 | # CONFIG_MARVELL_PHY is not set | ||
| 499 | # CONFIG_DAVICOM_PHY is not set | ||
| 500 | # CONFIG_QSEMI_PHY is not set | ||
| 501 | # CONFIG_LXT_PHY is not set | ||
| 502 | # CONFIG_CICADA_PHY is not set | ||
| 503 | # CONFIG_VITESSE_PHY is not set | ||
| 504 | CONFIG_SMSC_PHY=y | ||
| 505 | # CONFIG_BROADCOM_PHY is not set | ||
| 506 | # CONFIG_ICPLUS_PHY is not set | ||
| 507 | # CONFIG_REALTEK_PHY is not set | ||
| 508 | # CONFIG_NATIONAL_PHY is not set | ||
| 509 | # CONFIG_STE10XP is not set | ||
| 510 | # CONFIG_LSI_ET1011C_PHY is not set | ||
| 511 | # CONFIG_FIXED_PHY is not set | ||
| 512 | # CONFIG_MDIO_BITBANG is not set | ||
| 487 | CONFIG_NET_ETHERNET=y | 513 | CONFIG_NET_ETHERNET=y |
| 488 | CONFIG_MII=y | 514 | CONFIG_MII=y |
| 489 | # CONFIG_AX88796 is not set | 515 | # CONFIG_AX88796 is not set |
| 490 | # CONFIG_SMC91X is not set | 516 | # CONFIG_SMC91X is not set |
| 491 | # CONFIG_DM9000 is not set | 517 | CONFIG_DM9000=y |
| 518 | CONFIG_DM9000_DEBUGLEVEL=4 | ||
| 519 | # CONFIG_DM9000_FORCE_SIMPLE_PHY_POLL is not set | ||
| 520 | # CONFIG_ETHOC is not set | ||
| 521 | # CONFIG_SMC911X is not set | ||
| 522 | # CONFIG_SMSC911X is not set | ||
| 523 | # CONFIG_DNET is not set | ||
| 492 | # CONFIG_IBM_NEW_EMAC_ZMII is not set | 524 | # CONFIG_IBM_NEW_EMAC_ZMII is not set |
| 493 | # CONFIG_IBM_NEW_EMAC_RGMII is not set | 525 | # CONFIG_IBM_NEW_EMAC_RGMII is not set |
| 494 | # CONFIG_IBM_NEW_EMAC_TAH is not set | 526 | # CONFIG_IBM_NEW_EMAC_TAH is not set |
| 495 | # CONFIG_IBM_NEW_EMAC_EMAC4 is not set | 527 | # CONFIG_IBM_NEW_EMAC_EMAC4 is not set |
| 528 | # CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set | ||
| 529 | # CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set | ||
| 530 | # CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set | ||
| 496 | # CONFIG_B44 is not set | 531 | # CONFIG_B44 is not set |
| 497 | # CONFIG_NETDEV_1000 is not set | 532 | # CONFIG_NETDEV_1000 is not set |
| 498 | # CONFIG_NETDEV_10000 is not set | 533 | # CONFIG_NETDEV_10000 is not set |
| @@ -502,7 +537,10 @@ CONFIG_MII=y | |||
| 502 | # | 537 | # |
| 503 | # CONFIG_WLAN_PRE80211 is not set | 538 | # CONFIG_WLAN_PRE80211 is not set |
| 504 | # CONFIG_WLAN_80211 is not set | 539 | # CONFIG_WLAN_80211 is not set |
| 505 | # CONFIG_IWLWIFI_LEDS is not set | 540 | |
| 541 | # | ||
| 542 | # Enable WiMAX (Networking options) to see the WiMAX drivers | ||
| 543 | # | ||
| 506 | # CONFIG_WAN is not set | 544 | # CONFIG_WAN is not set |
| 507 | # CONFIG_PPP is not set | 545 | # CONFIG_PPP is not set |
| 508 | # CONFIG_SLIP is not set | 546 | # CONFIG_SLIP is not set |
| @@ -542,46 +580,124 @@ CONFIG_SERIAL_IMX_CONSOLE=y | |||
| 542 | CONFIG_SERIAL_CORE=y | 580 | CONFIG_SERIAL_CORE=y |
| 543 | CONFIG_SERIAL_CORE_CONSOLE=y | 581 | CONFIG_SERIAL_CORE_CONSOLE=y |
| 544 | CONFIG_UNIX98_PTYS=y | 582 | CONFIG_UNIX98_PTYS=y |
| 583 | # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set | ||
| 545 | # CONFIG_LEGACY_PTYS is not set | 584 | # CONFIG_LEGACY_PTYS is not set |
| 546 | # CONFIG_IPMI_HANDLER is not set | 585 | # CONFIG_IPMI_HANDLER is not set |
| 547 | # CONFIG_HW_RANDOM is not set | 586 | # CONFIG_HW_RANDOM is not set |
| 548 | # CONFIG_NVRAM is not set | ||
| 549 | # CONFIG_R3964 is not set | 587 | # CONFIG_R3964 is not set |
| 550 | # CONFIG_RAW_DRIVER is not set | 588 | # CONFIG_RAW_DRIVER is not set |
| 551 | # CONFIG_TCG_TPM is not set | 589 | # CONFIG_TCG_TPM is not set |
| 552 | # CONFIG_I2C is not set | 590 | CONFIG_I2C=y |
| 591 | CONFIG_I2C_BOARDINFO=y | ||
| 592 | CONFIG_I2C_CHARDEV=y | ||
| 593 | CONFIG_I2C_HELPER_AUTO=y | ||
| 594 | |||
| 595 | # | ||
| 596 | # I2C Hardware Bus support | ||
| 597 | # | ||
| 598 | |||
| 599 | # | ||
| 600 | # I2C system bus drivers (mostly embedded / system-on-chip) | ||
| 601 | # | ||
| 602 | # CONFIG_I2C_GPIO is not set | ||
| 603 | CONFIG_I2C_IMX=y | ||
| 604 | # CONFIG_I2C_OCORES is not set | ||
| 605 | # CONFIG_I2C_SIMTEC is not set | ||
| 606 | |||
| 607 | # | ||
| 608 | # External I2C/SMBus adapter drivers | ||
| 609 | # | ||
| 610 | # CONFIG_I2C_PARPORT_LIGHT is not set | ||
| 611 | # CONFIG_I2C_TAOS_EVM is not set | ||
| 612 | |||
| 613 | # | ||
| 614 | # Other I2C/SMBus bus drivers | ||
| 615 | # | ||
| 616 | # CONFIG_I2C_PCA_PLATFORM is not set | ||
| 617 | # CONFIG_I2C_STUB is not set | ||
| 618 | |||
| 619 | # | ||
| 620 | # Miscellaneous I2C Chip support | ||
| 621 | # | ||
| 622 | # CONFIG_DS1682 is not set | ||
| 623 | # CONFIG_SENSORS_PCF8574 is not set | ||
| 624 | # CONFIG_PCF8575 is not set | ||
| 625 | # CONFIG_SENSORS_PCA9539 is not set | ||
| 626 | # CONFIG_SENSORS_MAX6875 is not set | ||
| 627 | # CONFIG_SENSORS_TSL2550 is not set | ||
| 628 | # CONFIG_I2C_DEBUG_CORE is not set | ||
| 629 | # CONFIG_I2C_DEBUG_ALGO is not set | ||
| 630 | # CONFIG_I2C_DEBUG_BUS is not set | ||
| 631 | # CONFIG_I2C_DEBUG_CHIP is not set | ||
| 553 | # CONFIG_SPI is not set | 632 | # CONFIG_SPI is not set |
| 554 | CONFIG_HAVE_GPIO_LIB=y | 633 | CONFIG_ARCH_REQUIRE_GPIOLIB=y |
| 634 | CONFIG_GPIOLIB=y | ||
| 635 | # CONFIG_GPIO_SYSFS is not set | ||
| 555 | 636 | ||
| 556 | # | 637 | # |
| 557 | # GPIO Support | 638 | # Memory mapped GPIO expanders: |
| 558 | # | 639 | # |
| 559 | 640 | ||
| 560 | # | 641 | # |
| 561 | # I2C GPIO expanders: | 642 | # I2C GPIO expanders: |
| 562 | # | 643 | # |
| 644 | # CONFIG_GPIO_MAX732X is not set | ||
| 645 | # CONFIG_GPIO_PCA953X is not set | ||
| 646 | # CONFIG_GPIO_PCF857X is not set | ||
| 647 | |||
| 648 | # | ||
| 649 | # PCI GPIO expanders: | ||
| 650 | # | ||
| 563 | 651 | ||
| 564 | # | 652 | # |
| 565 | # SPI GPIO expanders: | 653 | # SPI GPIO expanders: |
| 566 | # | 654 | # |
| 567 | # CONFIG_W1 is not set | 655 | CONFIG_W1=y |
| 656 | |||
| 657 | # | ||
| 658 | # 1-wire Bus Masters | ||
| 659 | # | ||
| 660 | # CONFIG_W1_MASTER_DS2482 is not set | ||
| 661 | CONFIG_W1_MASTER_MXC=y | ||
| 662 | # CONFIG_W1_MASTER_GPIO is not set | ||
| 663 | |||
| 664 | # | ||
| 665 | # 1-wire Slaves | ||
| 666 | # | ||
| 667 | CONFIG_W1_SLAVE_THERM=y | ||
| 668 | # CONFIG_W1_SLAVE_SMEM is not set | ||
| 669 | # CONFIG_W1_SLAVE_DS2431 is not set | ||
| 670 | # CONFIG_W1_SLAVE_DS2433 is not set | ||
| 671 | # CONFIG_W1_SLAVE_DS2760 is not set | ||
| 672 | # CONFIG_W1_SLAVE_BQ27000 is not set | ||
| 568 | # CONFIG_POWER_SUPPLY is not set | 673 | # CONFIG_POWER_SUPPLY is not set |
| 569 | # CONFIG_HWMON is not set | 674 | # CONFIG_HWMON is not set |
| 675 | # CONFIG_THERMAL is not set | ||
| 676 | # CONFIG_THERMAL_HWMON is not set | ||
| 570 | # CONFIG_WATCHDOG is not set | 677 | # CONFIG_WATCHDOG is not set |
| 678 | CONFIG_SSB_POSSIBLE=y | ||
| 571 | 679 | ||
| 572 | # | 680 | # |
| 573 | # Sonics Silicon Backplane | 681 | # Sonics Silicon Backplane |
| 574 | # | 682 | # |
| 575 | CONFIG_SSB_POSSIBLE=y | ||
| 576 | # CONFIG_SSB is not set | 683 | # CONFIG_SSB is not set |
| 577 | 684 | ||
| 578 | # | 685 | # |
| 579 | # Multifunction device drivers | 686 | # Multifunction device drivers |
| 580 | # | 687 | # |
| 688 | # CONFIG_MFD_CORE is not set | ||
| 581 | # CONFIG_MFD_SM501 is not set | 689 | # CONFIG_MFD_SM501 is not set |
| 582 | # CONFIG_MFD_ASIC3 is not set | 690 | # CONFIG_MFD_ASIC3 is not set |
| 583 | # CONFIG_HTC_EGPIO is not set | 691 | # CONFIG_HTC_EGPIO is not set |
| 584 | # CONFIG_HTC_PASIC3 is not set | 692 | # CONFIG_HTC_PASIC3 is not set |
| 693 | # CONFIG_TPS65010 is not set | ||
| 694 | # CONFIG_TWL4030_CORE is not set | ||
| 695 | # CONFIG_MFD_TMIO is not set | ||
| 696 | # CONFIG_MFD_TC6393XB is not set | ||
| 697 | # CONFIG_PMIC_DA903X is not set | ||
| 698 | # CONFIG_MFD_WM8400 is not set | ||
| 699 | # CONFIG_MFD_WM8350_I2C is not set | ||
| 700 | # CONFIG_MFD_PCF50633 is not set | ||
| 585 | 701 | ||
| 586 | # | 702 | # |
| 587 | # Multimedia devices | 703 | # Multimedia devices |
| @@ -604,36 +720,131 @@ CONFIG_SSB_POSSIBLE=y | |||
| 604 | # | 720 | # |
| 605 | # CONFIG_VGASTATE is not set | 721 | # CONFIG_VGASTATE is not set |
| 606 | # CONFIG_VIDEO_OUTPUT_CONTROL is not set | 722 | # CONFIG_VIDEO_OUTPUT_CONTROL is not set |
| 607 | # CONFIG_FB is not set | 723 | CONFIG_FB=y |
| 724 | # CONFIG_FIRMWARE_EDID is not set | ||
| 725 | # CONFIG_FB_DDC is not set | ||
| 726 | # CONFIG_FB_BOOT_VESA_SUPPORT is not set | ||
| 727 | # CONFIG_FB_CFB_FILLRECT is not set | ||
| 728 | # CONFIG_FB_CFB_COPYAREA is not set | ||
| 729 | # CONFIG_FB_CFB_IMAGEBLIT is not set | ||
| 730 | # CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set | ||
| 731 | # CONFIG_FB_SYS_FILLRECT is not set | ||
| 732 | # CONFIG_FB_SYS_COPYAREA is not set | ||
| 733 | # CONFIG_FB_SYS_IMAGEBLIT is not set | ||
| 734 | # CONFIG_FB_FOREIGN_ENDIAN is not set | ||
| 735 | # CONFIG_FB_SYS_FOPS is not set | ||
| 736 | # CONFIG_FB_SVGALIB is not set | ||
| 737 | # CONFIG_FB_MACMODES is not set | ||
| 738 | # CONFIG_FB_BACKLIGHT is not set | ||
| 739 | # CONFIG_FB_MODE_HELPERS is not set | ||
| 740 | # CONFIG_FB_TILEBLITTING is not set | ||
| 741 | |||
| 742 | # | ||
| 743 | # Frame buffer hardware drivers | ||
| 744 | # | ||
| 745 | # CONFIG_FB_S1D13XXX is not set | ||
| 746 | # CONFIG_FB_VIRTUAL is not set | ||
| 747 | # CONFIG_FB_METRONOME is not set | ||
| 748 | # CONFIG_FB_MB862XX is not set | ||
| 749 | # CONFIG_FB_BROADSHEET is not set | ||
| 608 | # CONFIG_BACKLIGHT_LCD_SUPPORT is not set | 750 | # CONFIG_BACKLIGHT_LCD_SUPPORT is not set |
| 609 | 751 | ||
| 610 | # | 752 | # |
| 611 | # Display device support | 753 | # Display device support |
| 612 | # | 754 | # |
| 613 | # CONFIG_DISPLAY_SUPPORT is not set | 755 | # CONFIG_DISPLAY_SUPPORT is not set |
| 756 | # CONFIG_LOGO is not set | ||
| 757 | # CONFIG_SOUND is not set | ||
| 758 | CONFIG_USB_SUPPORT=y | ||
| 759 | CONFIG_USB_ARCH_HAS_HCD=y | ||
| 760 | # CONFIG_USB_ARCH_HAS_OHCI is not set | ||
| 761 | # CONFIG_USB_ARCH_HAS_EHCI is not set | ||
| 762 | # CONFIG_USB is not set | ||
| 763 | # CONFIG_USB_OTG_WHITELIST is not set | ||
| 764 | # CONFIG_USB_OTG_BLACKLIST_HUB is not set | ||
| 765 | # CONFIG_USB_GADGET_MUSB_HDRC is not set | ||
| 614 | 766 | ||
| 615 | # | 767 | # |
| 616 | # Sound | 768 | # NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may |
| 769 | # | ||
| 770 | CONFIG_USB_GADGET=y | ||
| 771 | # CONFIG_USB_GADGET_DEBUG_FILES is not set | ||
| 772 | CONFIG_USB_GADGET_VBUS_DRAW=2 | ||
| 773 | CONFIG_USB_GADGET_SELECTED=y | ||
| 774 | # CONFIG_USB_GADGET_AT91 is not set | ||
| 775 | # CONFIG_USB_GADGET_ATMEL_USBA is not set | ||
| 776 | # CONFIG_USB_GADGET_FSL_USB2 is not set | ||
| 777 | # CONFIG_USB_GADGET_LH7A40X is not set | ||
| 778 | # CONFIG_USB_GADGET_OMAP is not set | ||
| 779 | # CONFIG_USB_GADGET_PXA25X is not set | ||
| 780 | # CONFIG_USB_GADGET_PXA27X is not set | ||
| 781 | # CONFIG_USB_GADGET_S3C2410 is not set | ||
| 782 | CONFIG_USB_GADGET_IMX=y | ||
| 783 | CONFIG_USB_IMX=y | ||
| 784 | # CONFIG_USB_GADGET_M66592 is not set | ||
| 785 | # CONFIG_USB_GADGET_AMD5536UDC is not set | ||
| 786 | # CONFIG_USB_GADGET_FSL_QE is not set | ||
| 787 | # CONFIG_USB_GADGET_CI13XXX is not set | ||
| 788 | # CONFIG_USB_GADGET_NET2280 is not set | ||
| 789 | # CONFIG_USB_GADGET_GOKU is not set | ||
| 790 | # CONFIG_USB_GADGET_DUMMY_HCD is not set | ||
| 791 | # CONFIG_USB_GADGET_DUALSPEED is not set | ||
| 792 | # CONFIG_USB_ZERO is not set | ||
| 793 | CONFIG_USB_ETH=y | ||
| 794 | CONFIG_USB_ETH_RNDIS=y | ||
| 795 | # CONFIG_USB_GADGETFS is not set | ||
| 796 | # CONFIG_USB_FILE_STORAGE is not set | ||
| 797 | # CONFIG_USB_G_SERIAL is not set | ||
| 798 | # CONFIG_USB_MIDI_GADGET is not set | ||
| 799 | # CONFIG_USB_G_PRINTER is not set | ||
| 800 | # CONFIG_USB_CDC_COMPOSITE is not set | ||
| 801 | |||
| 617 | # | 802 | # |
| 618 | # CONFIG_SOUND is not set | 803 | # OTG and related infrastructure |
| 619 | # CONFIG_USB_SUPPORT is not set | 804 | # |
| 620 | # CONFIG_MMC is not set | 805 | # CONFIG_USB_GPIO_VBUS is not set |
| 806 | # CONFIG_NOP_USB_XCEIV is not set | ||
| 807 | CONFIG_MMC=y | ||
| 808 | # CONFIG_MMC_DEBUG is not set | ||
| 809 | # CONFIG_MMC_UNSAFE_RESUME is not set | ||
| 810 | |||
| 811 | # | ||
| 812 | # MMC/SD/SDIO Card Drivers | ||
| 813 | # | ||
| 814 | CONFIG_MMC_BLOCK=y | ||
| 815 | CONFIG_MMC_BLOCK_BOUNCE=y | ||
| 816 | # CONFIG_SDIO_UART is not set | ||
| 817 | # CONFIG_MMC_TEST is not set | ||
| 818 | |||
| 819 | # | ||
| 820 | # MMC/SD/SDIO Host Controller Drivers | ||
| 821 | # | ||
| 822 | # CONFIG_MMC_SDHCI is not set | ||
| 823 | CONFIG_MMC_MXC=y | ||
| 824 | # CONFIG_MEMSTICK is not set | ||
| 825 | # CONFIG_ACCESSIBILITY is not set | ||
| 621 | # CONFIG_NEW_LEDS is not set | 826 | # CONFIG_NEW_LEDS is not set |
| 622 | CONFIG_RTC_LIB=y | 827 | CONFIG_RTC_LIB=y |
| 623 | # CONFIG_RTC_CLASS is not set | 828 | # CONFIG_RTC_CLASS is not set |
| 829 | # CONFIG_DMADEVICES is not set | ||
| 830 | # CONFIG_AUXDISPLAY is not set | ||
| 831 | # CONFIG_REGULATOR is not set | ||
| 624 | # CONFIG_UIO is not set | 832 | # CONFIG_UIO is not set |
| 833 | # CONFIG_STAGING is not set | ||
| 625 | 834 | ||
| 626 | # | 835 | # |
| 627 | # File systems | 836 | # File systems |
| 628 | # | 837 | # |
| 629 | # CONFIG_EXT2_FS is not set | 838 | # CONFIG_EXT2_FS is not set |
| 630 | # CONFIG_EXT3_FS is not set | 839 | # CONFIG_EXT3_FS is not set |
| 631 | # CONFIG_EXT4DEV_FS is not set | 840 | # CONFIG_EXT4_FS is not set |
| 632 | # CONFIG_REISERFS_FS is not set | 841 | # CONFIG_REISERFS_FS is not set |
| 633 | # CONFIG_JFS_FS is not set | 842 | # CONFIG_JFS_FS is not set |
| 634 | # CONFIG_FS_POSIX_ACL is not set | 843 | # CONFIG_FS_POSIX_ACL is not set |
| 844 | CONFIG_FILE_LOCKING=y | ||
| 635 | # CONFIG_XFS_FS is not set | 845 | # CONFIG_XFS_FS is not set |
| 636 | # CONFIG_OCFS2_FS is not set | 846 | # CONFIG_OCFS2_FS is not set |
| 847 | # CONFIG_BTRFS_FS is not set | ||
| 637 | # CONFIG_DNOTIFY is not set | 848 | # CONFIG_DNOTIFY is not set |
| 638 | CONFIG_INOTIFY=y | 849 | CONFIG_INOTIFY=y |
| 639 | CONFIG_INOTIFY_USER=y | 850 | CONFIG_INOTIFY_USER=y |
| @@ -643,6 +854,11 @@ CONFIG_INOTIFY_USER=y | |||
| 643 | # CONFIG_FUSE_FS is not set | 854 | # CONFIG_FUSE_FS is not set |
| 644 | 855 | ||
| 645 | # | 856 | # |
| 857 | # Caches | ||
| 858 | # | ||
| 859 | # CONFIG_FSCACHE is not set | ||
| 860 | |||
| 861 | # | ||
| 646 | # CD-ROM/DVD Filesystems | 862 | # CD-ROM/DVD Filesystems |
| 647 | # | 863 | # |
| 648 | # CONFIG_ISO9660_FS is not set | 864 | # CONFIG_ISO9660_FS is not set |
| @@ -660,15 +876,13 @@ CONFIG_INOTIFY_USER=y | |||
| 660 | # | 876 | # |
| 661 | CONFIG_PROC_FS=y | 877 | CONFIG_PROC_FS=y |
| 662 | CONFIG_PROC_SYSCTL=y | 878 | CONFIG_PROC_SYSCTL=y |
| 879 | CONFIG_PROC_PAGE_MONITOR=y | ||
| 663 | CONFIG_SYSFS=y | 880 | CONFIG_SYSFS=y |
| 664 | CONFIG_TMPFS=y | 881 | CONFIG_TMPFS=y |
| 665 | # CONFIG_TMPFS_POSIX_ACL is not set | 882 | # CONFIG_TMPFS_POSIX_ACL is not set |
| 666 | # CONFIG_HUGETLB_PAGE is not set | 883 | # CONFIG_HUGETLB_PAGE is not set |
| 667 | # CONFIG_CONFIGFS_FS is not set | 884 | # CONFIG_CONFIGFS_FS is not set |
| 668 | 885 | CONFIG_MISC_FILESYSTEMS=y | |
| 669 | # | ||
| 670 | # Miscellaneous filesystems | ||
| 671 | # | ||
| 672 | # CONFIG_ADFS_FS is not set | 886 | # CONFIG_ADFS_FS is not set |
| 673 | # CONFIG_AFFS_FS is not set | 887 | # CONFIG_AFFS_FS is not set |
| 674 | # CONFIG_HFS_FS is not set | 888 | # CONFIG_HFS_FS is not set |
| @@ -687,25 +901,30 @@ CONFIG_JFFS2_ZLIB=y | |||
| 687 | # CONFIG_JFFS2_LZO is not set | 901 | # CONFIG_JFFS2_LZO is not set |
| 688 | CONFIG_JFFS2_RTIME=y | 902 | CONFIG_JFFS2_RTIME=y |
| 689 | # CONFIG_JFFS2_RUBIN is not set | 903 | # CONFIG_JFFS2_RUBIN is not set |
| 690 | CONFIG_CRAMFS=y | 904 | # CONFIG_CRAMFS is not set |
| 905 | # CONFIG_SQUASHFS is not set | ||
| 691 | # CONFIG_VXFS_FS is not set | 906 | # CONFIG_VXFS_FS is not set |
| 692 | # CONFIG_MINIX_FS is not set | 907 | # CONFIG_MINIX_FS is not set |
| 908 | # CONFIG_OMFS_FS is not set | ||
| 693 | # CONFIG_HPFS_FS is not set | 909 | # CONFIG_HPFS_FS is not set |
| 694 | # CONFIG_QNX4FS_FS is not set | 910 | # CONFIG_QNX4FS_FS is not set |
| 695 | # CONFIG_ROMFS_FS is not set | 911 | # CONFIG_ROMFS_FS is not set |
| 696 | # CONFIG_SYSV_FS is not set | 912 | # CONFIG_SYSV_FS is not set |
| 697 | # CONFIG_UFS_FS is not set | 913 | # CONFIG_UFS_FS is not set |
| 914 | # CONFIG_NILFS2_FS is not set | ||
| 698 | CONFIG_NETWORK_FILESYSTEMS=y | 915 | CONFIG_NETWORK_FILESYSTEMS=y |
| 699 | CONFIG_NFS_FS=y | 916 | CONFIG_NFS_FS=y |
| 700 | # CONFIG_NFS_V3 is not set | 917 | CONFIG_NFS_V3=y |
| 701 | # CONFIG_NFS_V4 is not set | 918 | # CONFIG_NFS_V3_ACL is not set |
| 702 | # CONFIG_NFSD is not set | 919 | CONFIG_NFS_V4=y |
| 703 | CONFIG_ROOT_NFS=y | 920 | CONFIG_ROOT_NFS=y |
| 921 | # CONFIG_NFSD is not set | ||
| 704 | CONFIG_LOCKD=y | 922 | CONFIG_LOCKD=y |
| 923 | CONFIG_LOCKD_V4=y | ||
| 705 | CONFIG_NFS_COMMON=y | 924 | CONFIG_NFS_COMMON=y |
| 706 | CONFIG_SUNRPC=y | 925 | CONFIG_SUNRPC=y |
| 707 | # CONFIG_SUNRPC_BIND34 is not set | 926 | CONFIG_SUNRPC_GSS=y |
| 708 | # CONFIG_RPCSEC_GSS_KRB5 is not set | 927 | CONFIG_RPCSEC_GSS_KRB5=y |
| 709 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | 928 | # CONFIG_RPCSEC_GSS_SPKM3 is not set |
| 710 | # CONFIG_SMB_FS is not set | 929 | # CONFIG_SMB_FS is not set |
| 711 | # CONFIG_CIFS is not set | 930 | # CONFIG_CIFS is not set |
| @@ -724,9 +943,9 @@ CONFIG_MSDOS_PARTITION=y | |||
| 724 | # | 943 | # |
| 725 | # Kernel hacking | 944 | # Kernel hacking |
| 726 | # | 945 | # |
| 727 | CONFIG_PRINTK_TIME=y | 946 | # CONFIG_PRINTK_TIME is not set |
| 728 | CONFIG_ENABLE_WARN_DEPRECATED=y | 947 | # CONFIG_ENABLE_WARN_DEPRECATED is not set |
| 729 | CONFIG_ENABLE_MUST_CHECK=y | 948 | # CONFIG_ENABLE_MUST_CHECK is not set |
| 730 | CONFIG_FRAME_WARN=1024 | 949 | CONFIG_FRAME_WARN=1024 |
| 731 | # CONFIG_MAGIC_SYSRQ is not set | 950 | # CONFIG_MAGIC_SYSRQ is not set |
| 732 | # CONFIG_UNUSED_SYMBOLS is not set | 951 | # CONFIG_UNUSED_SYMBOLS is not set |
| @@ -734,8 +953,31 @@ CONFIG_FRAME_WARN=1024 | |||
| 734 | # CONFIG_HEADERS_CHECK is not set | 953 | # CONFIG_HEADERS_CHECK is not set |
| 735 | # CONFIG_DEBUG_KERNEL is not set | 954 | # CONFIG_DEBUG_KERNEL is not set |
| 736 | # CONFIG_DEBUG_BUGVERBOSE is not set | 955 | # CONFIG_DEBUG_BUGVERBOSE is not set |
| 737 | CONFIG_FRAME_POINTER=y | 956 | # CONFIG_DEBUG_MEMORY_INIT is not set |
| 957 | # CONFIG_RCU_CPU_STALL_DETECTOR is not set | ||
| 958 | # CONFIG_LATENCYTOP is not set | ||
| 959 | CONFIG_SYSCTL_SYSCALL_CHECK=y | ||
| 960 | CONFIG_HAVE_FUNCTION_TRACER=y | ||
| 961 | CONFIG_TRACING_SUPPORT=y | ||
| 962 | |||
| 963 | # | ||
| 964 | # Tracers | ||
| 965 | # | ||
| 966 | # CONFIG_FUNCTION_TRACER is not set | ||
| 967 | # CONFIG_IRQSOFF_TRACER is not set | ||
| 968 | # CONFIG_PREEMPT_TRACER is not set | ||
| 969 | # CONFIG_SCHED_TRACER is not set | ||
| 970 | # CONFIG_CONTEXT_SWITCH_TRACER is not set | ||
| 971 | # CONFIG_EVENT_TRACER is not set | ||
| 972 | # CONFIG_BOOT_TRACER is not set | ||
| 973 | # CONFIG_TRACE_BRANCH_PROFILING is not set | ||
| 974 | # CONFIG_STACK_TRACER is not set | ||
| 975 | # CONFIG_KMEMTRACE is not set | ||
| 976 | # CONFIG_WORKQUEUE_TRACER is not set | ||
| 977 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
| 738 | # CONFIG_SAMPLES is not set | 978 | # CONFIG_SAMPLES is not set |
| 979 | CONFIG_HAVE_ARCH_KGDB=y | ||
| 980 | CONFIG_ARM_UNWIND=y | ||
| 739 | # CONFIG_DEBUG_USER is not set | 981 | # CONFIG_DEBUG_USER is not set |
| 740 | 982 | ||
| 741 | # | 983 | # |
| @@ -743,15 +985,28 @@ CONFIG_FRAME_POINTER=y | |||
| 743 | # | 985 | # |
| 744 | # CONFIG_KEYS is not set | 986 | # CONFIG_KEYS is not set |
| 745 | # CONFIG_SECURITY is not set | 987 | # CONFIG_SECURITY is not set |
| 988 | # CONFIG_SECURITYFS is not set | ||
| 746 | # CONFIG_SECURITY_FILE_CAPABILITIES is not set | 989 | # CONFIG_SECURITY_FILE_CAPABILITIES is not set |
| 747 | CONFIG_CRYPTO=y | 990 | CONFIG_CRYPTO=y |
| 748 | 991 | ||
| 749 | # | 992 | # |
| 750 | # Crypto core or helper | 993 | # Crypto core or helper |
| 751 | # | 994 | # |
| 752 | # CONFIG_CRYPTO_MANAGER is not set | 995 | # CONFIG_CRYPTO_FIPS is not set |
| 996 | CONFIG_CRYPTO_ALGAPI=y | ||
| 997 | CONFIG_CRYPTO_ALGAPI2=y | ||
| 998 | CONFIG_CRYPTO_AEAD2=y | ||
| 999 | CONFIG_CRYPTO_BLKCIPHER=y | ||
| 1000 | CONFIG_CRYPTO_BLKCIPHER2=y | ||
| 1001 | CONFIG_CRYPTO_HASH=y | ||
| 1002 | CONFIG_CRYPTO_HASH2=y | ||
| 1003 | CONFIG_CRYPTO_RNG2=y | ||
| 1004 | CONFIG_CRYPTO_PCOMP=y | ||
| 1005 | CONFIG_CRYPTO_MANAGER=y | ||
| 1006 | CONFIG_CRYPTO_MANAGER2=y | ||
| 753 | # CONFIG_CRYPTO_GF128MUL is not set | 1007 | # CONFIG_CRYPTO_GF128MUL is not set |
| 754 | # CONFIG_CRYPTO_NULL is not set | 1008 | # CONFIG_CRYPTO_NULL is not set |
| 1009 | CONFIG_CRYPTO_WORKQUEUE=y | ||
| 755 | # CONFIG_CRYPTO_CRYPTD is not set | 1010 | # CONFIG_CRYPTO_CRYPTD is not set |
| 756 | # CONFIG_CRYPTO_AUTHENC is not set | 1011 | # CONFIG_CRYPTO_AUTHENC is not set |
| 757 | # CONFIG_CRYPTO_TEST is not set | 1012 | # CONFIG_CRYPTO_TEST is not set |
| @@ -766,7 +1021,7 @@ CONFIG_CRYPTO=y | |||
| 766 | # | 1021 | # |
| 767 | # Block modes | 1022 | # Block modes |
| 768 | # | 1023 | # |
| 769 | # CONFIG_CRYPTO_CBC is not set | 1024 | CONFIG_CRYPTO_CBC=y |
| 770 | # CONFIG_CRYPTO_CTR is not set | 1025 | # CONFIG_CRYPTO_CTR is not set |
| 771 | # CONFIG_CRYPTO_CTS is not set | 1026 | # CONFIG_CRYPTO_CTS is not set |
| 772 | # CONFIG_CRYPTO_ECB is not set | 1027 | # CONFIG_CRYPTO_ECB is not set |
| @@ -785,8 +1040,12 @@ CONFIG_CRYPTO=y | |||
| 785 | # | 1040 | # |
| 786 | # CONFIG_CRYPTO_CRC32C is not set | 1041 | # CONFIG_CRYPTO_CRC32C is not set |
| 787 | # CONFIG_CRYPTO_MD4 is not set | 1042 | # CONFIG_CRYPTO_MD4 is not set |
| 788 | # CONFIG_CRYPTO_MD5 is not set | 1043 | CONFIG_CRYPTO_MD5=y |
| 789 | # CONFIG_CRYPTO_MICHAEL_MIC is not set | 1044 | # CONFIG_CRYPTO_MICHAEL_MIC is not set |
| 1045 | # CONFIG_CRYPTO_RMD128 is not set | ||
| 1046 | # CONFIG_CRYPTO_RMD160 is not set | ||
| 1047 | # CONFIG_CRYPTO_RMD256 is not set | ||
| 1048 | # CONFIG_CRYPTO_RMD320 is not set | ||
| 790 | # CONFIG_CRYPTO_SHA1 is not set | 1049 | # CONFIG_CRYPTO_SHA1 is not set |
| 791 | # CONFIG_CRYPTO_SHA256 is not set | 1050 | # CONFIG_CRYPTO_SHA256 is not set |
| 792 | # CONFIG_CRYPTO_SHA512 is not set | 1051 | # CONFIG_CRYPTO_SHA512 is not set |
| @@ -803,7 +1062,7 @@ CONFIG_CRYPTO=y | |||
| 803 | # CONFIG_CRYPTO_CAMELLIA is not set | 1062 | # CONFIG_CRYPTO_CAMELLIA is not set |
| 804 | # CONFIG_CRYPTO_CAST5 is not set | 1063 | # CONFIG_CRYPTO_CAST5 is not set |
| 805 | # CONFIG_CRYPTO_CAST6 is not set | 1064 | # CONFIG_CRYPTO_CAST6 is not set |
| 806 | # CONFIG_CRYPTO_DES is not set | 1065 | CONFIG_CRYPTO_DES=y |
| 807 | # CONFIG_CRYPTO_FCRYPT is not set | 1066 | # CONFIG_CRYPTO_FCRYPT is not set |
| 808 | # CONFIG_CRYPTO_KHAZAD is not set | 1067 | # CONFIG_CRYPTO_KHAZAD is not set |
| 809 | # CONFIG_CRYPTO_SALSA20 is not set | 1068 | # CONFIG_CRYPTO_SALSA20 is not set |
| @@ -816,24 +1075,31 @@ CONFIG_CRYPTO=y | |||
| 816 | # Compression | 1075 | # Compression |
| 817 | # | 1076 | # |
| 818 | # CONFIG_CRYPTO_DEFLATE is not set | 1077 | # CONFIG_CRYPTO_DEFLATE is not set |
| 1078 | # CONFIG_CRYPTO_ZLIB is not set | ||
| 819 | # CONFIG_CRYPTO_LZO is not set | 1079 | # CONFIG_CRYPTO_LZO is not set |
| 820 | # CONFIG_CRYPTO_HW is not set | 1080 | |
| 1081 | # | ||
| 1082 | # Random Number Generation | ||
| 1083 | # | ||
| 1084 | # CONFIG_CRYPTO_ANSI_CPRNG is not set | ||
| 1085 | CONFIG_CRYPTO_HW=y | ||
| 1086 | # CONFIG_BINARY_PRINTF is not set | ||
| 821 | 1087 | ||
| 822 | # | 1088 | # |
| 823 | # Library routines | 1089 | # Library routines |
| 824 | # | 1090 | # |
| 825 | CONFIG_BITREVERSE=y | 1091 | CONFIG_BITREVERSE=y |
| 826 | # CONFIG_GENERIC_FIND_FIRST_BIT is not set | 1092 | CONFIG_GENERIC_FIND_LAST_BIT=y |
| 827 | # CONFIG_GENERIC_FIND_NEXT_BIT is not set | ||
| 828 | # CONFIG_CRC_CCITT is not set | 1093 | # CONFIG_CRC_CCITT is not set |
| 829 | # CONFIG_CRC16 is not set | 1094 | # CONFIG_CRC16 is not set |
| 1095 | # CONFIG_CRC_T10DIF is not set | ||
| 830 | # CONFIG_CRC_ITU_T is not set | 1096 | # CONFIG_CRC_ITU_T is not set |
| 831 | CONFIG_CRC32=y | 1097 | CONFIG_CRC32=y |
| 832 | # CONFIG_CRC7 is not set | 1098 | # CONFIG_CRC7 is not set |
| 833 | # CONFIG_LIBCRC32C is not set | 1099 | # CONFIG_LIBCRC32C is not set |
| 834 | CONFIG_ZLIB_INFLATE=y | 1100 | CONFIG_ZLIB_INFLATE=y |
| 835 | CONFIG_ZLIB_DEFLATE=y | 1101 | CONFIG_ZLIB_DEFLATE=y |
| 836 | CONFIG_PLIST=y | ||
| 837 | CONFIG_HAS_IOMEM=y | 1102 | CONFIG_HAS_IOMEM=y |
| 838 | CONFIG_HAS_IOPORT=y | 1103 | CONFIG_HAS_IOPORT=y |
| 839 | CONFIG_HAS_DMA=y | 1104 | CONFIG_HAS_DMA=y |
| 1105 | CONFIG_NLATTR=y | ||
diff --git a/arch/arm/configs/pcm038_defconfig b/arch/arm/configs/mx27_defconfig index 41429a00f58c..083516cd0d7f 100644 --- a/arch/arm/configs/pcm038_defconfig +++ b/arch/arm/configs/mx27_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.26-rc6 | 3 | # Linux kernel version: 2.6.30-rc1 |
| 4 | # Fri Jun 20 16:38:36 2008 | 4 | # Wed Apr 8 10:18:06 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 |
| @@ -12,6 +12,7 @@ CONFIG_MMU=y | |||
| 12 | # CONFIG_NO_IOPORT is not set | 12 | # CONFIG_NO_IOPORT is not set |
| 13 | CONFIG_GENERIC_HARDIRQS=y | 13 | CONFIG_GENERIC_HARDIRQS=y |
| 14 | CONFIG_STACKTRACE_SUPPORT=y | 14 | CONFIG_STACKTRACE_SUPPORT=y |
| 15 | CONFIG_HAVE_LATENCYTOP_SUPPORT=y | ||
| 15 | CONFIG_LOCKDEP_SUPPORT=y | 16 | CONFIG_LOCKDEP_SUPPORT=y |
| 16 | CONFIG_TRACE_IRQFLAGS_SUPPORT=y | 17 | CONFIG_TRACE_IRQFLAGS_SUPPORT=y |
| 17 | CONFIG_HARDIRQS_SW_RESEND=y | 18 | CONFIG_HARDIRQS_SW_RESEND=y |
| @@ -21,9 +22,8 @@ CONFIG_RWSEM_GENERIC_SPINLOCK=y | |||
| 21 | # CONFIG_ARCH_HAS_ILOG2_U64 is not set | 22 | # CONFIG_ARCH_HAS_ILOG2_U64 is not set |
| 22 | CONFIG_GENERIC_HWEIGHT=y | 23 | CONFIG_GENERIC_HWEIGHT=y |
| 23 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 24 | CONFIG_GENERIC_CALIBRATE_DELAY=y |
| 24 | CONFIG_ARCH_SUPPORTS_AOUT=y | ||
| 25 | CONFIG_ZONE_DMA=y | ||
| 26 | CONFIG_ARCH_MTD_XIP=y | 25 | CONFIG_ARCH_MTD_XIP=y |
| 26 | CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y | ||
| 27 | CONFIG_VECTORS_BASE=0xffff0000 | 27 | CONFIG_VECTORS_BASE=0xffff0000 |
| 28 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | 28 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" |
| 29 | 29 | ||
| @@ -40,47 +40,58 @@ CONFIG_LOCALVERSION_AUTO=y | |||
| 40 | CONFIG_SYSVIPC=y | 40 | CONFIG_SYSVIPC=y |
| 41 | CONFIG_SYSVIPC_SYSCTL=y | 41 | CONFIG_SYSVIPC_SYSCTL=y |
| 42 | CONFIG_POSIX_MQUEUE=y | 42 | CONFIG_POSIX_MQUEUE=y |
| 43 | CONFIG_POSIX_MQUEUE_SYSCTL=y | ||
| 43 | # CONFIG_BSD_PROCESS_ACCT is not set | 44 | # CONFIG_BSD_PROCESS_ACCT is not set |
| 44 | # CONFIG_TASKSTATS is not set | 45 | # CONFIG_TASKSTATS is not set |
| 45 | # CONFIG_AUDIT is not set | 46 | # CONFIG_AUDIT is not set |
| 47 | |||
| 48 | # | ||
| 49 | # RCU Subsystem | ||
| 50 | # | ||
| 51 | CONFIG_CLASSIC_RCU=y | ||
| 52 | # CONFIG_TREE_RCU is not set | ||
| 53 | # CONFIG_PREEMPT_RCU is not set | ||
| 54 | # CONFIG_TREE_RCU_TRACE is not set | ||
| 55 | # CONFIG_PREEMPT_RCU_TRACE is not set | ||
| 46 | # CONFIG_IKCONFIG is not set | 56 | # CONFIG_IKCONFIG is not set |
| 47 | CONFIG_LOG_BUF_SHIFT=14 | 57 | CONFIG_LOG_BUF_SHIFT=14 |
| 48 | # CONFIG_CGROUPS is not set | ||
| 49 | CONFIG_GROUP_SCHED=y | 58 | CONFIG_GROUP_SCHED=y |
| 50 | CONFIG_FAIR_GROUP_SCHED=y | 59 | CONFIG_FAIR_GROUP_SCHED=y |
| 51 | CONFIG_RT_GROUP_SCHED=y | 60 | CONFIG_RT_GROUP_SCHED=y |
| 52 | CONFIG_USER_SCHED=y | 61 | CONFIG_USER_SCHED=y |
| 53 | # CONFIG_CGROUP_SCHED is not set | 62 | # CONFIG_CGROUP_SCHED is not set |
| 63 | # CONFIG_CGROUPS is not set | ||
| 54 | # CONFIG_SYSFS_DEPRECATED_V2 is not set | 64 | # CONFIG_SYSFS_DEPRECATED_V2 is not set |
| 55 | # CONFIG_RELAY is not set | 65 | # CONFIG_RELAY is not set |
| 56 | # CONFIG_NAMESPACES is not set | 66 | # CONFIG_NAMESPACES is not set |
| 57 | # CONFIG_BLK_DEV_INITRD is not set | 67 | # CONFIG_BLK_DEV_INITRD is not set |
| 58 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 68 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
| 59 | CONFIG_SYSCTL=y | 69 | CONFIG_SYSCTL=y |
| 70 | CONFIG_ANON_INODES=y | ||
| 60 | CONFIG_EMBEDDED=y | 71 | CONFIG_EMBEDDED=y |
| 61 | CONFIG_UID16=y | 72 | CONFIG_UID16=y |
| 62 | CONFIG_SYSCTL_SYSCALL=y | 73 | CONFIG_SYSCTL_SYSCALL=y |
| 63 | CONFIG_SYSCTL_SYSCALL_CHECK=y | ||
| 64 | CONFIG_KALLSYMS=y | 74 | CONFIG_KALLSYMS=y |
| 65 | CONFIG_KALLSYMS_EXTRA_PASS=y | 75 | CONFIG_KALLSYMS_EXTRA_PASS=y |
| 66 | CONFIG_HOTPLUG=y | 76 | CONFIG_HOTPLUG=y |
| 67 | CONFIG_PRINTK=y | 77 | CONFIG_PRINTK=y |
| 68 | CONFIG_BUG=y | 78 | CONFIG_BUG=y |
| 69 | CONFIG_ELF_CORE=y | 79 | CONFIG_ELF_CORE=y |
| 70 | # CONFIG_COMPAT_BRK is not set | ||
| 71 | CONFIG_BASE_FULL=y | 80 | CONFIG_BASE_FULL=y |
| 72 | CONFIG_FUTEX=y | 81 | CONFIG_FUTEX=y |
| 73 | CONFIG_ANON_INODES=y | ||
| 74 | CONFIG_EPOLL=y | 82 | CONFIG_EPOLL=y |
| 75 | CONFIG_SIGNALFD=y | 83 | CONFIG_SIGNALFD=y |
| 76 | CONFIG_TIMERFD=y | 84 | CONFIG_TIMERFD=y |
| 77 | CONFIG_EVENTFD=y | 85 | CONFIG_EVENTFD=y |
| 78 | CONFIG_SHMEM=y | 86 | CONFIG_SHMEM=y |
| 87 | CONFIG_AIO=y | ||
| 79 | CONFIG_VM_EVENT_COUNTERS=y | 88 | CONFIG_VM_EVENT_COUNTERS=y |
| 89 | # CONFIG_COMPAT_BRK is not set | ||
| 80 | CONFIG_SLAB=y | 90 | CONFIG_SLAB=y |
| 81 | # CONFIG_SLUB is not set | 91 | # CONFIG_SLUB is not set |
| 82 | # CONFIG_SLOB is not set | 92 | # CONFIG_SLOB is not set |
| 83 | CONFIG_PROFILING=y | 93 | CONFIG_PROFILING=y |
| 94 | CONFIG_TRACEPOINTS=y | ||
| 84 | CONFIG_MARKERS=y | 95 | CONFIG_MARKERS=y |
| 85 | CONFIG_OPROFILE=y | 96 | CONFIG_OPROFILE=y |
| 86 | CONFIG_HAVE_OPROFILE=y | 97 | CONFIG_HAVE_OPROFILE=y |
| @@ -88,11 +99,10 @@ CONFIG_KPROBES=y | |||
| 88 | CONFIG_KRETPROBES=y | 99 | CONFIG_KRETPROBES=y |
| 89 | CONFIG_HAVE_KPROBES=y | 100 | CONFIG_HAVE_KPROBES=y |
| 90 | CONFIG_HAVE_KRETPROBES=y | 101 | CONFIG_HAVE_KRETPROBES=y |
| 91 | # CONFIG_HAVE_DMA_ATTRS is not set | 102 | # CONFIG_SLOW_WORK is not set |
| 92 | # CONFIG_PROC_PAGE_MONITOR is not set | 103 | CONFIG_HAVE_GENERIC_DMA_COHERENT=y |
| 93 | CONFIG_SLABINFO=y | 104 | CONFIG_SLABINFO=y |
| 94 | CONFIG_RT_MUTEXES=y | 105 | CONFIG_RT_MUTEXES=y |
| 95 | # CONFIG_TINY_SHMEM is not set | ||
| 96 | CONFIG_BASE_SMALL=0 | 106 | CONFIG_BASE_SMALL=0 |
| 97 | CONFIG_MODULES=y | 107 | CONFIG_MODULES=y |
| 98 | # CONFIG_MODULE_FORCE_LOAD is not set | 108 | # CONFIG_MODULE_FORCE_LOAD is not set |
| @@ -100,12 +110,10 @@ CONFIG_MODULE_UNLOAD=y | |||
| 100 | # CONFIG_MODULE_FORCE_UNLOAD is not set | 110 | # CONFIG_MODULE_FORCE_UNLOAD is not set |
| 101 | # CONFIG_MODVERSIONS is not set | 111 | # CONFIG_MODVERSIONS is not set |
| 102 | # CONFIG_MODULE_SRCVERSION_ALL is not set | 112 | # CONFIG_MODULE_SRCVERSION_ALL is not set |
| 103 | # CONFIG_KMOD is not set | ||
| 104 | CONFIG_BLOCK=y | 113 | CONFIG_BLOCK=y |
| 105 | # CONFIG_LBD is not set | 114 | # CONFIG_LBD is not set |
| 106 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
| 107 | # CONFIG_LSF is not set | ||
| 108 | # CONFIG_BLK_DEV_BSG is not set | 115 | # CONFIG_BLK_DEV_BSG is not set |
| 116 | # CONFIG_BLK_DEV_INTEGRITY is not set | ||
| 109 | 117 | ||
| 110 | # | 118 | # |
| 111 | # IO Schedulers | 119 | # IO Schedulers |
| @@ -119,7 +127,7 @@ CONFIG_IOSCHED_NOOP=y | |||
| 119 | # CONFIG_DEFAULT_CFQ is not set | 127 | # CONFIG_DEFAULT_CFQ is not set |
| 120 | CONFIG_DEFAULT_NOOP=y | 128 | CONFIG_DEFAULT_NOOP=y |
| 121 | CONFIG_DEFAULT_IOSCHED="noop" | 129 | CONFIG_DEFAULT_IOSCHED="noop" |
| 122 | CONFIG_CLASSIC_RCU=y | 130 | CONFIG_FREEZER=y |
| 123 | 131 | ||
| 124 | # | 132 | # |
| 125 | # System Type | 133 | # System Type |
| @@ -129,11 +137,10 @@ CONFIG_CLASSIC_RCU=y | |||
| 129 | # CONFIG_ARCH_REALVIEW is not set | 137 | # CONFIG_ARCH_REALVIEW is not set |
| 130 | # CONFIG_ARCH_VERSATILE is not set | 138 | # CONFIG_ARCH_VERSATILE is not set |
| 131 | # CONFIG_ARCH_AT91 is not set | 139 | # CONFIG_ARCH_AT91 is not set |
| 132 | # CONFIG_ARCH_CLPS7500 is not set | ||
| 133 | # CONFIG_ARCH_CLPS711X is not set | 140 | # CONFIG_ARCH_CLPS711X is not set |
| 134 | # CONFIG_ARCH_CO285 is not set | ||
| 135 | # CONFIG_ARCH_EBSA110 is not set | 141 | # CONFIG_ARCH_EBSA110 is not set |
| 136 | # CONFIG_ARCH_EP93XX is not set | 142 | # CONFIG_ARCH_EP93XX is not set |
| 143 | # CONFIG_ARCH_GEMINI is not set | ||
| 137 | # CONFIG_ARCH_FOOTBRIDGE is not set | 144 | # CONFIG_ARCH_FOOTBRIDGE is not set |
| 138 | # CONFIG_ARCH_NETX is not set | 145 | # CONFIG_ARCH_NETX is not set |
| 139 | # CONFIG_ARCH_H720X is not set | 146 | # CONFIG_ARCH_H720X is not set |
| @@ -145,46 +152,44 @@ CONFIG_CLASSIC_RCU=y | |||
| 145 | # CONFIG_ARCH_IXP2000 is not set | 152 | # CONFIG_ARCH_IXP2000 is not set |
| 146 | # CONFIG_ARCH_IXP4XX is not set | 153 | # CONFIG_ARCH_IXP4XX is not set |
| 147 | # CONFIG_ARCH_L7200 is not set | 154 | # CONFIG_ARCH_L7200 is not set |
| 155 | # CONFIG_ARCH_KIRKWOOD is not set | ||
| 148 | # CONFIG_ARCH_KS8695 is not set | 156 | # CONFIG_ARCH_KS8695 is not set |
| 149 | # CONFIG_ARCH_NS9XXX is not set | 157 | # CONFIG_ARCH_NS9XXX is not set |
| 158 | # CONFIG_ARCH_LOKI is not set | ||
| 159 | # CONFIG_ARCH_MV78XX0 is not set | ||
| 150 | CONFIG_ARCH_MXC=y | 160 | CONFIG_ARCH_MXC=y |
| 151 | # CONFIG_ARCH_ORION5X is not set | 161 | # CONFIG_ARCH_ORION5X is not set |
| 152 | # CONFIG_ARCH_PNX4008 is not set | 162 | # CONFIG_ARCH_PNX4008 is not set |
| 153 | # CONFIG_ARCH_PXA is not set | 163 | # CONFIG_ARCH_PXA is not set |
| 164 | # CONFIG_ARCH_MMP is not set | ||
| 154 | # CONFIG_ARCH_RPC is not set | 165 | # CONFIG_ARCH_RPC is not set |
| 155 | # CONFIG_ARCH_SA1100 is not set | 166 | # CONFIG_ARCH_SA1100 is not set |
| 156 | # CONFIG_ARCH_S3C2410 is not set | 167 | # CONFIG_ARCH_S3C2410 is not set |
| 168 | # CONFIG_ARCH_S3C64XX is not set | ||
| 157 | # CONFIG_ARCH_SHARK is not set | 169 | # CONFIG_ARCH_SHARK is not set |
| 158 | # CONFIG_ARCH_LH7A40X is not set | 170 | # CONFIG_ARCH_LH7A40X is not set |
| 159 | # CONFIG_ARCH_DAVINCI is not set | 171 | # CONFIG_ARCH_DAVINCI is not set |
| 160 | # CONFIG_ARCH_OMAP is not set | 172 | # CONFIG_ARCH_OMAP is not set |
| 161 | # CONFIG_ARCH_MSM7X00A is not set | 173 | # CONFIG_ARCH_MSM is not set |
| 162 | 174 | # CONFIG_ARCH_W90X900 is not set | |
| 163 | # | ||
| 164 | # Boot options | ||
| 165 | # | ||
| 166 | |||
| 167 | # | ||
| 168 | # Power management | ||
| 169 | # | ||
| 170 | 175 | ||
| 171 | # | 176 | # |
| 172 | # Freescale MXC Implementations | 177 | # Freescale MXC Implementations |
| 173 | # | 178 | # |
| 179 | # CONFIG_ARCH_MX1 is not set | ||
| 174 | CONFIG_ARCH_MX2=y | 180 | CONFIG_ARCH_MX2=y |
| 175 | # CONFIG_ARCH_MX3 is not set | 181 | # CONFIG_ARCH_MX3 is not set |
| 176 | 182 | # CONFIG_MACH_MX21 is not set | |
| 177 | # | ||
| 178 | # MX2 family CPU support | ||
| 179 | # | ||
| 180 | CONFIG_MACH_MX27=y | 183 | CONFIG_MACH_MX27=y |
| 181 | 184 | ||
| 182 | # | 185 | # |
| 183 | # MX2 Platforms | 186 | # MX2 platforms: |
| 184 | # | 187 | # |
| 185 | # CONFIG_MACH_MX27ADS is not set | 188 | CONFIG_MACH_MX27ADS=y |
| 186 | CONFIG_MACH_PCM038=y | 189 | CONFIG_MACH_PCM038=y |
| 187 | CONFIG_MACH_PCM970_BASEBOARD=y | 190 | CONFIG_MACH_PCM970_BASEBOARD=y |
| 191 | CONFIG_MXC_IRQ_PRIOR=y | ||
| 192 | CONFIG_MXC_PWM=y | ||
| 188 | 193 | ||
| 189 | # | 194 | # |
| 190 | # Processor Type | 195 | # Processor Type |
| @@ -209,6 +214,7 @@ CONFIG_ARM_THUMB=y | |||
| 209 | # CONFIG_CPU_DCACHE_WRITETHROUGH is not set | 214 | # CONFIG_CPU_DCACHE_WRITETHROUGH is not set |
| 210 | # CONFIG_CPU_CACHE_ROUND_ROBIN is not set | 215 | # CONFIG_CPU_CACHE_ROUND_ROBIN is not set |
| 211 | # CONFIG_OUTER_CACHE is not set | 216 | # CONFIG_OUTER_CACHE is not set |
| 217 | CONFIG_COMMON_CLKDEV=y | ||
| 212 | 218 | ||
| 213 | # | 219 | # |
| 214 | # Bus support | 220 | # Bus support |
| @@ -224,25 +230,32 @@ CONFIG_TICK_ONESHOT=y | |||
| 224 | CONFIG_NO_HZ=y | 230 | CONFIG_NO_HZ=y |
| 225 | CONFIG_HIGH_RES_TIMERS=y | 231 | CONFIG_HIGH_RES_TIMERS=y |
| 226 | CONFIG_GENERIC_CLOCKEVENTS_BUILD=y | 232 | CONFIG_GENERIC_CLOCKEVENTS_BUILD=y |
| 233 | CONFIG_VMSPLIT_3G=y | ||
| 234 | # CONFIG_VMSPLIT_2G is not set | ||
| 235 | # CONFIG_VMSPLIT_1G is not set | ||
| 236 | CONFIG_PAGE_OFFSET=0xC0000000 | ||
| 227 | CONFIG_PREEMPT=y | 237 | CONFIG_PREEMPT=y |
| 228 | CONFIG_HZ=100 | 238 | CONFIG_HZ=100 |
| 229 | CONFIG_AEABI=y | 239 | CONFIG_AEABI=y |
| 230 | # CONFIG_OABI_COMPAT is not set | 240 | CONFIG_OABI_COMPAT=y |
| 231 | # CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set | 241 | CONFIG_ARCH_FLATMEM_HAS_HOLES=y |
| 242 | # CONFIG_ARCH_SPARSEMEM_DEFAULT is not set | ||
| 243 | # CONFIG_ARCH_SELECT_MEMORY_MODEL is not set | ||
| 244 | # CONFIG_HIGHMEM is not set | ||
| 232 | CONFIG_SELECT_MEMORY_MODEL=y | 245 | CONFIG_SELECT_MEMORY_MODEL=y |
| 233 | CONFIG_FLATMEM_MANUAL=y | 246 | CONFIG_FLATMEM_MANUAL=y |
| 234 | # CONFIG_DISCONTIGMEM_MANUAL is not set | 247 | # CONFIG_DISCONTIGMEM_MANUAL is not set |
| 235 | # CONFIG_SPARSEMEM_MANUAL is not set | 248 | # CONFIG_SPARSEMEM_MANUAL is not set |
| 236 | CONFIG_FLATMEM=y | 249 | CONFIG_FLATMEM=y |
| 237 | CONFIG_FLAT_NODE_MEM_MAP=y | 250 | CONFIG_FLAT_NODE_MEM_MAP=y |
| 238 | # CONFIG_SPARSEMEM_STATIC is not set | ||
| 239 | # CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set | ||
| 240 | CONFIG_PAGEFLAGS_EXTENDED=y | 251 | CONFIG_PAGEFLAGS_EXTENDED=y |
| 241 | CONFIG_SPLIT_PTLOCK_CPUS=4096 | 252 | CONFIG_SPLIT_PTLOCK_CPUS=4096 |
| 242 | # CONFIG_RESOURCES_64BIT is not set | 253 | # CONFIG_PHYS_ADDR_T_64BIT is not set |
| 243 | CONFIG_ZONE_DMA_FLAG=1 | 254 | CONFIG_ZONE_DMA_FLAG=0 |
| 244 | CONFIG_BOUNCE=y | ||
| 245 | CONFIG_VIRT_TO_BUS=y | 255 | CONFIG_VIRT_TO_BUS=y |
| 256 | CONFIG_UNEVICTABLE_LRU=y | ||
| 257 | CONFIG_HAVE_MLOCK=y | ||
| 258 | CONFIG_HAVE_MLOCKED_PAGE_BIT=y | ||
| 246 | CONFIG_ALIGNMENT_TRAP=y | 259 | CONFIG_ALIGNMENT_TRAP=y |
| 247 | 260 | ||
| 248 | # | 261 | # |
| @@ -255,30 +268,44 @@ CONFIG_CMDLINE="" | |||
| 255 | # CONFIG_KEXEC is not set | 268 | # CONFIG_KEXEC is not set |
| 256 | 269 | ||
| 257 | # | 270 | # |
| 271 | # CPU Power Management | ||
| 272 | # | ||
| 273 | # CONFIG_CPU_IDLE is not set | ||
| 274 | |||
| 275 | # | ||
| 258 | # Floating point emulation | 276 | # Floating point emulation |
| 259 | # | 277 | # |
| 260 | 278 | ||
| 261 | # | 279 | # |
| 262 | # At least one emulation must be selected | 280 | # At least one emulation must be selected |
| 263 | # | 281 | # |
| 282 | CONFIG_FPE_NWFPE=y | ||
| 283 | CONFIG_FPE_NWFPE_XP=y | ||
| 284 | # CONFIG_FPE_FASTFPE is not set | ||
| 264 | # CONFIG_VFP is not set | 285 | # CONFIG_VFP is not set |
| 265 | 286 | ||
| 266 | # | 287 | # |
| 267 | # Userspace binary formats | 288 | # Userspace binary formats |
| 268 | # | 289 | # |
| 269 | CONFIG_BINFMT_ELF=y | 290 | CONFIG_BINFMT_ELF=y |
| 291 | # CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set | ||
| 292 | CONFIG_HAVE_AOUT=y | ||
| 270 | # CONFIG_BINFMT_AOUT is not set | 293 | # CONFIG_BINFMT_AOUT is not set |
| 271 | # CONFIG_BINFMT_MISC is not set | 294 | # CONFIG_BINFMT_MISC is not set |
| 272 | 295 | ||
| 273 | # | 296 | # |
| 274 | # Power management options | 297 | # Power management options |
| 275 | # | 298 | # |
| 276 | # CONFIG_PM is not set | 299 | CONFIG_PM=y |
| 300 | CONFIG_PM_DEBUG=y | ||
| 301 | # CONFIG_PM_VERBOSE is not set | ||
| 302 | CONFIG_CAN_PM_TRACE=y | ||
| 303 | CONFIG_PM_SLEEP=y | ||
| 304 | CONFIG_SUSPEND=y | ||
| 305 | # CONFIG_PM_TEST_SUSPEND is not set | ||
| 306 | CONFIG_SUSPEND_FREEZER=y | ||
| 307 | # CONFIG_APM_EMULATION is not set | ||
| 277 | CONFIG_ARCH_SUSPEND_POSSIBLE=y | 308 | CONFIG_ARCH_SUSPEND_POSSIBLE=y |
| 278 | |||
| 279 | # | ||
| 280 | # Networking | ||
| 281 | # | ||
| 282 | CONFIG_NET=y | 309 | CONFIG_NET=y |
| 283 | 310 | ||
| 284 | # | 311 | # |
| @@ -293,7 +320,7 @@ CONFIG_IP_MULTICAST=y | |||
| 293 | # CONFIG_IP_ADVANCED_ROUTER is not set | 320 | # CONFIG_IP_ADVANCED_ROUTER is not set |
| 294 | CONFIG_IP_FIB_HASH=y | 321 | CONFIG_IP_FIB_HASH=y |
| 295 | CONFIG_IP_PNP=y | 322 | CONFIG_IP_PNP=y |
| 296 | # CONFIG_IP_PNP_DHCP is not set | 323 | CONFIG_IP_PNP_DHCP=y |
| 297 | # CONFIG_IP_PNP_BOOTP is not set | 324 | # CONFIG_IP_PNP_BOOTP is not set |
| 298 | # CONFIG_IP_PNP_RARP is not set | 325 | # CONFIG_IP_PNP_RARP is not set |
| 299 | # CONFIG_NET_IPIP is not set | 326 | # CONFIG_NET_IPIP is not set |
| @@ -323,6 +350,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic" | |||
| 323 | # CONFIG_TIPC is not set | 350 | # CONFIG_TIPC is not set |
| 324 | # CONFIG_ATM is not set | 351 | # CONFIG_ATM is not set |
| 325 | # CONFIG_BRIDGE is not set | 352 | # CONFIG_BRIDGE is not set |
| 353 | # CONFIG_NET_DSA is not set | ||
| 326 | # CONFIG_VLAN_8021Q is not set | 354 | # CONFIG_VLAN_8021Q is not set |
| 327 | # CONFIG_DECNET is not set | 355 | # CONFIG_DECNET is not set |
| 328 | # CONFIG_LLC2 is not set | 356 | # CONFIG_LLC2 is not set |
| @@ -332,26 +360,23 @@ CONFIG_DEFAULT_TCP_CONG="cubic" | |||
| 332 | # CONFIG_LAPB is not set | 360 | # CONFIG_LAPB is not set |
| 333 | # CONFIG_ECONET is not set | 361 | # CONFIG_ECONET is not set |
| 334 | # CONFIG_WAN_ROUTER is not set | 362 | # CONFIG_WAN_ROUTER is not set |
| 363 | # CONFIG_PHONET is not set | ||
| 335 | # CONFIG_NET_SCHED is not set | 364 | # CONFIG_NET_SCHED is not set |
| 365 | # CONFIG_DCB is not set | ||
| 336 | 366 | ||
| 337 | # | 367 | # |
| 338 | # Network testing | 368 | # Network testing |
| 339 | # | 369 | # |
| 340 | # CONFIG_NET_PKTGEN is not set | 370 | # CONFIG_NET_PKTGEN is not set |
| 341 | # CONFIG_NET_TCPPROBE is not set | 371 | # CONFIG_NET_TCPPROBE is not set |
| 372 | # CONFIG_NET_DROP_MONITOR is not set | ||
| 342 | # CONFIG_HAMRADIO is not set | 373 | # CONFIG_HAMRADIO is not set |
| 343 | # CONFIG_CAN is not set | 374 | # CONFIG_CAN is not set |
| 344 | # CONFIG_IRDA is not set | 375 | # CONFIG_IRDA is not set |
| 345 | # CONFIG_BT is not set | 376 | # CONFIG_BT is not set |
| 346 | # CONFIG_AF_RXRPC is not set | 377 | # CONFIG_AF_RXRPC is not set |
| 347 | 378 | # CONFIG_WIRELESS is not set | |
| 348 | # | 379 | # CONFIG_WIMAX is not set |
| 349 | # Wireless | ||
| 350 | # | ||
| 351 | # CONFIG_CFG80211 is not set | ||
| 352 | # CONFIG_WIRELESS_EXT is not set | ||
| 353 | # CONFIG_MAC80211 is not set | ||
| 354 | # CONFIG_IEEE80211 is not set | ||
| 355 | # CONFIG_RFKILL is not set | 380 | # CONFIG_RFKILL is not set |
| 356 | # CONFIG_NET_9P is not set | 381 | # CONFIG_NET_9P is not set |
| 357 | 382 | ||
| @@ -366,12 +391,15 @@ CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" | |||
| 366 | CONFIG_STANDALONE=y | 391 | CONFIG_STANDALONE=y |
| 367 | CONFIG_PREVENT_FIRMWARE_BUILD=y | 392 | CONFIG_PREVENT_FIRMWARE_BUILD=y |
| 368 | CONFIG_FW_LOADER=y | 393 | CONFIG_FW_LOADER=y |
| 394 | CONFIG_FIRMWARE_IN_KERNEL=y | ||
| 395 | CONFIG_EXTRA_FIRMWARE="" | ||
| 369 | # CONFIG_SYS_HYPERVISOR is not set | 396 | # CONFIG_SYS_HYPERVISOR is not set |
| 370 | # CONFIG_CONNECTOR is not set | 397 | # CONFIG_CONNECTOR is not set |
| 371 | CONFIG_MTD=y | 398 | CONFIG_MTD=y |
| 372 | # CONFIG_MTD_DEBUG is not set | 399 | # CONFIG_MTD_DEBUG is not set |
| 373 | # CONFIG_MTD_CONCAT is not set | 400 | # CONFIG_MTD_CONCAT is not set |
| 374 | CONFIG_MTD_PARTITIONS=y | 401 | CONFIG_MTD_PARTITIONS=y |
| 402 | # CONFIG_MTD_TESTS is not set | ||
| 375 | # CONFIG_MTD_REDBOOT_PARTS is not set | 403 | # CONFIG_MTD_REDBOOT_PARTS is not set |
| 376 | CONFIG_MTD_CMDLINE_PARTS=y | 404 | CONFIG_MTD_CMDLINE_PARTS=y |
| 377 | # CONFIG_MTD_AFS_PARTS is not set | 405 | # CONFIG_MTD_AFS_PARTS is not set |
| @@ -426,9 +454,7 @@ CONFIG_MTD_CFI_UTIL=y | |||
| 426 | # | 454 | # |
| 427 | # CONFIG_MTD_COMPLEX_MAPPINGS is not set | 455 | # CONFIG_MTD_COMPLEX_MAPPINGS is not set |
| 428 | CONFIG_MTD_PHYSMAP=y | 456 | CONFIG_MTD_PHYSMAP=y |
| 429 | CONFIG_MTD_PHYSMAP_START=0x00000000 | 457 | # CONFIG_MTD_PHYSMAP_COMPAT is not set |
| 430 | CONFIG_MTD_PHYSMAP_LEN=0x0 | ||
| 431 | CONFIG_MTD_PHYSMAP_BANKWIDTH=2 | ||
| 432 | # CONFIG_MTD_ARM_INTEGRATOR is not set | 458 | # CONFIG_MTD_ARM_INTEGRATOR is not set |
| 433 | # CONFIG_MTD_PLATRAM is not set | 459 | # CONFIG_MTD_PLATRAM is not set |
| 434 | 460 | ||
| @@ -452,6 +478,11 @@ CONFIG_MTD_PHYSMAP_BANKWIDTH=2 | |||
| 452 | # CONFIG_MTD_ONENAND is not set | 478 | # CONFIG_MTD_ONENAND is not set |
| 453 | 479 | ||
| 454 | # | 480 | # |
| 481 | # LPDDR flash memory drivers | ||
| 482 | # | ||
| 483 | # CONFIG_MTD_LPDDR is not set | ||
| 484 | |||
| 485 | # | ||
| 455 | # UBI - Unsorted block images | 486 | # UBI - Unsorted block images |
| 456 | # | 487 | # |
| 457 | # CONFIG_MTD_UBI is not set | 488 | # CONFIG_MTD_UBI is not set |
| @@ -477,7 +508,7 @@ CONFIG_HAVE_IDE=y | |||
| 477 | # CONFIG_ATA is not set | 508 | # CONFIG_ATA is not set |
| 478 | # CONFIG_MD is not set | 509 | # CONFIG_MD is not set |
| 479 | CONFIG_NETDEVICES=y | 510 | CONFIG_NETDEVICES=y |
| 480 | # CONFIG_NETDEVICES_MULTIQUEUE is not set | 511 | CONFIG_COMPAT_NET_DEV_OPS=y |
| 481 | # CONFIG_DUMMY is not set | 512 | # CONFIG_DUMMY is not set |
| 482 | # CONFIG_BONDING is not set | 513 | # CONFIG_BONDING is not set |
| 483 | # CONFIG_MACVLAN is not set | 514 | # CONFIG_MACVLAN is not set |
| @@ -491,12 +522,20 @@ CONFIG_NET_ETHERNET=y | |||
| 491 | # CONFIG_SMC91X is not set | 522 | # CONFIG_SMC91X is not set |
| 492 | # CONFIG_DM9000 is not set | 523 | # CONFIG_DM9000 is not set |
| 493 | # CONFIG_ENC28J60 is not set | 524 | # CONFIG_ENC28J60 is not set |
| 525 | # CONFIG_ETHOC is not set | ||
| 526 | # CONFIG_SMC911X is not set | ||
| 527 | # CONFIG_SMSC911X is not set | ||
| 528 | # CONFIG_DNET is not set | ||
| 494 | # CONFIG_IBM_NEW_EMAC_ZMII is not set | 529 | # CONFIG_IBM_NEW_EMAC_ZMII is not set |
| 495 | # CONFIG_IBM_NEW_EMAC_RGMII is not set | 530 | # CONFIG_IBM_NEW_EMAC_RGMII is not set |
| 496 | # CONFIG_IBM_NEW_EMAC_TAH is not set | 531 | # CONFIG_IBM_NEW_EMAC_TAH is not set |
| 497 | # CONFIG_IBM_NEW_EMAC_EMAC4 is not set | 532 | # CONFIG_IBM_NEW_EMAC_EMAC4 is not set |
| 533 | # CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set | ||
| 534 | # CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set | ||
| 535 | # CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set | ||
| 498 | # CONFIG_B44 is not set | 536 | # CONFIG_B44 is not set |
| 499 | CONFIG_FEC_OLD=y | 537 | CONFIG_FEC=y |
| 538 | # CONFIG_FEC2 is not set | ||
| 500 | # CONFIG_NETDEV_1000 is not set | 539 | # CONFIG_NETDEV_1000 is not set |
| 501 | # CONFIG_NETDEV_10000 is not set | 540 | # CONFIG_NETDEV_10000 is not set |
| 502 | 541 | ||
| @@ -505,7 +544,10 @@ CONFIG_FEC_OLD=y | |||
| 505 | # | 544 | # |
| 506 | # CONFIG_WLAN_PRE80211 is not set | 545 | # CONFIG_WLAN_PRE80211 is not set |
| 507 | # CONFIG_WLAN_80211 is not set | 546 | # CONFIG_WLAN_80211 is not set |
| 508 | # CONFIG_IWLWIFI_LEDS is not set | 547 | |
| 548 | # | ||
| 549 | # Enable WiMAX (Networking options) to see the WiMAX drivers | ||
| 550 | # | ||
| 509 | # CONFIG_WAN is not set | 551 | # CONFIG_WAN is not set |
| 510 | # CONFIG_PPP is not set | 552 | # CONFIG_PPP is not set |
| 511 | # CONFIG_SLIP is not set | 553 | # CONFIG_SLIP is not set |
| @@ -541,12 +583,15 @@ CONFIG_INPUT_TOUCHSCREEN=y | |||
| 541 | # CONFIG_TOUCHSCREEN_FUJITSU is not set | 583 | # CONFIG_TOUCHSCREEN_FUJITSU is not set |
| 542 | # CONFIG_TOUCHSCREEN_GUNZE is not set | 584 | # CONFIG_TOUCHSCREEN_GUNZE is not set |
| 543 | # CONFIG_TOUCHSCREEN_ELO is not set | 585 | # CONFIG_TOUCHSCREEN_ELO is not set |
| 586 | # CONFIG_TOUCHSCREEN_WACOM_W8001 is not set | ||
| 544 | # CONFIG_TOUCHSCREEN_MTOUCH is not set | 587 | # CONFIG_TOUCHSCREEN_MTOUCH is not set |
| 588 | # CONFIG_TOUCHSCREEN_INEXIO is not set | ||
| 545 | # CONFIG_TOUCHSCREEN_MK712 is not set | 589 | # CONFIG_TOUCHSCREEN_MK712 is not set |
| 546 | # CONFIG_TOUCHSCREEN_PENMOUNT is not set | 590 | # CONFIG_TOUCHSCREEN_PENMOUNT is not set |
| 547 | # CONFIG_TOUCHSCREEN_TOUCHRIGHT is not set | 591 | # CONFIG_TOUCHSCREEN_TOUCHRIGHT is not set |
| 548 | # CONFIG_TOUCHSCREEN_TOUCHWIN is not set | 592 | # CONFIG_TOUCHSCREEN_TOUCHWIN is not set |
| 549 | # CONFIG_TOUCHSCREEN_UCB1400 is not set | 593 | # CONFIG_TOUCHSCREEN_TOUCHIT213 is not set |
| 594 | # CONFIG_TOUCHSCREEN_TSC2007 is not set | ||
| 550 | # CONFIG_INPUT_MISC is not set | 595 | # CONFIG_INPUT_MISC is not set |
| 551 | 596 | ||
| 552 | # | 597 | # |
| @@ -559,6 +604,7 @@ CONFIG_INPUT_TOUCHSCREEN=y | |||
| 559 | # Character devices | 604 | # Character devices |
| 560 | # | 605 | # |
| 561 | CONFIG_VT=y | 606 | CONFIG_VT=y |
| 607 | CONFIG_CONSOLE_TRANSLATIONS=y | ||
| 562 | CONFIG_VT_CONSOLE=y | 608 | CONFIG_VT_CONSOLE=y |
| 563 | CONFIG_HW_CONSOLE=y | 609 | CONFIG_HW_CONSOLE=y |
| 564 | # CONFIG_VT_HW_CONSOLE_BINDING is not set | 610 | # CONFIG_VT_HW_CONSOLE_BINDING is not set |
| @@ -573,42 +619,55 @@ CONFIG_DEVKMEM=y | |||
| 573 | # | 619 | # |
| 574 | # Non-8250 serial port support | 620 | # Non-8250 serial port support |
| 575 | # | 621 | # |
| 622 | # CONFIG_SERIAL_MAX3100 is not set | ||
| 576 | CONFIG_SERIAL_IMX=y | 623 | CONFIG_SERIAL_IMX=y |
| 577 | CONFIG_SERIAL_IMX_CONSOLE=y | 624 | CONFIG_SERIAL_IMX_CONSOLE=y |
| 578 | CONFIG_SERIAL_CORE=y | 625 | CONFIG_SERIAL_CORE=y |
| 579 | CONFIG_SERIAL_CORE_CONSOLE=y | 626 | CONFIG_SERIAL_CORE_CONSOLE=y |
| 580 | CONFIG_UNIX98_PTYS=y | 627 | CONFIG_UNIX98_PTYS=y |
| 628 | # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set | ||
| 581 | # CONFIG_LEGACY_PTYS is not set | 629 | # CONFIG_LEGACY_PTYS is not set |
| 582 | # CONFIG_IPMI_HANDLER is not set | 630 | # CONFIG_IPMI_HANDLER is not set |
| 583 | # CONFIG_HW_RANDOM is not set | 631 | # CONFIG_HW_RANDOM is not set |
| 584 | # CONFIG_NVRAM is not set | ||
| 585 | # CONFIG_R3964 is not set | 632 | # CONFIG_R3964 is not set |
| 586 | # CONFIG_RAW_DRIVER is not set | 633 | # CONFIG_RAW_DRIVER is not set |
| 587 | # CONFIG_TCG_TPM is not set | 634 | # CONFIG_TCG_TPM is not set |
| 588 | CONFIG_I2C=y | 635 | CONFIG_I2C=y |
| 589 | CONFIG_I2C_BOARDINFO=y | 636 | CONFIG_I2C_BOARDINFO=y |
| 590 | # CONFIG_I2C_CHARDEV is not set | 637 | CONFIG_I2C_CHARDEV=y |
| 638 | CONFIG_I2C_HELPER_AUTO=y | ||
| 591 | 639 | ||
| 592 | # | 640 | # |
| 593 | # I2C Hardware Bus support | 641 | # I2C Hardware Bus support |
| 594 | # | 642 | # |
| 643 | |||
| 644 | # | ||
| 645 | # I2C system bus drivers (mostly embedded / system-on-chip) | ||
| 646 | # | ||
| 595 | # CONFIG_I2C_GPIO is not set | 647 | # CONFIG_I2C_GPIO is not set |
| 648 | CONFIG_I2C_IMX=y | ||
| 596 | # CONFIG_I2C_OCORES is not set | 649 | # CONFIG_I2C_OCORES is not set |
| 597 | # CONFIG_I2C_PARPORT_LIGHT is not set | ||
| 598 | # CONFIG_I2C_SIMTEC is not set | 650 | # CONFIG_I2C_SIMTEC is not set |
| 651 | |||
| 652 | # | ||
| 653 | # External I2C/SMBus adapter drivers | ||
| 654 | # | ||
| 655 | # CONFIG_I2C_PARPORT_LIGHT is not set | ||
| 599 | # CONFIG_I2C_TAOS_EVM is not set | 656 | # CONFIG_I2C_TAOS_EVM is not set |
| 600 | # CONFIG_I2C_STUB is not set | 657 | |
| 658 | # | ||
| 659 | # Other I2C/SMBus bus drivers | ||
| 660 | # | ||
| 601 | # CONFIG_I2C_PCA_PLATFORM is not set | 661 | # CONFIG_I2C_PCA_PLATFORM is not set |
| 662 | # CONFIG_I2C_STUB is not set | ||
| 602 | 663 | ||
| 603 | # | 664 | # |
| 604 | # Miscellaneous I2C Chip support | 665 | # Miscellaneous I2C Chip support |
| 605 | # | 666 | # |
| 606 | # CONFIG_DS1682 is not set | 667 | # CONFIG_DS1682 is not set |
| 607 | # CONFIG_EEPROM_LEGACY is not set | ||
| 608 | # CONFIG_SENSORS_PCF8574 is not set | 668 | # CONFIG_SENSORS_PCF8574 is not set |
| 609 | # CONFIG_PCF8575 is not set | 669 | # CONFIG_PCF8575 is not set |
| 610 | # CONFIG_SENSORS_PCF8591 is not set | 670 | # CONFIG_SENSORS_PCA9539 is not set |
| 611 | # CONFIG_TPS65010 is not set | ||
| 612 | # CONFIG_SENSORS_MAX6875 is not set | 671 | # CONFIG_SENSORS_MAX6875 is not set |
| 613 | # CONFIG_SENSORS_TSL2550 is not set | 672 | # CONFIG_SENSORS_TSL2550 is not set |
| 614 | # CONFIG_I2C_DEBUG_CORE is not set | 673 | # CONFIG_I2C_DEBUG_CORE is not set |
| @@ -622,47 +681,83 @@ CONFIG_SPI_MASTER=y | |||
| 622 | # SPI Master Controller Drivers | 681 | # SPI Master Controller Drivers |
| 623 | # | 682 | # |
| 624 | CONFIG_SPI_BITBANG=y | 683 | CONFIG_SPI_BITBANG=y |
| 684 | # CONFIG_SPI_GPIO is not set | ||
| 625 | 685 | ||
| 626 | # | 686 | # |
| 627 | # SPI Protocol Masters | 687 | # SPI Protocol Masters |
| 628 | # | 688 | # |
| 629 | # CONFIG_EEPROM_AT25 is not set | ||
| 630 | # CONFIG_SPI_SPIDEV is not set | 689 | # CONFIG_SPI_SPIDEV is not set |
| 631 | # CONFIG_SPI_TLE62X0 is not set | 690 | # CONFIG_SPI_TLE62X0 is not set |
| 632 | CONFIG_HAVE_GPIO_LIB=y | 691 | CONFIG_ARCH_REQUIRE_GPIOLIB=y |
| 692 | CONFIG_GPIOLIB=y | ||
| 693 | # CONFIG_GPIO_SYSFS is not set | ||
| 633 | 694 | ||
| 634 | # | 695 | # |
| 635 | # GPIO Support | 696 | # Memory mapped GPIO expanders: |
| 636 | # | 697 | # |
| 637 | 698 | ||
| 638 | # | 699 | # |
| 639 | # I2C GPIO expanders: | 700 | # I2C GPIO expanders: |
| 640 | # | 701 | # |
| 702 | # CONFIG_GPIO_MAX732X is not set | ||
| 641 | # CONFIG_GPIO_PCA953X is not set | 703 | # CONFIG_GPIO_PCA953X is not set |
| 642 | # CONFIG_GPIO_PCF857X is not set | 704 | # CONFIG_GPIO_PCF857X is not set |
| 643 | 705 | ||
| 644 | # | 706 | # |
| 707 | # PCI GPIO expanders: | ||
| 708 | # | ||
| 709 | |||
| 710 | # | ||
| 645 | # SPI GPIO expanders: | 711 | # SPI GPIO expanders: |
| 646 | # | 712 | # |
| 713 | # CONFIG_GPIO_MAX7301 is not set | ||
| 647 | # CONFIG_GPIO_MCP23S08 is not set | 714 | # CONFIG_GPIO_MCP23S08 is not set |
| 648 | # CONFIG_W1 is not set | 715 | CONFIG_W1=y |
| 716 | |||
| 717 | # | ||
| 718 | # 1-wire Bus Masters | ||
| 719 | # | ||
| 720 | # CONFIG_W1_MASTER_DS2482 is not set | ||
| 721 | CONFIG_W1_MASTER_MXC=y | ||
| 722 | # CONFIG_W1_MASTER_GPIO is not set | ||
| 723 | |||
| 724 | # | ||
| 725 | # 1-wire Slaves | ||
| 726 | # | ||
| 727 | CONFIG_W1_SLAVE_THERM=y | ||
| 728 | # CONFIG_W1_SLAVE_SMEM is not set | ||
| 729 | # CONFIG_W1_SLAVE_DS2431 is not set | ||
| 730 | # CONFIG_W1_SLAVE_DS2433 is not set | ||
| 731 | # CONFIG_W1_SLAVE_DS2760 is not set | ||
| 732 | # CONFIG_W1_SLAVE_BQ27000 is not set | ||
| 649 | # CONFIG_POWER_SUPPLY is not set | 733 | # CONFIG_POWER_SUPPLY is not set |
| 650 | # CONFIG_HWMON is not set | 734 | # CONFIG_HWMON is not set |
| 735 | # CONFIG_THERMAL is not set | ||
| 736 | # CONFIG_THERMAL_HWMON is not set | ||
| 651 | # CONFIG_WATCHDOG is not set | 737 | # CONFIG_WATCHDOG is not set |
| 738 | CONFIG_SSB_POSSIBLE=y | ||
| 652 | 739 | ||
| 653 | # | 740 | # |
| 654 | # Sonics Silicon Backplane | 741 | # Sonics Silicon Backplane |
| 655 | # | 742 | # |
| 656 | CONFIG_SSB_POSSIBLE=y | ||
| 657 | # CONFIG_SSB is not set | 743 | # CONFIG_SSB is not set |
| 658 | 744 | ||
| 659 | # | 745 | # |
| 660 | # Multifunction device drivers | 746 | # Multifunction device drivers |
| 661 | # | 747 | # |
| 748 | # CONFIG_MFD_CORE is not set | ||
| 662 | # CONFIG_MFD_SM501 is not set | 749 | # CONFIG_MFD_SM501 is not set |
| 663 | # CONFIG_MFD_ASIC3 is not set | 750 | # CONFIG_MFD_ASIC3 is not set |
| 664 | # CONFIG_HTC_EGPIO is not set | 751 | # CONFIG_HTC_EGPIO is not set |
| 665 | # CONFIG_HTC_PASIC3 is not set | 752 | # CONFIG_HTC_PASIC3 is not set |
| 753 | # CONFIG_TPS65010 is not set | ||
| 754 | # CONFIG_TWL4030_CORE is not set | ||
| 755 | # CONFIG_MFD_TMIO is not set | ||
| 756 | # CONFIG_MFD_TC6393XB is not set | ||
| 757 | # CONFIG_PMIC_DA903X is not set | ||
| 758 | # CONFIG_MFD_WM8400 is not set | ||
| 759 | # CONFIG_MFD_WM8350_I2C is not set | ||
| 760 | # CONFIG_MFD_PCF50633 is not set | ||
| 666 | 761 | ||
| 667 | # | 762 | # |
| 668 | # Multimedia devices | 763 | # Multimedia devices |
| @@ -683,7 +778,7 @@ CONFIG_VIDEO_MEDIA=y | |||
| 683 | # | 778 | # |
| 684 | # CONFIG_MEDIA_ATTACH is not set | 779 | # CONFIG_MEDIA_ATTACH is not set |
| 685 | CONFIG_MEDIA_TUNER=y | 780 | CONFIG_MEDIA_TUNER=y |
| 686 | # CONFIG_MEDIA_TUNER_CUSTOMIZE is not set | 781 | # CONFIG_MEDIA_TUNER_CUSTOMISE is not set |
| 687 | CONFIG_MEDIA_TUNER_SIMPLE=y | 782 | CONFIG_MEDIA_TUNER_SIMPLE=y |
| 688 | CONFIG_MEDIA_TUNER_TDA8290=y | 783 | CONFIG_MEDIA_TUNER_TDA8290=y |
| 689 | CONFIG_MEDIA_TUNER_TDA9887=y | 784 | CONFIG_MEDIA_TUNER_TDA9887=y |
| @@ -692,16 +787,17 @@ CONFIG_MEDIA_TUNER_TEA5767=y | |||
| 692 | CONFIG_MEDIA_TUNER_MT20XX=y | 787 | CONFIG_MEDIA_TUNER_MT20XX=y |
| 693 | CONFIG_MEDIA_TUNER_XC2028=y | 788 | CONFIG_MEDIA_TUNER_XC2028=y |
| 694 | CONFIG_MEDIA_TUNER_XC5000=y | 789 | CONFIG_MEDIA_TUNER_XC5000=y |
| 790 | CONFIG_MEDIA_TUNER_MC44S803=y | ||
| 695 | CONFIG_VIDEO_V4L2=y | 791 | CONFIG_VIDEO_V4L2=y |
| 696 | CONFIG_VIDEO_V4L1=y | 792 | CONFIG_VIDEO_V4L1=y |
| 697 | CONFIG_VIDEO_CAPTURE_DRIVERS=y | 793 | CONFIG_VIDEO_CAPTURE_DRIVERS=y |
| 698 | # CONFIG_VIDEO_ADV_DEBUG is not set | 794 | # CONFIG_VIDEO_ADV_DEBUG is not set |
| 795 | # CONFIG_VIDEO_FIXED_MINOR_RANGES is not set | ||
| 699 | CONFIG_VIDEO_HELPER_CHIPS_AUTO=y | 796 | CONFIG_VIDEO_HELPER_CHIPS_AUTO=y |
| 700 | # CONFIG_VIDEO_VIVI is not set | 797 | # CONFIG_VIDEO_VIVI is not set |
| 701 | # CONFIG_VIDEO_CPIA is not set | 798 | # CONFIG_VIDEO_CPIA is not set |
| 702 | # CONFIG_VIDEO_SAA5246A is not set | 799 | # CONFIG_VIDEO_SAA5246A is not set |
| 703 | # CONFIG_VIDEO_SAA5249 is not set | 800 | # CONFIG_VIDEO_SAA5249 is not set |
| 704 | # CONFIG_TUNER_3036 is not set | ||
| 705 | # CONFIG_SOC_CAMERA is not set | 801 | # CONFIG_SOC_CAMERA is not set |
| 706 | # CONFIG_RADIO_ADAPTERS is not set | 802 | # CONFIG_RADIO_ADAPTERS is not set |
| 707 | # CONFIG_DAB is not set | 803 | # CONFIG_DAB is not set |
| @@ -714,9 +810,10 @@ CONFIG_VIDEO_HELPER_CHIPS_AUTO=y | |||
| 714 | CONFIG_FB=y | 810 | CONFIG_FB=y |
| 715 | # CONFIG_FIRMWARE_EDID is not set | 811 | # CONFIG_FIRMWARE_EDID is not set |
| 716 | # CONFIG_FB_DDC is not set | 812 | # CONFIG_FB_DDC is not set |
| 717 | # CONFIG_FB_CFB_FILLRECT is not set | 813 | # CONFIG_FB_BOOT_VESA_SUPPORT is not set |
| 718 | # CONFIG_FB_CFB_COPYAREA is not set | 814 | CONFIG_FB_CFB_FILLRECT=y |
| 719 | # CONFIG_FB_CFB_IMAGEBLIT is not set | 815 | CONFIG_FB_CFB_COPYAREA=y |
| 816 | CONFIG_FB_CFB_IMAGEBLIT=y | ||
| 720 | # CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set | 817 | # CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set |
| 721 | # CONFIG_FB_SYS_FILLRECT is not set | 818 | # CONFIG_FB_SYS_FILLRECT is not set |
| 722 | # CONFIG_FB_SYS_COPYAREA is not set | 819 | # CONFIG_FB_SYS_COPYAREA is not set |
| @@ -732,8 +829,12 @@ CONFIG_FB=y | |||
| 732 | # | 829 | # |
| 733 | # Frame buffer hardware drivers | 830 | # Frame buffer hardware drivers |
| 734 | # | 831 | # |
| 832 | CONFIG_FB_IMX=y | ||
| 735 | # CONFIG_FB_S1D13XXX is not set | 833 | # CONFIG_FB_S1D13XXX is not set |
| 736 | # CONFIG_FB_VIRTUAL is not set | 834 | # CONFIG_FB_VIRTUAL is not set |
| 835 | # CONFIG_FB_METRONOME is not set | ||
| 836 | # CONFIG_FB_MB862XX is not set | ||
| 837 | # CONFIG_FB_BROADSHEET is not set | ||
| 737 | # CONFIG_BACKLIGHT_LCD_SUPPORT is not set | 838 | # CONFIG_BACKLIGHT_LCD_SUPPORT is not set |
| 738 | 839 | ||
| 739 | # | 840 | # |
| @@ -761,14 +862,29 @@ CONFIG_FONT_8x8=y | |||
| 761 | # CONFIG_FONT_SUN12x22 is not set | 862 | # CONFIG_FONT_SUN12x22 is not set |
| 762 | # CONFIG_FONT_10x18 is not set | 863 | # CONFIG_FONT_10x18 is not set |
| 763 | # CONFIG_LOGO is not set | 864 | # CONFIG_LOGO is not set |
| 764 | |||
| 765 | # | ||
| 766 | # Sound | ||
| 767 | # | ||
| 768 | # CONFIG_SOUND is not set | 865 | # CONFIG_SOUND is not set |
| 769 | # CONFIG_HID_SUPPORT is not set | 866 | # CONFIG_HID_SUPPORT is not set |
| 770 | # CONFIG_USB_SUPPORT is not set | 867 | # CONFIG_USB_SUPPORT is not set |
| 771 | # CONFIG_MMC is not set | 868 | CONFIG_MMC=y |
| 869 | # CONFIG_MMC_DEBUG is not set | ||
| 870 | # CONFIG_MMC_UNSAFE_RESUME is not set | ||
| 871 | |||
| 872 | # | ||
| 873 | # MMC/SD/SDIO Card Drivers | ||
| 874 | # | ||
| 875 | CONFIG_MMC_BLOCK=y | ||
| 876 | CONFIG_MMC_BLOCK_BOUNCE=y | ||
| 877 | # CONFIG_SDIO_UART is not set | ||
| 878 | # CONFIG_MMC_TEST is not set | ||
| 879 | |||
| 880 | # | ||
| 881 | # MMC/SD/SDIO Host Controller Drivers | ||
| 882 | # | ||
| 883 | # CONFIG_MMC_SDHCI is not set | ||
| 884 | CONFIG_MMC_MXC=y | ||
| 885 | # CONFIG_MMC_SPI is not set | ||
| 886 | # CONFIG_MEMSTICK is not set | ||
| 887 | # CONFIG_ACCESSIBILITY is not set | ||
| 772 | # CONFIG_NEW_LEDS is not set | 888 | # CONFIG_NEW_LEDS is not set |
| 773 | CONFIG_RTC_LIB=y | 889 | CONFIG_RTC_LIB=y |
| 774 | CONFIG_RTC_CLASS=y | 890 | CONFIG_RTC_CLASS=y |
| @@ -800,42 +916,56 @@ CONFIG_RTC_DRV_PCF8563=y | |||
| 800 | # CONFIG_RTC_DRV_M41T80 is not set | 916 | # CONFIG_RTC_DRV_M41T80 is not set |
| 801 | # CONFIG_RTC_DRV_S35390A is not set | 917 | # CONFIG_RTC_DRV_S35390A is not set |
| 802 | # CONFIG_RTC_DRV_FM3130 is not set | 918 | # CONFIG_RTC_DRV_FM3130 is not set |
| 919 | # CONFIG_RTC_DRV_RX8581 is not set | ||
| 803 | 920 | ||
| 804 | # | 921 | # |
| 805 | # SPI RTC drivers | 922 | # SPI RTC drivers |
| 806 | # | 923 | # |
| 924 | # CONFIG_RTC_DRV_M41T94 is not set | ||
| 925 | # CONFIG_RTC_DRV_DS1305 is not set | ||
| 926 | # CONFIG_RTC_DRV_DS1390 is not set | ||
| 807 | # CONFIG_RTC_DRV_MAX6902 is not set | 927 | # CONFIG_RTC_DRV_MAX6902 is not set |
| 808 | # CONFIG_RTC_DRV_R9701 is not set | 928 | # CONFIG_RTC_DRV_R9701 is not set |
| 809 | # CONFIG_RTC_DRV_RS5C348 is not set | 929 | # CONFIG_RTC_DRV_RS5C348 is not set |
| 930 | # CONFIG_RTC_DRV_DS3234 is not set | ||
| 810 | 931 | ||
| 811 | # | 932 | # |
| 812 | # Platform RTC drivers | 933 | # Platform RTC drivers |
| 813 | # | 934 | # |
| 814 | # CONFIG_RTC_DRV_CMOS is not set | 935 | # CONFIG_RTC_DRV_CMOS is not set |
| 936 | # CONFIG_RTC_DRV_DS1286 is not set | ||
| 815 | # CONFIG_RTC_DRV_DS1511 is not set | 937 | # CONFIG_RTC_DRV_DS1511 is not set |
| 816 | # CONFIG_RTC_DRV_DS1553 is not set | 938 | # CONFIG_RTC_DRV_DS1553 is not set |
| 817 | # CONFIG_RTC_DRV_DS1742 is not set | 939 | # CONFIG_RTC_DRV_DS1742 is not set |
| 818 | # CONFIG_RTC_DRV_STK17TA8 is not set | 940 | # CONFIG_RTC_DRV_STK17TA8 is not set |
| 819 | # CONFIG_RTC_DRV_M48T86 is not set | 941 | # CONFIG_RTC_DRV_M48T86 is not set |
| 942 | # CONFIG_RTC_DRV_M48T35 is not set | ||
| 820 | # CONFIG_RTC_DRV_M48T59 is not set | 943 | # CONFIG_RTC_DRV_M48T59 is not set |
| 944 | # CONFIG_RTC_DRV_BQ4802 is not set | ||
| 821 | # CONFIG_RTC_DRV_V3020 is not set | 945 | # CONFIG_RTC_DRV_V3020 is not set |
| 822 | 946 | ||
| 823 | # | 947 | # |
| 824 | # on-CPU RTC drivers | 948 | # on-CPU RTC drivers |
| 825 | # | 949 | # |
| 950 | # CONFIG_DMADEVICES is not set | ||
| 951 | # CONFIG_AUXDISPLAY is not set | ||
| 952 | # CONFIG_REGULATOR is not set | ||
| 826 | # CONFIG_UIO is not set | 953 | # CONFIG_UIO is not set |
| 954 | # CONFIG_STAGING is not set | ||
| 827 | 955 | ||
| 828 | # | 956 | # |
| 829 | # File systems | 957 | # File systems |
| 830 | # | 958 | # |
| 831 | # CONFIG_EXT2_FS is not set | 959 | # CONFIG_EXT2_FS is not set |
| 832 | # CONFIG_EXT3_FS is not set | 960 | # CONFIG_EXT3_FS is not set |
| 833 | # CONFIG_EXT4DEV_FS is not set | 961 | # CONFIG_EXT4_FS is not set |
| 834 | # CONFIG_REISERFS_FS is not set | 962 | # CONFIG_REISERFS_FS is not set |
| 835 | # CONFIG_JFS_FS is not set | 963 | # CONFIG_JFS_FS is not set |
| 836 | # CONFIG_FS_POSIX_ACL is not set | 964 | # CONFIG_FS_POSIX_ACL is not set |
| 965 | CONFIG_FILE_LOCKING=y | ||
| 837 | # CONFIG_XFS_FS is not set | 966 | # CONFIG_XFS_FS is not set |
| 838 | # CONFIG_OCFS2_FS is not set | 967 | # CONFIG_OCFS2_FS is not set |
| 968 | # CONFIG_BTRFS_FS is not set | ||
| 839 | # CONFIG_DNOTIFY is not set | 969 | # CONFIG_DNOTIFY is not set |
| 840 | # CONFIG_INOTIFY is not set | 970 | # CONFIG_INOTIFY is not set |
| 841 | # CONFIG_QUOTA is not set | 971 | # CONFIG_QUOTA is not set |
| @@ -844,6 +974,11 @@ CONFIG_RTC_DRV_PCF8563=y | |||
| 844 | # CONFIG_FUSE_FS is not set | 974 | # CONFIG_FUSE_FS is not set |
| 845 | 975 | ||
| 846 | # | 976 | # |
| 977 | # Caches | ||
| 978 | # | ||
| 979 | # CONFIG_FSCACHE is not set | ||
| 980 | |||
| 981 | # | ||
| 847 | # CD-ROM/DVD Filesystems | 982 | # CD-ROM/DVD Filesystems |
| 848 | # | 983 | # |
| 849 | # CONFIG_ISO9660_FS is not set | 984 | # CONFIG_ISO9660_FS is not set |
| @@ -861,15 +996,13 @@ CONFIG_RTC_DRV_PCF8563=y | |||
| 861 | # | 996 | # |
| 862 | CONFIG_PROC_FS=y | 997 | CONFIG_PROC_FS=y |
| 863 | CONFIG_PROC_SYSCTL=y | 998 | CONFIG_PROC_SYSCTL=y |
| 999 | # CONFIG_PROC_PAGE_MONITOR is not set | ||
| 864 | CONFIG_SYSFS=y | 1000 | CONFIG_SYSFS=y |
| 865 | CONFIG_TMPFS=y | 1001 | CONFIG_TMPFS=y |
| 866 | # CONFIG_TMPFS_POSIX_ACL is not set | 1002 | # CONFIG_TMPFS_POSIX_ACL is not set |
| 867 | # CONFIG_HUGETLB_PAGE is not set | 1003 | # CONFIG_HUGETLB_PAGE is not set |
| 868 | # CONFIG_CONFIGFS_FS is not set | 1004 | # CONFIG_CONFIGFS_FS is not set |
| 869 | 1005 | CONFIG_MISC_FILESYSTEMS=y | |
| 870 | # | ||
| 871 | # Miscellaneous filesystems | ||
| 872 | # | ||
| 873 | # CONFIG_ADFS_FS is not set | 1006 | # CONFIG_ADFS_FS is not set |
| 874 | # CONFIG_AFFS_FS is not set | 1007 | # CONFIG_AFFS_FS is not set |
| 875 | # CONFIG_HFS_FS is not set | 1008 | # CONFIG_HFS_FS is not set |
| @@ -889,25 +1022,27 @@ CONFIG_JFFS2_ZLIB=y | |||
| 889 | CONFIG_JFFS2_RTIME=y | 1022 | CONFIG_JFFS2_RTIME=y |
| 890 | # CONFIG_JFFS2_RUBIN is not set | 1023 | # CONFIG_JFFS2_RUBIN is not set |
| 891 | # CONFIG_CRAMFS is not set | 1024 | # CONFIG_CRAMFS is not set |
| 1025 | # CONFIG_SQUASHFS is not set | ||
| 892 | # CONFIG_VXFS_FS is not set | 1026 | # CONFIG_VXFS_FS is not set |
| 893 | # CONFIG_MINIX_FS is not set | 1027 | # CONFIG_MINIX_FS is not set |
| 1028 | # CONFIG_OMFS_FS is not set | ||
| 894 | # CONFIG_HPFS_FS is not set | 1029 | # CONFIG_HPFS_FS is not set |
| 895 | # CONFIG_QNX4FS_FS is not set | 1030 | # CONFIG_QNX4FS_FS is not set |
| 896 | # CONFIG_ROMFS_FS is not set | 1031 | # CONFIG_ROMFS_FS is not set |
| 897 | # CONFIG_SYSV_FS is not set | 1032 | # CONFIG_SYSV_FS is not set |
| 898 | # CONFIG_UFS_FS is not set | 1033 | # CONFIG_UFS_FS is not set |
| 1034 | # CONFIG_NILFS2_FS is not set | ||
| 899 | CONFIG_NETWORK_FILESYSTEMS=y | 1035 | CONFIG_NETWORK_FILESYSTEMS=y |
| 900 | CONFIG_NFS_FS=y | 1036 | CONFIG_NFS_FS=y |
| 901 | CONFIG_NFS_V3=y | 1037 | CONFIG_NFS_V3=y |
| 902 | # CONFIG_NFS_V3_ACL is not set | 1038 | # CONFIG_NFS_V3_ACL is not set |
| 903 | # CONFIG_NFS_V4 is not set | 1039 | # CONFIG_NFS_V4 is not set |
| 904 | # CONFIG_NFSD is not set | ||
| 905 | CONFIG_ROOT_NFS=y | 1040 | CONFIG_ROOT_NFS=y |
| 1041 | # CONFIG_NFSD is not set | ||
| 906 | CONFIG_LOCKD=y | 1042 | CONFIG_LOCKD=y |
| 907 | CONFIG_LOCKD_V4=y | 1043 | CONFIG_LOCKD_V4=y |
| 908 | CONFIG_NFS_COMMON=y | 1044 | CONFIG_NFS_COMMON=y |
| 909 | CONFIG_SUNRPC=y | 1045 | CONFIG_SUNRPC=y |
| 910 | # CONFIG_SUNRPC_BIND34 is not set | ||
| 911 | # CONFIG_RPCSEC_GSS_KRB5 is not set | 1046 | # CONFIG_RPCSEC_GSS_KRB5 is not set |
| 912 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | 1047 | # CONFIG_RPCSEC_GSS_SPKM3 is not set |
| 913 | # CONFIG_SMB_FS is not set | 1048 | # CONFIG_SMB_FS is not set |
| @@ -972,12 +1107,41 @@ CONFIG_ENABLE_MUST_CHECK=y | |||
| 972 | CONFIG_FRAME_WARN=1024 | 1107 | CONFIG_FRAME_WARN=1024 |
| 973 | # CONFIG_MAGIC_SYSRQ is not set | 1108 | # CONFIG_MAGIC_SYSRQ is not set |
| 974 | # CONFIG_UNUSED_SYMBOLS is not set | 1109 | # CONFIG_UNUSED_SYMBOLS is not set |
| 975 | # CONFIG_DEBUG_FS is not set | 1110 | CONFIG_DEBUG_FS=y |
| 976 | # CONFIG_HEADERS_CHECK is not set | 1111 | # CONFIG_HEADERS_CHECK is not set |
| 977 | # CONFIG_DEBUG_KERNEL is not set | 1112 | # CONFIG_DEBUG_KERNEL is not set |
| 1113 | CONFIG_STACKTRACE=y | ||
| 978 | # CONFIG_DEBUG_BUGVERBOSE is not set | 1114 | # CONFIG_DEBUG_BUGVERBOSE is not set |
| 979 | CONFIG_FRAME_POINTER=y | 1115 | # CONFIG_DEBUG_MEMORY_INIT is not set |
| 1116 | # CONFIG_RCU_CPU_STALL_DETECTOR is not set | ||
| 1117 | # CONFIG_LATENCYTOP is not set | ||
| 1118 | CONFIG_SYSCTL_SYSCALL_CHECK=y | ||
| 1119 | CONFIG_NOP_TRACER=y | ||
| 1120 | CONFIG_HAVE_FUNCTION_TRACER=y | ||
| 1121 | CONFIG_RING_BUFFER=y | ||
| 1122 | CONFIG_TRACING=y | ||
| 1123 | CONFIG_TRACING_SUPPORT=y | ||
| 1124 | |||
| 1125 | # | ||
| 1126 | # Tracers | ||
| 1127 | # | ||
| 1128 | # CONFIG_FUNCTION_TRACER is not set | ||
| 1129 | # CONFIG_IRQSOFF_TRACER is not set | ||
| 1130 | # CONFIG_PREEMPT_TRACER is not set | ||
| 1131 | # CONFIG_SCHED_TRACER is not set | ||
| 1132 | # CONFIG_CONTEXT_SWITCH_TRACER is not set | ||
| 1133 | # CONFIG_EVENT_TRACER is not set | ||
| 1134 | # CONFIG_BOOT_TRACER is not set | ||
| 1135 | # CONFIG_TRACE_BRANCH_PROFILING is not set | ||
| 1136 | # CONFIG_STACK_TRACER is not set | ||
| 1137 | # CONFIG_KMEMTRACE is not set | ||
| 1138 | # CONFIG_WORKQUEUE_TRACER is not set | ||
| 1139 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
| 1140 | # CONFIG_FTRACE_STARTUP_TEST is not set | ||
| 1141 | # CONFIG_DYNAMIC_DEBUG is not set | ||
| 980 | # CONFIG_SAMPLES is not set | 1142 | # CONFIG_SAMPLES is not set |
| 1143 | CONFIG_HAVE_ARCH_KGDB=y | ||
| 1144 | CONFIG_ARM_UNWIND=y | ||
| 981 | # CONFIG_DEBUG_USER is not set | 1145 | # CONFIG_DEBUG_USER is not set |
| 982 | 1146 | ||
| 983 | # | 1147 | # |
| @@ -985,24 +1149,26 @@ CONFIG_FRAME_POINTER=y | |||
| 985 | # | 1149 | # |
| 986 | # CONFIG_KEYS is not set | 1150 | # CONFIG_KEYS is not set |
| 987 | # CONFIG_SECURITY is not set | 1151 | # CONFIG_SECURITY is not set |
| 1152 | # CONFIG_SECURITYFS is not set | ||
| 988 | # CONFIG_SECURITY_FILE_CAPABILITIES is not set | 1153 | # CONFIG_SECURITY_FILE_CAPABILITIES is not set |
| 989 | # CONFIG_CRYPTO is not set | 1154 | # CONFIG_CRYPTO is not set |
| 1155 | CONFIG_BINARY_PRINTF=y | ||
| 990 | 1156 | ||
| 991 | # | 1157 | # |
| 992 | # Library routines | 1158 | # Library routines |
| 993 | # | 1159 | # |
| 994 | CONFIG_BITREVERSE=y | 1160 | CONFIG_BITREVERSE=y |
| 995 | # CONFIG_GENERIC_FIND_FIRST_BIT is not set | 1161 | CONFIG_GENERIC_FIND_LAST_BIT=y |
| 996 | # CONFIG_GENERIC_FIND_NEXT_BIT is not set | ||
| 997 | # CONFIG_CRC_CCITT is not set | 1162 | # CONFIG_CRC_CCITT is not set |
| 998 | # CONFIG_CRC16 is not set | 1163 | # CONFIG_CRC16 is not set |
| 1164 | # CONFIG_CRC_T10DIF is not set | ||
| 999 | # CONFIG_CRC_ITU_T is not set | 1165 | # CONFIG_CRC_ITU_T is not set |
| 1000 | CONFIG_CRC32=y | 1166 | CONFIG_CRC32=y |
| 1001 | # CONFIG_CRC7 is not set | 1167 | # CONFIG_CRC7 is not set |
| 1002 | # CONFIG_LIBCRC32C is not set | 1168 | # CONFIG_LIBCRC32C is not set |
| 1003 | CONFIG_ZLIB_INFLATE=y | 1169 | CONFIG_ZLIB_INFLATE=y |
| 1004 | CONFIG_ZLIB_DEFLATE=y | 1170 | CONFIG_ZLIB_DEFLATE=y |
| 1005 | CONFIG_PLIST=y | ||
| 1006 | CONFIG_HAS_IOMEM=y | 1171 | CONFIG_HAS_IOMEM=y |
| 1007 | CONFIG_HAS_IOPORT=y | 1172 | CONFIG_HAS_IOPORT=y |
| 1008 | CONFIG_HAS_DMA=y | 1173 | CONFIG_HAS_DMA=y |
| 1174 | CONFIG_NLATTR=y | ||
diff --git a/arch/arm/configs/mx31litekit_defconfig b/arch/arm/configs/mx3_defconfig index 4f41c4135685..72a8201a5370 100644 --- a/arch/arm/configs/mx31litekit_defconfig +++ b/arch/arm/configs/mx3_defconfig | |||
| @@ -1,17 +1,18 @@ | |||
| 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-rc1 |
| 4 | # Fri Jun 13 14:23:39 2008 | 4 | # Wed Apr 8 11:06:37 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 is not set | 9 | CONFIG_GENERIC_TIME=y |
| 10 | # CONFIG_GENERIC_CLOCKEVENTS is not set | 10 | CONFIG_GENERIC_CLOCKEVENTS=y |
| 11 | CONFIG_MMU=y | 11 | CONFIG_MMU=y |
| 12 | # CONFIG_NO_IOPORT is not set | 12 | # CONFIG_NO_IOPORT is not set |
| 13 | CONFIG_GENERIC_HARDIRQS=y | 13 | CONFIG_GENERIC_HARDIRQS=y |
| 14 | CONFIG_STACKTRACE_SUPPORT=y | 14 | CONFIG_STACKTRACE_SUPPORT=y |
| 15 | CONFIG_HAVE_LATENCYTOP_SUPPORT=y | ||
| 15 | CONFIG_LOCKDEP_SUPPORT=y | 16 | CONFIG_LOCKDEP_SUPPORT=y |
| 16 | CONFIG_TRACE_IRQFLAGS_SUPPORT=y | 17 | CONFIG_TRACE_IRQFLAGS_SUPPORT=y |
| 17 | CONFIG_HARDIRQS_SW_RESEND=y | 18 | CONFIG_HARDIRQS_SW_RESEND=y |
| @@ -21,9 +22,8 @@ CONFIG_RWSEM_GENERIC_SPINLOCK=y | |||
| 21 | # CONFIG_ARCH_HAS_ILOG2_U64 is not set | 22 | # CONFIG_ARCH_HAS_ILOG2_U64 is not set |
| 22 | CONFIG_GENERIC_HWEIGHT=y | 23 | CONFIG_GENERIC_HWEIGHT=y |
| 23 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 24 | CONFIG_GENERIC_CALIBRATE_DELAY=y |
| 24 | CONFIG_ARCH_SUPPORTS_AOUT=y | ||
| 25 | CONFIG_ZONE_DMA=y | ||
| 26 | CONFIG_ARCH_MTD_XIP=y | 25 | CONFIG_ARCH_MTD_XIP=y |
| 26 | CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y | ||
| 27 | CONFIG_VECTORS_BASE=0xffff0000 | 27 | CONFIG_VECTORS_BASE=0xffff0000 |
| 28 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | 28 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" |
| 29 | 29 | ||
| @@ -43,11 +43,24 @@ CONFIG_SYSVIPC_SYSCTL=y | |||
| 43 | # CONFIG_BSD_PROCESS_ACCT is not set | 43 | # CONFIG_BSD_PROCESS_ACCT is not set |
| 44 | # CONFIG_TASKSTATS is not set | 44 | # CONFIG_TASKSTATS is not set |
| 45 | # CONFIG_AUDIT is not set | 45 | # CONFIG_AUDIT is not set |
| 46 | |||
| 47 | # | ||
| 48 | # RCU Subsystem | ||
| 49 | # | ||
| 50 | CONFIG_CLASSIC_RCU=y | ||
| 51 | # CONFIG_TREE_RCU is not set | ||
| 52 | # CONFIG_PREEMPT_RCU is not set | ||
| 53 | # CONFIG_TREE_RCU_TRACE is not set | ||
| 54 | # CONFIG_PREEMPT_RCU_TRACE is not set | ||
| 46 | CONFIG_IKCONFIG=y | 55 | CONFIG_IKCONFIG=y |
| 47 | CONFIG_IKCONFIG_PROC=y | 56 | CONFIG_IKCONFIG_PROC=y |
| 48 | CONFIG_LOG_BUF_SHIFT=14 | 57 | CONFIG_LOG_BUF_SHIFT=14 |
| 58 | CONFIG_GROUP_SCHED=y | ||
| 59 | CONFIG_FAIR_GROUP_SCHED=y | ||
| 60 | # CONFIG_RT_GROUP_SCHED is not set | ||
| 61 | CONFIG_USER_SCHED=y | ||
| 62 | # CONFIG_CGROUP_SCHED is not set | ||
| 49 | # CONFIG_CGROUPS is not set | 63 | # CONFIG_CGROUPS is not set |
| 50 | # CONFIG_GROUP_SCHED is not set | ||
| 51 | CONFIG_SYSFS_DEPRECATED=y | 64 | CONFIG_SYSFS_DEPRECATED=y |
| 52 | CONFIG_SYSFS_DEPRECATED_V2=y | 65 | CONFIG_SYSFS_DEPRECATED_V2=y |
| 53 | # CONFIG_RELAY is not set | 66 | # CONFIG_RELAY is not set |
| @@ -55,27 +68,26 @@ CONFIG_SYSFS_DEPRECATED_V2=y | |||
| 55 | # CONFIG_BLK_DEV_INITRD is not set | 68 | # CONFIG_BLK_DEV_INITRD is not set |
| 56 | CONFIG_CC_OPTIMIZE_FOR_SIZE=y | 69 | CONFIG_CC_OPTIMIZE_FOR_SIZE=y |
| 57 | CONFIG_SYSCTL=y | 70 | CONFIG_SYSCTL=y |
| 71 | CONFIG_ANON_INODES=y | ||
| 58 | CONFIG_EMBEDDED=y | 72 | CONFIG_EMBEDDED=y |
| 59 | CONFIG_UID16=y | 73 | CONFIG_UID16=y |
| 60 | CONFIG_SYSCTL_SYSCALL=y | 74 | CONFIG_SYSCTL_SYSCALL=y |
| 61 | CONFIG_SYSCTL_SYSCALL_CHECK=y | ||
| 62 | CONFIG_KALLSYMS=y | 75 | CONFIG_KALLSYMS=y |
| 63 | # CONFIG_KALLSYMS_ALL is not set | ||
| 64 | # CONFIG_KALLSYMS_EXTRA_PASS is not set | 76 | # CONFIG_KALLSYMS_EXTRA_PASS is not set |
| 65 | CONFIG_HOTPLUG=y | 77 | CONFIG_HOTPLUG=y |
| 66 | CONFIG_PRINTK=y | 78 | CONFIG_PRINTK=y |
| 67 | CONFIG_BUG=y | 79 | CONFIG_BUG=y |
| 68 | CONFIG_ELF_CORE=y | 80 | CONFIG_ELF_CORE=y |
| 69 | CONFIG_COMPAT_BRK=y | ||
| 70 | CONFIG_BASE_FULL=y | 81 | CONFIG_BASE_FULL=y |
| 71 | CONFIG_FUTEX=y | 82 | CONFIG_FUTEX=y |
| 72 | CONFIG_ANON_INODES=y | ||
| 73 | CONFIG_EPOLL=y | 83 | CONFIG_EPOLL=y |
| 74 | CONFIG_SIGNALFD=y | 84 | CONFIG_SIGNALFD=y |
| 75 | CONFIG_TIMERFD=y | 85 | CONFIG_TIMERFD=y |
| 76 | CONFIG_EVENTFD=y | 86 | CONFIG_EVENTFD=y |
| 77 | CONFIG_SHMEM=y | 87 | CONFIG_SHMEM=y |
| 88 | CONFIG_AIO=y | ||
| 78 | CONFIG_VM_EVENT_COUNTERS=y | 89 | CONFIG_VM_EVENT_COUNTERS=y |
| 90 | CONFIG_COMPAT_BRK=y | ||
| 79 | CONFIG_SLAB=y | 91 | CONFIG_SLAB=y |
| 80 | # CONFIG_SLUB is not set | 92 | # CONFIG_SLUB is not set |
| 81 | # CONFIG_SLOB is not set | 93 | # CONFIG_SLOB is not set |
| @@ -85,11 +97,10 @@ CONFIG_HAVE_OPROFILE=y | |||
| 85 | # CONFIG_KPROBES is not set | 97 | # CONFIG_KPROBES is not set |
| 86 | CONFIG_HAVE_KPROBES=y | 98 | CONFIG_HAVE_KPROBES=y |
| 87 | CONFIG_HAVE_KRETPROBES=y | 99 | CONFIG_HAVE_KRETPROBES=y |
| 88 | # CONFIG_HAVE_DMA_ATTRS is not set | 100 | # CONFIG_SLOW_WORK is not set |
| 89 | CONFIG_PROC_PAGE_MONITOR=y | 101 | CONFIG_HAVE_GENERIC_DMA_COHERENT=y |
| 90 | CONFIG_SLABINFO=y | 102 | CONFIG_SLABINFO=y |
| 91 | CONFIG_RT_MUTEXES=y | 103 | CONFIG_RT_MUTEXES=y |
| 92 | # CONFIG_TINY_SHMEM is not set | ||
| 93 | CONFIG_BASE_SMALL=0 | 104 | CONFIG_BASE_SMALL=0 |
| 94 | CONFIG_MODULES=y | 105 | CONFIG_MODULES=y |
| 95 | # CONFIG_MODULE_FORCE_LOAD is not set | 106 | # CONFIG_MODULE_FORCE_LOAD is not set |
| @@ -97,12 +108,10 @@ CONFIG_MODULE_UNLOAD=y | |||
| 97 | CONFIG_MODULE_FORCE_UNLOAD=y | 108 | CONFIG_MODULE_FORCE_UNLOAD=y |
| 98 | CONFIG_MODVERSIONS=y | 109 | CONFIG_MODVERSIONS=y |
| 99 | # CONFIG_MODULE_SRCVERSION_ALL is not set | 110 | # CONFIG_MODULE_SRCVERSION_ALL is not set |
| 100 | CONFIG_KMOD=y | ||
| 101 | CONFIG_BLOCK=y | 111 | CONFIG_BLOCK=y |
| 102 | # CONFIG_LBD is not set | 112 | # CONFIG_LBD is not set |
| 103 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
| 104 | # CONFIG_LSF is not set | ||
| 105 | # CONFIG_BLK_DEV_BSG is not set | 113 | # CONFIG_BLK_DEV_BSG is not set |
| 114 | # CONFIG_BLK_DEV_INTEGRITY is not set | ||
| 106 | 115 | ||
| 107 | # | 116 | # |
| 108 | # IO Schedulers | 117 | # IO Schedulers |
| @@ -116,7 +125,7 @@ CONFIG_IOSCHED_CFQ=y | |||
| 116 | CONFIG_DEFAULT_CFQ=y | 125 | CONFIG_DEFAULT_CFQ=y |
| 117 | # CONFIG_DEFAULT_NOOP is not set | 126 | # CONFIG_DEFAULT_NOOP is not set |
| 118 | CONFIG_DEFAULT_IOSCHED="cfq" | 127 | CONFIG_DEFAULT_IOSCHED="cfq" |
| 119 | CONFIG_CLASSIC_RCU=y | 128 | CONFIG_FREEZER=y |
| 120 | 129 | ||
| 121 | # | 130 | # |
| 122 | # System Type | 131 | # System Type |
| @@ -126,11 +135,10 @@ CONFIG_CLASSIC_RCU=y | |||
| 126 | # CONFIG_ARCH_REALVIEW is not set | 135 | # CONFIG_ARCH_REALVIEW is not set |
| 127 | # CONFIG_ARCH_VERSATILE is not set | 136 | # CONFIG_ARCH_VERSATILE is not set |
| 128 | # CONFIG_ARCH_AT91 is not set | 137 | # CONFIG_ARCH_AT91 is not set |
| 129 | # CONFIG_ARCH_CLPS7500 is not set | ||
| 130 | # CONFIG_ARCH_CLPS711X is not set | 138 | # CONFIG_ARCH_CLPS711X is not set |
| 131 | # CONFIG_ARCH_CO285 is not set | ||
| 132 | # CONFIG_ARCH_EBSA110 is not set | 139 | # CONFIG_ARCH_EBSA110 is not set |
| 133 | # CONFIG_ARCH_EP93XX is not set | 140 | # CONFIG_ARCH_EP93XX is not set |
| 141 | # CONFIG_ARCH_GEMINI is not set | ||
| 134 | # CONFIG_ARCH_FOOTBRIDGE is not set | 142 | # CONFIG_ARCH_FOOTBRIDGE is not set |
| 135 | # CONFIG_ARCH_NETX is not set | 143 | # CONFIG_ARCH_NETX is not set |
| 136 | # CONFIG_ARCH_H720X is not set | 144 | # CONFIG_ARCH_H720X is not set |
| @@ -142,46 +150,54 @@ CONFIG_CLASSIC_RCU=y | |||
| 142 | # CONFIG_ARCH_IXP2000 is not set | 150 | # CONFIG_ARCH_IXP2000 is not set |
| 143 | # CONFIG_ARCH_IXP4XX is not set | 151 | # CONFIG_ARCH_IXP4XX is not set |
| 144 | # CONFIG_ARCH_L7200 is not set | 152 | # CONFIG_ARCH_L7200 is not set |
| 153 | # CONFIG_ARCH_KIRKWOOD is not set | ||
| 145 | # CONFIG_ARCH_KS8695 is not set | 154 | # CONFIG_ARCH_KS8695 is not set |
| 146 | # CONFIG_ARCH_NS9XXX is not set | 155 | # CONFIG_ARCH_NS9XXX is not set |
| 156 | # CONFIG_ARCH_LOKI is not set | ||
| 157 | # CONFIG_ARCH_MV78XX0 is not set | ||
| 147 | CONFIG_ARCH_MXC=y | 158 | CONFIG_ARCH_MXC=y |
| 148 | # CONFIG_ARCH_ORION5X is not set | 159 | # CONFIG_ARCH_ORION5X is not set |
| 149 | # CONFIG_ARCH_PNX4008 is not set | 160 | # CONFIG_ARCH_PNX4008 is not set |
| 150 | # CONFIG_ARCH_PXA is not set | 161 | # CONFIG_ARCH_PXA is not set |
| 162 | # CONFIG_ARCH_MMP is not set | ||
| 151 | # CONFIG_ARCH_RPC is not set | 163 | # CONFIG_ARCH_RPC is not set |
| 152 | # CONFIG_ARCH_SA1100 is not set | 164 | # CONFIG_ARCH_SA1100 is not set |
| 153 | # CONFIG_ARCH_S3C2410 is not set | 165 | # CONFIG_ARCH_S3C2410 is not set |
| 166 | # CONFIG_ARCH_S3C64XX is not set | ||
| 154 | # CONFIG_ARCH_SHARK is not set | 167 | # CONFIG_ARCH_SHARK is not set |
| 155 | # CONFIG_ARCH_LH7A40X is not set | 168 | # CONFIG_ARCH_LH7A40X is not set |
| 156 | # CONFIG_ARCH_DAVINCI is not set | 169 | # CONFIG_ARCH_DAVINCI is not set |
| 157 | # CONFIG_ARCH_OMAP is not set | 170 | # CONFIG_ARCH_OMAP is not set |
| 158 | # CONFIG_ARCH_MSM7X00A is not set | 171 | # CONFIG_ARCH_MSM is not set |
| 159 | 172 | # CONFIG_ARCH_W90X900 is not set | |
| 160 | # | ||
| 161 | # Boot options | ||
| 162 | # | ||
| 163 | |||
| 164 | # | ||
| 165 | # Power management | ||
| 166 | # | ||
| 167 | 173 | ||
| 168 | # | 174 | # |
| 169 | # Freescale MXC Implementations | 175 | # Freescale MXC Implementations |
| 170 | # | 176 | # |
| 177 | # CONFIG_ARCH_MX1 is not set | ||
| 178 | # CONFIG_ARCH_MX2 is not set | ||
| 171 | CONFIG_ARCH_MX3=y | 179 | CONFIG_ARCH_MX3=y |
| 180 | CONFIG_ARCH_MX31=y | ||
| 172 | 181 | ||
| 173 | # | 182 | # |
| 174 | # MX3 Options | 183 | # MX3 platforms: |
| 175 | # | 184 | # |
| 176 | # CONFIG_MACH_MX31ADS is not set | 185 | CONFIG_MACH_MX31ADS=y |
| 186 | CONFIG_MACH_MX31ADS_WM1133_EV1=y | ||
| 187 | CONFIG_MACH_PCM037=y | ||
| 177 | CONFIG_MACH_MX31LITE=y | 188 | CONFIG_MACH_MX31LITE=y |
| 189 | CONFIG_MACH_MX31_3DS=y | ||
| 190 | CONFIG_MACH_MX31MOBOARD=y | ||
| 191 | CONFIG_MACH_QONG=y | ||
| 192 | CONFIG_MXC_IRQ_PRIOR=y | ||
| 193 | CONFIG_MXC_PWM=y | ||
| 178 | 194 | ||
| 179 | # | 195 | # |
| 180 | # Processor Type | 196 | # Processor Type |
| 181 | # | 197 | # |
| 182 | CONFIG_CPU_32=y | 198 | CONFIG_CPU_32=y |
| 183 | CONFIG_CPU_V6=y | 199 | CONFIG_CPU_V6=y |
| 184 | # CONFIG_CPU_32v6K is not set | 200 | CONFIG_CPU_32v6K=y |
| 185 | CONFIG_CPU_32v6=y | 201 | CONFIG_CPU_32v6=y |
| 186 | CONFIG_CPU_ABRT_EV6=y | 202 | CONFIG_CPU_ABRT_EV6=y |
| 187 | CONFIG_CPU_PABRT_NOIFAR=y | 203 | CONFIG_CPU_PABRT_NOIFAR=y |
| @@ -200,45 +216,50 @@ CONFIG_ARM_THUMB=y | |||
| 200 | # CONFIG_CPU_ICACHE_DISABLE is not set | 216 | # CONFIG_CPU_ICACHE_DISABLE is not set |
| 201 | # CONFIG_CPU_DCACHE_DISABLE is not set | 217 | # CONFIG_CPU_DCACHE_DISABLE is not set |
| 202 | # CONFIG_CPU_BPREDICT_DISABLE is not set | 218 | # CONFIG_CPU_BPREDICT_DISABLE is not set |
| 203 | # CONFIG_OUTER_CACHE is not set | 219 | CONFIG_OUTER_CACHE=y |
| 220 | CONFIG_CACHE_L2X0=y | ||
| 221 | CONFIG_COMMON_CLKDEV=y | ||
| 204 | 222 | ||
| 205 | # | 223 | # |
| 206 | # Bus support | 224 | # Bus support |
| 207 | # | 225 | # |
| 208 | # CONFIG_PCI_SYSCALL is not set | 226 | # CONFIG_PCI_SYSCALL is not set |
| 209 | # CONFIG_ARCH_SUPPORTS_MSI is not set | 227 | # CONFIG_ARCH_SUPPORTS_MSI is not set |
| 210 | CONFIG_PCCARD=m | 228 | # CONFIG_PCCARD is not set |
| 211 | # CONFIG_PCMCIA_DEBUG is not set | ||
| 212 | # CONFIG_PCMCIA is not set | ||
| 213 | |||
| 214 | # | ||
| 215 | # PC-card bridges | ||
| 216 | # | ||
| 217 | 229 | ||
| 218 | # | 230 | # |
| 219 | # Kernel Features | 231 | # Kernel Features |
| 220 | # | 232 | # |
| 221 | # CONFIG_TICK_ONESHOT is not set | 233 | CONFIG_TICK_ONESHOT=y |
| 234 | CONFIG_NO_HZ=y | ||
| 235 | CONFIG_HIGH_RES_TIMERS=y | ||
| 236 | CONFIG_GENERIC_CLOCKEVENTS_BUILD=y | ||
| 237 | CONFIG_VMSPLIT_3G=y | ||
| 238 | # CONFIG_VMSPLIT_2G is not set | ||
| 239 | # CONFIG_VMSPLIT_1G is not set | ||
| 240 | CONFIG_PAGE_OFFSET=0xC0000000 | ||
| 222 | CONFIG_PREEMPT=y | 241 | CONFIG_PREEMPT=y |
| 223 | # CONFIG_NO_IDLE_HZ is not set | ||
| 224 | CONFIG_HZ=100 | 242 | CONFIG_HZ=100 |
| 225 | CONFIG_AEABI=y | 243 | CONFIG_AEABI=y |
| 226 | # CONFIG_OABI_COMPAT is not set | 244 | CONFIG_OABI_COMPAT=y |
| 227 | # CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set | 245 | CONFIG_ARCH_FLATMEM_HAS_HOLES=y |
| 246 | # CONFIG_ARCH_SPARSEMEM_DEFAULT is not set | ||
| 247 | # CONFIG_ARCH_SELECT_MEMORY_MODEL is not set | ||
| 248 | # CONFIG_HIGHMEM is not set | ||
| 228 | CONFIG_SELECT_MEMORY_MODEL=y | 249 | CONFIG_SELECT_MEMORY_MODEL=y |
| 229 | CONFIG_FLATMEM_MANUAL=y | 250 | CONFIG_FLATMEM_MANUAL=y |
| 230 | # CONFIG_DISCONTIGMEM_MANUAL is not set | 251 | # CONFIG_DISCONTIGMEM_MANUAL is not set |
| 231 | # CONFIG_SPARSEMEM_MANUAL is not set | 252 | # CONFIG_SPARSEMEM_MANUAL is not set |
| 232 | CONFIG_FLATMEM=y | 253 | CONFIG_FLATMEM=y |
| 233 | CONFIG_FLAT_NODE_MEM_MAP=y | 254 | CONFIG_FLAT_NODE_MEM_MAP=y |
| 234 | # CONFIG_SPARSEMEM_STATIC is not set | ||
| 235 | # CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set | ||
| 236 | CONFIG_PAGEFLAGS_EXTENDED=y | 255 | CONFIG_PAGEFLAGS_EXTENDED=y |
| 237 | CONFIG_SPLIT_PTLOCK_CPUS=4 | 256 | CONFIG_SPLIT_PTLOCK_CPUS=4 |
| 238 | # CONFIG_RESOURCES_64BIT is not set | 257 | # CONFIG_PHYS_ADDR_T_64BIT is not set |
| 239 | CONFIG_ZONE_DMA_FLAG=1 | 258 | CONFIG_ZONE_DMA_FLAG=0 |
| 240 | CONFIG_BOUNCE=y | ||
| 241 | CONFIG_VIRT_TO_BUS=y | 259 | CONFIG_VIRT_TO_BUS=y |
| 260 | CONFIG_UNEVICTABLE_LRU=y | ||
| 261 | CONFIG_HAVE_MLOCK=y | ||
| 262 | CONFIG_HAVE_MLOCKED_PAGE_BIT=y | ||
| 242 | CONFIG_ALIGNMENT_TRAP=y | 263 | CONFIG_ALIGNMENT_TRAP=y |
| 243 | 264 | ||
| 244 | # | 265 | # |
| @@ -251,33 +272,42 @@ CONFIG_CMDLINE="noinitrd console=ttymxc0,115200 root=/dev/mtdblock2 rw ip=off" | |||
| 251 | # CONFIG_KEXEC is not set | 272 | # CONFIG_KEXEC is not set |
| 252 | 273 | ||
| 253 | # | 274 | # |
| 275 | # CPU Power Management | ||
| 276 | # | ||
| 277 | # CONFIG_CPU_IDLE is not set | ||
| 278 | |||
| 279 | # | ||
| 254 | # Floating point emulation | 280 | # Floating point emulation |
| 255 | # | 281 | # |
| 256 | 282 | ||
| 257 | # | 283 | # |
| 258 | # At least one emulation must be selected | 284 | # At least one emulation must be selected |
| 259 | # | 285 | # |
| 286 | # CONFIG_FPE_NWFPE is not set | ||
| 287 | # CONFIG_FPE_FASTFPE is not set | ||
| 260 | CONFIG_VFP=y | 288 | CONFIG_VFP=y |
| 261 | 289 | ||
| 262 | # | 290 | # |
| 263 | # Userspace binary formats | 291 | # Userspace binary formats |
| 264 | # | 292 | # |
| 265 | CONFIG_BINFMT_ELF=y | 293 | CONFIG_BINFMT_ELF=y |
| 266 | CONFIG_BINFMT_AOUT=y | 294 | # CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set |
| 295 | CONFIG_HAVE_AOUT=y | ||
| 296 | # CONFIG_BINFMT_AOUT is not set | ||
| 267 | # CONFIG_BINFMT_MISC is not set | 297 | # CONFIG_BINFMT_MISC is not set |
| 268 | 298 | ||
| 269 | # | 299 | # |
| 270 | # Power management options | 300 | # Power management options |
| 271 | # | 301 | # |
| 272 | CONFIG_PM=y | 302 | CONFIG_PM=y |
| 273 | # CONFIG_PM_DEBUG is not set | 303 | CONFIG_PM_DEBUG=y |
| 274 | # CONFIG_SUSPEND is not set | 304 | # CONFIG_PM_VERBOSE is not set |
| 305 | CONFIG_CAN_PM_TRACE=y | ||
| 306 | CONFIG_PM_SLEEP=y | ||
| 307 | CONFIG_SUSPEND=y | ||
| 308 | CONFIG_SUSPEND_FREEZER=y | ||
| 275 | # CONFIG_APM_EMULATION is not set | 309 | # CONFIG_APM_EMULATION is not set |
| 276 | CONFIG_ARCH_SUSPEND_POSSIBLE=y | 310 | CONFIG_ARCH_SUSPEND_POSSIBLE=y |
| 277 | |||
| 278 | # | ||
| 279 | # Networking | ||
| 280 | # | ||
| 281 | CONFIG_NET=y | 311 | CONFIG_NET=y |
| 282 | 312 | ||
| 283 | # | 313 | # |
| @@ -286,11 +316,6 @@ CONFIG_NET=y | |||
| 286 | CONFIG_PACKET=y | 316 | CONFIG_PACKET=y |
| 287 | # CONFIG_PACKET_MMAP is not set | 317 | # CONFIG_PACKET_MMAP is not set |
| 288 | CONFIG_UNIX=y | 318 | CONFIG_UNIX=y |
| 289 | CONFIG_XFRM=y | ||
| 290 | # CONFIG_XFRM_USER is not set | ||
| 291 | # CONFIG_XFRM_SUB_POLICY is not set | ||
| 292 | # CONFIG_XFRM_MIGRATE is not set | ||
| 293 | # CONFIG_XFRM_STATISTICS is not set | ||
| 294 | # CONFIG_NET_KEY is not set | 319 | # CONFIG_NET_KEY is not set |
| 295 | CONFIG_INET=y | 320 | CONFIG_INET=y |
| 296 | # CONFIG_IP_MULTICAST is not set | 321 | # CONFIG_IP_MULTICAST is not set |
| @@ -309,12 +334,11 @@ CONFIG_IP_PNP_DHCP=y | |||
| 309 | # CONFIG_INET_IPCOMP is not set | 334 | # CONFIG_INET_IPCOMP is not set |
| 310 | # CONFIG_INET_XFRM_TUNNEL is not set | 335 | # CONFIG_INET_XFRM_TUNNEL is not set |
| 311 | # CONFIG_INET_TUNNEL is not set | 336 | # CONFIG_INET_TUNNEL is not set |
| 312 | CONFIG_INET_XFRM_MODE_TRANSPORT=y | 337 | # CONFIG_INET_XFRM_MODE_TRANSPORT is not set |
| 313 | CONFIG_INET_XFRM_MODE_TUNNEL=y | 338 | # CONFIG_INET_XFRM_MODE_TUNNEL is not set |
| 314 | CONFIG_INET_XFRM_MODE_BEET=y | 339 | # CONFIG_INET_XFRM_MODE_BEET is not set |
| 315 | # CONFIG_INET_LRO is not set | 340 | # CONFIG_INET_LRO is not set |
| 316 | CONFIG_INET_DIAG=y | 341 | # CONFIG_INET_DIAG is not set |
| 317 | CONFIG_INET_TCP_DIAG=y | ||
| 318 | # CONFIG_TCP_CONG_ADVANCED is not set | 342 | # CONFIG_TCP_CONG_ADVANCED is not set |
| 319 | CONFIG_TCP_CONG_CUBIC=y | 343 | CONFIG_TCP_CONG_CUBIC=y |
| 320 | CONFIG_DEFAULT_TCP_CONG="cubic" | 344 | CONFIG_DEFAULT_TCP_CONG="cubic" |
| @@ -327,6 +351,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic" | |||
| 327 | # CONFIG_TIPC is not set | 351 | # CONFIG_TIPC is not set |
| 328 | # CONFIG_ATM is not set | 352 | # CONFIG_ATM is not set |
| 329 | # CONFIG_BRIDGE is not set | 353 | # CONFIG_BRIDGE is not set |
| 354 | # CONFIG_NET_DSA is not set | ||
| 330 | # CONFIG_VLAN_8021Q is not set | 355 | # CONFIG_VLAN_8021Q is not set |
| 331 | # CONFIG_DECNET is not set | 356 | # CONFIG_DECNET is not set |
| 332 | # CONFIG_LLC2 is not set | 357 | # CONFIG_LLC2 is not set |
| @@ -336,7 +361,9 @@ CONFIG_DEFAULT_TCP_CONG="cubic" | |||
| 336 | # CONFIG_LAPB is not set | 361 | # CONFIG_LAPB is not set |
| 337 | # CONFIG_ECONET is not set | 362 | # CONFIG_ECONET is not set |
| 338 | # CONFIG_WAN_ROUTER is not set | 363 | # CONFIG_WAN_ROUTER is not set |
| 364 | # CONFIG_PHONET is not set | ||
| 339 | # CONFIG_NET_SCHED is not set | 365 | # CONFIG_NET_SCHED is not set |
| 366 | # CONFIG_DCB is not set | ||
| 340 | 367 | ||
| 341 | # | 368 | # |
| 342 | # Network testing | 369 | # Network testing |
| @@ -347,14 +374,8 @@ CONFIG_DEFAULT_TCP_CONG="cubic" | |||
| 347 | # CONFIG_IRDA is not set | 374 | # CONFIG_IRDA is not set |
| 348 | # CONFIG_BT is not set | 375 | # CONFIG_BT is not set |
| 349 | # CONFIG_AF_RXRPC is not set | 376 | # CONFIG_AF_RXRPC is not set |
| 350 | 377 | # CONFIG_WIRELESS is not set | |
| 351 | # | 378 | # CONFIG_WIMAX is not set |
| 352 | # Wireless | ||
| 353 | # | ||
| 354 | # CONFIG_CFG80211 is not set | ||
| 355 | # CONFIG_WIRELESS_EXT is not set | ||
| 356 | # CONFIG_MAC80211 is not set | ||
| 357 | # CONFIG_IEEE80211 is not set | ||
| 358 | # CONFIG_RFKILL is not set | 379 | # CONFIG_RFKILL is not set |
| 359 | # CONFIG_NET_9P is not set | 380 | # CONFIG_NET_9P is not set |
| 360 | 381 | ||
| @@ -369,18 +390,16 @@ CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" | |||
| 369 | CONFIG_STANDALONE=y | 390 | CONFIG_STANDALONE=y |
| 370 | CONFIG_PREVENT_FIRMWARE_BUILD=y | 391 | CONFIG_PREVENT_FIRMWARE_BUILD=y |
| 371 | CONFIG_FW_LOADER=m | 392 | CONFIG_FW_LOADER=m |
| 372 | # CONFIG_DEBUG_DRIVER is not set | 393 | CONFIG_FIRMWARE_IN_KERNEL=y |
| 373 | # CONFIG_DEBUG_DEVRES is not set | 394 | CONFIG_EXTRA_FIRMWARE="" |
| 374 | # CONFIG_SYS_HYPERVISOR is not set | 395 | # CONFIG_SYS_HYPERVISOR is not set |
| 375 | # CONFIG_CONNECTOR is not set | 396 | # CONFIG_CONNECTOR is not set |
| 376 | CONFIG_MTD=y | 397 | CONFIG_MTD=y |
| 377 | # CONFIG_MTD_DEBUG is not set | 398 | # CONFIG_MTD_DEBUG is not set |
| 378 | # CONFIG_MTD_CONCAT is not set | 399 | # CONFIG_MTD_CONCAT is not set |
| 379 | CONFIG_MTD_PARTITIONS=y | 400 | CONFIG_MTD_PARTITIONS=y |
| 380 | CONFIG_MTD_REDBOOT_PARTS=y | 401 | # CONFIG_MTD_TESTS is not set |
| 381 | CONFIG_MTD_REDBOOT_DIRECTORY_BLOCK=-1 | 402 | # CONFIG_MTD_REDBOOT_PARTS is not set |
| 382 | # CONFIG_MTD_REDBOOT_PARTS_UNALLOCATED is not set | ||
| 383 | # CONFIG_MTD_REDBOOT_PARTS_READONLY is not set | ||
| 384 | CONFIG_MTD_CMDLINE_PARTS=y | 403 | CONFIG_MTD_CMDLINE_PARTS=y |
| 385 | # CONFIG_MTD_AFS_PARTS is not set | 404 | # CONFIG_MTD_AFS_PARTS is not set |
| 386 | # CONFIG_MTD_AR7_PARTS is not set | 405 | # CONFIG_MTD_AR7_PARTS is not set |
| @@ -404,36 +423,31 @@ CONFIG_MTD_BLOCK=y | |||
| 404 | CONFIG_MTD_CFI=y | 423 | CONFIG_MTD_CFI=y |
| 405 | # CONFIG_MTD_JEDECPROBE is not set | 424 | # CONFIG_MTD_JEDECPROBE is not set |
| 406 | CONFIG_MTD_GEN_PROBE=y | 425 | CONFIG_MTD_GEN_PROBE=y |
| 407 | CONFIG_MTD_CFI_ADV_OPTIONS=y | 426 | # CONFIG_MTD_CFI_ADV_OPTIONS is not set |
| 408 | CONFIG_MTD_CFI_NOSWAP=y | 427 | CONFIG_MTD_MAP_BANK_WIDTH_1=y |
| 409 | # CONFIG_MTD_CFI_BE_BYTE_SWAP is not set | ||
| 410 | # CONFIG_MTD_CFI_LE_BYTE_SWAP is not set | ||
| 411 | CONFIG_MTD_CFI_GEOMETRY=y | ||
| 412 | # CONFIG_MTD_MAP_BANK_WIDTH_1 is not set | ||
| 413 | CONFIG_MTD_MAP_BANK_WIDTH_2=y | 428 | CONFIG_MTD_MAP_BANK_WIDTH_2=y |
| 414 | # CONFIG_MTD_MAP_BANK_WIDTH_4 is not set | 429 | CONFIG_MTD_MAP_BANK_WIDTH_4=y |
| 415 | # CONFIG_MTD_MAP_BANK_WIDTH_8 is not set | 430 | # CONFIG_MTD_MAP_BANK_WIDTH_8 is not set |
| 416 | # CONFIG_MTD_MAP_BANK_WIDTH_16 is not set | 431 | # CONFIG_MTD_MAP_BANK_WIDTH_16 is not set |
| 417 | # CONFIG_MTD_MAP_BANK_WIDTH_32 is not set | 432 | # CONFIG_MTD_MAP_BANK_WIDTH_32 is not set |
| 418 | CONFIG_MTD_CFI_I1=y | 433 | CONFIG_MTD_CFI_I1=y |
| 419 | # CONFIG_MTD_CFI_I2 is not set | 434 | CONFIG_MTD_CFI_I2=y |
| 420 | # CONFIG_MTD_CFI_I4 is not set | 435 | # CONFIG_MTD_CFI_I4 is not set |
| 421 | # CONFIG_MTD_CFI_I8 is not set | 436 | # CONFIG_MTD_CFI_I8 is not set |
| 422 | # CONFIG_MTD_OTP is not set | ||
| 423 | # CONFIG_MTD_CFI_INTELEXT is not set | 437 | # CONFIG_MTD_CFI_INTELEXT is not set |
| 424 | CONFIG_MTD_CFI_AMDSTD=y | 438 | # CONFIG_MTD_CFI_AMDSTD is not set |
| 425 | # CONFIG_MTD_CFI_STAA is not set | 439 | # CONFIG_MTD_CFI_STAA is not set |
| 426 | CONFIG_MTD_CFI_UTIL=y | 440 | CONFIG_MTD_CFI_UTIL=y |
| 427 | CONFIG_MTD_RAM=y | 441 | # CONFIG_MTD_RAM is not set |
| 428 | # CONFIG_MTD_ROM is not set | 442 | # CONFIG_MTD_ROM is not set |
| 429 | # CONFIG_MTD_ABSENT is not set | 443 | # CONFIG_MTD_ABSENT is not set |
| 430 | # CONFIG_MTD_XIP is not set | ||
| 431 | 444 | ||
| 432 | # | 445 | # |
| 433 | # Mapping drivers for chip access | 446 | # Mapping drivers for chip access |
| 434 | # | 447 | # |
| 435 | # CONFIG_MTD_COMPLEX_MAPPINGS is not set | 448 | # CONFIG_MTD_COMPLEX_MAPPINGS is not set |
| 436 | # CONFIG_MTD_PHYSMAP is not set | 449 | CONFIG_MTD_PHYSMAP=y |
| 450 | # CONFIG_MTD_PHYSMAP_COMPAT is not set | ||
| 437 | # CONFIG_MTD_ARM_INTEGRATOR is not set | 451 | # CONFIG_MTD_ARM_INTEGRATOR is not set |
| 438 | # CONFIG_MTD_PLATRAM is not set | 452 | # CONFIG_MTD_PLATRAM is not set |
| 439 | 453 | ||
| @@ -451,18 +465,15 @@ CONFIG_MTD_RAM=y | |||
| 451 | # CONFIG_MTD_DOC2000 is not set | 465 | # CONFIG_MTD_DOC2000 is not set |
| 452 | # CONFIG_MTD_DOC2001 is not set | 466 | # CONFIG_MTD_DOC2001 is not set |
| 453 | # CONFIG_MTD_DOC2001PLUS is not set | 467 | # CONFIG_MTD_DOC2001PLUS is not set |
| 454 | CONFIG_MTD_NAND=y | 468 | # CONFIG_MTD_NAND is not set |
| 455 | # CONFIG_MTD_NAND_VERIFY_WRITE is not set | ||
| 456 | # CONFIG_MTD_NAND_ECC_SMC is not set | ||
| 457 | # CONFIG_MTD_NAND_MUSEUM_IDS is not set | ||
| 458 | CONFIG_MTD_NAND_IDS=y | ||
| 459 | # CONFIG_MTD_NAND_DISKONCHIP is not set | ||
| 460 | # CONFIG_MTD_NAND_NANDSIM is not set | ||
| 461 | # CONFIG_MTD_NAND_PLATFORM is not set | ||
| 462 | # CONFIG_MTD_ALAUDA is not set | ||
| 463 | # CONFIG_MTD_ONENAND is not set | 469 | # CONFIG_MTD_ONENAND is not set |
| 464 | 470 | ||
| 465 | # | 471 | # |
| 472 | # LPDDR flash memory drivers | ||
| 473 | # | ||
| 474 | # CONFIG_MTD_LPDDR is not set | ||
| 475 | |||
| 476 | # | ||
| 466 | # UBI - Unsorted block images | 477 | # UBI - Unsorted block images |
| 467 | # | 478 | # |
| 468 | # CONFIG_MTD_UBI is not set | 479 | # CONFIG_MTD_UBI is not set |
| @@ -476,63 +487,58 @@ CONFIG_HAVE_IDE=y | |||
| 476 | # SCSI device support | 487 | # SCSI device support |
| 477 | # | 488 | # |
| 478 | # CONFIG_RAID_ATTRS is not set | 489 | # CONFIG_RAID_ATTRS is not set |
| 479 | CONFIG_SCSI=y | 490 | # CONFIG_SCSI is not set |
| 480 | CONFIG_SCSI_DMA=y | 491 | # CONFIG_SCSI_DMA is not set |
| 481 | # CONFIG_SCSI_TGT is not set | ||
| 482 | # CONFIG_SCSI_NETLINK is not set | 492 | # CONFIG_SCSI_NETLINK is not set |
| 483 | CONFIG_SCSI_PROC_FS=y | ||
| 484 | |||
| 485 | # | ||
| 486 | # SCSI support type (disk, tape, CD-ROM) | ||
| 487 | # | ||
| 488 | CONFIG_BLK_DEV_SD=y | ||
| 489 | # CONFIG_CHR_DEV_ST is not set | ||
| 490 | # CONFIG_CHR_DEV_OSST is not set | ||
| 491 | # CONFIG_BLK_DEV_SR is not set | ||
| 492 | # CONFIG_CHR_DEV_SG is not set | ||
| 493 | # CONFIG_CHR_DEV_SCH is not set | ||
| 494 | |||
| 495 | # | ||
| 496 | # Some SCSI devices (e.g. CD jukebox) support multiple LUNs | ||
| 497 | # | ||
| 498 | CONFIG_SCSI_MULTI_LUN=y | ||
| 499 | # CONFIG_SCSI_CONSTANTS is not set | ||
| 500 | # CONFIG_SCSI_LOGGING is not set | ||
| 501 | # CONFIG_SCSI_SCAN_ASYNC is not set | ||
| 502 | CONFIG_SCSI_WAIT_SCAN=m | ||
| 503 | |||
| 504 | # | ||
| 505 | # SCSI Transports | ||
| 506 | # | ||
| 507 | # CONFIG_SCSI_SPI_ATTRS is not set | ||
| 508 | # CONFIG_SCSI_FC_ATTRS is not set | ||
| 509 | # CONFIG_SCSI_ISCSI_ATTRS is not set | ||
| 510 | # CONFIG_SCSI_SAS_LIBSAS is not set | ||
| 511 | # CONFIG_SCSI_SRP_ATTRS is not set | ||
| 512 | CONFIG_SCSI_LOWLEVEL=y | ||
| 513 | # CONFIG_ISCSI_TCP is not set | ||
| 514 | # CONFIG_SCSI_DEBUG is not set | ||
| 515 | # CONFIG_ATA is not set | 493 | # CONFIG_ATA is not set |
| 516 | # CONFIG_MD is not set | 494 | # CONFIG_MD is not set |
| 517 | CONFIG_NETDEVICES=y | 495 | CONFIG_NETDEVICES=y |
| 518 | # CONFIG_NETDEVICES_MULTIQUEUE is not set | 496 | CONFIG_COMPAT_NET_DEV_OPS=y |
| 519 | # CONFIG_DUMMY is not set | 497 | # CONFIG_DUMMY is not set |
| 520 | # CONFIG_BONDING is not set | 498 | # CONFIG_BONDING is not set |
| 521 | # CONFIG_MACVLAN is not set | 499 | # CONFIG_MACVLAN is not set |
| 522 | # CONFIG_EQUALIZER is not set | 500 | # CONFIG_EQUALIZER is not set |
| 523 | # CONFIG_TUN is not set | 501 | # CONFIG_TUN is not set |
| 524 | # CONFIG_VETH is not set | 502 | # CONFIG_VETH is not set |
| 525 | # CONFIG_PHYLIB is not set | 503 | CONFIG_PHYLIB=y |
| 504 | |||
| 505 | # | ||
| 506 | # MII PHY device drivers | ||
| 507 | # | ||
| 508 | # CONFIG_MARVELL_PHY is not set | ||
| 509 | # CONFIG_DAVICOM_PHY is not set | ||
| 510 | # CONFIG_QSEMI_PHY is not set | ||
| 511 | # CONFIG_LXT_PHY is not set | ||
| 512 | # CONFIG_CICADA_PHY is not set | ||
| 513 | # CONFIG_VITESSE_PHY is not set | ||
| 514 | CONFIG_SMSC_PHY=y | ||
| 515 | # CONFIG_BROADCOM_PHY is not set | ||
| 516 | # CONFIG_ICPLUS_PHY is not set | ||
| 517 | # CONFIG_REALTEK_PHY is not set | ||
| 518 | # CONFIG_NATIONAL_PHY is not set | ||
| 519 | # CONFIG_STE10XP is not set | ||
| 520 | # CONFIG_LSI_ET1011C_PHY is not set | ||
| 521 | # CONFIG_FIXED_PHY is not set | ||
| 522 | # CONFIG_MDIO_BITBANG is not set | ||
| 526 | CONFIG_NET_ETHERNET=y | 523 | CONFIG_NET_ETHERNET=y |
| 527 | CONFIG_MII=y | 524 | CONFIG_MII=y |
| 528 | # CONFIG_AX88796 is not set | 525 | # CONFIG_AX88796 is not set |
| 529 | # CONFIG_SMC91X is not set | 526 | # CONFIG_SMC91X is not set |
| 530 | # CONFIG_DM9000 is not set | 527 | # CONFIG_DM9000 is not set |
| 528 | # CONFIG_ETHOC is not set | ||
| 529 | # CONFIG_SMC911X is not set | ||
| 530 | CONFIG_SMSC911X=y | ||
| 531 | # CONFIG_DNET is not set | ||
| 531 | # CONFIG_IBM_NEW_EMAC_ZMII is not set | 532 | # CONFIG_IBM_NEW_EMAC_ZMII is not set |
| 532 | # CONFIG_IBM_NEW_EMAC_RGMII is not set | 533 | # CONFIG_IBM_NEW_EMAC_RGMII is not set |
| 533 | # CONFIG_IBM_NEW_EMAC_TAH is not set | 534 | # CONFIG_IBM_NEW_EMAC_TAH is not set |
| 534 | # CONFIG_IBM_NEW_EMAC_EMAC4 is not set | 535 | # CONFIG_IBM_NEW_EMAC_EMAC4 is not set |
| 536 | # CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set | ||
| 537 | # CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set | ||
| 538 | # CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set | ||
| 535 | # CONFIG_B44 is not set | 539 | # CONFIG_B44 is not set |
| 540 | CONFIG_CS89x0=y | ||
| 541 | CONFIG_CS89x0_NONISA_IRQ=y | ||
| 536 | # CONFIG_NETDEV_1000 is not set | 542 | # CONFIG_NETDEV_1000 is not set |
| 537 | # CONFIG_NETDEV_10000 is not set | 543 | # CONFIG_NETDEV_10000 is not set |
| 538 | 544 | ||
| @@ -541,16 +547,10 @@ CONFIG_MII=y | |||
| 541 | # | 547 | # |
| 542 | # CONFIG_WLAN_PRE80211 is not set | 548 | # CONFIG_WLAN_PRE80211 is not set |
| 543 | # CONFIG_WLAN_80211 is not set | 549 | # CONFIG_WLAN_80211 is not set |
| 544 | # CONFIG_IWLWIFI_LEDS is not set | ||
| 545 | 550 | ||
| 546 | # | 551 | # |
| 547 | # USB Network Adapters | 552 | # Enable WiMAX (Networking options) to see the WiMAX drivers |
| 548 | # | 553 | # |
| 549 | # CONFIG_USB_CATC is not set | ||
| 550 | # CONFIG_USB_KAWETH is not set | ||
| 551 | # CONFIG_USB_PEGASUS is not set | ||
| 552 | # CONFIG_USB_RTL8150 is not set | ||
| 553 | # CONFIG_USB_USBNET is not set | ||
| 554 | # CONFIG_WAN is not set | 554 | # CONFIG_WAN is not set |
| 555 | # CONFIG_PPP is not set | 555 | # CONFIG_PPP is not set |
| 556 | # CONFIG_SLIP is not set | 556 | # CONFIG_SLIP is not set |
| @@ -562,43 +562,7 @@ CONFIG_MII=y | |||
| 562 | # | 562 | # |
| 563 | # Input device support | 563 | # Input device support |
| 564 | # | 564 | # |
| 565 | CONFIG_INPUT=y | 565 | # CONFIG_INPUT is not set |
| 566 | # CONFIG_INPUT_FF_MEMLESS is not set | ||
| 567 | # CONFIG_INPUT_POLLDEV is not set | ||
| 568 | |||
| 569 | # | ||
| 570 | # Userland interfaces | ||
| 571 | # | ||
| 572 | # CONFIG_INPUT_MOUSEDEV is not set | ||
| 573 | # CONFIG_INPUT_JOYDEV is not set | ||
| 574 | CONFIG_INPUT_EVDEV=y | ||
| 575 | # CONFIG_INPUT_EVBUG is not set | ||
| 576 | |||
| 577 | # | ||
| 578 | # Input Device Drivers | ||
| 579 | # | ||
| 580 | CONFIG_INPUT_KEYBOARD=y | ||
| 581 | # CONFIG_KEYBOARD_ATKBD is not set | ||
| 582 | # CONFIG_KEYBOARD_SUNKBD is not set | ||
| 583 | # CONFIG_KEYBOARD_LKKBD is not set | ||
| 584 | # CONFIG_KEYBOARD_XTKBD is not set | ||
| 585 | # CONFIG_KEYBOARD_NEWTON is not set | ||
| 586 | # CONFIG_KEYBOARD_STOWAWAY is not set | ||
| 587 | # CONFIG_INPUT_MOUSE is not set | ||
| 588 | # CONFIG_INPUT_JOYSTICK is not set | ||
| 589 | # CONFIG_INPUT_TABLET is not set | ||
| 590 | CONFIG_INPUT_TOUCHSCREEN=y | ||
| 591 | # CONFIG_TOUCHSCREEN_FUJITSU is not set | ||
| 592 | # CONFIG_TOUCHSCREEN_GUNZE is not set | ||
| 593 | # CONFIG_TOUCHSCREEN_ELO is not set | ||
| 594 | # CONFIG_TOUCHSCREEN_MTOUCH is not set | ||
| 595 | # CONFIG_TOUCHSCREEN_MK712 is not set | ||
| 596 | # CONFIG_TOUCHSCREEN_PENMOUNT is not set | ||
| 597 | # CONFIG_TOUCHSCREEN_TOUCHRIGHT is not set | ||
| 598 | # CONFIG_TOUCHSCREEN_TOUCHWIN is not set | ||
| 599 | # CONFIG_TOUCHSCREEN_UCB1400 is not set | ||
| 600 | # CONFIG_TOUCHSCREEN_USB_COMPOSITE is not set | ||
| 601 | # CONFIG_INPUT_MISC is not set | ||
| 602 | 566 | ||
| 603 | # | 567 | # |
| 604 | # Hardware I/O ports | 568 | # Hardware I/O ports |
| @@ -609,10 +573,7 @@ CONFIG_INPUT_TOUCHSCREEN=y | |||
| 609 | # | 573 | # |
| 610 | # Character devices | 574 | # Character devices |
| 611 | # | 575 | # |
| 612 | CONFIG_VT=y | 576 | # CONFIG_VT is not set |
| 613 | CONFIG_VT_CONSOLE=y | ||
| 614 | CONFIG_HW_CONSOLE=y | ||
| 615 | # CONFIG_VT_HW_CONSOLE_BINDING is not set | ||
| 616 | CONFIG_DEVKMEM=y | 577 | CONFIG_DEVKMEM=y |
| 617 | # CONFIG_SERIAL_NONSTANDARD is not set | 578 | # CONFIG_SERIAL_NONSTANDARD is not set |
| 618 | 579 | ||
| @@ -624,45 +585,132 @@ CONFIG_DEVKMEM=y | |||
| 624 | # | 585 | # |
| 625 | # Non-8250 serial port support | 586 | # Non-8250 serial port support |
| 626 | # | 587 | # |
| 588 | CONFIG_SERIAL_IMX=y | ||
| 589 | CONFIG_SERIAL_IMX_CONSOLE=y | ||
| 590 | CONFIG_SERIAL_CORE=y | ||
| 591 | CONFIG_SERIAL_CORE_CONSOLE=y | ||
| 627 | CONFIG_UNIX98_PTYS=y | 592 | CONFIG_UNIX98_PTYS=y |
| 628 | CONFIG_LEGACY_PTYS=y | 593 | # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set |
| 629 | CONFIG_LEGACY_PTY_COUNT=256 | 594 | # CONFIG_LEGACY_PTYS is not set |
| 630 | # CONFIG_IPMI_HANDLER is not set | 595 | # CONFIG_IPMI_HANDLER is not set |
| 631 | CONFIG_HW_RANDOM=y | 596 | # CONFIG_HW_RANDOM is not set |
| 632 | # CONFIG_NVRAM is not set | ||
| 633 | # CONFIG_R3964 is not set | 597 | # CONFIG_R3964 is not set |
| 634 | # CONFIG_RAW_DRIVER is not set | 598 | # CONFIG_RAW_DRIVER is not set |
| 635 | # CONFIG_TCG_TPM is not set | 599 | # CONFIG_TCG_TPM is not set |
| 636 | # CONFIG_I2C is not set | 600 | CONFIG_I2C=y |
| 601 | CONFIG_I2C_BOARDINFO=y | ||
| 602 | CONFIG_I2C_CHARDEV=y | ||
| 603 | CONFIG_I2C_HELPER_AUTO=y | ||
| 604 | |||
| 605 | # | ||
| 606 | # I2C Hardware Bus support | ||
| 607 | # | ||
| 608 | |||
| 609 | # | ||
| 610 | # I2C system bus drivers (mostly embedded / system-on-chip) | ||
| 611 | # | ||
| 612 | # CONFIG_I2C_GPIO is not set | ||
| 613 | CONFIG_I2C_IMX=y | ||
| 614 | # CONFIG_I2C_OCORES is not set | ||
| 615 | # CONFIG_I2C_SIMTEC is not set | ||
| 616 | |||
| 617 | # | ||
| 618 | # External I2C/SMBus adapter drivers | ||
| 619 | # | ||
| 620 | # CONFIG_I2C_PARPORT_LIGHT is not set | ||
| 621 | # CONFIG_I2C_TAOS_EVM is not set | ||
| 622 | |||
| 623 | # | ||
| 624 | # Other I2C/SMBus bus drivers | ||
| 625 | # | ||
| 626 | # CONFIG_I2C_PCA_PLATFORM is not set | ||
| 627 | # CONFIG_I2C_STUB is not set | ||
| 628 | |||
| 629 | # | ||
| 630 | # Miscellaneous I2C Chip support | ||
| 631 | # | ||
| 632 | # CONFIG_DS1682 is not set | ||
| 633 | # CONFIG_SENSORS_PCF8574 is not set | ||
| 634 | # CONFIG_PCF8575 is not set | ||
| 635 | # CONFIG_SENSORS_PCA9539 is not set | ||
| 636 | # CONFIG_SENSORS_MAX6875 is not set | ||
| 637 | # CONFIG_SENSORS_TSL2550 is not set | ||
| 638 | # CONFIG_I2C_DEBUG_CORE is not set | ||
| 639 | # CONFIG_I2C_DEBUG_ALGO is not set | ||
| 640 | # CONFIG_I2C_DEBUG_BUS is not set | ||
| 641 | # CONFIG_I2C_DEBUG_CHIP is not set | ||
| 637 | # CONFIG_SPI is not set | 642 | # CONFIG_SPI is not set |
| 638 | # CONFIG_W1 is not set | 643 | CONFIG_ARCH_REQUIRE_GPIOLIB=y |
| 639 | # CONFIG_POWER_SUPPLY is not set | 644 | CONFIG_GPIOLIB=y |
| 640 | # CONFIG_HWMON is not set | 645 | # CONFIG_GPIO_SYSFS is not set |
| 641 | CONFIG_WATCHDOG=y | ||
| 642 | CONFIG_WATCHDOG_NOWAYOUT=y | ||
| 643 | 646 | ||
| 644 | # | 647 | # |
| 645 | # Watchdog Device Drivers | 648 | # Memory mapped GPIO expanders: |
| 646 | # | 649 | # |
| 647 | # CONFIG_SOFT_WATCHDOG is not set | ||
| 648 | 650 | ||
| 649 | # | 651 | # |
| 650 | # USB-based Watchdog Cards | 652 | # I2C GPIO expanders: |
| 651 | # | 653 | # |
| 652 | # CONFIG_USBPCWATCHDOG is not set | 654 | # CONFIG_GPIO_MAX732X is not set |
| 655 | # CONFIG_GPIO_PCA953X is not set | ||
| 656 | # CONFIG_GPIO_PCF857X is not set | ||
| 653 | 657 | ||
| 654 | # | 658 | # |
| 655 | # Sonics Silicon Backplane | 659 | # PCI GPIO expanders: |
| 656 | # | 660 | # |
| 661 | |||
| 662 | # | ||
| 663 | # SPI GPIO expanders: | ||
| 664 | # | ||
| 665 | CONFIG_W1=y | ||
| 666 | |||
| 667 | # | ||
| 668 | # 1-wire Bus Masters | ||
| 669 | # | ||
| 670 | # CONFIG_W1_MASTER_DS2482 is not set | ||
| 671 | CONFIG_W1_MASTER_MXC=y | ||
| 672 | # CONFIG_W1_MASTER_GPIO is not set | ||
| 673 | |||
| 674 | # | ||
| 675 | # 1-wire Slaves | ||
| 676 | # | ||
| 677 | CONFIG_W1_SLAVE_THERM=y | ||
| 678 | # CONFIG_W1_SLAVE_SMEM is not set | ||
| 679 | # CONFIG_W1_SLAVE_DS2431 is not set | ||
| 680 | # CONFIG_W1_SLAVE_DS2433 is not set | ||
| 681 | # CONFIG_W1_SLAVE_DS2760 is not set | ||
| 682 | # CONFIG_W1_SLAVE_BQ27000 is not set | ||
| 683 | # CONFIG_POWER_SUPPLY is not set | ||
| 684 | # CONFIG_HWMON is not set | ||
| 685 | # CONFIG_THERMAL is not set | ||
| 686 | # CONFIG_THERMAL_HWMON is not set | ||
| 687 | # CONFIG_WATCHDOG is not set | ||
| 657 | CONFIG_SSB_POSSIBLE=y | 688 | CONFIG_SSB_POSSIBLE=y |
| 689 | |||
| 690 | # | ||
| 691 | # Sonics Silicon Backplane | ||
| 692 | # | ||
| 658 | # CONFIG_SSB is not set | 693 | # CONFIG_SSB is not set |
| 659 | 694 | ||
| 660 | # | 695 | # |
| 661 | # Multifunction device drivers | 696 | # Multifunction device drivers |
| 662 | # | 697 | # |
| 698 | # CONFIG_MFD_CORE is not set | ||
| 663 | # CONFIG_MFD_SM501 is not set | 699 | # CONFIG_MFD_SM501 is not set |
| 664 | # CONFIG_MFD_ASIC3 is not set | 700 | # CONFIG_MFD_ASIC3 is not set |
| 701 | # CONFIG_HTC_EGPIO is not set | ||
| 665 | # CONFIG_HTC_PASIC3 is not set | 702 | # CONFIG_HTC_PASIC3 is not set |
| 703 | # CONFIG_TPS65010 is not set | ||
| 704 | # CONFIG_TWL4030_CORE is not set | ||
| 705 | # CONFIG_MFD_TMIO is not set | ||
| 706 | # CONFIG_MFD_TC6393XB is not set | ||
| 707 | # CONFIG_PMIC_DA903X is not set | ||
| 708 | # CONFIG_MFD_WM8400 is not set | ||
| 709 | CONFIG_MFD_WM8350=y | ||
| 710 | CONFIG_MFD_WM8350_CONFIG_MODE_0=y | ||
| 711 | CONFIG_MFD_WM8352_CONFIG_MODE_0=y | ||
| 712 | CONFIG_MFD_WM8350_I2C=y | ||
| 713 | # CONFIG_MFD_PCF50633 is not set | ||
| 666 | 714 | ||
| 667 | # | 715 | # |
| 668 | # Multimedia devices | 716 | # Multimedia devices |
| @@ -673,7 +721,7 @@ CONFIG_SSB_POSSIBLE=y | |||
| 673 | # | 721 | # |
| 674 | CONFIG_VIDEO_DEV=y | 722 | CONFIG_VIDEO_DEV=y |
| 675 | CONFIG_VIDEO_V4L2_COMMON=y | 723 | CONFIG_VIDEO_V4L2_COMMON=y |
| 676 | CONFIG_VIDEO_ALLOW_V4L1=y | 724 | # CONFIG_VIDEO_ALLOW_V4L1 is not set |
| 677 | CONFIG_VIDEO_V4L1_COMPAT=y | 725 | CONFIG_VIDEO_V4L1_COMPAT=y |
| 678 | # CONFIG_DVB_CORE is not set | 726 | # CONFIG_DVB_CORE is not set |
| 679 | CONFIG_VIDEO_MEDIA=y | 727 | CONFIG_VIDEO_MEDIA=y |
| @@ -682,34 +730,38 @@ CONFIG_VIDEO_MEDIA=y | |||
| 682 | # Multimedia drivers | 730 | # Multimedia drivers |
| 683 | # | 731 | # |
| 684 | # CONFIG_MEDIA_ATTACH is not set | 732 | # CONFIG_MEDIA_ATTACH is not set |
| 733 | CONFIG_MEDIA_TUNER=y | ||
| 734 | # CONFIG_MEDIA_TUNER_CUSTOMISE is not set | ||
| 735 | CONFIG_MEDIA_TUNER_SIMPLE=y | ||
| 736 | CONFIG_MEDIA_TUNER_TDA8290=y | ||
| 737 | CONFIG_MEDIA_TUNER_TDA9887=y | ||
| 738 | CONFIG_MEDIA_TUNER_TEA5761=y | ||
| 739 | CONFIG_MEDIA_TUNER_TEA5767=y | ||
| 740 | CONFIG_MEDIA_TUNER_MT20XX=y | ||
| 741 | CONFIG_MEDIA_TUNER_XC2028=y | ||
| 742 | CONFIG_MEDIA_TUNER_XC5000=y | ||
| 743 | CONFIG_MEDIA_TUNER_MC44S803=y | ||
| 685 | CONFIG_VIDEO_V4L2=y | 744 | CONFIG_VIDEO_V4L2=y |
| 686 | CONFIG_VIDEO_V4L1=y | 745 | CONFIG_VIDEOBUF_GEN=y |
| 746 | CONFIG_VIDEOBUF_DMA_CONTIG=y | ||
| 687 | CONFIG_VIDEO_CAPTURE_DRIVERS=y | 747 | CONFIG_VIDEO_CAPTURE_DRIVERS=y |
| 688 | # CONFIG_VIDEO_ADV_DEBUG is not set | 748 | # CONFIG_VIDEO_ADV_DEBUG is not set |
| 749 | # CONFIG_VIDEO_FIXED_MINOR_RANGES is not set | ||
| 689 | CONFIG_VIDEO_HELPER_CHIPS_AUTO=y | 750 | CONFIG_VIDEO_HELPER_CHIPS_AUTO=y |
| 690 | # CONFIG_VIDEO_VIVI is not set | 751 | # CONFIG_VIDEO_VIVI is not set |
| 691 | # CONFIG_VIDEO_CPIA is not set | 752 | # CONFIG_VIDEO_SAA5246A is not set |
| 692 | # CONFIG_VIDEO_CPIA2 is not set | 753 | # CONFIG_VIDEO_SAA5249 is not set |
| 693 | CONFIG_V4L_USB_DRIVERS=y | 754 | CONFIG_SOC_CAMERA=y |
| 694 | # CONFIG_USB_VICAM is not set | 755 | CONFIG_SOC_CAMERA_MT9M001=y |
| 695 | # CONFIG_USB_IBMCAM is not set | 756 | CONFIG_SOC_CAMERA_MT9M111=y |
| 696 | # CONFIG_USB_KONICAWC is not set | 757 | CONFIG_SOC_CAMERA_MT9T031=y |
| 697 | # CONFIG_USB_QUICKCAM_MESSENGER is not set | 758 | CONFIG_SOC_CAMERA_MT9V022=y |
| 698 | # CONFIG_USB_ET61X251 is not set | 759 | CONFIG_SOC_CAMERA_TW9910=y |
| 699 | # CONFIG_USB_OV511 is not set | 760 | # CONFIG_SOC_CAMERA_PLATFORM is not set |
| 700 | # CONFIG_USB_SE401 is not set | 761 | # CONFIG_SOC_CAMERA_OV772X is not set |
| 701 | # CONFIG_USB_SN9C102 is not set | 762 | CONFIG_VIDEO_MX3=y |
| 702 | # CONFIG_USB_STV680 is not set | 763 | # CONFIG_RADIO_ADAPTERS is not set |
| 703 | # CONFIG_USB_ZC0301 is not set | 764 | # CONFIG_DAB is not set |
| 704 | # CONFIG_USB_PWC is not set | ||
| 705 | # CONFIG_USB_ZR364XX is not set | ||
| 706 | # CONFIG_USB_STKWEBCAM is not set | ||
| 707 | # CONFIG_SOC_CAMERA is not set | ||
| 708 | CONFIG_RADIO_ADAPTERS=y | ||
| 709 | # CONFIG_USB_DSBR is not set | ||
| 710 | # CONFIG_USB_SI470X is not set | ||
| 711 | CONFIG_DAB=y | ||
| 712 | # CONFIG_USB_DABUSB is not set | ||
| 713 | 765 | ||
| 714 | # | 766 | # |
| 715 | # Graphics support | 767 | # Graphics support |
| @@ -719,9 +771,10 @@ CONFIG_DAB=y | |||
| 719 | CONFIG_FB=y | 771 | CONFIG_FB=y |
| 720 | # CONFIG_FIRMWARE_EDID is not set | 772 | # CONFIG_FIRMWARE_EDID is not set |
| 721 | # CONFIG_FB_DDC is not set | 773 | # CONFIG_FB_DDC is not set |
| 722 | # CONFIG_FB_CFB_FILLRECT is not set | 774 | # CONFIG_FB_BOOT_VESA_SUPPORT is not set |
| 723 | # CONFIG_FB_CFB_COPYAREA is not set | 775 | CONFIG_FB_CFB_FILLRECT=y |
| 724 | # CONFIG_FB_CFB_IMAGEBLIT is not set | 776 | CONFIG_FB_CFB_COPYAREA=y |
| 777 | CONFIG_FB_CFB_IMAGEBLIT=y | ||
| 725 | # CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set | 778 | # CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set |
| 726 | # CONFIG_FB_SYS_FILLRECT is not set | 779 | # CONFIG_FB_SYS_FILLRECT is not set |
| 727 | # CONFIG_FB_SYS_COPYAREA is not set | 780 | # CONFIG_FB_SYS_COPYAREA is not set |
| @@ -739,131 +792,79 @@ CONFIG_FB=y | |||
| 739 | # | 792 | # |
| 740 | # CONFIG_FB_S1D13XXX is not set | 793 | # CONFIG_FB_S1D13XXX is not set |
| 741 | # CONFIG_FB_VIRTUAL is not set | 794 | # CONFIG_FB_VIRTUAL is not set |
| 795 | # CONFIG_FB_METRONOME is not set | ||
| 796 | # CONFIG_FB_MB862XX is not set | ||
| 797 | CONFIG_FB_MX3=y | ||
| 798 | # CONFIG_FB_BROADSHEET is not set | ||
| 742 | # CONFIG_BACKLIGHT_LCD_SUPPORT is not set | 799 | # CONFIG_BACKLIGHT_LCD_SUPPORT is not set |
| 743 | 800 | ||
| 744 | # | 801 | # |
| 745 | # Display device support | 802 | # Display device support |
| 746 | # | 803 | # |
| 747 | # CONFIG_DISPLAY_SUPPORT is not set | 804 | # CONFIG_DISPLAY_SUPPORT is not set |
| 748 | 805 | # CONFIG_LOGO is not set | |
| 749 | # | ||
| 750 | # Console display driver support | ||
| 751 | # | ||
| 752 | # CONFIG_VGA_CONSOLE is not set | ||
| 753 | CONFIG_DUMMY_CONSOLE=y | ||
| 754 | CONFIG_FRAMEBUFFER_CONSOLE=y | ||
| 755 | # CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY is not set | ||
| 756 | # CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set | ||
| 757 | # CONFIG_FONTS is not set | ||
| 758 | CONFIG_FONT_8x8=y | ||
| 759 | CONFIG_FONT_8x16=y | ||
| 760 | CONFIG_LOGO=y | ||
| 761 | # CONFIG_LOGO_LINUX_MONO is not set | ||
| 762 | # CONFIG_LOGO_LINUX_VGA16 is not set | ||
| 763 | CONFIG_LOGO_LINUX_CLUT224=y | ||
| 764 | |||
| 765 | # | ||
| 766 | # Sound | ||
| 767 | # | ||
| 768 | # CONFIG_SOUND is not set | 806 | # CONFIG_SOUND is not set |
| 769 | # CONFIG_HID_SUPPORT is not set | 807 | # CONFIG_USB_SUPPORT is not set |
| 770 | CONFIG_USB_SUPPORT=y | 808 | CONFIG_MMC=y |
| 771 | CONFIG_USB_ARCH_HAS_HCD=y | 809 | # CONFIG_MMC_DEBUG is not set |
| 772 | # CONFIG_USB_ARCH_HAS_OHCI is not set | 810 | # CONFIG_MMC_UNSAFE_RESUME is not set |
| 773 | # CONFIG_USB_ARCH_HAS_EHCI is not set | ||
| 774 | CONFIG_USB=y | ||
| 775 | # CONFIG_USB_DEBUG is not set | ||
| 776 | # CONFIG_USB_ANNOUNCE_NEW_DEVICES is not set | ||
| 777 | 811 | ||
| 778 | # | 812 | # |
| 779 | # Miscellaneous USB options | 813 | # MMC/SD/SDIO Card Drivers |
| 780 | # | 814 | # |
| 781 | # CONFIG_USB_DEVICEFS is not set | 815 | CONFIG_MMC_BLOCK=y |
| 782 | CONFIG_USB_DEVICE_CLASS=y | 816 | CONFIG_MMC_BLOCK_BOUNCE=y |
| 783 | # CONFIG_USB_DYNAMIC_MINORS is not set | 817 | # CONFIG_SDIO_UART is not set |
| 784 | # CONFIG_USB_SUSPEND is not set | 818 | # CONFIG_MMC_TEST is not set |
| 785 | # CONFIG_USB_OTG is not set | ||
| 786 | # CONFIG_USB_OTG_WHITELIST is not set | ||
| 787 | # CONFIG_USB_OTG_BLACKLIST_HUB is not set | ||
| 788 | 819 | ||
| 789 | # | 820 | # |
| 790 | # USB Host Controller Drivers | 821 | # MMC/SD/SDIO Host Controller Drivers |
| 791 | # | 822 | # |
| 792 | # CONFIG_USB_C67X00_HCD is not set | 823 | # CONFIG_MMC_SDHCI is not set |
| 793 | # CONFIG_USB_ISP116X_HCD is not set | 824 | CONFIG_MMC_MXC=y |
| 794 | # CONFIG_USB_ISP1760_HCD is not set | 825 | # CONFIG_MEMSTICK is not set |
| 795 | # CONFIG_USB_SL811_HCD is not set | 826 | # CONFIG_ACCESSIBILITY is not set |
| 796 | # CONFIG_USB_R8A66597_HCD is not set | 827 | # CONFIG_NEW_LEDS is not set |
| 797 | 828 | CONFIG_RTC_LIB=y | |
| 798 | # | 829 | # CONFIG_RTC_CLASS is not set |
| 799 | # USB Device Class drivers | 830 | CONFIG_DMADEVICES=y |
| 800 | # | ||
| 801 | # CONFIG_USB_ACM is not set | ||
| 802 | # CONFIG_USB_PRINTER is not set | ||
| 803 | # CONFIG_USB_WDM is not set | ||
| 804 | |||
| 805 | # | ||
| 806 | # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' | ||
| 807 | # | ||
| 808 | |||
| 809 | # | ||
| 810 | # may also be needed; see USB_STORAGE Help for more information | ||
| 811 | # | ||
| 812 | # CONFIG_USB_STORAGE is not set | ||
| 813 | # CONFIG_USB_LIBUSUAL is not set | ||
| 814 | |||
| 815 | # | ||
| 816 | # USB Imaging devices | ||
| 817 | # | ||
| 818 | # CONFIG_USB_MDC800 is not set | ||
| 819 | # CONFIG_USB_MICROTEK is not set | ||
| 820 | CONFIG_USB_MON=y | ||
| 821 | 831 | ||
| 822 | # | 832 | # |
| 823 | # USB port drivers | 833 | # DMA Devices |
| 824 | # | 834 | # |
| 825 | # CONFIG_USB_SERIAL is not set | 835 | CONFIG_MX3_IPU=y |
| 836 | CONFIG_MX3_IPU_IRQS=4 | ||
| 837 | CONFIG_DMA_ENGINE=y | ||
| 826 | 838 | ||
| 827 | # | 839 | # |
| 828 | # USB Miscellaneous drivers | 840 | # DMA Clients |
| 829 | # | 841 | # |
| 830 | # CONFIG_USB_EMI62 is not set | 842 | # CONFIG_NET_DMA is not set |
| 831 | # CONFIG_USB_EMI26 is not set | 843 | # CONFIG_ASYNC_TX_DMA is not set |
| 832 | # CONFIG_USB_ADUTUX is not set | 844 | # CONFIG_DMATEST is not set |
| 833 | # CONFIG_USB_AUERSWALD is not set | 845 | # CONFIG_AUXDISPLAY is not set |
| 834 | # CONFIG_USB_RIO500 is not set | 846 | CONFIG_REGULATOR=y |
| 835 | # CONFIG_USB_LEGOTOWER is not set | 847 | # CONFIG_REGULATOR_DEBUG is not set |
| 836 | # CONFIG_USB_LCD is not set | 848 | # CONFIG_REGULATOR_FIXED_VOLTAGE is not set |
| 837 | # CONFIG_USB_BERRY_CHARGE is not set | 849 | # CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set |
| 838 | # CONFIG_USB_LED is not set | 850 | # CONFIG_REGULATOR_BQ24022 is not set |
| 839 | # CONFIG_USB_CYPRESS_CY7C63 is not set | 851 | CONFIG_REGULATOR_WM8350=y |
| 840 | # CONFIG_USB_CYTHERM is not set | ||
| 841 | # CONFIG_USB_PHIDGET is not set | ||
| 842 | # CONFIG_USB_IDMOUSE is not set | ||
| 843 | # CONFIG_USB_FTDI_ELAN is not set | ||
| 844 | # CONFIG_USB_APPLEDISPLAY is not set | ||
| 845 | # CONFIG_USB_LD is not set | ||
| 846 | # CONFIG_USB_TRANCEVIBRATOR is not set | ||
| 847 | # CONFIG_USB_IOWARRIOR is not set | ||
| 848 | # CONFIG_USB_ISIGHTFW is not set | ||
| 849 | # CONFIG_USB_GADGET is not set | ||
| 850 | # CONFIG_MMC is not set | ||
| 851 | # CONFIG_NEW_LEDS is not set | ||
| 852 | CONFIG_RTC_LIB=y | ||
| 853 | # CONFIG_RTC_CLASS is not set | ||
| 854 | # CONFIG_UIO is not set | 852 | # CONFIG_UIO is not set |
| 853 | # CONFIG_STAGING is not set | ||
| 855 | 854 | ||
| 856 | # | 855 | # |
| 857 | # File systems | 856 | # File systems |
| 858 | # | 857 | # |
| 859 | # CONFIG_EXT2_FS is not set | 858 | # CONFIG_EXT2_FS is not set |
| 860 | # CONFIG_EXT3_FS is not set | 859 | # CONFIG_EXT3_FS is not set |
| 861 | # CONFIG_EXT4DEV_FS is not set | 860 | # CONFIG_EXT4_FS is not set |
| 862 | # CONFIG_REISERFS_FS is not set | 861 | # CONFIG_REISERFS_FS is not set |
| 863 | # CONFIG_JFS_FS is not set | 862 | # CONFIG_JFS_FS is not set |
| 864 | # CONFIG_FS_POSIX_ACL is not set | 863 | # CONFIG_FS_POSIX_ACL is not set |
| 864 | CONFIG_FILE_LOCKING=y | ||
| 865 | # CONFIG_XFS_FS is not set | 865 | # CONFIG_XFS_FS is not set |
| 866 | # CONFIG_OCFS2_FS is not set | 866 | # CONFIG_OCFS2_FS is not set |
| 867 | # CONFIG_BTRFS_FS is not set | ||
| 867 | # CONFIG_DNOTIFY is not set | 868 | # CONFIG_DNOTIFY is not set |
| 868 | CONFIG_INOTIFY=y | 869 | CONFIG_INOTIFY=y |
| 869 | CONFIG_INOTIFY_USER=y | 870 | CONFIG_INOTIFY_USER=y |
| @@ -873,6 +874,11 @@ CONFIG_INOTIFY_USER=y | |||
| 873 | # CONFIG_FUSE_FS is not set | 874 | # CONFIG_FUSE_FS is not set |
| 874 | 875 | ||
| 875 | # | 876 | # |
| 877 | # Caches | ||
| 878 | # | ||
| 879 | # CONFIG_FSCACHE is not set | ||
| 880 | |||
| 881 | # | ||
| 876 | # CD-ROM/DVD Filesystems | 882 | # CD-ROM/DVD Filesystems |
| 877 | # | 883 | # |
| 878 | # CONFIG_ISO9660_FS is not set | 884 | # CONFIG_ISO9660_FS is not set |
| @@ -890,15 +896,13 @@ CONFIG_INOTIFY_USER=y | |||
| 890 | # | 896 | # |
| 891 | CONFIG_PROC_FS=y | 897 | CONFIG_PROC_FS=y |
| 892 | CONFIG_PROC_SYSCTL=y | 898 | CONFIG_PROC_SYSCTL=y |
| 899 | CONFIG_PROC_PAGE_MONITOR=y | ||
| 893 | CONFIG_SYSFS=y | 900 | CONFIG_SYSFS=y |
| 894 | CONFIG_TMPFS=y | 901 | CONFIG_TMPFS=y |
| 895 | # CONFIG_TMPFS_POSIX_ACL is not set | 902 | # CONFIG_TMPFS_POSIX_ACL is not set |
| 896 | # CONFIG_HUGETLB_PAGE is not set | 903 | # CONFIG_HUGETLB_PAGE is not set |
| 897 | # CONFIG_CONFIGFS_FS is not set | 904 | # CONFIG_CONFIGFS_FS is not set |
| 898 | 905 | CONFIG_MISC_FILESYSTEMS=y | |
| 899 | # | ||
| 900 | # Miscellaneous filesystems | ||
| 901 | # | ||
| 902 | # CONFIG_ADFS_FS is not set | 906 | # CONFIG_ADFS_FS is not set |
| 903 | # CONFIG_AFFS_FS is not set | 907 | # CONFIG_AFFS_FS is not set |
| 904 | # CONFIG_HFS_FS is not set | 908 | # CONFIG_HFS_FS is not set |
| @@ -917,25 +921,30 @@ CONFIG_JFFS2_ZLIB=y | |||
| 917 | # CONFIG_JFFS2_LZO is not set | 921 | # CONFIG_JFFS2_LZO is not set |
| 918 | CONFIG_JFFS2_RTIME=y | 922 | CONFIG_JFFS2_RTIME=y |
| 919 | # CONFIG_JFFS2_RUBIN is not set | 923 | # CONFIG_JFFS2_RUBIN is not set |
| 920 | CONFIG_CRAMFS=y | 924 | # CONFIG_CRAMFS is not set |
| 925 | # CONFIG_SQUASHFS is not set | ||
| 921 | # CONFIG_VXFS_FS is not set | 926 | # CONFIG_VXFS_FS is not set |
| 922 | # CONFIG_MINIX_FS is not set | 927 | # CONFIG_MINIX_FS is not set |
| 928 | # CONFIG_OMFS_FS is not set | ||
| 923 | # CONFIG_HPFS_FS is not set | 929 | # CONFIG_HPFS_FS is not set |
| 924 | # CONFIG_QNX4FS_FS is not set | 930 | # CONFIG_QNX4FS_FS is not set |
| 925 | # CONFIG_ROMFS_FS is not set | 931 | # CONFIG_ROMFS_FS is not set |
| 926 | # CONFIG_SYSV_FS is not set | 932 | # CONFIG_SYSV_FS is not set |
| 927 | # CONFIG_UFS_FS is not set | 933 | # CONFIG_UFS_FS is not set |
| 934 | # CONFIG_NILFS2_FS is not set | ||
| 928 | CONFIG_NETWORK_FILESYSTEMS=y | 935 | CONFIG_NETWORK_FILESYSTEMS=y |
| 929 | CONFIG_NFS_FS=y | 936 | CONFIG_NFS_FS=y |
| 930 | # CONFIG_NFS_V3 is not set | 937 | CONFIG_NFS_V3=y |
| 931 | # CONFIG_NFS_V4 is not set | 938 | # CONFIG_NFS_V3_ACL is not set |
| 932 | # CONFIG_NFSD is not set | 939 | CONFIG_NFS_V4=y |
| 933 | CONFIG_ROOT_NFS=y | 940 | CONFIG_ROOT_NFS=y |
| 941 | # CONFIG_NFSD is not set | ||
| 934 | CONFIG_LOCKD=y | 942 | CONFIG_LOCKD=y |
| 943 | CONFIG_LOCKD_V4=y | ||
| 935 | CONFIG_NFS_COMMON=y | 944 | CONFIG_NFS_COMMON=y |
| 936 | CONFIG_SUNRPC=y | 945 | CONFIG_SUNRPC=y |
| 937 | # CONFIG_SUNRPC_BIND34 is not set | 946 | CONFIG_SUNRPC_GSS=y |
| 938 | # CONFIG_RPCSEC_GSS_KRB5 is not set | 947 | CONFIG_RPCSEC_GSS_KRB5=y |
| 939 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | 948 | # CONFIG_RPCSEC_GSS_SPKM3 is not set |
| 940 | # CONFIG_SMB_FS is not set | 949 | # CONFIG_SMB_FS is not set |
| 941 | # CONFIG_CIFS is not set | 950 | # CONFIG_CIFS is not set |
| @@ -954,65 +963,70 @@ CONFIG_MSDOS_PARTITION=y | |||
| 954 | # | 963 | # |
| 955 | # Kernel hacking | 964 | # Kernel hacking |
| 956 | # | 965 | # |
| 957 | CONFIG_PRINTK_TIME=y | 966 | # CONFIG_PRINTK_TIME is not set |
| 958 | CONFIG_ENABLE_WARN_DEPRECATED=y | 967 | # CONFIG_ENABLE_WARN_DEPRECATED is not set |
| 959 | CONFIG_ENABLE_MUST_CHECK=y | 968 | # CONFIG_ENABLE_MUST_CHECK is not set |
| 960 | CONFIG_FRAME_WARN=1024 | 969 | CONFIG_FRAME_WARN=1024 |
| 961 | # CONFIG_MAGIC_SYSRQ is not set | 970 | # CONFIG_MAGIC_SYSRQ is not set |
| 962 | # CONFIG_UNUSED_SYMBOLS is not set | 971 | # CONFIG_UNUSED_SYMBOLS is not set |
| 963 | # CONFIG_DEBUG_FS is not set | 972 | # CONFIG_DEBUG_FS is not set |
| 964 | # CONFIG_HEADERS_CHECK is not set | 973 | # CONFIG_HEADERS_CHECK is not set |
| 965 | CONFIG_DEBUG_KERNEL=y | 974 | # CONFIG_DEBUG_KERNEL is not set |
| 966 | # CONFIG_DEBUG_SHIRQ is not set | 975 | # CONFIG_DEBUG_BUGVERBOSE is not set |
| 967 | CONFIG_DETECT_SOFTLOCKUP=y | 976 | # CONFIG_DEBUG_MEMORY_INIT is not set |
| 968 | CONFIG_SCHED_DEBUG=y | 977 | # CONFIG_RCU_CPU_STALL_DETECTOR is not set |
| 969 | # CONFIG_SCHEDSTATS is not set | 978 | # CONFIG_LATENCYTOP is not set |
| 970 | # CONFIG_TIMER_STATS is not set | 979 | CONFIG_SYSCTL_SYSCALL_CHECK=y |
| 971 | # CONFIG_DEBUG_OBJECTS is not set | 980 | CONFIG_HAVE_FUNCTION_TRACER=y |
| 972 | # CONFIG_DEBUG_SLAB is not set | 981 | CONFIG_TRACING_SUPPORT=y |
| 973 | CONFIG_DEBUG_PREEMPT=y | 982 | |
| 974 | # CONFIG_DEBUG_RT_MUTEXES is not set | 983 | # |
| 975 | # CONFIG_RT_MUTEX_TESTER is not set | 984 | # Tracers |
| 976 | # CONFIG_DEBUG_SPINLOCK is not set | 985 | # |
| 977 | # CONFIG_DEBUG_MUTEXES is not set | 986 | # CONFIG_FUNCTION_TRACER is not set |
| 978 | # CONFIG_DEBUG_LOCK_ALLOC is not set | 987 | # CONFIG_IRQSOFF_TRACER is not set |
| 979 | # CONFIG_PROVE_LOCKING is not set | 988 | # CONFIG_PREEMPT_TRACER is not set |
| 980 | # CONFIG_LOCK_STAT is not set | 989 | # CONFIG_SCHED_TRACER is not set |
| 981 | # CONFIG_DEBUG_SPINLOCK_SLEEP is not set | 990 | # CONFIG_CONTEXT_SWITCH_TRACER is not set |
| 982 | # CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set | 991 | # CONFIG_EVENT_TRACER is not set |
| 983 | # CONFIG_DEBUG_KOBJECT is not set | 992 | # CONFIG_BOOT_TRACER is not set |
| 984 | CONFIG_DEBUG_BUGVERBOSE=y | 993 | # CONFIG_TRACE_BRANCH_PROFILING is not set |
| 985 | # CONFIG_DEBUG_INFO is not set | 994 | # CONFIG_STACK_TRACER is not set |
| 986 | # CONFIG_DEBUG_VM is not set | 995 | # CONFIG_KMEMTRACE is not set |
| 987 | # CONFIG_DEBUG_WRITECOUNT is not set | 996 | # CONFIG_WORKQUEUE_TRACER is not set |
| 988 | # CONFIG_DEBUG_LIST is not set | 997 | # CONFIG_BLK_DEV_IO_TRACE is not set |
| 989 | # CONFIG_DEBUG_SG is not set | ||
| 990 | CONFIG_FRAME_POINTER=y | ||
| 991 | # CONFIG_BOOT_PRINTK_DELAY is not set | ||
| 992 | # CONFIG_RCU_TORTURE_TEST is not set | ||
| 993 | # CONFIG_BACKTRACE_SELF_TEST is not set | ||
| 994 | # CONFIG_FAULT_INJECTION is not set | ||
| 995 | # CONFIG_SAMPLES is not set | 998 | # CONFIG_SAMPLES is not set |
| 999 | CONFIG_HAVE_ARCH_KGDB=y | ||
| 1000 | CONFIG_ARM_UNWIND=y | ||
| 996 | # CONFIG_DEBUG_USER is not set | 1001 | # CONFIG_DEBUG_USER is not set |
| 997 | CONFIG_DEBUG_ERRORS=y | ||
| 998 | # CONFIG_DEBUG_STACK_USAGE is not set | ||
| 999 | CONFIG_DEBUG_LL=y | ||
| 1000 | # CONFIG_DEBUG_ICEDCC is not set | ||
| 1001 | 1002 | ||
| 1002 | # | 1003 | # |
| 1003 | # Security options | 1004 | # Security options |
| 1004 | # | 1005 | # |
| 1005 | # CONFIG_KEYS is not set | 1006 | # CONFIG_KEYS is not set |
| 1006 | # CONFIG_SECURITY is not set | 1007 | # CONFIG_SECURITY is not set |
| 1008 | # CONFIG_SECURITYFS is not set | ||
| 1007 | # CONFIG_SECURITY_FILE_CAPABILITIES is not set | 1009 | # CONFIG_SECURITY_FILE_CAPABILITIES is not set |
| 1008 | CONFIG_CRYPTO=y | 1010 | CONFIG_CRYPTO=y |
| 1009 | 1011 | ||
| 1010 | # | 1012 | # |
| 1011 | # Crypto core or helper | 1013 | # Crypto core or helper |
| 1012 | # | 1014 | # |
| 1013 | # CONFIG_CRYPTO_MANAGER is not set | 1015 | # CONFIG_CRYPTO_FIPS is not set |
| 1016 | CONFIG_CRYPTO_ALGAPI=y | ||
| 1017 | CONFIG_CRYPTO_ALGAPI2=y | ||
| 1018 | CONFIG_CRYPTO_AEAD2=y | ||
| 1019 | CONFIG_CRYPTO_BLKCIPHER=y | ||
| 1020 | CONFIG_CRYPTO_BLKCIPHER2=y | ||
| 1021 | CONFIG_CRYPTO_HASH=y | ||
| 1022 | CONFIG_CRYPTO_HASH2=y | ||
| 1023 | CONFIG_CRYPTO_RNG2=y | ||
| 1024 | CONFIG_CRYPTO_PCOMP=y | ||
| 1025 | CONFIG_CRYPTO_MANAGER=y | ||
| 1026 | CONFIG_CRYPTO_MANAGER2=y | ||
| 1014 | # CONFIG_CRYPTO_GF128MUL is not set | 1027 | # CONFIG_CRYPTO_GF128MUL is not set |
| 1015 | # CONFIG_CRYPTO_NULL is not set | 1028 | # CONFIG_CRYPTO_NULL is not set |
| 1029 | CONFIG_CRYPTO_WORKQUEUE=y | ||
| 1016 | # CONFIG_CRYPTO_CRYPTD is not set | 1030 | # CONFIG_CRYPTO_CRYPTD is not set |
| 1017 | # CONFIG_CRYPTO_AUTHENC is not set | 1031 | # CONFIG_CRYPTO_AUTHENC is not set |
| 1018 | # CONFIG_CRYPTO_TEST is not set | 1032 | # CONFIG_CRYPTO_TEST is not set |
| @@ -1027,7 +1041,7 @@ CONFIG_CRYPTO=y | |||
| 1027 | # | 1041 | # |
| 1028 | # Block modes | 1042 | # Block modes |
| 1029 | # | 1043 | # |
| 1030 | # CONFIG_CRYPTO_CBC is not set | 1044 | CONFIG_CRYPTO_CBC=y |
| 1031 | # CONFIG_CRYPTO_CTR is not set | 1045 | # CONFIG_CRYPTO_CTR is not set |
| 1032 | # CONFIG_CRYPTO_CTS is not set | 1046 | # CONFIG_CRYPTO_CTS is not set |
| 1033 | # CONFIG_CRYPTO_ECB is not set | 1047 | # CONFIG_CRYPTO_ECB is not set |
| @@ -1046,8 +1060,12 @@ CONFIG_CRYPTO=y | |||
| 1046 | # | 1060 | # |
| 1047 | # CONFIG_CRYPTO_CRC32C is not set | 1061 | # CONFIG_CRYPTO_CRC32C is not set |
| 1048 | # CONFIG_CRYPTO_MD4 is not set | 1062 | # CONFIG_CRYPTO_MD4 is not set |
| 1049 | # CONFIG_CRYPTO_MD5 is not set | 1063 | CONFIG_CRYPTO_MD5=y |
| 1050 | # CONFIG_CRYPTO_MICHAEL_MIC is not set | 1064 | # CONFIG_CRYPTO_MICHAEL_MIC is not set |
| 1065 | # CONFIG_CRYPTO_RMD128 is not set | ||
| 1066 | # CONFIG_CRYPTO_RMD160 is not set | ||
| 1067 | # CONFIG_CRYPTO_RMD256 is not set | ||
| 1068 | # CONFIG_CRYPTO_RMD320 is not set | ||
| 1051 | # CONFIG_CRYPTO_SHA1 is not set | 1069 | # CONFIG_CRYPTO_SHA1 is not set |
| 1052 | # CONFIG_CRYPTO_SHA256 is not set | 1070 | # CONFIG_CRYPTO_SHA256 is not set |
| 1053 | # CONFIG_CRYPTO_SHA512 is not set | 1071 | # CONFIG_CRYPTO_SHA512 is not set |
| @@ -1064,7 +1082,7 @@ CONFIG_CRYPTO=y | |||
| 1064 | # CONFIG_CRYPTO_CAMELLIA is not set | 1082 | # CONFIG_CRYPTO_CAMELLIA is not set |
| 1065 | # CONFIG_CRYPTO_CAST5 is not set | 1083 | # CONFIG_CRYPTO_CAST5 is not set |
| 1066 | # CONFIG_CRYPTO_CAST6 is not set | 1084 | # CONFIG_CRYPTO_CAST6 is not set |
| 1067 | # CONFIG_CRYPTO_DES is not set | 1085 | CONFIG_CRYPTO_DES=y |
| 1068 | # CONFIG_CRYPTO_FCRYPT is not set | 1086 | # CONFIG_CRYPTO_FCRYPT is not set |
| 1069 | # CONFIG_CRYPTO_KHAZAD is not set | 1087 | # CONFIG_CRYPTO_KHAZAD is not set |
| 1070 | # CONFIG_CRYPTO_SALSA20 is not set | 1088 | # CONFIG_CRYPTO_SALSA20 is not set |
| @@ -1077,24 +1095,31 @@ CONFIG_CRYPTO=y | |||
| 1077 | # Compression | 1095 | # Compression |
| 1078 | # | 1096 | # |
| 1079 | # CONFIG_CRYPTO_DEFLATE is not set | 1097 | # CONFIG_CRYPTO_DEFLATE is not set |
| 1098 | # CONFIG_CRYPTO_ZLIB is not set | ||
| 1080 | # CONFIG_CRYPTO_LZO is not set | 1099 | # CONFIG_CRYPTO_LZO is not set |
| 1100 | |||
| 1101 | # | ||
| 1102 | # Random Number Generation | ||
| 1103 | # | ||
| 1104 | # CONFIG_CRYPTO_ANSI_CPRNG is not set | ||
| 1081 | CONFIG_CRYPTO_HW=y | 1105 | CONFIG_CRYPTO_HW=y |
| 1106 | # CONFIG_BINARY_PRINTF is not set | ||
| 1082 | 1107 | ||
| 1083 | # | 1108 | # |
| 1084 | # Library routines | 1109 | # Library routines |
| 1085 | # | 1110 | # |
| 1086 | CONFIG_BITREVERSE=y | 1111 | CONFIG_BITREVERSE=y |
| 1087 | # CONFIG_GENERIC_FIND_FIRST_BIT is not set | 1112 | CONFIG_GENERIC_FIND_LAST_BIT=y |
| 1088 | # CONFIG_GENERIC_FIND_NEXT_BIT is not set | 1113 | # CONFIG_CRC_CCITT is not set |
| 1089 | CONFIG_CRC_CCITT=m | ||
| 1090 | # CONFIG_CRC16 is not set | 1114 | # CONFIG_CRC16 is not set |
| 1115 | # CONFIG_CRC_T10DIF is not set | ||
| 1091 | # CONFIG_CRC_ITU_T is not set | 1116 | # CONFIG_CRC_ITU_T is not set |
| 1092 | CONFIG_CRC32=y | 1117 | CONFIG_CRC32=y |
| 1093 | # CONFIG_CRC7 is not set | 1118 | # CONFIG_CRC7 is not set |
| 1094 | # CONFIG_LIBCRC32C is not set | 1119 | # CONFIG_LIBCRC32C is not set |
| 1095 | CONFIG_ZLIB_INFLATE=y | 1120 | CONFIG_ZLIB_INFLATE=y |
| 1096 | CONFIG_ZLIB_DEFLATE=y | 1121 | CONFIG_ZLIB_DEFLATE=y |
| 1097 | CONFIG_PLIST=y | ||
| 1098 | CONFIG_HAS_IOMEM=y | 1122 | CONFIG_HAS_IOMEM=y |
| 1099 | CONFIG_HAS_IOPORT=y | 1123 | CONFIG_HAS_IOPORT=y |
| 1100 | CONFIG_HAS_DMA=y | 1124 | CONFIG_HAS_DMA=y |
| 1125 | CONFIG_NLATTR=y | ||
diff --git a/arch/arm/configs/pcm037_defconfig b/arch/arm/configs/pcm037_defconfig deleted file mode 100644 index 6e37c77c4760..000000000000 --- a/arch/arm/configs/pcm037_defconfig +++ /dev/null | |||
| @@ -1,769 +0,0 @@ | |||
| 1 | # | ||
| 2 | # Automatically generated make config: don't edit | ||
| 3 | # Linux kernel version: 2.6.26-rc6 | ||
| 4 | # Wed Jun 25 11:52:42 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_LOCKDEP_SUPPORT=y | ||
| 16 | CONFIG_TRACE_IRQFLAGS_SUPPORT=y | ||
| 17 | CONFIG_HARDIRQS_SW_RESEND=y | ||
| 18 | CONFIG_GENERIC_IRQ_PROBE=y | ||
| 19 | CONFIG_RWSEM_GENERIC_SPINLOCK=y | ||
| 20 | # CONFIG_ARCH_HAS_ILOG2_U32 is not set | ||
| 21 | # CONFIG_ARCH_HAS_ILOG2_U64 is not set | ||
| 22 | CONFIG_GENERIC_HWEIGHT=y | ||
| 23 | CONFIG_GENERIC_CALIBRATE_DELAY=y | ||
| 24 | CONFIG_ARCH_SUPPORTS_AOUT=y | ||
| 25 | CONFIG_ZONE_DMA=y | ||
| 26 | CONFIG_ARCH_MTD_XIP=y | ||
| 27 | CONFIG_VECTORS_BASE=0xffff0000 | ||
| 28 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | ||
| 29 | |||
| 30 | # | ||
| 31 | # General setup | ||
| 32 | # | ||
| 33 | CONFIG_EXPERIMENTAL=y | ||
| 34 | CONFIG_BROKEN_ON_SMP=y | ||
| 35 | CONFIG_LOCK_KERNEL=y | ||
| 36 | CONFIG_INIT_ENV_ARG_LIMIT=32 | ||
| 37 | CONFIG_LOCALVERSION="" | ||
| 38 | CONFIG_LOCALVERSION_AUTO=y | ||
| 39 | CONFIG_SWAP=y | ||
| 40 | CONFIG_SYSVIPC=y | ||
| 41 | CONFIG_SYSVIPC_SYSCTL=y | ||
| 42 | # CONFIG_POSIX_MQUEUE is not set | ||
| 43 | # CONFIG_BSD_PROCESS_ACCT is not set | ||
| 44 | # CONFIG_TASKSTATS is not set | ||
| 45 | # CONFIG_AUDIT is not set | ||
| 46 | CONFIG_IKCONFIG=y | ||
| 47 | CONFIG_IKCONFIG_PROC=y | ||
| 48 | CONFIG_LOG_BUF_SHIFT=14 | ||
| 49 | # CONFIG_CGROUPS is not set | ||
| 50 | CONFIG_GROUP_SCHED=y | ||
| 51 | CONFIG_FAIR_GROUP_SCHED=y | ||
| 52 | # CONFIG_RT_GROUP_SCHED is not set | ||
| 53 | CONFIG_USER_SCHED=y | ||
| 54 | # CONFIG_CGROUP_SCHED is not set | ||
| 55 | CONFIG_SYSFS_DEPRECATED=y | ||
| 56 | CONFIG_SYSFS_DEPRECATED_V2=y | ||
| 57 | # CONFIG_RELAY is not set | ||
| 58 | # CONFIG_NAMESPACES is not set | ||
| 59 | # CONFIG_BLK_DEV_INITRD is not set | ||
| 60 | CONFIG_CC_OPTIMIZE_FOR_SIZE=y | ||
| 61 | CONFIG_SYSCTL=y | ||
| 62 | CONFIG_EMBEDDED=y | ||
| 63 | CONFIG_UID16=y | ||
| 64 | CONFIG_SYSCTL_SYSCALL=y | ||
| 65 | CONFIG_SYSCTL_SYSCALL_CHECK=y | ||
| 66 | CONFIG_KALLSYMS=y | ||
| 67 | # CONFIG_KALLSYMS_EXTRA_PASS is not set | ||
| 68 | CONFIG_HOTPLUG=y | ||
| 69 | CONFIG_PRINTK=y | ||
| 70 | CONFIG_BUG=y | ||
| 71 | CONFIG_ELF_CORE=y | ||
| 72 | CONFIG_COMPAT_BRK=y | ||
| 73 | CONFIG_BASE_FULL=y | ||
| 74 | CONFIG_FUTEX=y | ||
| 75 | CONFIG_ANON_INODES=y | ||
| 76 | CONFIG_EPOLL=y | ||
| 77 | CONFIG_SIGNALFD=y | ||
| 78 | CONFIG_TIMERFD=y | ||
| 79 | CONFIG_EVENTFD=y | ||
| 80 | CONFIG_SHMEM=y | ||
| 81 | CONFIG_VM_EVENT_COUNTERS=y | ||
| 82 | CONFIG_SLAB=y | ||
| 83 | # CONFIG_SLUB is not set | ||
| 84 | # CONFIG_SLOB is not set | ||
| 85 | # CONFIG_PROFILING is not set | ||
| 86 | # CONFIG_MARKERS is not set | ||
| 87 | CONFIG_HAVE_OPROFILE=y | ||
| 88 | # CONFIG_KPROBES is not set | ||
| 89 | CONFIG_HAVE_KPROBES=y | ||
| 90 | CONFIG_HAVE_KRETPROBES=y | ||
| 91 | # CONFIG_HAVE_DMA_ATTRS is not set | ||
| 92 | CONFIG_PROC_PAGE_MONITOR=y | ||
| 93 | CONFIG_SLABINFO=y | ||
| 94 | CONFIG_RT_MUTEXES=y | ||
| 95 | # CONFIG_TINY_SHMEM is not set | ||
| 96 | CONFIG_BASE_SMALL=0 | ||
| 97 | CONFIG_MODULES=y | ||
| 98 | # CONFIG_MODULE_FORCE_LOAD is not set | ||
| 99 | CONFIG_MODULE_UNLOAD=y | ||
| 100 | CONFIG_MODULE_FORCE_UNLOAD=y | ||
| 101 | CONFIG_MODVERSIONS=y | ||
| 102 | # CONFIG_MODULE_SRCVERSION_ALL is not set | ||
| 103 | CONFIG_KMOD=y | ||
| 104 | CONFIG_BLOCK=y | ||
| 105 | # CONFIG_LBD is not set | ||
| 106 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
| 107 | # CONFIG_LSF is not set | ||
| 108 | # CONFIG_BLK_DEV_BSG is not set | ||
| 109 | |||
| 110 | # | ||
| 111 | # IO Schedulers | ||
| 112 | # | ||
| 113 | CONFIG_IOSCHED_NOOP=y | ||
| 114 | CONFIG_IOSCHED_AS=y | ||
| 115 | CONFIG_IOSCHED_DEADLINE=y | ||
| 116 | CONFIG_IOSCHED_CFQ=y | ||
| 117 | # CONFIG_DEFAULT_AS is not set | ||
| 118 | # CONFIG_DEFAULT_DEADLINE is not set | ||
| 119 | CONFIG_DEFAULT_CFQ=y | ||
| 120 | # CONFIG_DEFAULT_NOOP is not set | ||
| 121 | CONFIG_DEFAULT_IOSCHED="cfq" | ||
| 122 | CONFIG_CLASSIC_RCU=y | ||
| 123 | |||
| 124 | # | ||
| 125 | # System Type | ||
| 126 | # | ||
| 127 | # CONFIG_ARCH_AAEC2000 is not set | ||
| 128 | # CONFIG_ARCH_INTEGRATOR is not set | ||
| 129 | # CONFIG_ARCH_REALVIEW is not set | ||
| 130 | # CONFIG_ARCH_VERSATILE is not set | ||
| 131 | # CONFIG_ARCH_AT91 is not set | ||
| 132 | # CONFIG_ARCH_CLPS7500 is not set | ||
| 133 | # CONFIG_ARCH_CLPS711X is not set | ||
| 134 | # CONFIG_ARCH_CO285 is not set | ||
| 135 | # CONFIG_ARCH_EBSA110 is not set | ||
| 136 | # CONFIG_ARCH_EP93XX is not set | ||
| 137 | # CONFIG_ARCH_FOOTBRIDGE is not set | ||
| 138 | # CONFIG_ARCH_NETX is not set | ||
| 139 | # CONFIG_ARCH_H720X is not set | ||
| 140 | # CONFIG_ARCH_IMX is not set | ||
| 141 | # CONFIG_ARCH_IOP13XX is not set | ||
| 142 | # CONFIG_ARCH_IOP32X is not set | ||
| 143 | # CONFIG_ARCH_IOP33X is not set | ||
| 144 | # CONFIG_ARCH_IXP23XX is not set | ||
| 145 | # CONFIG_ARCH_IXP2000 is not set | ||
| 146 | # CONFIG_ARCH_IXP4XX is not set | ||
| 147 | # CONFIG_ARCH_L7200 is not set | ||
| 148 | # CONFIG_ARCH_KS8695 is not set | ||
| 149 | # CONFIG_ARCH_NS9XXX is not set | ||
| 150 | CONFIG_ARCH_MXC=y | ||
| 151 | # CONFIG_ARCH_ORION5X is not set | ||
| 152 | # CONFIG_ARCH_PNX4008 is not set | ||
| 153 | # CONFIG_ARCH_PXA is not set | ||
| 154 | # CONFIG_ARCH_RPC is not set | ||
| 155 | # CONFIG_ARCH_SA1100 is not set | ||
| 156 | # CONFIG_ARCH_S3C2410 is not set | ||
| 157 | # CONFIG_ARCH_SHARK is not set | ||
| 158 | # CONFIG_ARCH_LH7A40X is not set | ||
| 159 | # CONFIG_ARCH_DAVINCI is not set | ||
| 160 | # CONFIG_ARCH_OMAP is not set | ||
| 161 | # CONFIG_ARCH_MSM7X00A is not set | ||
| 162 | |||
| 163 | # | ||
| 164 | # Boot options | ||
| 165 | # | ||
| 166 | |||
| 167 | # | ||
| 168 | # Power management | ||
| 169 | # | ||
| 170 | |||
| 171 | # | ||
| 172 | # Freescale MXC Implementations | ||
| 173 | # | ||
| 174 | CONFIG_ARCH_MX3=y | ||
| 175 | |||
| 176 | # | ||
| 177 | # MX3 Options | ||
| 178 | # | ||
| 179 | # CONFIG_MACH_MX31ADS is not set | ||
| 180 | CONFIG_MACH_PCM037=y | ||
| 181 | |||
| 182 | # | ||
| 183 | # Processor Type | ||
| 184 | # | ||
| 185 | CONFIG_CPU_32=y | ||
| 186 | CONFIG_CPU_V6=y | ||
| 187 | # CONFIG_CPU_32v6K is not set | ||
| 188 | CONFIG_CPU_32v6=y | ||
| 189 | CONFIG_CPU_ABRT_EV6=y | ||
| 190 | CONFIG_CPU_PABRT_NOIFAR=y | ||
| 191 | CONFIG_CPU_CACHE_V6=y | ||
| 192 | CONFIG_CPU_CACHE_VIPT=y | ||
| 193 | CONFIG_CPU_COPY_V6=y | ||
| 194 | CONFIG_CPU_TLB_V6=y | ||
| 195 | CONFIG_CPU_HAS_ASID=y | ||
| 196 | CONFIG_CPU_CP15=y | ||
| 197 | CONFIG_CPU_CP15_MMU=y | ||
| 198 | |||
| 199 | # | ||
| 200 | # Processor Features | ||
| 201 | # | ||
| 202 | CONFIG_ARM_THUMB=y | ||
| 203 | # CONFIG_CPU_ICACHE_DISABLE is not set | ||
| 204 | # CONFIG_CPU_DCACHE_DISABLE is not set | ||
| 205 | # CONFIG_CPU_BPREDICT_DISABLE is not set | ||
| 206 | # CONFIG_OUTER_CACHE is not set | ||
| 207 | |||
| 208 | # | ||
| 209 | # Bus support | ||
| 210 | # | ||
| 211 | # CONFIG_PCI_SYSCALL is not set | ||
| 212 | # CONFIG_ARCH_SUPPORTS_MSI is not set | ||
| 213 | # CONFIG_PCCARD is not set | ||
| 214 | |||
| 215 | # | ||
| 216 | # Kernel Features | ||
| 217 | # | ||
| 218 | CONFIG_TICK_ONESHOT=y | ||
| 219 | CONFIG_NO_HZ=y | ||
| 220 | CONFIG_HIGH_RES_TIMERS=y | ||
| 221 | CONFIG_GENERIC_CLOCKEVENTS_BUILD=y | ||
| 222 | CONFIG_PREEMPT=y | ||
| 223 | CONFIG_HZ=100 | ||
| 224 | CONFIG_AEABI=y | ||
| 225 | # CONFIG_OABI_COMPAT is not set | ||
| 226 | # CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set | ||
| 227 | CONFIG_SELECT_MEMORY_MODEL=y | ||
| 228 | CONFIG_FLATMEM_MANUAL=y | ||
| 229 | # CONFIG_DISCONTIGMEM_MANUAL is not set | ||
| 230 | # CONFIG_SPARSEMEM_MANUAL is not set | ||
| 231 | CONFIG_FLATMEM=y | ||
| 232 | CONFIG_FLAT_NODE_MEM_MAP=y | ||
| 233 | # CONFIG_SPARSEMEM_STATIC is not set | ||
| 234 | # CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set | ||
| 235 | CONFIG_PAGEFLAGS_EXTENDED=y | ||
| 236 | CONFIG_SPLIT_PTLOCK_CPUS=4 | ||
| 237 | # CONFIG_RESOURCES_64BIT is not set | ||
| 238 | CONFIG_ZONE_DMA_FLAG=1 | ||
| 239 | CONFIG_BOUNCE=y | ||
| 240 | CONFIG_VIRT_TO_BUS=y | ||
| 241 | CONFIG_ALIGNMENT_TRAP=y | ||
| 242 | |||
| 243 | # | ||
| 244 | # Boot options | ||
| 245 | # | ||
| 246 | CONFIG_ZBOOT_ROM_TEXT=0x0 | ||
| 247 | CONFIG_ZBOOT_ROM_BSS=0x0 | ||
| 248 | CONFIG_CMDLINE="noinitrd console=ttymxc0,115200 root=/dev/mtdblock2 rw ip=off" | ||
| 249 | # CONFIG_XIP_KERNEL is not set | ||
| 250 | # CONFIG_KEXEC is not set | ||
| 251 | |||
| 252 | # | ||
| 253 | # Floating point emulation | ||
| 254 | # | ||
| 255 | |||
| 256 | # | ||
| 257 | # At least one emulation must be selected | ||
| 258 | # | ||
| 259 | CONFIG_VFP=y | ||
| 260 | |||
| 261 | # | ||
| 262 | # Userspace binary formats | ||
| 263 | # | ||
| 264 | CONFIG_BINFMT_ELF=y | ||
| 265 | # CONFIG_BINFMT_AOUT is not set | ||
| 266 | # CONFIG_BINFMT_MISC is not set | ||
| 267 | |||
| 268 | # | ||
| 269 | # Power management options | ||
| 270 | # | ||
| 271 | # CONFIG_PM is not set | ||
| 272 | CONFIG_ARCH_SUSPEND_POSSIBLE=y | ||
| 273 | |||
| 274 | # | ||
| 275 | # Networking | ||
| 276 | # | ||
| 277 | CONFIG_NET=y | ||
| 278 | |||
| 279 | # | ||
| 280 | # Networking options | ||
| 281 | # | ||
| 282 | CONFIG_PACKET=y | ||
| 283 | # CONFIG_PACKET_MMAP is not set | ||
| 284 | CONFIG_UNIX=y | ||
| 285 | # CONFIG_NET_KEY is not set | ||
| 286 | CONFIG_INET=y | ||
| 287 | # CONFIG_IP_MULTICAST is not set | ||
| 288 | # CONFIG_IP_ADVANCED_ROUTER is not set | ||
| 289 | CONFIG_IP_FIB_HASH=y | ||
| 290 | CONFIG_IP_PNP=y | ||
| 291 | CONFIG_IP_PNP_DHCP=y | ||
| 292 | # CONFIG_IP_PNP_BOOTP is not set | ||
| 293 | # CONFIG_IP_PNP_RARP is not set | ||
| 294 | # CONFIG_NET_IPIP is not set | ||
| 295 | # CONFIG_NET_IPGRE is not set | ||
| 296 | # CONFIG_ARPD is not set | ||
| 297 | # CONFIG_SYN_COOKIES is not set | ||
| 298 | # CONFIG_INET_AH is not set | ||
| 299 | # CONFIG_INET_ESP is not set | ||
| 300 | # CONFIG_INET_IPCOMP is not set | ||
| 301 | # CONFIG_INET_XFRM_TUNNEL is not set | ||
| 302 | # CONFIG_INET_TUNNEL is not set | ||
| 303 | # CONFIG_INET_XFRM_MODE_TRANSPORT is not set | ||
| 304 | # CONFIG_INET_XFRM_MODE_TUNNEL is not set | ||
| 305 | # CONFIG_INET_XFRM_MODE_BEET is not set | ||
| 306 | # CONFIG_INET_LRO is not set | ||
| 307 | # CONFIG_INET_DIAG is not set | ||
| 308 | # CONFIG_TCP_CONG_ADVANCED is not set | ||
| 309 | CONFIG_TCP_CONG_CUBIC=y | ||
| 310 | CONFIG_DEFAULT_TCP_CONG="cubic" | ||
| 311 | # CONFIG_TCP_MD5SIG is not set | ||
| 312 | # CONFIG_IPV6 is not set | ||
| 313 | # CONFIG_NETWORK_SECMARK is not set | ||
| 314 | # CONFIG_NETFILTER is not set | ||
| 315 | # CONFIG_IP_DCCP is not set | ||
| 316 | # CONFIG_IP_SCTP is not set | ||
| 317 | # CONFIG_TIPC is not set | ||
| 318 | # CONFIG_ATM is not set | ||
| 319 | # CONFIG_BRIDGE is not set | ||
| 320 | # CONFIG_VLAN_8021Q is not set | ||
| 321 | # CONFIG_DECNET is not set | ||
| 322 | # CONFIG_LLC2 is not set | ||
| 323 | # CONFIG_IPX is not set | ||
| 324 | # CONFIG_ATALK is not set | ||
| 325 | # CONFIG_X25 is not set | ||
| 326 | # CONFIG_LAPB is not set | ||
| 327 | # CONFIG_ECONET is not set | ||
| 328 | # CONFIG_WAN_ROUTER is not set | ||
| 329 | # CONFIG_NET_SCHED is not set | ||
| 330 | |||
| 331 | # | ||
| 332 | # Network testing | ||
| 333 | # | ||
| 334 | # CONFIG_NET_PKTGEN is not set | ||
| 335 | # CONFIG_HAMRADIO is not set | ||
| 336 | # CONFIG_CAN is not set | ||
| 337 | # CONFIG_IRDA is not set | ||
| 338 | # CONFIG_BT is not set | ||
| 339 | # CONFIG_AF_RXRPC is not set | ||
| 340 | |||
| 341 | # | ||
| 342 | # Wireless | ||
| 343 | # | ||
| 344 | # CONFIG_CFG80211 is not set | ||
| 345 | # CONFIG_WIRELESS_EXT is not set | ||
| 346 | # CONFIG_MAC80211 is not set | ||
| 347 | # CONFIG_IEEE80211 is not set | ||
| 348 | # CONFIG_RFKILL is not set | ||
| 349 | # CONFIG_NET_9P is not set | ||
| 350 | |||
| 351 | # | ||
| 352 | # Device Drivers | ||
| 353 | # | ||
| 354 | |||
| 355 | # | ||
| 356 | # Generic Driver Options | ||
| 357 | # | ||
| 358 | CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" | ||
| 359 | CONFIG_STANDALONE=y | ||
| 360 | CONFIG_PREVENT_FIRMWARE_BUILD=y | ||
| 361 | CONFIG_FW_LOADER=m | ||
| 362 | # CONFIG_SYS_HYPERVISOR is not set | ||
| 363 | # CONFIG_CONNECTOR is not set | ||
| 364 | CONFIG_MTD=y | ||
| 365 | # CONFIG_MTD_DEBUG is not set | ||
| 366 | # CONFIG_MTD_CONCAT is not set | ||
| 367 | CONFIG_MTD_PARTITIONS=y | ||
| 368 | # CONFIG_MTD_REDBOOT_PARTS is not set | ||
| 369 | CONFIG_MTD_CMDLINE_PARTS=y | ||
| 370 | # CONFIG_MTD_AFS_PARTS is not set | ||
| 371 | # CONFIG_MTD_AR7_PARTS is not set | ||
| 372 | |||
| 373 | # | ||
| 374 | # User Modules And Translation Layers | ||
| 375 | # | ||
| 376 | CONFIG_MTD_CHAR=y | ||
| 377 | CONFIG_MTD_BLKDEVS=y | ||
| 378 | CONFIG_MTD_BLOCK=y | ||
| 379 | # CONFIG_FTL is not set | ||
| 380 | # CONFIG_NFTL is not set | ||
| 381 | # CONFIG_INFTL is not set | ||
| 382 | # CONFIG_RFD_FTL is not set | ||
| 383 | # CONFIG_SSFDC is not set | ||
| 384 | # CONFIG_MTD_OOPS is not set | ||
| 385 | |||
| 386 | # | ||
| 387 | # RAM/ROM/Flash chip drivers | ||
| 388 | # | ||
| 389 | CONFIG_MTD_CFI=y | ||
| 390 | # CONFIG_MTD_JEDECPROBE is not set | ||
| 391 | CONFIG_MTD_GEN_PROBE=y | ||
| 392 | # CONFIG_MTD_CFI_ADV_OPTIONS is not set | ||
| 393 | # CONFIG_MTD_CFI_NOSWAP is not set | ||
| 394 | # CONFIG_MTD_CFI_BE_BYTE_SWAP is not set | ||
| 395 | # CONFIG_MTD_CFI_LE_BYTE_SWAP is not set | ||
| 396 | CONFIG_MTD_MAP_BANK_WIDTH_1=y | ||
| 397 | CONFIG_MTD_MAP_BANK_WIDTH_2=y | ||
| 398 | CONFIG_MTD_MAP_BANK_WIDTH_4=y | ||
| 399 | # CONFIG_MTD_MAP_BANK_WIDTH_8 is not set | ||
| 400 | # CONFIG_MTD_MAP_BANK_WIDTH_16 is not set | ||
| 401 | # CONFIG_MTD_MAP_BANK_WIDTH_32 is not set | ||
| 402 | CONFIG_MTD_CFI_I1=y | ||
| 403 | CONFIG_MTD_CFI_I2=y | ||
| 404 | # CONFIG_MTD_CFI_I4 is not set | ||
| 405 | # CONFIG_MTD_CFI_I8 is not set | ||
| 406 | # CONFIG_MTD_CFI_INTELEXT is not set | ||
| 407 | # CONFIG_MTD_CFI_AMDSTD is not set | ||
| 408 | # CONFIG_MTD_CFI_STAA is not set | ||
| 409 | # CONFIG_MTD_RAM is not set | ||
| 410 | # CONFIG_MTD_ROM is not set | ||
| 411 | # CONFIG_MTD_ABSENT is not set | ||
| 412 | |||
| 413 | # | ||
| 414 | # Mapping drivers for chip access | ||
| 415 | # | ||
| 416 | # CONFIG_MTD_COMPLEX_MAPPINGS is not set | ||
| 417 | CONFIG_MTD_PHYSMAP=y | ||
| 418 | CONFIG_MTD_PHYSMAP_START=0x0 | ||
| 419 | CONFIG_MTD_PHYSMAP_LEN=0 | ||
| 420 | CONFIG_MTD_PHYSMAP_BANKWIDTH=2 | ||
| 421 | # CONFIG_MTD_ARM_INTEGRATOR is not set | ||
| 422 | # CONFIG_MTD_PLATRAM is not set | ||
| 423 | |||
| 424 | # | ||
| 425 | # Self-contained MTD device drivers | ||
| 426 | # | ||
| 427 | # CONFIG_MTD_SLRAM is not set | ||
| 428 | # CONFIG_MTD_PHRAM is not set | ||
| 429 | # CONFIG_MTD_MTDRAM is not set | ||
| 430 | # CONFIG_MTD_BLOCK2MTD is not set | ||
| 431 | |||
| 432 | # | ||
| 433 | # Disk-On-Chip Device Drivers | ||
| 434 | # | ||
| 435 | # CONFIG_MTD_DOC2000 is not set | ||
| 436 | # CONFIG_MTD_DOC2001 is not set | ||
| 437 | # CONFIG_MTD_DOC2001PLUS is not set | ||
| 438 | # CONFIG_MTD_NAND is not set | ||
| 439 | # CONFIG_MTD_ONENAND is not set | ||
| 440 | |||
| 441 | # | ||
| 442 | # UBI - Unsorted block images | ||
| 443 | # | ||
| 444 | # CONFIG_MTD_UBI is not set | ||
| 445 | # CONFIG_PARPORT is not set | ||
| 446 | # CONFIG_BLK_DEV is not set | ||
| 447 | # CONFIG_MISC_DEVICES is not set | ||
| 448 | CONFIG_HAVE_IDE=y | ||
| 449 | # CONFIG_IDE is not set | ||
| 450 | |||
| 451 | # | ||
| 452 | # SCSI device support | ||
| 453 | # | ||
| 454 | # CONFIG_RAID_ATTRS is not set | ||
| 455 | # CONFIG_SCSI is not set | ||
| 456 | # CONFIG_SCSI_DMA is not set | ||
| 457 | # CONFIG_SCSI_NETLINK is not set | ||
| 458 | # CONFIG_ATA is not set | ||
| 459 | # CONFIG_MD is not set | ||
| 460 | CONFIG_NETDEVICES=y | ||
| 461 | # CONFIG_NETDEVICES_MULTIQUEUE is not set | ||
| 462 | # CONFIG_DUMMY is not set | ||
| 463 | # CONFIG_BONDING is not set | ||
| 464 | # CONFIG_MACVLAN is not set | ||
| 465 | # CONFIG_EQUALIZER is not set | ||
| 466 | # CONFIG_TUN is not set | ||
| 467 | # CONFIG_VETH is not set | ||
| 468 | CONFIG_PHYLIB=y | ||
| 469 | |||
| 470 | # | ||
| 471 | # MII PHY device drivers | ||
| 472 | # | ||
| 473 | # CONFIG_MARVELL_PHY is not set | ||
| 474 | # CONFIG_DAVICOM_PHY is not set | ||
| 475 | # CONFIG_QSEMI_PHY is not set | ||
| 476 | # CONFIG_LXT_PHY is not set | ||
| 477 | # CONFIG_CICADA_PHY is not set | ||
| 478 | # CONFIG_VITESSE_PHY is not set | ||
| 479 | CONFIG_SMSC_PHY=y | ||
| 480 | # CONFIG_BROADCOM_PHY is not set | ||
| 481 | # CONFIG_ICPLUS_PHY is not set | ||
| 482 | # CONFIG_REALTEK_PHY is not set | ||
| 483 | # CONFIG_NATIONAL_PHY is not set | ||
| 484 | # CONFIG_STE10XP is not set | ||
| 485 | # CONFIG_LSI_ET1011C_PHY is not set | ||
| 486 | # CONFIG_FIXED_PHY is not set | ||
| 487 | # CONFIG_MDIO_BITBANG 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_SMC911X is not set | ||
| 494 | CONFIG_SMSC911X=y | ||
| 495 | # CONFIG_IBM_NEW_EMAC_ZMII is not set | ||
| 496 | # CONFIG_IBM_NEW_EMAC_RGMII is not set | ||
| 497 | # CONFIG_IBM_NEW_EMAC_TAH is not set | ||
| 498 | # CONFIG_IBM_NEW_EMAC_EMAC4 is not set | ||
| 499 | # CONFIG_B44 is not set | ||
| 500 | # CONFIG_NETDEV_1000 is not set | ||
| 501 | # CONFIG_NETDEV_10000 is not set | ||
| 502 | |||
| 503 | # | ||
| 504 | # Wireless LAN | ||
| 505 | # | ||
| 506 | # CONFIG_WLAN_PRE80211 is not set | ||
| 507 | # CONFIG_WLAN_80211 is not set | ||
| 508 | # CONFIG_IWLWIFI_LEDS is not set | ||
| 509 | # CONFIG_WAN is not set | ||
| 510 | # CONFIG_PPP is not set | ||
| 511 | # CONFIG_SLIP is not set | ||
| 512 | # CONFIG_NETCONSOLE is not set | ||
| 513 | # CONFIG_NETPOLL is not set | ||
| 514 | # CONFIG_NET_POLL_CONTROLLER is not set | ||
| 515 | # CONFIG_ISDN is not set | ||
| 516 | |||
| 517 | # | ||
| 518 | # Input device support | ||
| 519 | # | ||
| 520 | # CONFIG_INPUT is not set | ||
| 521 | |||
| 522 | # | ||
| 523 | # Hardware I/O ports | ||
| 524 | # | ||
| 525 | # CONFIG_SERIO is not set | ||
| 526 | # CONFIG_GAMEPORT is not set | ||
| 527 | |||
| 528 | # | ||
| 529 | # Character devices | ||
| 530 | # | ||
| 531 | # CONFIG_VT is not set | ||
| 532 | CONFIG_DEVKMEM=y | ||
| 533 | # CONFIG_SERIAL_NONSTANDARD is not set | ||
| 534 | |||
| 535 | # | ||
| 536 | # Serial drivers | ||
| 537 | # | ||
| 538 | # CONFIG_SERIAL_8250 is not set | ||
| 539 | |||
| 540 | # | ||
| 541 | # Non-8250 serial port support | ||
| 542 | # | ||
| 543 | CONFIG_SERIAL_IMX=y | ||
| 544 | CONFIG_SERIAL_IMX_CONSOLE=y | ||
| 545 | CONFIG_SERIAL_CORE=y | ||
| 546 | CONFIG_SERIAL_CORE_CONSOLE=y | ||
| 547 | CONFIG_UNIX98_PTYS=y | ||
| 548 | # CONFIG_LEGACY_PTYS is not set | ||
| 549 | # CONFIG_IPMI_HANDLER is not set | ||
| 550 | # CONFIG_HW_RANDOM is not set | ||
| 551 | # CONFIG_NVRAM is not set | ||
| 552 | # CONFIG_R3964 is not set | ||
| 553 | # CONFIG_RAW_DRIVER is not set | ||
| 554 | # CONFIG_TCG_TPM is not set | ||
| 555 | # CONFIG_I2C is not set | ||
| 556 | # CONFIG_SPI is not set | ||
| 557 | CONFIG_HAVE_GPIO_LIB=y | ||
| 558 | |||
| 559 | # | ||
| 560 | # GPIO Support | ||
| 561 | # | ||
| 562 | |||
| 563 | # | ||
| 564 | # I2C 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_SM501 is not set | ||
| 585 | # CONFIG_MFD_ASIC3 is not set | ||
| 586 | # CONFIG_HTC_EGPIO is not set | ||
| 587 | # CONFIG_HTC_PASIC3 is not set | ||
| 588 | |||
| 589 | # | ||
| 590 | # Multimedia devices | ||
| 591 | # | ||
| 592 | |||
| 593 | # | ||
| 594 | # Multimedia core support | ||
| 595 | # | ||
| 596 | # CONFIG_VIDEO_DEV is not set | ||
| 597 | # CONFIG_DVB_CORE is not set | ||
| 598 | # CONFIG_VIDEO_MEDIA is not set | ||
| 599 | |||
| 600 | # | ||
| 601 | # Multimedia drivers | ||
| 602 | # | ||
| 603 | # CONFIG_DAB is not set | ||
| 604 | |||
| 605 | # | ||
| 606 | # Graphics support | ||
| 607 | # | ||
| 608 | # CONFIG_VGASTATE is not set | ||
| 609 | # CONFIG_VIDEO_OUTPUT_CONTROL is not set | ||
| 610 | # CONFIG_FB is not set | ||
| 611 | # CONFIG_BACKLIGHT_LCD_SUPPORT is not set | ||
| 612 | |||
| 613 | # | ||
| 614 | # Display device support | ||
| 615 | # | ||
| 616 | # CONFIG_DISPLAY_SUPPORT is not set | ||
| 617 | |||
| 618 | # | ||
| 619 | # Sound | ||
| 620 | # | ||
| 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_UIO is not set | ||
| 628 | |||
| 629 | # | ||
| 630 | # File systems | ||
| 631 | # | ||
| 632 | # CONFIG_EXT2_FS is not set | ||
| 633 | # CONFIG_EXT3_FS is not set | ||
| 634 | # CONFIG_EXT4DEV_FS is not set | ||
| 635 | # CONFIG_REISERFS_FS is not set | ||
| 636 | # CONFIG_JFS_FS is not set | ||
| 637 | # CONFIG_FS_POSIX_ACL is not set | ||
| 638 | # CONFIG_XFS_FS is not set | ||
| 639 | # CONFIG_OCFS2_FS is not set | ||
| 640 | # CONFIG_DNOTIFY is not set | ||
| 641 | CONFIG_INOTIFY=y | ||
| 642 | CONFIG_INOTIFY_USER=y | ||
| 643 | # CONFIG_QUOTA is not set | ||
| 644 | # CONFIG_AUTOFS_FS is not set | ||
| 645 | # CONFIG_AUTOFS4_FS is not set | ||
| 646 | # CONFIG_FUSE_FS is not set | ||
| 647 | |||
| 648 | # | ||
| 649 | # CD-ROM/DVD Filesystems | ||
| 650 | # | ||
| 651 | # CONFIG_ISO9660_FS is not set | ||
| 652 | # CONFIG_UDF_FS is not set | ||
| 653 | |||
| 654 | # | ||
| 655 | # DOS/FAT/NT Filesystems | ||
| 656 | # | ||
| 657 | # CONFIG_MSDOS_FS is not set | ||
| 658 | # CONFIG_VFAT_FS is not set | ||
| 659 | # CONFIG_NTFS_FS is not set | ||
| 660 | |||
| 661 | # | ||
| 662 | # Pseudo filesystems | ||
| 663 | # | ||
| 664 | CONFIG_PROC_FS=y | ||
| 665 | CONFIG_PROC_SYSCTL=y | ||
| 666 | CONFIG_SYSFS=y | ||
| 667 | CONFIG_TMPFS=y | ||
| 668 | # CONFIG_TMPFS_POSIX_ACL is not set | ||
| 669 | # CONFIG_HUGETLB_PAGE is not set | ||
| 670 | # CONFIG_CONFIGFS_FS is not set | ||
| 671 | |||
| 672 | # | ||
| 673 | # Miscellaneous filesystems | ||
| 674 | # | ||
| 675 | # CONFIG_ADFS_FS is not set | ||
| 676 | # CONFIG_AFFS_FS is not set | ||
| 677 | # CONFIG_HFS_FS is not set | ||
| 678 | # CONFIG_HFSPLUS_FS is not set | ||
| 679 | # CONFIG_BEFS_FS is not set | ||
| 680 | # CONFIG_BFS_FS is not set | ||
| 681 | # CONFIG_EFS_FS is not set | ||
| 682 | CONFIG_JFFS2_FS=y | ||
| 683 | CONFIG_JFFS2_FS_DEBUG=0 | ||
| 684 | CONFIG_JFFS2_FS_WRITEBUFFER=y | ||
| 685 | # CONFIG_JFFS2_FS_WBUF_VERIFY is not set | ||
| 686 | # CONFIG_JFFS2_SUMMARY is not set | ||
| 687 | # CONFIG_JFFS2_FS_XATTR is not set | ||
| 688 | # CONFIG_JFFS2_COMPRESSION_OPTIONS is not set | ||
| 689 | CONFIG_JFFS2_ZLIB=y | ||
| 690 | # CONFIG_JFFS2_LZO is not set | ||
| 691 | CONFIG_JFFS2_RTIME=y | ||
| 692 | # CONFIG_JFFS2_RUBIN is not set | ||
| 693 | # CONFIG_CRAMFS is not set | ||
| 694 | # CONFIG_VXFS_FS is not set | ||
| 695 | # CONFIG_MINIX_FS is not set | ||
| 696 | # CONFIG_HPFS_FS is not set | ||
| 697 | # CONFIG_QNX4FS_FS is not set | ||
| 698 | # CONFIG_ROMFS_FS is not set | ||
| 699 | # CONFIG_SYSV_FS is not set | ||
| 700 | # CONFIG_UFS_FS is not set | ||
| 701 | CONFIG_NETWORK_FILESYSTEMS=y | ||
| 702 | CONFIG_NFS_FS=y | ||
| 703 | # CONFIG_NFS_V3 is not set | ||
| 704 | # CONFIG_NFS_V4 is not set | ||
| 705 | # CONFIG_NFSD is not set | ||
| 706 | CONFIG_ROOT_NFS=y | ||
| 707 | CONFIG_LOCKD=y | ||
| 708 | CONFIG_NFS_COMMON=y | ||
| 709 | CONFIG_SUNRPC=y | ||
| 710 | # CONFIG_SUNRPC_BIND34 is not set | ||
| 711 | # CONFIG_RPCSEC_GSS_KRB5 is not set | ||
| 712 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | ||
| 713 | # CONFIG_SMB_FS is not set | ||
| 714 | # CONFIG_CIFS is not set | ||
| 715 | # CONFIG_NCP_FS is not set | ||
| 716 | # CONFIG_CODA_FS is not set | ||
| 717 | # CONFIG_AFS_FS is not set | ||
| 718 | |||
| 719 | # | ||
| 720 | # Partition Types | ||
| 721 | # | ||
| 722 | # CONFIG_PARTITION_ADVANCED is not set | ||
| 723 | CONFIG_MSDOS_PARTITION=y | ||
| 724 | # CONFIG_NLS is not set | ||
| 725 | # CONFIG_DLM is not set | ||
| 726 | |||
| 727 | # | ||
| 728 | # Kernel hacking | ||
| 729 | # | ||
| 730 | # CONFIG_PRINTK_TIME is not set | ||
| 731 | # CONFIG_ENABLE_WARN_DEPRECATED is not set | ||
| 732 | # CONFIG_ENABLE_MUST_CHECK is not set | ||
| 733 | CONFIG_FRAME_WARN=1024 | ||
| 734 | # CONFIG_MAGIC_SYSRQ is not set | ||
| 735 | # CONFIG_UNUSED_SYMBOLS is not set | ||
| 736 | # CONFIG_DEBUG_FS is not set | ||
| 737 | # CONFIG_HEADERS_CHECK is not set | ||
| 738 | # CONFIG_DEBUG_KERNEL is not set | ||
| 739 | # CONFIG_DEBUG_BUGVERBOSE is not set | ||
| 740 | CONFIG_FRAME_POINTER=y | ||
| 741 | # CONFIG_SAMPLES is not set | ||
| 742 | # CONFIG_DEBUG_USER is not set | ||
| 743 | |||
| 744 | # | ||
| 745 | # Security options | ||
| 746 | # | ||
| 747 | # CONFIG_KEYS is not set | ||
| 748 | # CONFIG_SECURITY is not set | ||
| 749 | # CONFIG_SECURITY_FILE_CAPABILITIES is not set | ||
| 750 | # CONFIG_CRYPTO is not set | ||
| 751 | |||
| 752 | # | ||
| 753 | # Library routines | ||
| 754 | # | ||
| 755 | CONFIG_BITREVERSE=y | ||
| 756 | # CONFIG_GENERIC_FIND_FIRST_BIT is not set | ||
| 757 | # CONFIG_GENERIC_FIND_NEXT_BIT is not set | ||
| 758 | # CONFIG_CRC_CCITT is not set | ||
| 759 | # CONFIG_CRC16 is not set | ||
| 760 | # CONFIG_CRC_ITU_T is not set | ||
| 761 | CONFIG_CRC32=y | ||
| 762 | # CONFIG_CRC7 is not set | ||
| 763 | # CONFIG_LIBCRC32C is not set | ||
| 764 | CONFIG_ZLIB_INFLATE=y | ||
| 765 | CONFIG_ZLIB_DEFLATE=y | ||
| 766 | CONFIG_PLIST=y | ||
| 767 | CONFIG_HAS_IOMEM=y | ||
| 768 | CONFIG_HAS_IOPORT=y | ||
| 769 | CONFIG_HAS_DMA=y | ||
diff --git a/arch/arm/mach-mx1/mx1ads.c b/arch/arm/mach-mx1/mx1ads.c index 7ae229bc1b79..e54057fb855b 100644 --- a/arch/arm/mach-mx1/mx1ads.c +++ b/arch/arm/mach-mx1/mx1ads.c | |||
| @@ -28,9 +28,7 @@ | |||
| 28 | #include <mach/common.h> | 28 | #include <mach/common.h> |
| 29 | #include <mach/imx-uart.h> | 29 | #include <mach/imx-uart.h> |
| 30 | #include <mach/irqs.h> | 30 | #include <mach/irqs.h> |
| 31 | #ifdef CONFIG_I2C_IMX | ||
| 32 | #include <mach/i2c.h> | 31 | #include <mach/i2c.h> |
| 33 | #endif | ||
| 34 | #include <mach/iomux.h> | 32 | #include <mach/iomux.h> |
| 35 | #include "devices.h" | 33 | #include "devices.h" |
| 36 | 34 | ||
| @@ -114,7 +112,6 @@ static struct platform_device flash_device = { | |||
| 114 | * I2C | 112 | * I2C |
| 115 | */ | 113 | */ |
| 116 | 114 | ||
| 117 | #ifdef CONFIG_I2C_IMX | ||
| 118 | static int i2c_pins[] = { | 115 | static int i2c_pins[] = { |
| 119 | PA15_PF_I2C_SDA, | 116 | PA15_PF_I2C_SDA, |
| 120 | PA16_PF_I2C_SCL, | 117 | PA16_PF_I2C_SCL, |
| @@ -157,7 +154,6 @@ static struct i2c_board_info mx1ads_i2c_devices[] = { | |||
| 157 | .platform_data = &pcf857x_data[1], | 154 | .platform_data = &pcf857x_data[1], |
| 158 | }, | 155 | }, |
| 159 | }; | 156 | }; |
| 160 | #endif | ||
| 161 | 157 | ||
| 162 | /* | 158 | /* |
| 163 | * Board init | 159 | * Board init |
| @@ -172,12 +168,10 @@ static void __init mx1ads_init(void) | |||
| 172 | mxc_register_device(&flash_device, &mx1ads_flash_data); | 168 | mxc_register_device(&flash_device, &mx1ads_flash_data); |
| 173 | 169 | ||
| 174 | /* I2C */ | 170 | /* I2C */ |
| 175 | #ifdef CONFIG_I2C_IMX | ||
| 176 | i2c_register_board_info(0, mx1ads_i2c_devices, | 171 | i2c_register_board_info(0, mx1ads_i2c_devices, |
| 177 | ARRAY_SIZE(mx1ads_i2c_devices)); | 172 | ARRAY_SIZE(mx1ads_i2c_devices)); |
| 178 | 173 | ||
| 179 | mxc_register_device(&imx_i2c_device, &mx1ads_i2c_data); | 174 | mxc_register_device(&imx_i2c_device, &mx1ads_i2c_data); |
| 180 | #endif | ||
| 181 | } | 175 | } |
| 182 | 176 | ||
| 183 | static void __init mx1ads_timer_init(void) | 177 | static void __init mx1ads_timer_init(void) |
diff --git a/arch/arm/mach-mx2/clock_imx21.c b/arch/arm/mach-mx2/clock_imx21.c index 2dee5c87614c..999d013e06e3 100644 --- a/arch/arm/mach-mx2/clock_imx21.c +++ b/arch/arm/mach-mx2/clock_imx21.c | |||
| @@ -919,19 +919,19 @@ static struct clk_lookup lookups[] __initdata = { | |||
| 919 | _REGISTER_CLOCK(NULL, "cspi1", cspi_clk[0]) | 919 | _REGISTER_CLOCK(NULL, "cspi1", cspi_clk[0]) |
| 920 | _REGISTER_CLOCK(NULL, "cspi2", cspi_clk[1]) | 920 | _REGISTER_CLOCK(NULL, "cspi2", cspi_clk[1]) |
| 921 | _REGISTER_CLOCK(NULL, "cspi3", cspi_clk[2]) | 921 | _REGISTER_CLOCK(NULL, "cspi3", cspi_clk[2]) |
| 922 | _REGISTER_CLOCK(NULL, "lcdc", lcdc_clk[0]) | 922 | _REGISTER_CLOCK("imx-fb.0", NULL, lcdc_clk[0]) |
| 923 | _REGISTER_CLOCK(NULL, "csi", csi_clk[0]) | 923 | _REGISTER_CLOCK(NULL, "csi", csi_clk[0]) |
| 924 | _REGISTER_CLOCK(NULL, "usb", usb_clk[0]) | 924 | _REGISTER_CLOCK(NULL, "usb", usb_clk[0]) |
| 925 | _REGISTER_CLOCK(NULL, "ssi1", ssi_clk[0]) | 925 | _REGISTER_CLOCK(NULL, "ssi1", ssi_clk[0]) |
| 926 | _REGISTER_CLOCK(NULL, "ssi2", ssi_clk[1]) | 926 | _REGISTER_CLOCK(NULL, "ssi2", ssi_clk[1]) |
| 927 | _REGISTER_CLOCK(NULL, "nfc", nfc_clk) | 927 | _REGISTER_CLOCK("mxc_nand.0", NULL, nfc_clk) |
| 928 | _REGISTER_CLOCK(NULL, "dma", dma_clk[0]) | 928 | _REGISTER_CLOCK(NULL, "dma", dma_clk[0]) |
| 929 | _REGISTER_CLOCK(NULL, "brom", brom_clk) | 929 | _REGISTER_CLOCK(NULL, "brom", brom_clk) |
| 930 | _REGISTER_CLOCK(NULL, "emma", emma_clk[0]) | 930 | _REGISTER_CLOCK(NULL, "emma", emma_clk[0]) |
| 931 | _REGISTER_CLOCK(NULL, "slcdc", slcdc_clk[0]) | 931 | _REGISTER_CLOCK(NULL, "slcdc", slcdc_clk[0]) |
| 932 | _REGISTER_CLOCK(NULL, "wdog", wdog_clk) | 932 | _REGISTER_CLOCK("imx-wdt.0", NULL, wdog_clk) |
| 933 | _REGISTER_CLOCK(NULL, "gpio", gpio_clk) | 933 | _REGISTER_CLOCK(NULL, "gpio", gpio_clk) |
| 934 | _REGISTER_CLOCK(NULL, "i2c", i2c_clk) | 934 | _REGISTER_CLOCK("imx-i2c.0", NULL, i2c_clk) |
| 935 | _REGISTER_CLOCK("mxc-keypad", NULL, kpp_clk) | 935 | _REGISTER_CLOCK("mxc-keypad", NULL, kpp_clk) |
| 936 | _REGISTER_CLOCK(NULL, "owire", owire_clk) | 936 | _REGISTER_CLOCK(NULL, "owire", owire_clk) |
| 937 | _REGISTER_CLOCK(NULL, "rtc", rtc_clk) | 937 | _REGISTER_CLOCK(NULL, "rtc", rtc_clk) |
diff --git a/arch/arm/mach-mx3/Kconfig b/arch/arm/mach-mx3/Kconfig index d6235583e979..194b8428bba4 100644 --- a/arch/arm/mach-mx3/Kconfig +++ b/arch/arm/mach-mx3/Kconfig | |||
| @@ -19,6 +19,8 @@ config MACH_MX31ADS | |||
| 19 | config MACH_MX31ADS_WM1133_EV1 | 19 | config MACH_MX31ADS_WM1133_EV1 |
| 20 | bool "Support Wolfson Microelectronics 1133-EV1 module" | 20 | bool "Support Wolfson Microelectronics 1133-EV1 module" |
| 21 | depends on MACH_MX31ADS | 21 | depends on MACH_MX31ADS |
| 22 | depends on MFD_WM8350_I2C | ||
| 23 | depends on REGULATOR_WM8350 | ||
| 22 | select MFD_WM8350_CONFIG_MODE_0 | 24 | select MFD_WM8350_CONFIG_MODE_0 |
| 23 | select MFD_WM8352_CONFIG_MODE_0 | 25 | select MFD_WM8352_CONFIG_MODE_0 |
| 24 | help | 26 | help |
diff --git a/arch/arm/mach-mx3/mx31ads.c b/arch/arm/mach-mx3/mx31ads.c index 83e5e8e1276f..a6d6efefa6aa 100644 --- a/arch/arm/mach-mx3/mx31ads.c +++ b/arch/arm/mach-mx3/mx31ads.c | |||
| @@ -102,7 +102,7 @@ static struct imxuart_platform_data uart_pdata = { | |||
| 102 | .flags = IMXUART_HAVE_RTSCTS, | 102 | .flags = IMXUART_HAVE_RTSCTS, |
| 103 | }; | 103 | }; |
| 104 | 104 | ||
| 105 | static int uart_pins[] = { | 105 | static unsigned int uart_pins[] = { |
| 106 | MX31_PIN_CTS1__CTS1, | 106 | MX31_PIN_CTS1__CTS1, |
| 107 | MX31_PIN_RTS1__RTS1, | 107 | MX31_PIN_RTS1__RTS1, |
| 108 | MX31_PIN_TXD1__TXD1, | 108 | MX31_PIN_TXD1__TXD1, |
| @@ -452,6 +452,8 @@ static int mx31_wm8350_init(struct wm8350 *wm8350) | |||
| 452 | 452 | ||
| 453 | wm8350->codec.platform_data = &imx32ads_wm8350_setup; | 453 | wm8350->codec.platform_data = &imx32ads_wm8350_setup; |
| 454 | 454 | ||
| 455 | regulator_has_full_constraints(); | ||
| 456 | |||
| 455 | return 0; | 457 | return 0; |
| 456 | } | 458 | } |
| 457 | 459 | ||
diff --git a/arch/arm/mach-mx3/pcm037.c b/arch/arm/mach-mx3/pcm037.c index c3648eff5137..b5227d837b2f 100644 --- a/arch/arm/mach-mx3/pcm037.c +++ b/arch/arm/mach-mx3/pcm037.c | |||
| @@ -226,10 +226,10 @@ static void __init mxc_board_init(void) | |||
| 226 | mxc_iomux_setup_pin(MX31_PIN_BATT_LINE__OWIRE, "batt-0wire"); | 226 | mxc_iomux_setup_pin(MX31_PIN_BATT_LINE__OWIRE, "batt-0wire"); |
| 227 | mxc_register_device(&mxc_w1_master_device, NULL); | 227 | mxc_register_device(&mxc_w1_master_device, NULL); |
| 228 | 228 | ||
| 229 | /* SMSC9215 IRQ pin */ | 229 | /* LAN9217 IRQ pin */ |
| 230 | if (!mxc_iomux_setup_pin(IOMUX_MODE(MX31_PIN_GPIO3_1, IOMUX_CONFIG_GPIO), | 230 | if (!mxc_iomux_setup_pin(IOMUX_MODE(MX31_PIN_GPIO3_1, IOMUX_CONFIG_GPIO), |
| 231 | "pcm037-eth")) | 231 | "pcm037-eth")) |
| 232 | gpio_direction_input(MX31_PIN_GPIO3_1); | 232 | gpio_direction_input(IOMUX_TO_GPIO(MX31_PIN_GPIO3_1)); |
| 233 | 233 | ||
| 234 | #ifdef CONFIG_I2C_IMX | 234 | #ifdef CONFIG_I2C_IMX |
| 235 | i2c_register_board_info(1, pcm037_i2c_devices, | 235 | i2c_register_board_info(1, pcm037_i2c_devices, |
diff --git a/arch/arm/mach-mx3/qong.c b/arch/arm/mach-mx3/qong.c index 6c4283cec6f4..5a01e48fd8f1 100644 --- a/arch/arm/mach-mx3/qong.c +++ b/arch/arm/mach-mx3/qong.c | |||
| @@ -251,32 +251,6 @@ static void __init qong_init_fpga(void) | |||
| 251 | } | 251 | } |
| 252 | 252 | ||
| 253 | /* | 253 | /* |
| 254 | * This structure defines the MX31 memory map. | ||
| 255 | */ | ||
| 256 | static struct map_desc qong_io_desc[] __initdata = { | ||
| 257 | { | ||
| 258 | .virtual = AIPS1_BASE_ADDR_VIRT, | ||
| 259 | .pfn = __phys_to_pfn(AIPS1_BASE_ADDR), | ||
| 260 | .length = AIPS1_SIZE, | ||
| 261 | .type = MT_DEVICE_NONSHARED | ||
| 262 | }, { | ||
| 263 | .virtual = AIPS2_BASE_ADDR_VIRT, | ||
| 264 | .pfn = __phys_to_pfn(AIPS2_BASE_ADDR), | ||
| 265 | .length = AIPS2_SIZE, | ||
| 266 | .type = MT_DEVICE_NONSHARED | ||
| 267 | } | ||
| 268 | }; | ||
| 269 | |||
| 270 | /* | ||
| 271 | * Set up static virtual mappings. | ||
| 272 | */ | ||
| 273 | static void __init qong_map_io(void) | ||
| 274 | { | ||
| 275 | mxc_map_io(); | ||
| 276 | iotable_init(qong_io_desc, ARRAY_SIZE(qong_io_desc)); | ||
| 277 | } | ||
| 278 | |||
| 279 | /* | ||
| 280 | * Board specific initialization. | 254 | * Board specific initialization. |
| 281 | */ | 255 | */ |
| 282 | static void __init mxc_board_init(void) | 256 | static void __init mxc_board_init(void) |
| @@ -305,7 +279,7 @@ MACHINE_START(QONG, "Dave/DENX QongEVB-LITE") | |||
| 305 | .phys_io = AIPS1_BASE_ADDR, | 279 | .phys_io = AIPS1_BASE_ADDR, |
| 306 | .io_pg_offst = ((AIPS1_BASE_ADDR_VIRT) >> 18) & 0xfffc, | 280 | .io_pg_offst = ((AIPS1_BASE_ADDR_VIRT) >> 18) & 0xfffc, |
| 307 | .boot_params = PHYS_OFFSET + 0x100, | 281 | .boot_params = PHYS_OFFSET + 0x100, |
| 308 | .map_io = qong_map_io, | 282 | .map_io = mxc_map_io, |
| 309 | .init_irq = mxc_init_irq, | 283 | .init_irq = mxc_init_irq, |
| 310 | .init_machine = mxc_board_init, | 284 | .init_machine = mxc_board_init, |
| 311 | .timer = &qong_timer, | 285 | .timer = &qong_timer, |
diff --git a/arch/arm/plat-mxc/include/mach/imx-uart.h b/arch/arm/plat-mxc/include/mach/imx-uart.h index 83fb72c4048a..599217b2e13f 100644 --- a/arch/arm/plat-mxc/include/mach/imx-uart.h +++ b/arch/arm/plat-mxc/include/mach/imx-uart.h | |||
| @@ -27,6 +27,4 @@ struct imxuart_platform_data { | |||
| 27 | unsigned int flags; | 27 | unsigned int flags; |
| 28 | }; | 28 | }; |
| 29 | 29 | ||
| 30 | int __init imx_init_uart(int uart_no, struct imxuart_platform_data *pdata); | ||
| 31 | |||
| 32 | #endif | 30 | #endif |
diff --git a/arch/arm/plat-mxc/include/mach/iomux-mx3.h b/arch/arm/plat-mxc/include/mach/iomux-mx3.h index ab838cfe94f9..57e927a1fd3a 100644 --- a/arch/arm/plat-mxc/include/mach/iomux-mx3.h +++ b/arch/arm/plat-mxc/include/mach/iomux-mx3.h | |||
| @@ -518,6 +518,8 @@ enum iomux_pins { | |||
| 518 | */ | 518 | */ |
| 519 | #define MX31_PIN_CSPI3_MOSI__RXD3 IOMUX_MODE(MX31_PIN_CSPI3_MOSI, IOMUX_CONFIG_ALT1) | 519 | #define MX31_PIN_CSPI3_MOSI__RXD3 IOMUX_MODE(MX31_PIN_CSPI3_MOSI, IOMUX_CONFIG_ALT1) |
| 520 | #define MX31_PIN_CSPI3_MISO__TXD3 IOMUX_MODE(MX31_PIN_CSPI3_MISO, IOMUX_CONFIG_ALT1) | 520 | #define MX31_PIN_CSPI3_MISO__TXD3 IOMUX_MODE(MX31_PIN_CSPI3_MISO, IOMUX_CONFIG_ALT1) |
| 521 | #define MX31_PIN_CSPI3_SCLK__RTS3 IOMUX_MODE(MX31_PIN_CSPI3_SCLK, IOMUX_CONFIG_ALT1) | ||
| 522 | #define MX31_PIN_CSPI3_SPI_RDY__CTS3 IOMUX_MODE(MX31_PIN_CSPI3_SPI_RDY, IOMUX_CONFIG_ALT1) | ||
| 521 | #define MX31_PIN_CTS1__CTS1 IOMUX_MODE(MX31_PIN_CTS1, IOMUX_CONFIG_FUNC) | 523 | #define MX31_PIN_CTS1__CTS1 IOMUX_MODE(MX31_PIN_CTS1, IOMUX_CONFIG_FUNC) |
| 522 | #define MX31_PIN_RTS1__RTS1 IOMUX_MODE(MX31_PIN_RTS1, IOMUX_CONFIG_FUNC) | 524 | #define MX31_PIN_RTS1__RTS1 IOMUX_MODE(MX31_PIN_RTS1, IOMUX_CONFIG_FUNC) |
| 523 | #define MX31_PIN_TXD1__TXD1 IOMUX_MODE(MX31_PIN_TXD1, IOMUX_CONFIG_FUNC) | 525 | #define MX31_PIN_TXD1__TXD1 IOMUX_MODE(MX31_PIN_TXD1, IOMUX_CONFIG_FUNC) |
| @@ -558,6 +560,16 @@ enum iomux_pins { | |||
| 558 | #define MX31_PIN_SD1_DATA0__SD1_DATA0 IOMUX_MODE(MX31_PIN_SD1_DATA0, IOMUX_CONFIG_FUNC) | 560 | #define MX31_PIN_SD1_DATA0__SD1_DATA0 IOMUX_MODE(MX31_PIN_SD1_DATA0, IOMUX_CONFIG_FUNC) |
| 559 | #define MX31_PIN_SD1_CLK__SD1_CLK IOMUX_MODE(MX31_PIN_SD1_CLK, IOMUX_CONFIG_FUNC) | 561 | #define MX31_PIN_SD1_CLK__SD1_CLK IOMUX_MODE(MX31_PIN_SD1_CLK, IOMUX_CONFIG_FUNC) |
| 560 | #define MX31_PIN_SD1_CMD__SD1_CMD IOMUX_MODE(MX31_PIN_SD1_CMD, IOMUX_CONFIG_FUNC) | 562 | #define MX31_PIN_SD1_CMD__SD1_CMD IOMUX_MODE(MX31_PIN_SD1_CMD, IOMUX_CONFIG_FUNC) |
| 563 | #define MX31_PIN_ATA_CS0__GPIO3_26 IOMUX_MODE(MX31_PIN_ATA_CS0, IOMUX_CONFIG_GPIO) | ||
| 564 | #define MX31_PIN_ATA_CS1__GPIO3_27 IOMUX_MODE(MX31_PIN_ATA_CS1, IOMUX_CONFIG_GPIO) | ||
| 565 | #define MX31_PIN_PC_PWRON__SD2_DATA3 IOMUX_MODE(MX31_PIN_PC_PWRON, IOMUX_CONFIG_ALT1) | ||
| 566 | #define MX31_PIN_PC_VS1__SD2_DATA2 IOMUX_MODE(MX31_PIN_PC_VS1, IOMUX_CONFIG_ALT1) | ||
| 567 | #define MX31_PIN_PC_READY__SD2_DATA1 IOMUX_MODE(MX31_PIN_PC_READY, IOMUX_CONFIG_ALT1) | ||
| 568 | #define MX31_PIN_PC_WAIT_B__SD2_DATA0 IOMUX_MODE(MX31_PIN_PC_WAIT_B, IOMUX_CONFIG_ALT1) | ||
| 569 | #define MX31_PIN_PC_CD2_B__SD2_CLK IOMUX_MODE(MX31_PIN_PC_CD2_B, IOMUX_CONFIG_ALT1) | ||
| 570 | #define MX31_PIN_PC_CD1_B__SD2_CMD IOMUX_MODE(MX31_PIN_PC_CD1_B, IOMUX_CONFIG_ALT1) | ||
| 571 | #define MX31_PIN_ATA_DIOR__GPIO3_28 IOMUX_MODE(MX31_PIN_ATA_DIOR, IOMUX_CONFIG_GPIO) | ||
| 572 | #define MX31_PIN_ATA_DIOW__GPIO3_29 IOMUX_MODE(MX31_PIN_ATA_DIOW, IOMUX_CONFIG_GPIO) | ||
| 561 | #define MX31_PIN_LD0__LD0 IOMUX_MODE(MX31_PIN_LD0, IOMUX_CONFIG_FUNC) | 573 | #define MX31_PIN_LD0__LD0 IOMUX_MODE(MX31_PIN_LD0, IOMUX_CONFIG_FUNC) |
| 562 | #define MX31_PIN_LD1__LD1 IOMUX_MODE(MX31_PIN_LD1, IOMUX_CONFIG_FUNC) | 574 | #define MX31_PIN_LD1__LD1 IOMUX_MODE(MX31_PIN_LD1, IOMUX_CONFIG_FUNC) |
| 563 | #define MX31_PIN_LD2__LD2 IOMUX_MODE(MX31_PIN_LD2, IOMUX_CONFIG_FUNC) | 575 | #define MX31_PIN_LD2__LD2 IOMUX_MODE(MX31_PIN_LD2, IOMUX_CONFIG_FUNC) |
| @@ -585,6 +597,42 @@ enum iomux_pins { | |||
| 585 | #define MX31_PIN_D3_SPL__D3_SPL IOMUX_MODE(MX31_PIN_D3_SPL, IOMUX_CONFIG_FUNC) | 597 | #define MX31_PIN_D3_SPL__D3_SPL IOMUX_MODE(MX31_PIN_D3_SPL, IOMUX_CONFIG_FUNC) |
| 586 | #define MX31_PIN_D3_CLS__D3_CLS IOMUX_MODE(MX31_PIN_D3_CLS, IOMUX_CONFIG_FUNC) | 598 | #define MX31_PIN_D3_CLS__D3_CLS IOMUX_MODE(MX31_PIN_D3_CLS, IOMUX_CONFIG_FUNC) |
| 587 | #define MX31_PIN_LCS0__GPI03_23 IOMUX_MODE(MX31_PIN_LCS0, IOMUX_CONFIG_GPIO) | 599 | #define MX31_PIN_LCS0__GPI03_23 IOMUX_MODE(MX31_PIN_LCS0, IOMUX_CONFIG_GPIO) |
| 600 | #define MX31_PIN_GPIO1_1__GPIO IOMUX_MODE(MX31_PIN_GPIO1_1, IOMUX_CONFIG_GPIO) | ||
| 601 | #define MX31_PIN_I2C_CLK__SCL IOMUX_MODE(MX31_PIN_I2C_CLK, IOMUX_CONFIG_FUNC) | ||
| 602 | #define MX31_PIN_I2C_DAT__SDA IOMUX_MODE(MX31_PIN_I2C_DAT, IOMUX_CONFIG_FUNC) | ||
| 603 | #define MX31_PIN_DCD_DTE1__I2C2_SDA IOMUX_MODE(MX31_PIN_DCD_DTE1, IOMUX_CONFIG_ALT2) | ||
| 604 | #define MX31_PIN_RI_DTE1__I2C2_SCL IOMUX_MODE(MX31_PIN_RI_DTE1, IOMUX_CONFIG_ALT2) | ||
| 605 | #define MX31_PIN_CSI_D4__CSI_D4 IOMUX_MODE(MX31_PIN_CSI_D4, IOMUX_CONFIG_FUNC) | ||
| 606 | #define MX31_PIN_CSI_D5__CSI_D5 IOMUX_MODE(MX31_PIN_CSI_D5, IOMUX_CONFIG_FUNC) | ||
| 607 | #define MX31_PIN_CSI_D6__CSI_D6 IOMUX_MODE(MX31_PIN_CSI_D6, IOMUX_CONFIG_FUNC) | ||
| 608 | #define MX31_PIN_CSI_D7__CSI_D7 IOMUX_MODE(MX31_PIN_CSI_D7, IOMUX_CONFIG_FUNC) | ||
| 609 | #define MX31_PIN_CSI_D8__CSI_D8 IOMUX_MODE(MX31_PIN_CSI_D8, IOMUX_CONFIG_FUNC) | ||
| 610 | #define MX31_PIN_CSI_D9__CSI_D9 IOMUX_MODE(MX31_PIN_CSI_D9, IOMUX_CONFIG_FUNC) | ||
| 611 | #define MX31_PIN_CSI_D10__CSI_D10 IOMUX_MODE(MX31_PIN_CSI_D10, IOMUX_CONFIG_FUNC) | ||
| 612 | #define MX31_PIN_CSI_D11__CSI_D11 IOMUX_MODE(MX31_PIN_CSI_D11, IOMUX_CONFIG_FUNC) | ||
| 613 | #define MX31_PIN_CSI_D12__CSI_D12 IOMUX_MODE(MX31_PIN_CSI_D12, IOMUX_CONFIG_FUNC) | ||
| 614 | #define MX31_PIN_CSI_D13__CSI_D13 IOMUX_MODE(MX31_PIN_CSI_D13, IOMUX_CONFIG_FUNC) | ||
| 615 | #define MX31_PIN_CSI_D14__CSI_D14 IOMUX_MODE(MX31_PIN_CSI_D14, IOMUX_CONFIG_FUNC) | ||
| 616 | #define MX31_PIN_CSI_D15__CSI_D15 IOMUX_MODE(MX31_PIN_CSI_D15, IOMUX_CONFIG_FUNC) | ||
| 617 | #define MX31_PIN_CSI_HSYNC__CSI_HSYNC IOMUX_MODE(MX31_PIN_CSI_HSYNC, IOMUX_CONFIG_FUNC) | ||
| 618 | #define MX31_PIN_CSI_MCLK__CSI_MCLK IOMUX_MODE(MX31_PIN_CSI_MCLK, IOMUX_CONFIG_FUNC) | ||
| 619 | #define MX31_PIN_CSI_PIXCLK__CSI_PIXCLK IOMUX_MODE(MX31_PIN_CSI_PIXCLK, IOMUX_CONFIG_FUNC) | ||
| 620 | #define MX31_PIN_CSI_VSYNC__CSI_VSYNC IOMUX_MODE(MX31_PIN_CSI_VSYNC, IOMUX_CONFIG_FUNC) | ||
| 621 | #define MX31_PIN_GPIO3_0__GPIO3_0 IOMUX_MODE(MX31_PIN_GPIO3_0, IOMUX_CONFIG_GPIO) | ||
| 622 | #define MX31_PIN_GPIO3_1__GPIO3_1 IOMUX_MODE(MX31_PIN_GPIO3_1, IOMUX_CONFIG_GPIO) | ||
| 623 | #define MX31_PIN_TXD2__GPIO1_28 IOMUX_MODE(MX31_PIN_TXD2, IOMUX_CONFIG_GPIO) | ||
| 624 | #define MX31_PIN_USBOTG_DATA0__USBOTG_DATA0 IOMUX_MODE(MX31_PIN_USBOTG_DATA0, IOMUX_CONFIG_FUNC) | ||
| 625 | #define MX31_PIN_USBOTG_DATA1__USBOTG_DATA1 IOMUX_MODE(MX31_PIN_USBOTG_DATA1, IOMUX_CONFIG_FUNC) | ||
| 626 | #define MX31_PIN_USBOTG_DATA2__USBOTG_DATA2 IOMUX_MODE(MX31_PIN_USBOTG_DATA2, IOMUX_CONFIG_FUNC) | ||
| 627 | #define MX31_PIN_USBOTG_DATA3__USBOTG_DATA3 IOMUX_MODE(MX31_PIN_USBOTG_DATA3, IOMUX_CONFIG_FUNC) | ||
| 628 | #define MX31_PIN_USBOTG_DATA4__USBOTG_DATA4 IOMUX_MODE(MX31_PIN_USBOTG_DATA4, IOMUX_CONFIG_FUNC) | ||
| 629 | #define MX31_PIN_USBOTG_DATA5__USBOTG_DATA5 IOMUX_MODE(MX31_PIN_USBOTG_DATA5, IOMUX_CONFIG_FUNC) | ||
| 630 | #define MX31_PIN_USBOTG_DATA6__USBOTG_DATA6 IOMUX_MODE(MX31_PIN_USBOTG_DATA6, IOMUX_CONFIG_FUNC) | ||
| 631 | #define MX31_PIN_USBOTG_DATA7__USBOTG_DATA7 IOMUX_MODE(MX31_PIN_USBOTG_DATA7, IOMUX_CONFIG_FUNC) | ||
| 632 | #define MX31_PIN_USBOTG_CLK__USBOTG_CLK IOMUX_MODE(MX31_PIN_USBOTG_CLK, IOMUX_CONFIG_FUNC) | ||
| 633 | #define MX31_PIN_USBOTG_DIR__USBOTG_DIR IOMUX_MODE(MX31_PIN_USBOTG_DIR, IOMUX_CONFIG_FUNC) | ||
| 634 | #define MX31_PIN_USBOTG_NXT__USBOTG_NXT IOMUX_MODE(MX31_PIN_USBOTG_NXT, IOMUX_CONFIG_FUNC) | ||
| 635 | #define MX31_PIN_USBOTG_STP__USBOTG_STP IOMUX_MODE(MX31_PIN_USBOTG_STP, IOMUX_CONFIG_FUNC) | ||
| 588 | 636 | ||
| 589 | /*XXX: The SS0, SS1, SS2, SS3 lines of spi3 are multiplexed by cspi2_ss0, cspi2_ss1, cspi1_ss0 | 637 | /*XXX: The SS0, SS1, SS2, SS3 lines of spi3 are multiplexed by cspi2_ss0, cspi2_ss1, cspi1_ss0 |
| 590 | * cspi1_ss1*/ | 638 | * cspi1_ss1*/ |
diff --git a/arch/arm/plat-mxc/include/mach/irqs.h b/arch/arm/plat-mxc/include/mach/irqs.h index c02b8fc2d821..518a36504b88 100644 --- a/arch/arm/plat-mxc/include/mach/irqs.h +++ b/arch/arm/plat-mxc/include/mach/irqs.h | |||
| @@ -45,7 +45,7 @@ | |||
| 45 | 45 | ||
| 46 | #define NR_IRQS (MXC_IPU_IRQ_START + MX3_IPU_IRQS) | 46 | #define NR_IRQS (MXC_IPU_IRQ_START + MX3_IPU_IRQS) |
| 47 | 47 | ||
| 48 | extern void imx_irq_set_priority(unsigned char irq, unsigned char prio); | 48 | extern int imx_irq_set_priority(unsigned char irq, unsigned char prio); |
| 49 | 49 | ||
| 50 | /* all normal IRQs can be FIQs */ | 50 | /* all normal IRQs can be FIQs */ |
| 51 | #define FIQ_START 0 | 51 | #define FIQ_START 0 |
diff --git a/arch/arm/plat-mxc/include/mach/mx21.h b/arch/arm/plat-mxc/include/mach/mx21.h index e8c4cf56c24e..8b070a041a99 100644 --- a/arch/arm/plat-mxc/include/mach/mx21.h +++ b/arch/arm/plat-mxc/include/mach/mx21.h | |||
| @@ -54,9 +54,6 @@ | |||
| 54 | 54 | ||
| 55 | #define IRAM_BASE_ADDR 0xFFFFE800 /* internal ram */ | 55 | #define IRAM_BASE_ADDR 0xFFFFE800 /* internal ram */ |
| 56 | 56 | ||
| 57 | /* this CPU supports up to 192 GPIOs (don't forget the baseboard!) */ | ||
| 58 | #define ARCH_NR_GPIOS (6*32 + 16) | ||
| 59 | |||
| 60 | /* fixed interrupt numbers */ | 57 | /* fixed interrupt numbers */ |
| 61 | #define MXC_INT_USBCTRL 58 | 58 | #define MXC_INT_USBCTRL 58 |
| 62 | #define MXC_INT_USBCTRL 58 | 59 | #define MXC_INT_USBCTRL 58 |
diff --git a/arch/arm/plat-mxc/irq.c b/arch/arm/plat-mxc/irq.c index 6e7578a3514b..0fb68a531f55 100644 --- a/arch/arm/plat-mxc/irq.c +++ b/arch/arm/plat-mxc/irq.c | |||
| @@ -50,23 +50,27 @@ | |||
| 50 | #define IIM_PROD_REV_SH 3 | 50 | #define IIM_PROD_REV_SH 3 |
| 51 | #define IIM_PROD_REV_LEN 5 | 51 | #define IIM_PROD_REV_LEN 5 |
| 52 | 52 | ||
| 53 | #ifdef CONFIG_MXC_IRQ_PRIOR | 53 | int imx_irq_set_priority(unsigned char irq, unsigned char prio) |
| 54 | void imx_irq_set_priority(unsigned char irq, unsigned char prio) | ||
| 55 | { | 54 | { |
| 55 | #ifdef CONFIG_MXC_IRQ_PRIOR | ||
| 56 | unsigned int temp; | 56 | unsigned int temp; |
| 57 | unsigned int mask = 0x0F << irq % 8 * 4; | 57 | unsigned int mask = 0x0F << irq % 8 * 4; |
| 58 | 58 | ||
| 59 | if (irq > 63) | 59 | if (irq >= MXC_INTERNAL_IRQS) |
| 60 | return; | 60 | return -EINVAL;; |
| 61 | 61 | ||
| 62 | temp = __raw_readl(AVIC_NIPRIORITY(irq / 8)); | 62 | temp = __raw_readl(AVIC_NIPRIORITY(irq / 8)); |
| 63 | temp &= ~mask; | 63 | temp &= ~mask; |
| 64 | temp |= prio & mask; | 64 | temp |= prio & mask; |
| 65 | 65 | ||
| 66 | __raw_writel(temp, AVIC_NIPRIORITY(irq / 8)); | 66 | __raw_writel(temp, AVIC_NIPRIORITY(irq / 8)); |
| 67 | |||
| 68 | return 0; | ||
| 69 | #else | ||
| 70 | return -ENOSYS; | ||
| 71 | #endif | ||
| 67 | } | 72 | } |
| 68 | EXPORT_SYMBOL(imx_irq_set_priority); | 73 | EXPORT_SYMBOL(imx_irq_set_priority); |
| 69 | #endif | ||
| 70 | 74 | ||
| 71 | #ifdef CONFIG_FIQ | 75 | #ifdef CONFIG_FIQ |
| 72 | int mxc_set_irq_fiq(unsigned int irq, unsigned int type) | 76 | int mxc_set_irq_fiq(unsigned int irq, unsigned int type) |
diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig index 5b50e1ac6179..4c7804551362 100644 --- a/arch/powerpc/Kconfig +++ b/arch/powerpc/Kconfig | |||
| @@ -462,7 +462,7 @@ config PPC_64K_PAGES | |||
| 462 | 462 | ||
| 463 | config PPC_256K_PAGES | 463 | config PPC_256K_PAGES |
| 464 | bool "256k page size" if 44x | 464 | bool "256k page size" if 44x |
| 465 | depends on !STDBINUTILS && (!SHMEM || BROKEN) | 465 | depends on !STDBINUTILS |
| 466 | help | 466 | help |
| 467 | Make the page size 256k. | 467 | Make the page size 256k. |
| 468 | 468 | ||
diff --git a/arch/powerpc/boot/dts/tqm8540.dts b/arch/powerpc/boot/dts/tqm8540.dts index 231bae756637..b6f1fc6eb960 100644 --- a/arch/powerpc/boot/dts/tqm8540.dts +++ b/arch/powerpc/boot/dts/tqm8540.dts | |||
| @@ -84,9 +84,9 @@ | |||
| 84 | interrupt-parent = <&mpic>; | 84 | interrupt-parent = <&mpic>; |
| 85 | dfsrr; | 85 | dfsrr; |
| 86 | 86 | ||
| 87 | dtt@50 { | 87 | dtt@48 { |
| 88 | compatible = "national,lm75"; | 88 | compatible = "national,lm75"; |
| 89 | reg = <0x50>; | 89 | reg = <0x48>; |
| 90 | }; | 90 | }; |
| 91 | 91 | ||
| 92 | rtc@68 { | 92 | rtc@68 { |
diff --git a/arch/powerpc/boot/dts/tqm8541.dts b/arch/powerpc/boot/dts/tqm8541.dts index 4356a1f08295..fa6a3d54a8a5 100644 --- a/arch/powerpc/boot/dts/tqm8541.dts +++ b/arch/powerpc/boot/dts/tqm8541.dts | |||
| @@ -83,9 +83,9 @@ | |||
| 83 | interrupt-parent = <&mpic>; | 83 | interrupt-parent = <&mpic>; |
| 84 | dfsrr; | 84 | dfsrr; |
| 85 | 85 | ||
| 86 | dtt@50 { | 86 | dtt@48 { |
| 87 | compatible = "national,lm75"; | 87 | compatible = "national,lm75"; |
| 88 | reg = <0x50>; | 88 | reg = <0x48>; |
| 89 | }; | 89 | }; |
| 90 | 90 | ||
| 91 | rtc@68 { | 91 | rtc@68 { |
diff --git a/arch/powerpc/boot/dts/tqm8548-bigflash.dts b/arch/powerpc/boot/dts/tqm8548-bigflash.dts index 19aa72301c83..00f7ed7a2455 100644 --- a/arch/powerpc/boot/dts/tqm8548-bigflash.dts +++ b/arch/powerpc/boot/dts/tqm8548-bigflash.dts | |||
| @@ -85,9 +85,9 @@ | |||
| 85 | interrupt-parent = <&mpic>; | 85 | interrupt-parent = <&mpic>; |
| 86 | dfsrr; | 86 | dfsrr; |
| 87 | 87 | ||
| 88 | dtt@50 { | 88 | dtt@48 { |
| 89 | compatible = "national,lm75"; | 89 | compatible = "national,lm75"; |
| 90 | reg = <0x50>; | 90 | reg = <0x48>; |
| 91 | }; | 91 | }; |
| 92 | 92 | ||
| 93 | rtc@68 { | 93 | rtc@68 { |
| @@ -247,7 +247,7 @@ | |||
| 247 | interrupts = <31 2 32 2 33 2>; | 247 | interrupts = <31 2 32 2 33 2>; |
| 248 | interrupt-parent = <&mpic>; | 248 | interrupt-parent = <&mpic>; |
| 249 | tbi-handle = <&tbi2>; | 249 | tbi-handle = <&tbi2>; |
| 250 | phy-handle = <&phy3>; | 250 | phy-handle = <&phy4>; |
| 251 | 251 | ||
| 252 | mdio@520 { | 252 | mdio@520 { |
| 253 | #address-cells = <1>; | 253 | #address-cells = <1>; |
| @@ -275,7 +275,7 @@ | |||
| 275 | interrupts = <37 2 38 2 39 2>; | 275 | interrupts = <37 2 38 2 39 2>; |
| 276 | interrupt-parent = <&mpic>; | 276 | interrupt-parent = <&mpic>; |
| 277 | tbi-handle = <&tbi3>; | 277 | tbi-handle = <&tbi3>; |
| 278 | phy-handle = <&phy4>; | 278 | phy-handle = <&phy5>; |
| 279 | 279 | ||
| 280 | mdio@520 { | 280 | mdio@520 { |
| 281 | #address-cells = <1>; | 281 | #address-cells = <1>; |
diff --git a/arch/powerpc/boot/dts/tqm8548.dts b/arch/powerpc/boot/dts/tqm8548.dts index 49145a04fc6c..673e4a778ac8 100644 --- a/arch/powerpc/boot/dts/tqm8548.dts +++ b/arch/powerpc/boot/dts/tqm8548.dts | |||
| @@ -85,9 +85,9 @@ | |||
| 85 | interrupt-parent = <&mpic>; | 85 | interrupt-parent = <&mpic>; |
| 86 | dfsrr; | 86 | dfsrr; |
| 87 | 87 | ||
| 88 | dtt@50 { | 88 | dtt@48 { |
| 89 | compatible = "national,lm75"; | 89 | compatible = "national,lm75"; |
| 90 | reg = <0x50>; | 90 | reg = <0x48>; |
| 91 | }; | 91 | }; |
| 92 | 92 | ||
| 93 | rtc@68 { | 93 | rtc@68 { |
| @@ -247,7 +247,7 @@ | |||
| 247 | interrupts = <31 2 32 2 33 2>; | 247 | interrupts = <31 2 32 2 33 2>; |
| 248 | interrupt-parent = <&mpic>; | 248 | interrupt-parent = <&mpic>; |
| 249 | tbi-handle = <&tbi2>; | 249 | tbi-handle = <&tbi2>; |
| 250 | phy-handle = <&phy3>; | 250 | phy-handle = <&phy4>; |
| 251 | 251 | ||
| 252 | mdio@520 { | 252 | mdio@520 { |
| 253 | #address-cells = <1>; | 253 | #address-cells = <1>; |
| @@ -275,7 +275,7 @@ | |||
| 275 | interrupts = <37 2 38 2 39 2>; | 275 | interrupts = <37 2 38 2 39 2>; |
| 276 | interrupt-parent = <&mpic>; | 276 | interrupt-parent = <&mpic>; |
| 277 | tbi-handle = <&tbi3>; | 277 | tbi-handle = <&tbi3>; |
| 278 | phy-handle = <&phy4>; | 278 | phy-handle = <&phy5>; |
| 279 | 279 | ||
| 280 | mdio@520 { | 280 | mdio@520 { |
| 281 | #address-cells = <1>; | 281 | #address-cells = <1>; |
diff --git a/arch/powerpc/boot/dts/tqm8555.dts b/arch/powerpc/boot/dts/tqm8555.dts index 06d366ebbda3..6a99f1eef7ad 100644 --- a/arch/powerpc/boot/dts/tqm8555.dts +++ b/arch/powerpc/boot/dts/tqm8555.dts | |||
| @@ -83,9 +83,9 @@ | |||
| 83 | interrupt-parent = <&mpic>; | 83 | interrupt-parent = <&mpic>; |
| 84 | dfsrr; | 84 | dfsrr; |
| 85 | 85 | ||
| 86 | dtt@50 { | 86 | dtt@48 { |
| 87 | compatible = "national,lm75"; | 87 | compatible = "national,lm75"; |
| 88 | reg = <0x50>; | 88 | reg = <0x48>; |
| 89 | }; | 89 | }; |
| 90 | 90 | ||
| 91 | rtc@68 { | 91 | rtc@68 { |
diff --git a/arch/powerpc/boot/dts/tqm8560.dts b/arch/powerpc/boot/dts/tqm8560.dts index feff915e0492..b6c2d71defd3 100644 --- a/arch/powerpc/boot/dts/tqm8560.dts +++ b/arch/powerpc/boot/dts/tqm8560.dts | |||
| @@ -85,9 +85,9 @@ | |||
| 85 | interrupt-parent = <&mpic>; | 85 | interrupt-parent = <&mpic>; |
| 86 | dfsrr; | 86 | dfsrr; |
| 87 | 87 | ||
| 88 | dtt@50 { | 88 | dtt@48 { |
| 89 | compatible = "national,lm75"; | 89 | compatible = "national,lm75"; |
| 90 | reg = <0x50>; | 90 | reg = <0x48>; |
| 91 | }; | 91 | }; |
| 92 | 92 | ||
| 93 | rtc@68 { | 93 | rtc@68 { |
diff --git a/arch/powerpc/configs/85xx/tqm8548_defconfig b/arch/powerpc/configs/85xx/tqm8548_defconfig index 0bc45975911a..43030fea2eee 100644 --- a/arch/powerpc/configs/85xx/tqm8548_defconfig +++ b/arch/powerpc/configs/85xx/tqm8548_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-rc2 | 3 | # Linux kernel version: 2.6.29-rc7 |
| 4 | # Mon Jan 26 15:36:20 2009 | 4 | # Mon Mar 16 09:03:28 2009 |
| 5 | # | 5 | # |
| 6 | # CONFIG_PPC64 is not set | 6 | # CONFIG_PPC64 is not set |
| 7 | 7 | ||
| @@ -22,6 +22,7 @@ CONFIG_FSL_EMB_PERFMON=y | |||
| 22 | # CONFIG_PHYS_64BIT is not set | 22 | # CONFIG_PHYS_64BIT is not set |
| 23 | CONFIG_SPE=y | 23 | CONFIG_SPE=y |
| 24 | CONFIG_PPC_MMU_NOHASH=y | 24 | CONFIG_PPC_MMU_NOHASH=y |
| 25 | CONFIG_PPC_BOOK3E_MMU=y | ||
| 25 | # CONFIG_PPC_MM_SLICES is not set | 26 | # CONFIG_PPC_MM_SLICES is not set |
| 26 | # CONFIG_SMP is not set | 27 | # CONFIG_SMP is not set |
| 27 | CONFIG_PPC32=y | 28 | CONFIG_PPC32=y |
| @@ -75,6 +76,15 @@ CONFIG_SYSVIPC_SYSCTL=y | |||
| 75 | # CONFIG_BSD_PROCESS_ACCT is not set | 76 | # CONFIG_BSD_PROCESS_ACCT is not set |
| 76 | # CONFIG_TASKSTATS is not set | 77 | # CONFIG_TASKSTATS is not set |
| 77 | # CONFIG_AUDIT is not set | 78 | # CONFIG_AUDIT is not set |
| 79 | |||
| 80 | # | ||
| 81 | # RCU Subsystem | ||
| 82 | # | ||
| 83 | CONFIG_CLASSIC_RCU=y | ||
| 84 | # CONFIG_TREE_RCU is not set | ||
| 85 | # CONFIG_PREEMPT_RCU is not set | ||
| 86 | # CONFIG_TREE_RCU_TRACE is not set | ||
| 87 | # CONFIG_PREEMPT_RCU_TRACE is not set | ||
| 78 | # CONFIG_IKCONFIG is not set | 88 | # CONFIG_IKCONFIG is not set |
| 79 | CONFIG_LOG_BUF_SHIFT=14 | 89 | CONFIG_LOG_BUF_SHIFT=14 |
| 80 | CONFIG_GROUP_SCHED=y | 90 | CONFIG_GROUP_SCHED=y |
| @@ -152,11 +162,6 @@ CONFIG_DEFAULT_AS=y | |||
| 152 | # CONFIG_DEFAULT_CFQ is not set | 162 | # CONFIG_DEFAULT_CFQ is not set |
| 153 | # CONFIG_DEFAULT_NOOP is not set | 163 | # CONFIG_DEFAULT_NOOP is not set |
| 154 | CONFIG_DEFAULT_IOSCHED="anticipatory" | 164 | CONFIG_DEFAULT_IOSCHED="anticipatory" |
| 155 | CONFIG_CLASSIC_RCU=y | ||
| 156 | # CONFIG_TREE_RCU is not set | ||
| 157 | # CONFIG_PREEMPT_RCU is not set | ||
| 158 | # CONFIG_TREE_RCU_TRACE is not set | ||
| 159 | # CONFIG_PREEMPT_RCU_TRACE is not set | ||
| 160 | # CONFIG_FREEZER is not set | 165 | # CONFIG_FREEZER is not set |
| 161 | 166 | ||
| 162 | # | 167 | # |
| @@ -202,7 +207,7 @@ CONFIG_MPIC=y | |||
| 202 | # | 207 | # |
| 203 | # Kernel options | 208 | # Kernel options |
| 204 | # | 209 | # |
| 205 | # CONFIG_HIGHMEM is not set | 210 | CONFIG_HIGHMEM=y |
| 206 | CONFIG_TICK_ONESHOT=y | 211 | CONFIG_TICK_ONESHOT=y |
| 207 | CONFIG_NO_HZ=y | 212 | CONFIG_NO_HZ=y |
| 208 | CONFIG_HIGH_RES_TIMERS=y | 213 | CONFIG_HIGH_RES_TIMERS=y |
| @@ -244,6 +249,7 @@ CONFIG_UNEVICTABLE_LRU=y | |||
| 244 | CONFIG_PPC_4K_PAGES=y | 249 | CONFIG_PPC_4K_PAGES=y |
| 245 | # CONFIG_PPC_16K_PAGES is not set | 250 | # CONFIG_PPC_16K_PAGES is not set |
| 246 | # CONFIG_PPC_64K_PAGES is not set | 251 | # CONFIG_PPC_64K_PAGES is not set |
| 252 | # CONFIG_PPC_256K_PAGES is not set | ||
| 247 | CONFIG_FORCE_MAX_ZONEORDER=11 | 253 | CONFIG_FORCE_MAX_ZONEORDER=11 |
| 248 | CONFIG_PROC_DEVICETREE=y | 254 | CONFIG_PROC_DEVICETREE=y |
| 249 | # CONFIG_CMDLINE_BOOL is not set | 255 | # CONFIG_CMDLINE_BOOL is not set |
| @@ -259,6 +265,7 @@ CONFIG_ZONE_DMA=y | |||
| 259 | CONFIG_PPC_INDIRECT_PCI=y | 265 | CONFIG_PPC_INDIRECT_PCI=y |
| 260 | CONFIG_FSL_SOC=y | 266 | CONFIG_FSL_SOC=y |
| 261 | CONFIG_FSL_PCI=y | 267 | CONFIG_FSL_PCI=y |
| 268 | CONFIG_FSL_LBC=y | ||
| 262 | CONFIG_PPC_PCI_CHOICE=y | 269 | CONFIG_PPC_PCI_CHOICE=y |
| 263 | CONFIG_PCI=y | 270 | CONFIG_PCI=y |
| 264 | CONFIG_PCI_DOMAINS=y | 271 | CONFIG_PCI_DOMAINS=y |
| @@ -284,10 +291,11 @@ CONFIG_ARCH_SUPPORTS_MSI=y | |||
| 284 | # Default settings for advanced configuration options are used | 291 | # Default settings for advanced configuration options are used |
| 285 | # | 292 | # |
| 286 | CONFIG_LOWMEM_SIZE=0x30000000 | 293 | CONFIG_LOWMEM_SIZE=0x30000000 |
| 294 | CONFIG_LOWMEM_CAM_NUM=3 | ||
| 287 | CONFIG_PAGE_OFFSET=0xc0000000 | 295 | CONFIG_PAGE_OFFSET=0xc0000000 |
| 288 | CONFIG_KERNEL_START=0xc0000000 | 296 | CONFIG_KERNEL_START=0xc0000000 |
| 289 | CONFIG_PHYSICAL_START=0x00000000 | 297 | CONFIG_PHYSICAL_START=0x00000000 |
| 290 | CONFIG_PHYSICAL_ALIGN=0x10000000 | 298 | CONFIG_PHYSICAL_ALIGN=0x04000000 |
| 291 | CONFIG_TASK_SIZE=0xc0000000 | 299 | CONFIG_TASK_SIZE=0xc0000000 |
| 292 | CONFIG_NET=y | 300 | CONFIG_NET=y |
| 293 | 301 | ||
| @@ -363,12 +371,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic" | |||
| 363 | # CONFIG_BT is not set | 371 | # CONFIG_BT is not set |
| 364 | # CONFIG_AF_RXRPC is not set | 372 | # CONFIG_AF_RXRPC is not set |
| 365 | # CONFIG_PHONET is not set | 373 | # CONFIG_PHONET is not set |
| 366 | CONFIG_WIRELESS=y | 374 | # CONFIG_WIRELESS is not set |
| 367 | # CONFIG_CFG80211 is not set | ||
| 368 | CONFIG_WIRELESS_OLD_REGULATORY=y | ||
| 369 | # CONFIG_WIRELESS_EXT is not set | ||
| 370 | # CONFIG_LIB80211 is not set | ||
| 371 | # CONFIG_MAC80211 is not set | ||
| 372 | # CONFIG_WIMAX is not set | 375 | # CONFIG_WIMAX is not set |
| 373 | # CONFIG_RFKILL is not set | 376 | # CONFIG_RFKILL is not set |
| 374 | # CONFIG_NET_9P is not set | 377 | # CONFIG_NET_9P is not set |
| @@ -471,27 +474,18 @@ CONFIG_MTD_NAND_IDS=y | |||
| 471 | # CONFIG_MTD_NAND_NANDSIM is not set | 474 | # CONFIG_MTD_NAND_NANDSIM is not set |
| 472 | # CONFIG_MTD_NAND_PLATFORM is not set | 475 | # CONFIG_MTD_NAND_PLATFORM is not set |
| 473 | # CONFIG_MTD_NAND_FSL_ELBC is not set | 476 | # CONFIG_MTD_NAND_FSL_ELBC is not set |
| 474 | # CONFIG_MTD_NAND_FSL_UPM is not set | 477 | CONFIG_MTD_NAND_FSL_UPM=y |
| 475 | # CONFIG_MTD_ONENAND is not set | 478 | # CONFIG_MTD_ONENAND is not set |
| 476 | 479 | ||
| 477 | # | 480 | # |
| 478 | # LPDDR flash memory drivers | 481 | # LPDDR flash memory drivers |
| 479 | # | 482 | # |
| 480 | # CONFIG_MTD_LPDDR is not set | 483 | # CONFIG_MTD_LPDDR is not set |
| 481 | # CONFIG_MTD_QINFO_PROBE is not set | ||
| 482 | 484 | ||
| 483 | # | 485 | # |
| 484 | # UBI - Unsorted block images | 486 | # UBI - Unsorted block images |
| 485 | # | 487 | # |
| 486 | CONFIG_MTD_UBI=m | 488 | # CONFIG_MTD_UBI is not set |
| 487 | CONFIG_MTD_UBI_WL_THRESHOLD=4096 | ||
| 488 | CONFIG_MTD_UBI_BEB_RESERVE=1 | ||
| 489 | # CONFIG_MTD_UBI_GLUEBI is not set | ||
| 490 | |||
| 491 | # | ||
| 492 | # UBI debugging options | ||
| 493 | # | ||
| 494 | # CONFIG_MTD_UBI_DEBUG is not set | ||
| 495 | CONFIG_OF_DEVICE=y | 489 | CONFIG_OF_DEVICE=y |
| 496 | CONFIG_OF_I2C=y | 490 | CONFIG_OF_I2C=y |
| 497 | # CONFIG_PARPORT is not set | 491 | # CONFIG_PARPORT is not set |
| @@ -515,69 +509,21 @@ CONFIG_BLK_DEV_RAM_SIZE=32768 | |||
| 515 | # CONFIG_BLK_DEV_HD is not set | 509 | # CONFIG_BLK_DEV_HD is not set |
| 516 | CONFIG_MISC_DEVICES=y | 510 | CONFIG_MISC_DEVICES=y |
| 517 | # CONFIG_PHANTOM is not set | 511 | # CONFIG_PHANTOM is not set |
| 518 | # CONFIG_EEPROM_93CX6 is not set | ||
| 519 | # CONFIG_SGI_IOC4 is not set | 512 | # CONFIG_SGI_IOC4 is not set |
| 520 | # CONFIG_TIFM_CORE is not set | 513 | # CONFIG_TIFM_CORE is not set |
| 521 | # CONFIG_ICS932S401 is not set | 514 | # CONFIG_ICS932S401 is not set |
| 522 | # CONFIG_ENCLOSURE_SERVICES is not set | 515 | # CONFIG_ENCLOSURE_SERVICES is not set |
| 523 | # CONFIG_HP_ILO is not set | 516 | # CONFIG_HP_ILO is not set |
| 524 | # CONFIG_C2PORT is not set | 517 | # CONFIG_C2PORT is not set |
| 518 | |||
| 519 | # | ||
| 520 | # EEPROM support | ||
| 521 | # | ||
| 522 | # CONFIG_EEPROM_AT24 is not set | ||
| 523 | # CONFIG_EEPROM_LEGACY is not set | ||
| 524 | # CONFIG_EEPROM_93CX6 is not set | ||
| 525 | CONFIG_HAVE_IDE=y | 525 | CONFIG_HAVE_IDE=y |
| 526 | CONFIG_IDE=y | 526 | # CONFIG_IDE is not set |
| 527 | |||
| 528 | # | ||
| 529 | # Please see Documentation/ide/ide.txt for help/info on IDE drives | ||
| 530 | # | ||
| 531 | CONFIG_IDE_TIMINGS=y | ||
| 532 | # CONFIG_BLK_DEV_IDE_SATA is not set | ||
| 533 | CONFIG_IDE_GD=y | ||
| 534 | CONFIG_IDE_GD_ATA=y | ||
| 535 | # CONFIG_IDE_GD_ATAPI is not set | ||
| 536 | # CONFIG_BLK_DEV_IDECD is not set | ||
| 537 | # CONFIG_BLK_DEV_IDETAPE is not set | ||
| 538 | # CONFIG_IDE_TASK_IOCTL is not set | ||
| 539 | CONFIG_IDE_PROC_FS=y | ||
| 540 | |||
| 541 | # | ||
| 542 | # IDE chipset support/bugfixes | ||
| 543 | # | ||
| 544 | # CONFIG_BLK_DEV_PLATFORM is not set | ||
| 545 | CONFIG_BLK_DEV_IDEDMA_SFF=y | ||
| 546 | |||
| 547 | # | ||
| 548 | # PCI IDE chipsets support | ||
| 549 | # | ||
| 550 | CONFIG_BLK_DEV_IDEPCI=y | ||
| 551 | CONFIG_IDEPCI_PCIBUS_ORDER=y | ||
| 552 | # CONFIG_BLK_DEV_OFFBOARD is not set | ||
| 553 | CONFIG_BLK_DEV_GENERIC=y | ||
| 554 | # CONFIG_BLK_DEV_OPTI621 is not set | ||
| 555 | CONFIG_BLK_DEV_IDEDMA_PCI=y | ||
| 556 | # CONFIG_BLK_DEV_AEC62XX is not set | ||
| 557 | # CONFIG_BLK_DEV_ALI15X3 is not set | ||
| 558 | # CONFIG_BLK_DEV_AMD74XX is not set | ||
| 559 | # CONFIG_BLK_DEV_CMD64X is not set | ||
| 560 | # CONFIG_BLK_DEV_TRIFLEX is not set | ||
| 561 | # CONFIG_BLK_DEV_CS5520 is not set | ||
| 562 | # CONFIG_BLK_DEV_CS5530 is not set | ||
| 563 | # CONFIG_BLK_DEV_HPT366 is not set | ||
| 564 | # CONFIG_BLK_DEV_JMICRON is not set | ||
| 565 | # CONFIG_BLK_DEV_SC1200 is not set | ||
| 566 | # CONFIG_BLK_DEV_PIIX is not set | ||
| 567 | # CONFIG_BLK_DEV_IT8172 is not set | ||
| 568 | # CONFIG_BLK_DEV_IT8213 is not set | ||
| 569 | # CONFIG_BLK_DEV_IT821X is not set | ||
| 570 | # CONFIG_BLK_DEV_NS87415 is not set | ||
| 571 | # CONFIG_BLK_DEV_PDC202XX_OLD is not set | ||
| 572 | # CONFIG_BLK_DEV_PDC202XX_NEW is not set | ||
| 573 | # CONFIG_BLK_DEV_SVWKS is not set | ||
| 574 | # CONFIG_BLK_DEV_SIIMAGE is not set | ||
| 575 | # CONFIG_BLK_DEV_SL82C105 is not set | ||
| 576 | # CONFIG_BLK_DEV_SLC90E66 is not set | ||
| 577 | # CONFIG_BLK_DEV_TRM290 is not set | ||
| 578 | CONFIG_BLK_DEV_VIA82CXXX=y | ||
| 579 | # CONFIG_BLK_DEV_TC86C001 is not set | ||
| 580 | CONFIG_BLK_DEV_IDEDMA=y | ||
| 581 | 527 | ||
| 582 | # | 528 | # |
| 583 | # SCSI device support | 529 | # SCSI device support |
| @@ -650,7 +596,7 @@ CONFIG_MII=y | |||
| 650 | CONFIG_NETDEV_1000=y | 596 | CONFIG_NETDEV_1000=y |
| 651 | # CONFIG_ACENIC is not set | 597 | # CONFIG_ACENIC is not set |
| 652 | # CONFIG_DL2K is not set | 598 | # CONFIG_DL2K is not set |
| 653 | CONFIG_E1000=y | 599 | # CONFIG_E1000 is not set |
| 654 | # CONFIG_E1000E is not set | 600 | # CONFIG_E1000E is not set |
| 655 | # CONFIG_IP1000 is not set | 601 | # CONFIG_IP1000 is not set |
| 656 | # CONFIG_IGB is not set | 602 | # CONFIG_IGB is not set |
| @@ -668,6 +614,7 @@ CONFIG_GIANFAR=y | |||
| 668 | # CONFIG_QLA3XXX is not set | 614 | # CONFIG_QLA3XXX is not set |
| 669 | # CONFIG_ATL1 is not set | 615 | # CONFIG_ATL1 is not set |
| 670 | # CONFIG_ATL1E is not set | 616 | # CONFIG_ATL1E is not set |
| 617 | # CONFIG_ATL1C is not set | ||
| 671 | # CONFIG_JME is not set | 618 | # CONFIG_JME is not set |
| 672 | CONFIG_NETDEV_10000=y | 619 | CONFIG_NETDEV_10000=y |
| 673 | # CONFIG_CHELSIO_T1 is not set | 620 | # CONFIG_CHELSIO_T1 is not set |
| @@ -835,8 +782,6 @@ CONFIG_I2C_MPC=y | |||
| 835 | # Miscellaneous I2C Chip support | 782 | # Miscellaneous I2C Chip support |
| 836 | # | 783 | # |
| 837 | # CONFIG_DS1682 is not set | 784 | # CONFIG_DS1682 is not set |
| 838 | # CONFIG_EEPROM_AT24 is not set | ||
| 839 | # CONFIG_EEPROM_LEGACY is not set | ||
| 840 | # CONFIG_SENSORS_PCF8574 is not set | 785 | # CONFIG_SENSORS_PCF8574 is not set |
| 841 | # CONFIG_PCF8575 is not set | 786 | # CONFIG_PCF8575 is not set |
| 842 | # CONFIG_SENSORS_PCA9539 is not set | 787 | # CONFIG_SENSORS_PCA9539 is not set |
| @@ -975,26 +920,7 @@ CONFIG_HID=y | |||
| 975 | # Special HID drivers | 920 | # Special HID drivers |
| 976 | # | 921 | # |
| 977 | CONFIG_HID_COMPAT=y | 922 | CONFIG_HID_COMPAT=y |
| 978 | CONFIG_USB_SUPPORT=y | 923 | # CONFIG_USB_SUPPORT is not set |
| 979 | CONFIG_USB_ARCH_HAS_HCD=y | ||
| 980 | CONFIG_USB_ARCH_HAS_OHCI=y | ||
| 981 | CONFIG_USB_ARCH_HAS_EHCI=y | ||
| 982 | # CONFIG_USB is not set | ||
| 983 | # CONFIG_USB_OTG_WHITELIST is not set | ||
| 984 | # CONFIG_USB_OTG_BLACKLIST_HUB is not set | ||
| 985 | |||
| 986 | # | ||
| 987 | # Enable Host or Gadget support to see Inventra options | ||
| 988 | # | ||
| 989 | |||
| 990 | # | ||
| 991 | # NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may also be needed; | ||
| 992 | # | ||
| 993 | # CONFIG_USB_GADGET is not set | ||
| 994 | |||
| 995 | # | ||
| 996 | # OTG and related infrastructure | ||
| 997 | # | ||
| 998 | # CONFIG_UWB is not set | 924 | # CONFIG_UWB is not set |
| 999 | # CONFIG_MMC is not set | 925 | # CONFIG_MMC is not set |
| 1000 | # CONFIG_MEMSTICK is not set | 926 | # CONFIG_MEMSTICK is not set |
| @@ -1064,16 +990,9 @@ CONFIG_RTC_DRV_DS1307=y | |||
| 1064 | # | 990 | # |
| 1065 | # File systems | 991 | # File systems |
| 1066 | # | 992 | # |
| 1067 | CONFIG_EXT2_FS=y | 993 | # CONFIG_EXT2_FS is not set |
| 1068 | # CONFIG_EXT2_FS_XATTR is not set | 994 | # CONFIG_EXT3_FS is not set |
| 1069 | # CONFIG_EXT2_FS_XIP is not set | ||
| 1070 | CONFIG_EXT3_FS=y | ||
| 1071 | CONFIG_EXT3_FS_XATTR=y | ||
| 1072 | # CONFIG_EXT3_FS_POSIX_ACL is not set | ||
| 1073 | # CONFIG_EXT3_FS_SECURITY is not set | ||
| 1074 | # CONFIG_EXT4_FS is not set | 995 | # CONFIG_EXT4_FS is not set |
| 1075 | CONFIG_JBD=y | ||
| 1076 | CONFIG_FS_MBCACHE=y | ||
| 1077 | # CONFIG_REISERFS_FS is not set | 996 | # CONFIG_REISERFS_FS is not set |
| 1078 | # CONFIG_JFS_FS is not set | 997 | # CONFIG_JFS_FS is not set |
| 1079 | # CONFIG_FS_POSIX_ACL is not set | 998 | # CONFIG_FS_POSIX_ACL is not set |
| @@ -1122,8 +1041,17 @@ CONFIG_MISC_FILESYSTEMS=y | |||
| 1122 | # CONFIG_BEFS_FS is not set | 1041 | # CONFIG_BEFS_FS is not set |
| 1123 | # CONFIG_BFS_FS is not set | 1042 | # CONFIG_BFS_FS is not set |
| 1124 | # CONFIG_EFS_FS is not set | 1043 | # CONFIG_EFS_FS is not set |
| 1125 | # CONFIG_JFFS2_FS is not set | 1044 | CONFIG_JFFS2_FS=y |
| 1126 | # CONFIG_UBIFS_FS is not set | 1045 | CONFIG_JFFS2_FS_DEBUG=0 |
| 1046 | CONFIG_JFFS2_FS_WRITEBUFFER=y | ||
| 1047 | # CONFIG_JFFS2_FS_WBUF_VERIFY is not set | ||
| 1048 | # CONFIG_JFFS2_SUMMARY is not set | ||
| 1049 | # CONFIG_JFFS2_FS_XATTR is not set | ||
| 1050 | # CONFIG_JFFS2_COMPRESSION_OPTIONS is not set | ||
| 1051 | CONFIG_JFFS2_ZLIB=y | ||
| 1052 | # CONFIG_JFFS2_LZO is not set | ||
| 1053 | CONFIG_JFFS2_RTIME=y | ||
| 1054 | # CONFIG_JFFS2_RUBIN is not set | ||
| 1127 | # CONFIG_CRAMFS is not set | 1055 | # CONFIG_CRAMFS is not set |
| 1128 | # CONFIG_SQUASHFS is not set | 1056 | # CONFIG_SQUASHFS is not set |
| 1129 | # CONFIG_VXFS_FS is not set | 1057 | # CONFIG_VXFS_FS is not set |
| @@ -1184,6 +1112,8 @@ CONFIG_GENERIC_FIND_LAST_BIT=y | |||
| 1184 | CONFIG_CRC32=y | 1112 | CONFIG_CRC32=y |
| 1185 | # CONFIG_CRC7 is not set | 1113 | # CONFIG_CRC7 is not set |
| 1186 | # CONFIG_LIBCRC32C is not set | 1114 | # CONFIG_LIBCRC32C is not set |
| 1115 | CONFIG_ZLIB_INFLATE=y | ||
| 1116 | CONFIG_ZLIB_DEFLATE=y | ||
| 1187 | CONFIG_PLIST=y | 1117 | CONFIG_PLIST=y |
| 1188 | CONFIG_HAS_IOMEM=y | 1118 | CONFIG_HAS_IOMEM=y |
| 1189 | CONFIG_HAS_IOPORT=y | 1119 | CONFIG_HAS_IOPORT=y |
| @@ -1219,6 +1149,7 @@ CONFIG_DEBUG_MUTEXES=y | |||
| 1219 | # CONFIG_DEBUG_SPINLOCK_SLEEP is not set | 1149 | # CONFIG_DEBUG_SPINLOCK_SLEEP is not set |
| 1220 | # CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set | 1150 | # CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set |
| 1221 | # CONFIG_DEBUG_KOBJECT is not set | 1151 | # CONFIG_DEBUG_KOBJECT is not set |
| 1152 | # CONFIG_DEBUG_HIGHMEM is not set | ||
| 1222 | # CONFIG_DEBUG_BUGVERBOSE is not set | 1153 | # CONFIG_DEBUG_BUGVERBOSE is not set |
| 1223 | # CONFIG_DEBUG_INFO is not set | 1154 | # CONFIG_DEBUG_INFO is not set |
| 1224 | # CONFIG_DEBUG_VM is not set | 1155 | # CONFIG_DEBUG_VM is not set |
| @@ -1236,6 +1167,7 @@ CONFIG_DEBUG_MUTEXES=y | |||
| 1236 | # CONFIG_LATENCYTOP is not set | 1167 | # CONFIG_LATENCYTOP is not set |
| 1237 | CONFIG_SYSCTL_SYSCALL_CHECK=y | 1168 | CONFIG_SYSCTL_SYSCALL_CHECK=y |
| 1238 | CONFIG_HAVE_FUNCTION_TRACER=y | 1169 | CONFIG_HAVE_FUNCTION_TRACER=y |
| 1170 | CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y | ||
| 1239 | CONFIG_HAVE_DYNAMIC_FTRACE=y | 1171 | CONFIG_HAVE_DYNAMIC_FTRACE=y |
| 1240 | CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y | 1172 | CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y |
| 1241 | 1173 | ||
diff --git a/arch/powerpc/include/asm/futex.h b/arch/powerpc/include/asm/futex.h index 6d406c5c5de4..9696cc36d2dc 100644 --- a/arch/powerpc/include/asm/futex.h +++ b/arch/powerpc/include/asm/futex.h | |||
| @@ -27,7 +27,7 @@ | |||
| 27 | PPC_LONG "1b,4b,2b,4b\n" \ | 27 | PPC_LONG "1b,4b,2b,4b\n" \ |
| 28 | ".previous" \ | 28 | ".previous" \ |
| 29 | : "=&r" (oldval), "=&r" (ret) \ | 29 | : "=&r" (oldval), "=&r" (ret) \ |
| 30 | : "b" (uaddr), "i" (-EFAULT), "1" (oparg) \ | 30 | : "b" (uaddr), "i" (-EFAULT), "r" (oparg) \ |
| 31 | : "cr0", "memory") | 31 | : "cr0", "memory") |
| 32 | 32 | ||
| 33 | static inline int futex_atomic_op_inuser (int encoded_op, int __user *uaddr) | 33 | static inline int futex_atomic_op_inuser (int encoded_op, int __user *uaddr) |
| @@ -47,19 +47,19 @@ static inline int futex_atomic_op_inuser (int encoded_op, int __user *uaddr) | |||
| 47 | 47 | ||
| 48 | switch (op) { | 48 | switch (op) { |
| 49 | case FUTEX_OP_SET: | 49 | case FUTEX_OP_SET: |
| 50 | __futex_atomic_op("", ret, oldval, uaddr, oparg); | 50 | __futex_atomic_op("mr %1,%4\n", ret, oldval, uaddr, oparg); |
| 51 | break; | 51 | break; |
| 52 | case FUTEX_OP_ADD: | 52 | case FUTEX_OP_ADD: |
| 53 | __futex_atomic_op("add %1,%0,%1\n", ret, oldval, uaddr, oparg); | 53 | __futex_atomic_op("add %1,%0,%4\n", ret, oldval, uaddr, oparg); |
| 54 | break; | 54 | break; |
| 55 | case FUTEX_OP_OR: | 55 | case FUTEX_OP_OR: |
| 56 | __futex_atomic_op("or %1,%0,%1\n", ret, oldval, uaddr, oparg); | 56 | __futex_atomic_op("or %1,%0,%4\n", ret, oldval, uaddr, oparg); |
| 57 | break; | 57 | break; |
| 58 | case FUTEX_OP_ANDN: | 58 | case FUTEX_OP_ANDN: |
| 59 | __futex_atomic_op("andc %1,%0,%1\n", ret, oldval, uaddr, oparg); | 59 | __futex_atomic_op("andc %1,%0,%4\n", ret, oldval, uaddr, oparg); |
| 60 | break; | 60 | break; |
| 61 | case FUTEX_OP_XOR: | 61 | case FUTEX_OP_XOR: |
| 62 | __futex_atomic_op("xor %1,%0,%1\n", ret, oldval, uaddr, oparg); | 62 | __futex_atomic_op("xor %1,%0,%4\n", ret, oldval, uaddr, oparg); |
| 63 | break; | 63 | break; |
| 64 | default: | 64 | default: |
| 65 | ret = -ENOSYS; | 65 | ret = -ENOSYS; |
diff --git a/arch/powerpc/include/asm/mmu.h b/arch/powerpc/include/asm/mmu.h index cbf154387091..86d2366ab6a1 100644 --- a/arch/powerpc/include/asm/mmu.h +++ b/arch/powerpc/include/asm/mmu.h | |||
| @@ -52,6 +52,12 @@ | |||
| 52 | */ | 52 | */ |
| 53 | #define MMU_FTR_NEED_DTLB_SW_LRU ASM_CONST(0x00200000) | 53 | #define MMU_FTR_NEED_DTLB_SW_LRU ASM_CONST(0x00200000) |
| 54 | 54 | ||
| 55 | /* This indicates that the processor uses the wrong opcode for tlbilx | ||
| 56 | * instructions. During the ISA 2.06 development the opcode for tlbilx | ||
| 57 | * changed and some early implementations used to old opcode | ||
| 58 | */ | ||
| 59 | #define MMU_FTR_TLBILX_EARLY_OPCODE ASM_CONST(0x00400000) | ||
| 60 | |||
| 55 | #ifndef __ASSEMBLY__ | 61 | #ifndef __ASSEMBLY__ |
| 56 | #include <asm/cputable.h> | 62 | #include <asm/cputable.h> |
| 57 | 63 | ||
diff --git a/arch/powerpc/include/asm/ppc-opcode.h b/arch/powerpc/include/asm/ppc-opcode.h index f4a4db8d5555..ef4da37f3c10 100644 --- a/arch/powerpc/include/asm/ppc-opcode.h +++ b/arch/powerpc/include/asm/ppc-opcode.h | |||
| @@ -43,7 +43,8 @@ | |||
| 43 | 43 | ||
| 44 | #define PPC_INST_STSWI 0x7c0005aa | 44 | #define PPC_INST_STSWI 0x7c0005aa |
| 45 | #define PPC_INST_STSWX 0x7c00052a | 45 | #define PPC_INST_STSWX 0x7c00052a |
| 46 | #define PPC_INST_TLBILX 0x7c000626 | 46 | #define PPC_INST_TLBILX 0x7c000024 |
| 47 | #define PPC_INST_TLBILX_EARLY 0x7c000626 | ||
| 47 | #define PPC_INST_WAIT 0x7c00007c | 48 | #define PPC_INST_WAIT 0x7c00007c |
| 48 | 49 | ||
| 49 | /* macros to insert fields into opcodes */ | 50 | /* macros to insert fields into opcodes */ |
| @@ -63,10 +64,18 @@ | |||
| 63 | #define PPC_RFDI stringify_in_c(.long PPC_INST_RFDI) | 64 | #define PPC_RFDI stringify_in_c(.long PPC_INST_RFDI) |
| 64 | #define PPC_RFMCI stringify_in_c(.long PPC_INST_RFMCI) | 65 | #define PPC_RFMCI stringify_in_c(.long PPC_INST_RFMCI) |
| 65 | #define PPC_TLBILX(t, a, b) stringify_in_c(.long PPC_INST_TLBILX | \ | 66 | #define PPC_TLBILX(t, a, b) stringify_in_c(.long PPC_INST_TLBILX | \ |
| 66 | __PPC_T_TLB(t) | __PPC_RA(a) | __PPC_RB(b)) | 67 | __PPC_T_TLB(t) | \ |
| 68 | __PPC_RA(a) | __PPC_RB(b)) | ||
| 67 | #define PPC_TLBILX_ALL(a, b) PPC_TLBILX(0, a, b) | 69 | #define PPC_TLBILX_ALL(a, b) PPC_TLBILX(0, a, b) |
| 68 | #define PPC_TLBILX_PID(a, b) PPC_TLBILX(1, a, b) | 70 | #define PPC_TLBILX_PID(a, b) PPC_TLBILX(1, a, b) |
| 69 | #define PPC_TLBILX_VA(a, b) PPC_TLBILX(3, a, b) | 71 | #define PPC_TLBILX_VA(a, b) PPC_TLBILX(3, a, b) |
| 72 | |||
| 73 | #define PPC_TLBILX_EARLY(t, a, b) stringify_in_c(.long PPC_INST_TLBILX_EARLY | \ | ||
| 74 | __PPC_T_TLB(t) | \ | ||
| 75 | __PPC_RA(a) | __PPC_RB(b)) | ||
| 76 | #define PPC_TLBILX_ALL_EARLY(a, b) PPC_TLBILX_EARLY(0, a, b) | ||
| 77 | #define PPC_TLBILX_PID_EARLY(a, b) PPC_TLBILX_EARLY(1, a, b) | ||
| 78 | #define PPC_TLBILX_VA_EARLY(a, b) PPC_TLBILX_EARLY(3, a, b) | ||
| 70 | #define PPC_WAIT(w) stringify_in_c(.long PPC_INST_WAIT | \ | 79 | #define PPC_WAIT(w) stringify_in_c(.long PPC_INST_WAIT | \ |
| 71 | __PPC_WC(w)) | 80 | __PPC_WC(w)) |
| 72 | 81 | ||
diff --git a/arch/powerpc/kernel/cputable.c b/arch/powerpc/kernel/cputable.c index cd1b687544f3..57db50f40289 100644 --- a/arch/powerpc/kernel/cputable.c +++ b/arch/powerpc/kernel/cputable.c | |||
| @@ -1766,7 +1766,7 @@ static struct cpu_spec __initdata cpu_specs[] = { | |||
| 1766 | .cpu_features = CPU_FTRS_E500MC, | 1766 | .cpu_features = CPU_FTRS_E500MC, |
| 1767 | .cpu_user_features = COMMON_USER_BOOKE | PPC_FEATURE_HAS_FPU, | 1767 | .cpu_user_features = COMMON_USER_BOOKE | PPC_FEATURE_HAS_FPU, |
| 1768 | .mmu_features = MMU_FTR_TYPE_FSL_E | MMU_FTR_BIG_PHYS | | 1768 | .mmu_features = MMU_FTR_TYPE_FSL_E | MMU_FTR_BIG_PHYS | |
| 1769 | MMU_FTR_USE_TLBILX, | 1769 | MMU_FTR_USE_TLBILX | MMU_FTR_TLBILX_EARLY_OPCODE, |
| 1770 | .icache_bsize = 64, | 1770 | .icache_bsize = 64, |
| 1771 | .dcache_bsize = 64, | 1771 | .dcache_bsize = 64, |
| 1772 | .num_pmcs = 4, | 1772 | .num_pmcs = 4, |
diff --git a/arch/powerpc/mm/tlb_nohash.c b/arch/powerpc/mm/tlb_nohash.c index 7af72970faed..ad2eb4d34dd4 100644 --- a/arch/powerpc/mm/tlb_nohash.c +++ b/arch/powerpc/mm/tlb_nohash.c | |||
| @@ -125,7 +125,6 @@ static void do_flush_tlb_page_ipi(void *param) | |||
| 125 | 125 | ||
| 126 | void flush_tlb_mm(struct mm_struct *mm) | 126 | void flush_tlb_mm(struct mm_struct *mm) |
| 127 | { | 127 | { |
| 128 | cpumask_t cpu_mask; | ||
| 129 | unsigned int pid; | 128 | unsigned int pid; |
| 130 | 129 | ||
| 131 | preempt_disable(); | 130 | preempt_disable(); |
diff --git a/arch/powerpc/mm/tlb_nohash_low.S b/arch/powerpc/mm/tlb_nohash_low.S index 788b87c36f77..45fed3698349 100644 --- a/arch/powerpc/mm/tlb_nohash_low.S +++ b/arch/powerpc/mm/tlb_nohash_low.S | |||
| @@ -138,7 +138,11 @@ BEGIN_MMU_FTR_SECTION | |||
| 138 | andi. r3,r3,MMUCSR0_TLBFI@l | 138 | andi. r3,r3,MMUCSR0_TLBFI@l |
| 139 | bne 1b | 139 | bne 1b |
| 140 | MMU_FTR_SECTION_ELSE | 140 | MMU_FTR_SECTION_ELSE |
| 141 | PPC_TLBILX_ALL(0,0) | 141 | BEGIN_MMU_FTR_SECTION_NESTED(96) |
| 142 | PPC_TLBILX_ALL(0,r3) | ||
| 143 | MMU_FTR_SECTION_ELSE_NESTED(96) | ||
| 144 | PPC_TLBILX_ALL_EARLY(0,r3) | ||
| 145 | ALT_MMU_FTR_SECTION_END_NESTED_IFCLR(MMU_FTR_TLBILX_EARLY_OPCODE, 96) | ||
| 142 | ALT_MMU_FTR_SECTION_END_IFCLR(MMU_FTR_USE_TLBILX) | 146 | ALT_MMU_FTR_SECTION_END_IFCLR(MMU_FTR_USE_TLBILX) |
| 143 | msync | 147 | msync |
| 144 | isync | 148 | isync |
| @@ -151,7 +155,11 @@ BEGIN_MMU_FTR_SECTION | |||
| 151 | wrteei 0 | 155 | wrteei 0 |
| 152 | mfspr r4,SPRN_MAS6 /* save MAS6 */ | 156 | mfspr r4,SPRN_MAS6 /* save MAS6 */ |
| 153 | mtspr SPRN_MAS6,r3 | 157 | mtspr SPRN_MAS6,r3 |
| 158 | BEGIN_MMU_FTR_SECTION_NESTED(96) | ||
| 154 | PPC_TLBILX_PID(0,0) | 159 | PPC_TLBILX_PID(0,0) |
| 160 | MMU_FTR_SECTION_ELSE_NESTED(96) | ||
| 161 | PPC_TLBILX_PID_EARLY(0,0) | ||
| 162 | ALT_MMU_FTR_SECTION_END_NESTED_IFCLR(MMU_FTR_TLBILX_EARLY_OPCODE, 96) | ||
| 155 | mtspr SPRN_MAS6,r4 /* restore MAS6 */ | 163 | mtspr SPRN_MAS6,r4 /* restore MAS6 */ |
| 156 | wrtee r10 | 164 | wrtee r10 |
| 157 | MMU_FTR_SECTION_ELSE | 165 | MMU_FTR_SECTION_ELSE |
| @@ -185,7 +193,11 @@ BEGIN_MMU_FTR_SECTION | |||
| 185 | mtspr SPRN_MAS1,r4 | 193 | mtspr SPRN_MAS1,r4 |
| 186 | tlbwe | 194 | tlbwe |
| 187 | MMU_FTR_SECTION_ELSE | 195 | MMU_FTR_SECTION_ELSE |
| 196 | BEGIN_MMU_FTR_SECTION_NESTED(96) | ||
| 188 | PPC_TLBILX_VA(0,r3) | 197 | PPC_TLBILX_VA(0,r3) |
| 198 | MMU_FTR_SECTION_ELSE_NESTED(96) | ||
| 199 | PPC_TLBILX_VA_EARLY(0,r3) | ||
| 200 | ALT_MMU_FTR_SECTION_END_NESTED_IFCLR(MMU_FTR_TLBILX_EARLY_OPCODE, 96) | ||
| 189 | ALT_MMU_FTR_SECTION_END_IFCLR(MMU_FTR_USE_TLBILX) | 201 | ALT_MMU_FTR_SECTION_END_IFCLR(MMU_FTR_USE_TLBILX) |
| 190 | msync | 202 | msync |
| 191 | isync | 203 | isync |
diff --git a/arch/powerpc/platforms/pseries/dtl.c b/arch/powerpc/platforms/pseries/dtl.c index fafcaa0e81ef..ab69925d579b 100644 --- a/arch/powerpc/platforms/pseries/dtl.c +++ b/arch/powerpc/platforms/pseries/dtl.c | |||
| @@ -25,6 +25,7 @@ | |||
| 25 | #include <asm/smp.h> | 25 | #include <asm/smp.h> |
| 26 | #include <asm/system.h> | 26 | #include <asm/system.h> |
| 27 | #include <asm/uaccess.h> | 27 | #include <asm/uaccess.h> |
| 28 | #include <asm/firmware.h> | ||
| 28 | 29 | ||
| 29 | #include "plpar_wrappers.h" | 30 | #include "plpar_wrappers.h" |
| 30 | 31 | ||
diff --git a/arch/powerpc/platforms/pseries/eeh_driver.c b/arch/powerpc/platforms/pseries/eeh_driver.c index 380420f8c400..9a2a6e32f00f 100644 --- a/arch/powerpc/platforms/pseries/eeh_driver.c +++ b/arch/powerpc/platforms/pseries/eeh_driver.c | |||
| @@ -182,6 +182,8 @@ static void eeh_report_reset(struct pci_dev *dev, void *userdata) | |||
| 182 | if (!driver) | 182 | if (!driver) |
| 183 | return; | 183 | return; |
| 184 | 184 | ||
| 185 | dev->error_state = pci_channel_io_normal; | ||
| 186 | |||
| 185 | eeh_enable_irq(dev); | 187 | eeh_enable_irq(dev); |
| 186 | 188 | ||
| 187 | if (!driver->err_handler || | 189 | if (!driver->err_handler || |
diff --git a/arch/x86/kernel/cpu/cpufreq/acpi-cpufreq.c b/arch/x86/kernel/cpu/cpufreq/acpi-cpufreq.c index 837c2c4cc203..ecdb682ab516 100644 --- a/arch/x86/kernel/cpu/cpufreq/acpi-cpufreq.c +++ b/arch/x86/kernel/cpu/cpufreq/acpi-cpufreq.c | |||
| @@ -204,7 +204,13 @@ static void drv_read(struct drv_cmd *cmd) | |||
| 204 | 204 | ||
| 205 | static void drv_write(struct drv_cmd *cmd) | 205 | static void drv_write(struct drv_cmd *cmd) |
| 206 | { | 206 | { |
| 207 | int this_cpu; | ||
| 208 | |||
| 209 | this_cpu = get_cpu(); | ||
| 210 | if (cpumask_test_cpu(this_cpu, cmd->mask)) | ||
| 211 | do_drv_write(cmd); | ||
| 207 | smp_call_function_many(cmd->mask, do_drv_write, cmd, 1); | 212 | smp_call_function_many(cmd->mask, do_drv_write, cmd, 1); |
| 213 | put_cpu(); | ||
| 208 | } | 214 | } |
| 209 | 215 | ||
| 210 | static u32 get_cur_val(const struct cpumask *mask) | 216 | static u32 get_cur_val(const struct cpumask *mask) |
diff --git a/block/as-iosched.c b/block/as-iosched.c index 631f6f44460a..c48fa670d221 100644 --- a/block/as-iosched.c +++ b/block/as-iosched.c | |||
| @@ -17,9 +17,6 @@ | |||
| 17 | #include <linux/rbtree.h> | 17 | #include <linux/rbtree.h> |
| 18 | #include <linux/interrupt.h> | 18 | #include <linux/interrupt.h> |
| 19 | 19 | ||
| 20 | #define REQ_SYNC 1 | ||
| 21 | #define REQ_ASYNC 0 | ||
| 22 | |||
| 23 | /* | 20 | /* |
| 24 | * See Documentation/block/as-iosched.txt | 21 | * See Documentation/block/as-iosched.txt |
| 25 | */ | 22 | */ |
| @@ -93,7 +90,7 @@ struct as_data { | |||
| 93 | struct list_head fifo_list[2]; | 90 | struct list_head fifo_list[2]; |
| 94 | 91 | ||
| 95 | struct request *next_rq[2]; /* next in sort order */ | 92 | struct request *next_rq[2]; /* next in sort order */ |
| 96 | sector_t last_sector[2]; /* last REQ_SYNC & REQ_ASYNC sectors */ | 93 | sector_t last_sector[2]; /* last SYNC & ASYNC sectors */ |
| 97 | 94 | ||
| 98 | unsigned long exit_prob; /* probability a task will exit while | 95 | unsigned long exit_prob; /* probability a task will exit while |
| 99 | being waited on */ | 96 | being waited on */ |
| @@ -109,7 +106,7 @@ struct as_data { | |||
| 109 | unsigned long last_check_fifo[2]; | 106 | unsigned long last_check_fifo[2]; |
| 110 | int changed_batch; /* 1: waiting for old batch to end */ | 107 | int changed_batch; /* 1: waiting for old batch to end */ |
| 111 | int new_batch; /* 1: waiting on first read complete */ | 108 | int new_batch; /* 1: waiting on first read complete */ |
| 112 | int batch_data_dir; /* current batch REQ_SYNC / REQ_ASYNC */ | 109 | int batch_data_dir; /* current batch SYNC / ASYNC */ |
| 113 | int write_batch_count; /* max # of reqs in a write batch */ | 110 | int write_batch_count; /* max # of reqs in a write batch */ |
| 114 | int current_write_count; /* how many requests left this batch */ | 111 | int current_write_count; /* how many requests left this batch */ |
| 115 | int write_batch_idled; /* has the write batch gone idle? */ | 112 | int write_batch_idled; /* has the write batch gone idle? */ |
| @@ -554,7 +551,7 @@ static void as_update_iohist(struct as_data *ad, struct as_io_context *aic, | |||
| 554 | if (aic == NULL) | 551 | if (aic == NULL) |
| 555 | return; | 552 | return; |
| 556 | 553 | ||
| 557 | if (data_dir == REQ_SYNC) { | 554 | if (data_dir == BLK_RW_SYNC) { |
| 558 | unsigned long in_flight = atomic_read(&aic->nr_queued) | 555 | unsigned long in_flight = atomic_read(&aic->nr_queued) |
| 559 | + atomic_read(&aic->nr_dispatched); | 556 | + atomic_read(&aic->nr_dispatched); |
| 560 | spin_lock(&aic->lock); | 557 | spin_lock(&aic->lock); |
| @@ -811,7 +808,7 @@ static void as_update_rq(struct as_data *ad, struct request *rq) | |||
| 811 | */ | 808 | */ |
| 812 | static void update_write_batch(struct as_data *ad) | 809 | static void update_write_batch(struct as_data *ad) |
| 813 | { | 810 | { |
| 814 | unsigned long batch = ad->batch_expire[REQ_ASYNC]; | 811 | unsigned long batch = ad->batch_expire[BLK_RW_ASYNC]; |
| 815 | long write_time; | 812 | long write_time; |
| 816 | 813 | ||
| 817 | write_time = (jiffies - ad->current_batch_expires) + batch; | 814 | write_time = (jiffies - ad->current_batch_expires) + batch; |
| @@ -855,7 +852,7 @@ static void as_completed_request(struct request_queue *q, struct request *rq) | |||
| 855 | kblockd_schedule_work(q, &ad->antic_work); | 852 | kblockd_schedule_work(q, &ad->antic_work); |
| 856 | ad->changed_batch = 0; | 853 | ad->changed_batch = 0; |
| 857 | 854 | ||
| 858 | if (ad->batch_data_dir == REQ_SYNC) | 855 | if (ad->batch_data_dir == BLK_RW_SYNC) |
| 859 | ad->new_batch = 1; | 856 | ad->new_batch = 1; |
| 860 | } | 857 | } |
| 861 | WARN_ON(ad->nr_dispatched == 0); | 858 | WARN_ON(ad->nr_dispatched == 0); |
| @@ -869,7 +866,7 @@ static void as_completed_request(struct request_queue *q, struct request *rq) | |||
| 869 | if (ad->new_batch && ad->batch_data_dir == rq_is_sync(rq)) { | 866 | if (ad->new_batch && ad->batch_data_dir == rq_is_sync(rq)) { |
| 870 | update_write_batch(ad); | 867 | update_write_batch(ad); |
| 871 | ad->current_batch_expires = jiffies + | 868 | ad->current_batch_expires = jiffies + |
| 872 | ad->batch_expire[REQ_SYNC]; | 869 | ad->batch_expire[BLK_RW_SYNC]; |
| 873 | ad->new_batch = 0; | 870 | ad->new_batch = 0; |
| 874 | } | 871 | } |
| 875 | 872 | ||
| @@ -960,7 +957,7 @@ static inline int as_batch_expired(struct as_data *ad) | |||
| 960 | if (ad->changed_batch || ad->new_batch) | 957 | if (ad->changed_batch || ad->new_batch) |
| 961 | return 0; | 958 | return 0; |
| 962 | 959 | ||
| 963 | if (ad->batch_data_dir == REQ_SYNC) | 960 | if (ad->batch_data_dir == BLK_RW_SYNC) |
| 964 | /* TODO! add a check so a complete fifo gets written? */ | 961 | /* TODO! add a check so a complete fifo gets written? */ |
| 965 | return time_after(jiffies, ad->current_batch_expires); | 962 | return time_after(jiffies, ad->current_batch_expires); |
| 966 | 963 | ||
| @@ -986,7 +983,7 @@ static void as_move_to_dispatch(struct as_data *ad, struct request *rq) | |||
| 986 | */ | 983 | */ |
| 987 | ad->last_sector[data_dir] = rq->sector + rq->nr_sectors; | 984 | ad->last_sector[data_dir] = rq->sector + rq->nr_sectors; |
| 988 | 985 | ||
| 989 | if (data_dir == REQ_SYNC) { | 986 | if (data_dir == BLK_RW_SYNC) { |
| 990 | struct io_context *ioc = RQ_IOC(rq); | 987 | struct io_context *ioc = RQ_IOC(rq); |
| 991 | /* In case we have to anticipate after this */ | 988 | /* In case we have to anticipate after this */ |
| 992 | copy_io_context(&ad->io_context, &ioc); | 989 | copy_io_context(&ad->io_context, &ioc); |
| @@ -1025,41 +1022,41 @@ static void as_move_to_dispatch(struct as_data *ad, struct request *rq) | |||
| 1025 | static int as_dispatch_request(struct request_queue *q, int force) | 1022 | static int as_dispatch_request(struct request_queue *q, int force) |
| 1026 | { | 1023 | { |
| 1027 | struct as_data *ad = q->elevator->elevator_data; | 1024 | struct as_data *ad = q->elevator->elevator_data; |
| 1028 | const int reads = !list_empty(&ad->fifo_list[REQ_SYNC]); | 1025 | const int reads = !list_empty(&ad->fifo_list[BLK_RW_SYNC]); |
| 1029 | const int writes = !list_empty(&ad->fifo_list[REQ_ASYNC]); | 1026 | const int writes = !list_empty(&ad->fifo_list[BLK_RW_ASYNC]); |
| 1030 | struct request *rq; | 1027 | struct request *rq; |
| 1031 | 1028 | ||
| 1032 | if (unlikely(force)) { | 1029 | if (unlikely(force)) { |
| 1033 | /* | 1030 | /* |
| 1034 | * Forced dispatch, accounting is useless. Reset | 1031 | * Forced dispatch, accounting is useless. Reset |
| 1035 | * accounting states and dump fifo_lists. Note that | 1032 | * accounting states and dump fifo_lists. Note that |
| 1036 | * batch_data_dir is reset to REQ_SYNC to avoid | 1033 | * batch_data_dir is reset to BLK_RW_SYNC to avoid |
| 1037 | * screwing write batch accounting as write batch | 1034 | * screwing write batch accounting as write batch |
| 1038 | * accounting occurs on W->R transition. | 1035 | * accounting occurs on W->R transition. |
| 1039 | */ | 1036 | */ |
| 1040 | int dispatched = 0; | 1037 | int dispatched = 0; |
| 1041 | 1038 | ||
| 1042 | ad->batch_data_dir = REQ_SYNC; | 1039 | ad->batch_data_dir = BLK_RW_SYNC; |
| 1043 | ad->changed_batch = 0; | 1040 | ad->changed_batch = 0; |
| 1044 | ad->new_batch = 0; | 1041 | ad->new_batch = 0; |
| 1045 | 1042 | ||
| 1046 | while (ad->next_rq[REQ_SYNC]) { | 1043 | while (ad->next_rq[BLK_RW_SYNC]) { |
| 1047 | as_move_to_dispatch(ad, ad->next_rq[REQ_SYNC]); | 1044 | as_move_to_dispatch(ad, ad->next_rq[BLK_RW_SYNC]); |
| 1048 | dispatched++; | 1045 | dispatched++; |
| 1049 | } | 1046 | } |
| 1050 | ad->last_check_fifo[REQ_SYNC] = jiffies; | 1047 | ad->last_check_fifo[BLK_RW_SYNC] = jiffies; |
| 1051 | 1048 | ||
| 1052 | while (ad->next_rq[REQ_ASYNC]) { | 1049 | while (ad->next_rq[BLK_RW_ASYNC]) { |
| 1053 | as_move_to_dispatch(ad, ad->next_rq[REQ_ASYNC]); | 1050 | as_move_to_dispatch(ad, ad->next_rq[BLK_RW_ASYNC]); |
| 1054 | dispatched++; | 1051 | dispatched++; |
| 1055 | } | 1052 | } |
| 1056 | ad->last_check_fifo[REQ_ASYNC] = jiffies; | 1053 | ad->last_check_fifo[BLK_RW_ASYNC] = jiffies; |
| 1057 | 1054 | ||
| 1058 | return dispatched; | 1055 | return dispatched; |
| 1059 | } | 1056 | } |
| 1060 | 1057 | ||
| 1061 | /* Signal that the write batch was uncontended, so we can't time it */ | 1058 | /* Signal that the write batch was uncontended, so we can't time it */ |
| 1062 | if (ad->batch_data_dir == REQ_ASYNC && !reads) { | 1059 | if (ad->batch_data_dir == BLK_RW_ASYNC && !reads) { |
| 1063 | if (ad->current_write_count == 0 || !writes) | 1060 | if (ad->current_write_count == 0 || !writes) |
| 1064 | ad->write_batch_idled = 1; | 1061 | ad->write_batch_idled = 1; |
| 1065 | } | 1062 | } |
| @@ -1076,8 +1073,8 @@ static int as_dispatch_request(struct request_queue *q, int force) | |||
| 1076 | */ | 1073 | */ |
| 1077 | rq = ad->next_rq[ad->batch_data_dir]; | 1074 | rq = ad->next_rq[ad->batch_data_dir]; |
| 1078 | 1075 | ||
| 1079 | if (ad->batch_data_dir == REQ_SYNC && ad->antic_expire) { | 1076 | if (ad->batch_data_dir == BLK_RW_SYNC && ad->antic_expire) { |
| 1080 | if (as_fifo_expired(ad, REQ_SYNC)) | 1077 | if (as_fifo_expired(ad, BLK_RW_SYNC)) |
| 1081 | goto fifo_expired; | 1078 | goto fifo_expired; |
| 1082 | 1079 | ||
| 1083 | if (as_can_anticipate(ad, rq)) { | 1080 | if (as_can_anticipate(ad, rq)) { |
| @@ -1090,7 +1087,7 @@ static int as_dispatch_request(struct request_queue *q, int force) | |||
| 1090 | /* we have a "next request" */ | 1087 | /* we have a "next request" */ |
| 1091 | if (reads && !writes) | 1088 | if (reads && !writes) |
| 1092 | ad->current_batch_expires = | 1089 | ad->current_batch_expires = |
| 1093 | jiffies + ad->batch_expire[REQ_SYNC]; | 1090 | jiffies + ad->batch_expire[BLK_RW_SYNC]; |
| 1094 | goto dispatch_request; | 1091 | goto dispatch_request; |
| 1095 | } | 1092 | } |
| 1096 | } | 1093 | } |
| @@ -1101,20 +1098,20 @@ static int as_dispatch_request(struct request_queue *q, int force) | |||
| 1101 | */ | 1098 | */ |
| 1102 | 1099 | ||
| 1103 | if (reads) { | 1100 | if (reads) { |
| 1104 | BUG_ON(RB_EMPTY_ROOT(&ad->sort_list[REQ_SYNC])); | 1101 | BUG_ON(RB_EMPTY_ROOT(&ad->sort_list[BLK_RW_SYNC])); |
| 1105 | 1102 | ||
| 1106 | if (writes && ad->batch_data_dir == REQ_SYNC) | 1103 | if (writes && ad->batch_data_dir == BLK_RW_SYNC) |
| 1107 | /* | 1104 | /* |
| 1108 | * Last batch was a read, switch to writes | 1105 | * Last batch was a read, switch to writes |
| 1109 | */ | 1106 | */ |
| 1110 | goto dispatch_writes; | 1107 | goto dispatch_writes; |
| 1111 | 1108 | ||
| 1112 | if (ad->batch_data_dir == REQ_ASYNC) { | 1109 | if (ad->batch_data_dir == BLK_RW_ASYNC) { |
| 1113 | WARN_ON(ad->new_batch); | 1110 | WARN_ON(ad->new_batch); |
| 1114 | ad->changed_batch = 1; | 1111 | ad->changed_batch = 1; |
| 1115 | } | 1112 | } |
| 1116 | ad->batch_data_dir = REQ_SYNC; | 1113 | ad->batch_data_dir = BLK_RW_SYNC; |
| 1117 | rq = rq_entry_fifo(ad->fifo_list[REQ_SYNC].next); | 1114 | rq = rq_entry_fifo(ad->fifo_list[BLK_RW_SYNC].next); |
| 1118 | ad->last_check_fifo[ad->batch_data_dir] = jiffies; | 1115 | ad->last_check_fifo[ad->batch_data_dir] = jiffies; |
| 1119 | goto dispatch_request; | 1116 | goto dispatch_request; |
| 1120 | } | 1117 | } |
| @@ -1125,9 +1122,9 @@ static int as_dispatch_request(struct request_queue *q, int force) | |||
| 1125 | 1122 | ||
| 1126 | if (writes) { | 1123 | if (writes) { |
| 1127 | dispatch_writes: | 1124 | dispatch_writes: |
| 1128 | BUG_ON(RB_EMPTY_ROOT(&ad->sort_list[REQ_ASYNC])); | 1125 | BUG_ON(RB_EMPTY_ROOT(&ad->sort_list[BLK_RW_ASYNC])); |
| 1129 | 1126 | ||
| 1130 | if (ad->batch_data_dir == REQ_SYNC) { | 1127 | if (ad->batch_data_dir == BLK_RW_SYNC) { |
| 1131 | ad->changed_batch = 1; | 1128 | ad->changed_batch = 1; |
| 1132 | 1129 | ||
| 1133 | /* | 1130 | /* |
| @@ -1137,11 +1134,11 @@ dispatch_writes: | |||
| 1137 | */ | 1134 | */ |
| 1138 | ad->new_batch = 0; | 1135 | ad->new_batch = 0; |
| 1139 | } | 1136 | } |
| 1140 | ad->batch_data_dir = REQ_ASYNC; | 1137 | ad->batch_data_dir = BLK_RW_ASYNC; |
| 1141 | ad->current_write_count = ad->write_batch_count; | 1138 | ad->current_write_count = ad->write_batch_count; |
| 1142 | ad->write_batch_idled = 0; | 1139 | ad->write_batch_idled = 0; |
| 1143 | rq = rq_entry_fifo(ad->fifo_list[REQ_ASYNC].next); | 1140 | rq = rq_entry_fifo(ad->fifo_list[BLK_RW_ASYNC].next); |
| 1144 | ad->last_check_fifo[REQ_ASYNC] = jiffies; | 1141 | ad->last_check_fifo[BLK_RW_ASYNC] = jiffies; |
| 1145 | goto dispatch_request; | 1142 | goto dispatch_request; |
| 1146 | } | 1143 | } |
| 1147 | 1144 | ||
| @@ -1164,9 +1161,9 @@ fifo_expired: | |||
| 1164 | if (ad->nr_dispatched) | 1161 | if (ad->nr_dispatched) |
| 1165 | return 0; | 1162 | return 0; |
| 1166 | 1163 | ||
| 1167 | if (ad->batch_data_dir == REQ_ASYNC) | 1164 | if (ad->batch_data_dir == BLK_RW_ASYNC) |
| 1168 | ad->current_batch_expires = jiffies + | 1165 | ad->current_batch_expires = jiffies + |
| 1169 | ad->batch_expire[REQ_ASYNC]; | 1166 | ad->batch_expire[BLK_RW_ASYNC]; |
| 1170 | else | 1167 | else |
| 1171 | ad->new_batch = 1; | 1168 | ad->new_batch = 1; |
| 1172 | 1169 | ||
| @@ -1238,8 +1235,8 @@ static int as_queue_empty(struct request_queue *q) | |||
| 1238 | { | 1235 | { |
| 1239 | struct as_data *ad = q->elevator->elevator_data; | 1236 | struct as_data *ad = q->elevator->elevator_data; |
| 1240 | 1237 | ||
| 1241 | return list_empty(&ad->fifo_list[REQ_ASYNC]) | 1238 | return list_empty(&ad->fifo_list[BLK_RW_ASYNC]) |
| 1242 | && list_empty(&ad->fifo_list[REQ_SYNC]); | 1239 | && list_empty(&ad->fifo_list[BLK_RW_SYNC]); |
| 1243 | } | 1240 | } |
| 1244 | 1241 | ||
| 1245 | static int | 1242 | static int |
| @@ -1346,8 +1343,8 @@ static void as_exit_queue(struct elevator_queue *e) | |||
| 1346 | del_timer_sync(&ad->antic_timer); | 1343 | del_timer_sync(&ad->antic_timer); |
| 1347 | cancel_work_sync(&ad->antic_work); | 1344 | cancel_work_sync(&ad->antic_work); |
| 1348 | 1345 | ||
| 1349 | BUG_ON(!list_empty(&ad->fifo_list[REQ_SYNC])); | 1346 | BUG_ON(!list_empty(&ad->fifo_list[BLK_RW_SYNC])); |
| 1350 | BUG_ON(!list_empty(&ad->fifo_list[REQ_ASYNC])); | 1347 | BUG_ON(!list_empty(&ad->fifo_list[BLK_RW_ASYNC])); |
| 1351 | 1348 | ||
| 1352 | put_io_context(ad->io_context); | 1349 | put_io_context(ad->io_context); |
| 1353 | kfree(ad); | 1350 | kfree(ad); |
| @@ -1372,18 +1369,18 @@ static void *as_init_queue(struct request_queue *q) | |||
| 1372 | init_timer(&ad->antic_timer); | 1369 | init_timer(&ad->antic_timer); |
| 1373 | INIT_WORK(&ad->antic_work, as_work_handler); | 1370 | INIT_WORK(&ad->antic_work, as_work_handler); |
| 1374 | 1371 | ||
| 1375 | INIT_LIST_HEAD(&ad->fifo_list[REQ_SYNC]); | 1372 | INIT_LIST_HEAD(&ad->fifo_list[BLK_RW_SYNC]); |
| 1376 | INIT_LIST_HEAD(&ad->fifo_list[REQ_ASYNC]); | 1373 | INIT_LIST_HEAD(&ad->fifo_list[BLK_RW_ASYNC]); |
| 1377 | ad->sort_list[REQ_SYNC] = RB_ROOT; | 1374 | ad->sort_list[BLK_RW_SYNC] = RB_ROOT; |
| 1378 | ad->sort_list[REQ_ASYNC] = RB_ROOT; | 1375 | ad->sort_list[BLK_RW_ASYNC] = RB_ROOT; |
| 1379 | ad->fifo_expire[REQ_SYNC] = default_read_expire; | 1376 | ad->fifo_expire[BLK_RW_SYNC] = default_read_expire; |
| 1380 | ad->fifo_expire[REQ_ASYNC] = default_write_expire; | 1377 | ad->fifo_expire[BLK_RW_ASYNC] = default_write_expire; |
| 1381 | ad->antic_expire = default_antic_expire; | 1378 | ad->antic_expire = default_antic_expire; |
| 1382 | ad->batch_expire[REQ_SYNC] = default_read_batch_expire; | 1379 | ad->batch_expire[BLK_RW_SYNC] = default_read_batch_expire; |
| 1383 | ad->batch_expire[REQ_ASYNC] = default_write_batch_expire; | 1380 | ad->batch_expire[BLK_RW_ASYNC] = default_write_batch_expire; |
| 1384 | 1381 | ||
| 1385 | ad->current_batch_expires = jiffies + ad->batch_expire[REQ_SYNC]; | 1382 | ad->current_batch_expires = jiffies + ad->batch_expire[BLK_RW_SYNC]; |
| 1386 | ad->write_batch_count = ad->batch_expire[REQ_ASYNC] / 10; | 1383 | ad->write_batch_count = ad->batch_expire[BLK_RW_ASYNC] / 10; |
| 1387 | if (ad->write_batch_count < 2) | 1384 | if (ad->write_batch_count < 2) |
| 1388 | ad->write_batch_count = 2; | 1385 | ad->write_batch_count = 2; |
| 1389 | 1386 | ||
| @@ -1432,11 +1429,11 @@ static ssize_t __FUNC(struct elevator_queue *e, char *page) \ | |||
| 1432 | struct as_data *ad = e->elevator_data; \ | 1429 | struct as_data *ad = e->elevator_data; \ |
| 1433 | return as_var_show(jiffies_to_msecs((__VAR)), (page)); \ | 1430 | return as_var_show(jiffies_to_msecs((__VAR)), (page)); \ |
| 1434 | } | 1431 | } |
| 1435 | SHOW_FUNCTION(as_read_expire_show, ad->fifo_expire[REQ_SYNC]); | 1432 | SHOW_FUNCTION(as_read_expire_show, ad->fifo_expire[BLK_RW_SYNC]); |
| 1436 | SHOW_FUNCTION(as_write_expire_show, ad->fifo_expire[REQ_ASYNC]); | 1433 | SHOW_FUNCTION(as_write_expire_show, ad->fifo_expire[BLK_RW_ASYNC]); |
| 1437 | SHOW_FUNCTION(as_antic_expire_show, ad->antic_expire); | 1434 | SHOW_FUNCTION(as_antic_expire_show, ad->antic_expire); |
| 1438 | SHOW_FUNCTION(as_read_batch_expire_show, ad->batch_expire[REQ_SYNC]); | 1435 | SHOW_FUNCTION(as_read_batch_expire_show, ad->batch_expire[BLK_RW_SYNC]); |
| 1439 | SHOW_FUNCTION(as_write_batch_expire_show, ad->batch_expire[REQ_ASYNC]); | 1436 | SHOW_FUNCTION(as_write_batch_expire_show, ad->batch_expire[BLK_RW_ASYNC]); |
| 1440 | #undef SHOW_FUNCTION | 1437 | #undef SHOW_FUNCTION |
| 1441 | 1438 | ||
| 1442 | #define STORE_FUNCTION(__FUNC, __PTR, MIN, MAX) \ | 1439 | #define STORE_FUNCTION(__FUNC, __PTR, MIN, MAX) \ |
| @@ -1451,13 +1448,14 @@ static ssize_t __FUNC(struct elevator_queue *e, const char *page, size_t count) | |||
| 1451 | *(__PTR) = msecs_to_jiffies(*(__PTR)); \ | 1448 | *(__PTR) = msecs_to_jiffies(*(__PTR)); \ |
| 1452 | return ret; \ | 1449 | return ret; \ |
| 1453 | } | 1450 | } |
| 1454 | STORE_FUNCTION(as_read_expire_store, &ad->fifo_expire[REQ_SYNC], 0, INT_MAX); | 1451 | STORE_FUNCTION(as_read_expire_store, &ad->fifo_expire[BLK_RW_SYNC], 0, INT_MAX); |
| 1455 | STORE_FUNCTION(as_write_expire_store, &ad->fifo_expire[REQ_ASYNC], 0, INT_MAX); | 1452 | STORE_FUNCTION(as_write_expire_store, |
| 1453 | &ad->fifo_expire[BLK_RW_ASYNC], 0, INT_MAX); | ||
| 1456 | STORE_FUNCTION(as_antic_expire_store, &ad->antic_expire, 0, INT_MAX); | 1454 | STORE_FUNCTION(as_antic_expire_store, &ad->antic_expire, 0, INT_MAX); |
| 1457 | STORE_FUNCTION(as_read_batch_expire_store, | 1455 | STORE_FUNCTION(as_read_batch_expire_store, |
| 1458 | &ad->batch_expire[REQ_SYNC], 0, INT_MAX); | 1456 | &ad->batch_expire[BLK_RW_SYNC], 0, INT_MAX); |
| 1459 | STORE_FUNCTION(as_write_batch_expire_store, | 1457 | STORE_FUNCTION(as_write_batch_expire_store, |
| 1460 | &ad->batch_expire[REQ_ASYNC], 0, INT_MAX); | 1458 | &ad->batch_expire[BLK_RW_ASYNC], 0, INT_MAX); |
| 1461 | #undef STORE_FUNCTION | 1459 | #undef STORE_FUNCTION |
| 1462 | 1460 | ||
| 1463 | #define AS_ATTR(name) \ | 1461 | #define AS_ATTR(name) \ |
diff --git a/block/blk-barrier.c b/block/blk-barrier.c index f7dae57e6cab..20b4111fa050 100644 --- a/block/blk-barrier.c +++ b/block/blk-barrier.c | |||
| @@ -319,9 +319,6 @@ int blkdev_issue_flush(struct block_device *bdev, sector_t *error_sector) | |||
| 319 | return -ENXIO; | 319 | return -ENXIO; |
| 320 | 320 | ||
| 321 | bio = bio_alloc(GFP_KERNEL, 0); | 321 | bio = bio_alloc(GFP_KERNEL, 0); |
| 322 | if (!bio) | ||
| 323 | return -ENOMEM; | ||
| 324 | |||
| 325 | bio->bi_end_io = bio_end_empty_barrier; | 322 | bio->bi_end_io = bio_end_empty_barrier; |
| 326 | bio->bi_private = &wait; | 323 | bio->bi_private = &wait; |
| 327 | bio->bi_bdev = bdev; | 324 | bio->bi_bdev = bdev; |
diff --git a/block/blk-sysfs.c b/block/blk-sysfs.c index 73f36beff5cd..cac4e9febe6a 100644 --- a/block/blk-sysfs.c +++ b/block/blk-sysfs.c | |||
| @@ -209,14 +209,14 @@ static ssize_t queue_iostats_store(struct request_queue *q, const char *page, | |||
| 209 | ssize_t ret = queue_var_store(&stats, page, count); | 209 | ssize_t ret = queue_var_store(&stats, page, count); |
| 210 | 210 | ||
| 211 | spin_lock_irq(q->queue_lock); | 211 | spin_lock_irq(q->queue_lock); |
| 212 | elv_quisce_start(q); | 212 | elv_quiesce_start(q); |
| 213 | 213 | ||
| 214 | if (stats) | 214 | if (stats) |
| 215 | queue_flag_set(QUEUE_FLAG_IO_STAT, q); | 215 | queue_flag_set(QUEUE_FLAG_IO_STAT, q); |
| 216 | else | 216 | else |
| 217 | queue_flag_clear(QUEUE_FLAG_IO_STAT, q); | 217 | queue_flag_clear(QUEUE_FLAG_IO_STAT, q); |
| 218 | 218 | ||
| 219 | elv_quisce_end(q); | 219 | elv_quiesce_end(q); |
| 220 | spin_unlock_irq(q->queue_lock); | 220 | spin_unlock_irq(q->queue_lock); |
| 221 | 221 | ||
| 222 | return ret; | 222 | return ret; |
diff --git a/block/blk.h b/block/blk.h index 24fcaeeaf620..5dfc41267a08 100644 --- a/block/blk.h +++ b/block/blk.h | |||
| @@ -70,8 +70,8 @@ void blk_queue_congestion_threshold(struct request_queue *q); | |||
| 70 | 70 | ||
| 71 | int blk_dev_init(void); | 71 | int blk_dev_init(void); |
| 72 | 72 | ||
| 73 | void elv_quisce_start(struct request_queue *q); | 73 | void elv_quiesce_start(struct request_queue *q); |
| 74 | void elv_quisce_end(struct request_queue *q); | 74 | void elv_quiesce_end(struct request_queue *q); |
| 75 | 75 | ||
| 76 | 76 | ||
| 77 | /* | 77 | /* |
diff --git a/block/cfq-iosched.c b/block/cfq-iosched.c index a4809de6fea6..0d3b70de3d80 100644 --- a/block/cfq-iosched.c +++ b/block/cfq-iosched.c | |||
| @@ -56,9 +56,6 @@ static DEFINE_SPINLOCK(ioc_gone_lock); | |||
| 56 | #define cfq_class_idle(cfqq) ((cfqq)->ioprio_class == IOPRIO_CLASS_IDLE) | 56 | #define cfq_class_idle(cfqq) ((cfqq)->ioprio_class == IOPRIO_CLASS_IDLE) |
| 57 | #define cfq_class_rt(cfqq) ((cfqq)->ioprio_class == IOPRIO_CLASS_RT) | 57 | #define cfq_class_rt(cfqq) ((cfqq)->ioprio_class == IOPRIO_CLASS_RT) |
| 58 | 58 | ||
| 59 | #define ASYNC (0) | ||
| 60 | #define SYNC (1) | ||
| 61 | |||
| 62 | #define sample_valid(samples) ((samples) > 80) | 59 | #define sample_valid(samples) ((samples) > 80) |
| 63 | 60 | ||
| 64 | /* | 61 | /* |
| @@ -83,6 +80,14 @@ struct cfq_data { | |||
| 83 | * rr list of queues with requests and the count of them | 80 | * rr list of queues with requests and the count of them |
| 84 | */ | 81 | */ |
| 85 | struct cfq_rb_root service_tree; | 82 | struct cfq_rb_root service_tree; |
| 83 | |||
| 84 | /* | ||
| 85 | * Each priority tree is sorted by next_request position. These | ||
| 86 | * trees are used when determining if two or more queues are | ||
| 87 | * interleaving requests (see cfq_close_cooperator). | ||
| 88 | */ | ||
| 89 | struct rb_root prio_trees[CFQ_PRIO_LISTS]; | ||
| 90 | |||
| 86 | unsigned int busy_queues; | 91 | unsigned int busy_queues; |
| 87 | /* | 92 | /* |
| 88 | * Used to track any pending rt requests so we can pre-empt current | 93 | * Used to track any pending rt requests so we can pre-empt current |
| @@ -147,6 +152,8 @@ struct cfq_queue { | |||
| 147 | struct rb_node rb_node; | 152 | struct rb_node rb_node; |
| 148 | /* service_tree key */ | 153 | /* service_tree key */ |
| 149 | unsigned long rb_key; | 154 | unsigned long rb_key; |
| 155 | /* prio tree member */ | ||
| 156 | struct rb_node p_node; | ||
| 150 | /* sorted list of pending requests */ | 157 | /* sorted list of pending requests */ |
| 151 | struct rb_root sort_list; | 158 | struct rb_root sort_list; |
| 152 | /* if fifo isn't expired, next request to serve */ | 159 | /* if fifo isn't expired, next request to serve */ |
| @@ -185,6 +192,7 @@ enum cfqq_state_flags { | |||
| 185 | CFQ_CFQQ_FLAG_prio_changed, /* task priority has changed */ | 192 | CFQ_CFQQ_FLAG_prio_changed, /* task priority has changed */ |
| 186 | CFQ_CFQQ_FLAG_slice_new, /* no requests dispatched in slice */ | 193 | CFQ_CFQQ_FLAG_slice_new, /* no requests dispatched in slice */ |
| 187 | CFQ_CFQQ_FLAG_sync, /* synchronous queue */ | 194 | CFQ_CFQQ_FLAG_sync, /* synchronous queue */ |
| 195 | CFQ_CFQQ_FLAG_coop, /* has done a coop jump of the queue */ | ||
| 188 | }; | 196 | }; |
| 189 | 197 | ||
| 190 | #define CFQ_CFQQ_FNS(name) \ | 198 | #define CFQ_CFQQ_FNS(name) \ |
| @@ -211,6 +219,7 @@ CFQ_CFQQ_FNS(idle_window); | |||
| 211 | CFQ_CFQQ_FNS(prio_changed); | 219 | CFQ_CFQQ_FNS(prio_changed); |
| 212 | CFQ_CFQQ_FNS(slice_new); | 220 | CFQ_CFQQ_FNS(slice_new); |
| 213 | CFQ_CFQQ_FNS(sync); | 221 | CFQ_CFQQ_FNS(sync); |
| 222 | CFQ_CFQQ_FNS(coop); | ||
| 214 | #undef CFQ_CFQQ_FNS | 223 | #undef CFQ_CFQQ_FNS |
| 215 | 224 | ||
| 216 | #define cfq_log_cfqq(cfqd, cfqq, fmt, args...) \ | 225 | #define cfq_log_cfqq(cfqd, cfqq, fmt, args...) \ |
| @@ -419,13 +428,17 @@ static struct cfq_queue *cfq_rb_first(struct cfq_rb_root *root) | |||
| 419 | return NULL; | 428 | return NULL; |
| 420 | } | 429 | } |
| 421 | 430 | ||
| 431 | static void rb_erase_init(struct rb_node *n, struct rb_root *root) | ||
| 432 | { | ||
| 433 | rb_erase(n, root); | ||
| 434 | RB_CLEAR_NODE(n); | ||
| 435 | } | ||
| 436 | |||
| 422 | static void cfq_rb_erase(struct rb_node *n, struct cfq_rb_root *root) | 437 | static void cfq_rb_erase(struct rb_node *n, struct cfq_rb_root *root) |
| 423 | { | 438 | { |
| 424 | if (root->left == n) | 439 | if (root->left == n) |
| 425 | root->left = NULL; | 440 | root->left = NULL; |
| 426 | 441 | rb_erase_init(n, &root->rb); | |
| 427 | rb_erase(n, &root->rb); | ||
| 428 | RB_CLEAR_NODE(n); | ||
| 429 | } | 442 | } |
| 430 | 443 | ||
| 431 | /* | 444 | /* |
| @@ -470,8 +483,8 @@ static unsigned long cfq_slice_offset(struct cfq_data *cfqd, | |||
| 470 | * requests waiting to be processed. It is sorted in the order that | 483 | * requests waiting to be processed. It is sorted in the order that |
| 471 | * we will service the queues. | 484 | * we will service the queues. |
| 472 | */ | 485 | */ |
| 473 | static void cfq_service_tree_add(struct cfq_data *cfqd, | 486 | static void cfq_service_tree_add(struct cfq_data *cfqd, struct cfq_queue *cfqq, |
| 474 | struct cfq_queue *cfqq, int add_front) | 487 | int add_front) |
| 475 | { | 488 | { |
| 476 | struct rb_node **p, *parent; | 489 | struct rb_node **p, *parent; |
| 477 | struct cfq_queue *__cfqq; | 490 | struct cfq_queue *__cfqq; |
| @@ -544,6 +557,63 @@ static void cfq_service_tree_add(struct cfq_data *cfqd, | |||
| 544 | rb_insert_color(&cfqq->rb_node, &cfqd->service_tree.rb); | 557 | rb_insert_color(&cfqq->rb_node, &cfqd->service_tree.rb); |
| 545 | } | 558 | } |
| 546 | 559 | ||
| 560 | static struct cfq_queue * | ||
| 561 | cfq_prio_tree_lookup(struct cfq_data *cfqd, int ioprio, sector_t sector, | ||
| 562 | struct rb_node **ret_parent, struct rb_node ***rb_link) | ||
| 563 | { | ||
| 564 | struct rb_root *root = &cfqd->prio_trees[ioprio]; | ||
| 565 | struct rb_node **p, *parent; | ||
| 566 | struct cfq_queue *cfqq = NULL; | ||
| 567 | |||
| 568 | parent = NULL; | ||
| 569 | p = &root->rb_node; | ||
| 570 | while (*p) { | ||
| 571 | struct rb_node **n; | ||
| 572 | |||
| 573 | parent = *p; | ||
| 574 | cfqq = rb_entry(parent, struct cfq_queue, p_node); | ||
| 575 | |||
| 576 | /* | ||
| 577 | * Sort strictly based on sector. Smallest to the left, | ||
| 578 | * largest to the right. | ||
| 579 | */ | ||
| 580 | if (sector > cfqq->next_rq->sector) | ||
| 581 | n = &(*p)->rb_right; | ||
| 582 | else if (sector < cfqq->next_rq->sector) | ||
| 583 | n = &(*p)->rb_left; | ||
| 584 | else | ||
| 585 | break; | ||
| 586 | p = n; | ||
| 587 | } | ||
| 588 | |||
| 589 | *ret_parent = parent; | ||
| 590 | if (rb_link) | ||
| 591 | *rb_link = p; | ||
| 592 | return NULL; | ||
| 593 | } | ||
| 594 | |||
| 595 | static void cfq_prio_tree_add(struct cfq_data *cfqd, struct cfq_queue *cfqq) | ||
| 596 | { | ||
| 597 | struct rb_root *root = &cfqd->prio_trees[cfqq->ioprio]; | ||
| 598 | struct rb_node **p, *parent; | ||
| 599 | struct cfq_queue *__cfqq; | ||
| 600 | |||
| 601 | if (!RB_EMPTY_NODE(&cfqq->p_node)) | ||
| 602 | rb_erase_init(&cfqq->p_node, root); | ||
| 603 | |||
| 604 | if (cfq_class_idle(cfqq)) | ||
| 605 | return; | ||
| 606 | if (!cfqq->next_rq) | ||
| 607 | return; | ||
| 608 | |||
| 609 | __cfqq = cfq_prio_tree_lookup(cfqd, cfqq->ioprio, cfqq->next_rq->sector, | ||
| 610 | &parent, &p); | ||
| 611 | BUG_ON(__cfqq); | ||
| 612 | |||
| 613 | rb_link_node(&cfqq->p_node, parent, p); | ||
| 614 | rb_insert_color(&cfqq->p_node, root); | ||
| 615 | } | ||
| 616 | |||
| 547 | /* | 617 | /* |
| 548 | * Update cfqq's position in the service tree. | 618 | * Update cfqq's position in the service tree. |
| 549 | */ | 619 | */ |
| @@ -552,8 +622,10 @@ static void cfq_resort_rr_list(struct cfq_data *cfqd, struct cfq_queue *cfqq) | |||
| 552 | /* | 622 | /* |
| 553 | * Resorting requires the cfqq to be on the RR list already. | 623 | * Resorting requires the cfqq to be on the RR list already. |
| 554 | */ | 624 | */ |
| 555 | if (cfq_cfqq_on_rr(cfqq)) | 625 | if (cfq_cfqq_on_rr(cfqq)) { |
| 556 | cfq_service_tree_add(cfqd, cfqq, 0); | 626 | cfq_service_tree_add(cfqd, cfqq, 0); |
| 627 | cfq_prio_tree_add(cfqd, cfqq); | ||
| 628 | } | ||
| 557 | } | 629 | } |
| 558 | 630 | ||
| 559 | /* | 631 | /* |
| @@ -584,6 +656,8 @@ static void cfq_del_cfqq_rr(struct cfq_data *cfqd, struct cfq_queue *cfqq) | |||
| 584 | 656 | ||
| 585 | if (!RB_EMPTY_NODE(&cfqq->rb_node)) | 657 | if (!RB_EMPTY_NODE(&cfqq->rb_node)) |
| 586 | cfq_rb_erase(&cfqq->rb_node, &cfqd->service_tree); | 658 | cfq_rb_erase(&cfqq->rb_node, &cfqd->service_tree); |
| 659 | if (!RB_EMPTY_NODE(&cfqq->p_node)) | ||
| 660 | rb_erase_init(&cfqq->p_node, &cfqd->prio_trees[cfqq->ioprio]); | ||
| 587 | 661 | ||
| 588 | BUG_ON(!cfqd->busy_queues); | 662 | BUG_ON(!cfqd->busy_queues); |
| 589 | cfqd->busy_queues--; | 663 | cfqd->busy_queues--; |
| @@ -613,7 +687,7 @@ static void cfq_add_rq_rb(struct request *rq) | |||
| 613 | { | 687 | { |
| 614 | struct cfq_queue *cfqq = RQ_CFQQ(rq); | 688 | struct cfq_queue *cfqq = RQ_CFQQ(rq); |
| 615 | struct cfq_data *cfqd = cfqq->cfqd; | 689 | struct cfq_data *cfqd = cfqq->cfqd; |
| 616 | struct request *__alias; | 690 | struct request *__alias, *prev; |
| 617 | 691 | ||
| 618 | cfqq->queued[rq_is_sync(rq)]++; | 692 | cfqq->queued[rq_is_sync(rq)]++; |
| 619 | 693 | ||
| @@ -630,7 +704,15 @@ static void cfq_add_rq_rb(struct request *rq) | |||
| 630 | /* | 704 | /* |
| 631 | * check if this request is a better next-serve candidate | 705 | * check if this request is a better next-serve candidate |
| 632 | */ | 706 | */ |
| 707 | prev = cfqq->next_rq; | ||
| 633 | cfqq->next_rq = cfq_choose_req(cfqd, cfqq->next_rq, rq); | 708 | cfqq->next_rq = cfq_choose_req(cfqd, cfqq->next_rq, rq); |
| 709 | |||
| 710 | /* | ||
| 711 | * adjust priority tree position, if ->next_rq changes | ||
| 712 | */ | ||
| 713 | if (prev != cfqq->next_rq) | ||
| 714 | cfq_prio_tree_add(cfqd, cfqq); | ||
| 715 | |||
| 634 | BUG_ON(!cfqq->next_rq); | 716 | BUG_ON(!cfqq->next_rq); |
| 635 | } | 717 | } |
| 636 | 718 | ||
| @@ -843,11 +925,15 @@ static struct cfq_queue *cfq_get_next_queue(struct cfq_data *cfqd) | |||
| 843 | /* | 925 | /* |
| 844 | * Get and set a new active queue for service. | 926 | * Get and set a new active queue for service. |
| 845 | */ | 927 | */ |
| 846 | static struct cfq_queue *cfq_set_active_queue(struct cfq_data *cfqd) | 928 | static struct cfq_queue *cfq_set_active_queue(struct cfq_data *cfqd, |
| 929 | struct cfq_queue *cfqq) | ||
| 847 | { | 930 | { |
| 848 | struct cfq_queue *cfqq; | 931 | if (!cfqq) { |
| 932 | cfqq = cfq_get_next_queue(cfqd); | ||
| 933 | if (cfqq) | ||
| 934 | cfq_clear_cfqq_coop(cfqq); | ||
| 935 | } | ||
| 849 | 936 | ||
| 850 | cfqq = cfq_get_next_queue(cfqd); | ||
| 851 | __cfq_set_active_queue(cfqd, cfqq); | 937 | __cfq_set_active_queue(cfqd, cfqq); |
| 852 | return cfqq; | 938 | return cfqq; |
| 853 | } | 939 | } |
| @@ -871,17 +957,89 @@ static inline int cfq_rq_close(struct cfq_data *cfqd, struct request *rq) | |||
| 871 | return cfq_dist_from_last(cfqd, rq) <= cic->seek_mean; | 957 | return cfq_dist_from_last(cfqd, rq) <= cic->seek_mean; |
| 872 | } | 958 | } |
| 873 | 959 | ||
| 874 | static int cfq_close_cooperator(struct cfq_data *cfq_data, | 960 | static struct cfq_queue *cfqq_close(struct cfq_data *cfqd, |
| 875 | struct cfq_queue *cfqq) | 961 | struct cfq_queue *cur_cfqq) |
| 962 | { | ||
| 963 | struct rb_root *root = &cfqd->prio_trees[cur_cfqq->ioprio]; | ||
| 964 | struct rb_node *parent, *node; | ||
| 965 | struct cfq_queue *__cfqq; | ||
| 966 | sector_t sector = cfqd->last_position; | ||
| 967 | |||
| 968 | if (RB_EMPTY_ROOT(root)) | ||
| 969 | return NULL; | ||
| 970 | |||
| 971 | /* | ||
| 972 | * First, if we find a request starting at the end of the last | ||
| 973 | * request, choose it. | ||
| 974 | */ | ||
| 975 | __cfqq = cfq_prio_tree_lookup(cfqd, cur_cfqq->ioprio, | ||
| 976 | sector, &parent, NULL); | ||
| 977 | if (__cfqq) | ||
| 978 | return __cfqq; | ||
| 979 | |||
| 980 | /* | ||
| 981 | * If the exact sector wasn't found, the parent of the NULL leaf | ||
| 982 | * will contain the closest sector. | ||
| 983 | */ | ||
| 984 | __cfqq = rb_entry(parent, struct cfq_queue, p_node); | ||
| 985 | if (cfq_rq_close(cfqd, __cfqq->next_rq)) | ||
| 986 | return __cfqq; | ||
| 987 | |||
| 988 | if (__cfqq->next_rq->sector < sector) | ||
| 989 | node = rb_next(&__cfqq->p_node); | ||
| 990 | else | ||
| 991 | node = rb_prev(&__cfqq->p_node); | ||
| 992 | if (!node) | ||
| 993 | return NULL; | ||
| 994 | |||
| 995 | __cfqq = rb_entry(node, struct cfq_queue, p_node); | ||
| 996 | if (cfq_rq_close(cfqd, __cfqq->next_rq)) | ||
| 997 | return __cfqq; | ||
| 998 | |||
| 999 | return NULL; | ||
| 1000 | } | ||
| 1001 | |||
| 1002 | /* | ||
| 1003 | * cfqd - obvious | ||
| 1004 | * cur_cfqq - passed in so that we don't decide that the current queue is | ||
| 1005 | * closely cooperating with itself. | ||
| 1006 | * | ||
| 1007 | * So, basically we're assuming that that cur_cfqq has dispatched at least | ||
| 1008 | * one request, and that cfqd->last_position reflects a position on the disk | ||
| 1009 | * associated with the I/O issued by cur_cfqq. I'm not sure this is a valid | ||
| 1010 | * assumption. | ||
| 1011 | */ | ||
| 1012 | static struct cfq_queue *cfq_close_cooperator(struct cfq_data *cfqd, | ||
| 1013 | struct cfq_queue *cur_cfqq, | ||
| 1014 | int probe) | ||
| 876 | { | 1015 | { |
| 1016 | struct cfq_queue *cfqq; | ||
| 1017 | |||
| 1018 | /* | ||
| 1019 | * A valid cfq_io_context is necessary to compare requests against | ||
| 1020 | * the seek_mean of the current cfqq. | ||
| 1021 | */ | ||
| 1022 | if (!cfqd->active_cic) | ||
| 1023 | return NULL; | ||
| 1024 | |||
| 877 | /* | 1025 | /* |
| 878 | * We should notice if some of the queues are cooperating, eg | 1026 | * We should notice if some of the queues are cooperating, eg |
| 879 | * working closely on the same area of the disk. In that case, | 1027 | * working closely on the same area of the disk. In that case, |
| 880 | * we can group them together and don't waste time idling. | 1028 | * we can group them together and don't waste time idling. |
| 881 | */ | 1029 | */ |
| 882 | return 0; | 1030 | cfqq = cfqq_close(cfqd, cur_cfqq); |
| 1031 | if (!cfqq) | ||
| 1032 | return NULL; | ||
| 1033 | |||
| 1034 | if (cfq_cfqq_coop(cfqq)) | ||
| 1035 | return NULL; | ||
| 1036 | |||
| 1037 | if (!probe) | ||
| 1038 | cfq_mark_cfqq_coop(cfqq); | ||
| 1039 | return cfqq; | ||
| 883 | } | 1040 | } |
| 884 | 1041 | ||
| 1042 | |||
| 885 | #define CIC_SEEKY(cic) ((cic)->seek_mean > (8 * 1024)) | 1043 | #define CIC_SEEKY(cic) ((cic)->seek_mean > (8 * 1024)) |
| 886 | 1044 | ||
| 887 | static void cfq_arm_slice_timer(struct cfq_data *cfqd) | 1045 | static void cfq_arm_slice_timer(struct cfq_data *cfqd) |
| @@ -920,13 +1078,6 @@ static void cfq_arm_slice_timer(struct cfq_data *cfqd) | |||
| 920 | if (!cic || !atomic_read(&cic->ioc->nr_tasks)) | 1078 | if (!cic || !atomic_read(&cic->ioc->nr_tasks)) |
| 921 | return; | 1079 | return; |
| 922 | 1080 | ||
| 923 | /* | ||
| 924 | * See if this prio level has a good candidate | ||
| 925 | */ | ||
| 926 | if (cfq_close_cooperator(cfqd, cfqq) && | ||
| 927 | (sample_valid(cic->ttime_samples) && cic->ttime_mean > 2)) | ||
| 928 | return; | ||
| 929 | |||
| 930 | cfq_mark_cfqq_wait_request(cfqq); | 1081 | cfq_mark_cfqq_wait_request(cfqq); |
| 931 | 1082 | ||
| 932 | /* | 1083 | /* |
| @@ -939,7 +1090,7 @@ static void cfq_arm_slice_timer(struct cfq_data *cfqd) | |||
| 939 | sl = min(sl, msecs_to_jiffies(CFQ_MIN_TT)); | 1090 | sl = min(sl, msecs_to_jiffies(CFQ_MIN_TT)); |
| 940 | 1091 | ||
| 941 | mod_timer(&cfqd->idle_slice_timer, jiffies + sl); | 1092 | mod_timer(&cfqd->idle_slice_timer, jiffies + sl); |
| 942 | cfq_log(cfqd, "arm_idle: %lu", sl); | 1093 | cfq_log_cfqq(cfqd, cfqq, "arm_idle: %lu", sl); |
| 943 | } | 1094 | } |
| 944 | 1095 | ||
| 945 | /* | 1096 | /* |
| @@ -1003,7 +1154,7 @@ cfq_prio_to_maxrq(struct cfq_data *cfqd, struct cfq_queue *cfqq) | |||
| 1003 | */ | 1154 | */ |
| 1004 | static struct cfq_queue *cfq_select_queue(struct cfq_data *cfqd) | 1155 | static struct cfq_queue *cfq_select_queue(struct cfq_data *cfqd) |
| 1005 | { | 1156 | { |
| 1006 | struct cfq_queue *cfqq; | 1157 | struct cfq_queue *cfqq, *new_cfqq = NULL; |
| 1007 | 1158 | ||
| 1008 | cfqq = cfqd->active_queue; | 1159 | cfqq = cfqd->active_queue; |
| 1009 | if (!cfqq) | 1160 | if (!cfqq) |
| @@ -1037,6 +1188,16 @@ static struct cfq_queue *cfq_select_queue(struct cfq_data *cfqd) | |||
| 1037 | goto keep_queue; | 1188 | goto keep_queue; |
| 1038 | 1189 | ||
| 1039 | /* | 1190 | /* |
| 1191 | * If another queue has a request waiting within our mean seek | ||
| 1192 | * distance, let it run. The expire code will check for close | ||
| 1193 | * cooperators and put the close queue at the front of the service | ||
| 1194 | * tree. | ||
| 1195 | */ | ||
| 1196 | new_cfqq = cfq_close_cooperator(cfqd, cfqq, 0); | ||
| 1197 | if (new_cfqq) | ||
| 1198 | goto expire; | ||
| 1199 | |||
| 1200 | /* | ||
| 1040 | * No requests pending. If the active queue still has requests in | 1201 | * No requests pending. If the active queue still has requests in |
| 1041 | * flight or is idling for a new request, allow either of these | 1202 | * flight or is idling for a new request, allow either of these |
| 1042 | * conditions to happen (or time out) before selecting a new queue. | 1203 | * conditions to happen (or time out) before selecting a new queue. |
| @@ -1050,7 +1211,7 @@ static struct cfq_queue *cfq_select_queue(struct cfq_data *cfqd) | |||
| 1050 | expire: | 1211 | expire: |
| 1051 | cfq_slice_expired(cfqd, 0); | 1212 | cfq_slice_expired(cfqd, 0); |
| 1052 | new_queue: | 1213 | new_queue: |
| 1053 | cfqq = cfq_set_active_queue(cfqd); | 1214 | cfqq = cfq_set_active_queue(cfqd, new_cfqq); |
| 1054 | keep_queue: | 1215 | keep_queue: |
| 1055 | return cfqq; | 1216 | return cfqq; |
| 1056 | } | 1217 | } |
| @@ -1333,14 +1494,14 @@ static void __cfq_exit_single_io_context(struct cfq_data *cfqd, | |||
| 1333 | if (ioc->ioc_data == cic) | 1494 | if (ioc->ioc_data == cic) |
| 1334 | rcu_assign_pointer(ioc->ioc_data, NULL); | 1495 | rcu_assign_pointer(ioc->ioc_data, NULL); |
| 1335 | 1496 | ||
| 1336 | if (cic->cfqq[ASYNC]) { | 1497 | if (cic->cfqq[BLK_RW_ASYNC]) { |
| 1337 | cfq_exit_cfqq(cfqd, cic->cfqq[ASYNC]); | 1498 | cfq_exit_cfqq(cfqd, cic->cfqq[BLK_RW_ASYNC]); |
| 1338 | cic->cfqq[ASYNC] = NULL; | 1499 | cic->cfqq[BLK_RW_ASYNC] = NULL; |
| 1339 | } | 1500 | } |
| 1340 | 1501 | ||
| 1341 | if (cic->cfqq[SYNC]) { | 1502 | if (cic->cfqq[BLK_RW_SYNC]) { |
| 1342 | cfq_exit_cfqq(cfqd, cic->cfqq[SYNC]); | 1503 | cfq_exit_cfqq(cfqd, cic->cfqq[BLK_RW_SYNC]); |
| 1343 | cic->cfqq[SYNC] = NULL; | 1504 | cic->cfqq[BLK_RW_SYNC] = NULL; |
| 1344 | } | 1505 | } |
| 1345 | } | 1506 | } |
| 1346 | 1507 | ||
| @@ -1449,17 +1610,18 @@ static void changed_ioprio(struct io_context *ioc, struct cfq_io_context *cic) | |||
| 1449 | 1610 | ||
| 1450 | spin_lock_irqsave(cfqd->queue->queue_lock, flags); | 1611 | spin_lock_irqsave(cfqd->queue->queue_lock, flags); |
| 1451 | 1612 | ||
| 1452 | cfqq = cic->cfqq[ASYNC]; | 1613 | cfqq = cic->cfqq[BLK_RW_ASYNC]; |
| 1453 | if (cfqq) { | 1614 | if (cfqq) { |
| 1454 | struct cfq_queue *new_cfqq; | 1615 | struct cfq_queue *new_cfqq; |
| 1455 | new_cfqq = cfq_get_queue(cfqd, ASYNC, cic->ioc, GFP_ATOMIC); | 1616 | new_cfqq = cfq_get_queue(cfqd, BLK_RW_ASYNC, cic->ioc, |
| 1617 | GFP_ATOMIC); | ||
| 1456 | if (new_cfqq) { | 1618 | if (new_cfqq) { |
| 1457 | cic->cfqq[ASYNC] = new_cfqq; | 1619 | cic->cfqq[BLK_RW_ASYNC] = new_cfqq; |
| 1458 | cfq_put_queue(cfqq); | 1620 | cfq_put_queue(cfqq); |
| 1459 | } | 1621 | } |
| 1460 | } | 1622 | } |
| 1461 | 1623 | ||
| 1462 | cfqq = cic->cfqq[SYNC]; | 1624 | cfqq = cic->cfqq[BLK_RW_SYNC]; |
| 1463 | if (cfqq) | 1625 | if (cfqq) |
| 1464 | cfq_mark_cfqq_prio_changed(cfqq); | 1626 | cfq_mark_cfqq_prio_changed(cfqq); |
| 1465 | 1627 | ||
| @@ -1510,6 +1672,7 @@ retry: | |||
| 1510 | } | 1672 | } |
| 1511 | 1673 | ||
| 1512 | RB_CLEAR_NODE(&cfqq->rb_node); | 1674 | RB_CLEAR_NODE(&cfqq->rb_node); |
| 1675 | RB_CLEAR_NODE(&cfqq->p_node); | ||
| 1513 | INIT_LIST_HEAD(&cfqq->fifo); | 1676 | INIT_LIST_HEAD(&cfqq->fifo); |
| 1514 | 1677 | ||
| 1515 | atomic_set(&cfqq->ref, 0); | 1678 | atomic_set(&cfqq->ref, 0); |
| @@ -1905,10 +2068,20 @@ cfq_rq_enqueued(struct cfq_data *cfqd, struct cfq_queue *cfqq, | |||
| 1905 | * Remember that we saw a request from this process, but | 2068 | * Remember that we saw a request from this process, but |
| 1906 | * don't start queuing just yet. Otherwise we risk seeing lots | 2069 | * don't start queuing just yet. Otherwise we risk seeing lots |
| 1907 | * of tiny requests, because we disrupt the normal plugging | 2070 | * of tiny requests, because we disrupt the normal plugging |
| 1908 | * and merging. | 2071 | * and merging. If the request is already larger than a single |
| 2072 | * page, let it rip immediately. For that case we assume that | ||
| 2073 | * merging is already done. Ditto for a busy system that | ||
| 2074 | * has other work pending, don't risk delaying until the | ||
| 2075 | * idle timer unplug to continue working. | ||
| 1909 | */ | 2076 | */ |
| 1910 | if (cfq_cfqq_wait_request(cfqq)) | 2077 | if (cfq_cfqq_wait_request(cfqq)) { |
| 2078 | if (blk_rq_bytes(rq) > PAGE_CACHE_SIZE || | ||
| 2079 | cfqd->busy_queues > 1) { | ||
| 2080 | del_timer(&cfqd->idle_slice_timer); | ||
| 2081 | blk_start_queueing(cfqd->queue); | ||
| 2082 | } | ||
| 1911 | cfq_mark_cfqq_must_dispatch(cfqq); | 2083 | cfq_mark_cfqq_must_dispatch(cfqq); |
| 2084 | } | ||
| 1912 | } else if (cfq_should_preempt(cfqd, cfqq, rq)) { | 2085 | } else if (cfq_should_preempt(cfqd, cfqq, rq)) { |
| 1913 | /* | 2086 | /* |
| 1914 | * not the active queue - expire current slice if it is | 2087 | * not the active queue - expire current slice if it is |
| @@ -1992,16 +2165,24 @@ static void cfq_completed_request(struct request_queue *q, struct request *rq) | |||
| 1992 | * or if we want to idle in case it has no pending requests. | 2165 | * or if we want to idle in case it has no pending requests. |
| 1993 | */ | 2166 | */ |
| 1994 | if (cfqd->active_queue == cfqq) { | 2167 | if (cfqd->active_queue == cfqq) { |
| 2168 | const bool cfqq_empty = RB_EMPTY_ROOT(&cfqq->sort_list); | ||
| 2169 | |||
| 1995 | if (cfq_cfqq_slice_new(cfqq)) { | 2170 | if (cfq_cfqq_slice_new(cfqq)) { |
| 1996 | cfq_set_prio_slice(cfqd, cfqq); | 2171 | cfq_set_prio_slice(cfqd, cfqq); |
| 1997 | cfq_clear_cfqq_slice_new(cfqq); | 2172 | cfq_clear_cfqq_slice_new(cfqq); |
| 1998 | } | 2173 | } |
| 2174 | /* | ||
| 2175 | * If there are no requests waiting in this queue, and | ||
| 2176 | * there are other queues ready to issue requests, AND | ||
| 2177 | * those other queues are issuing requests within our | ||
| 2178 | * mean seek distance, give them a chance to run instead | ||
| 2179 | * of idling. | ||
| 2180 | */ | ||
| 1999 | if (cfq_slice_used(cfqq) || cfq_class_idle(cfqq)) | 2181 | if (cfq_slice_used(cfqq) || cfq_class_idle(cfqq)) |
| 2000 | cfq_slice_expired(cfqd, 1); | 2182 | cfq_slice_expired(cfqd, 1); |
| 2001 | else if (sync && !rq_noidle(rq) && | 2183 | else if (cfqq_empty && !cfq_close_cooperator(cfqd, cfqq, 1) && |
| 2002 | RB_EMPTY_ROOT(&cfqq->sort_list)) { | 2184 | sync && !rq_noidle(rq)) |
| 2003 | cfq_arm_slice_timer(cfqd); | 2185 | cfq_arm_slice_timer(cfqd); |
| 2004 | } | ||
| 2005 | } | 2186 | } |
| 2006 | 2187 | ||
| 2007 | if (!cfqd->rq_in_driver) | 2188 | if (!cfqd->rq_in_driver) |
| @@ -2062,7 +2243,7 @@ static int cfq_may_queue(struct request_queue *q, int rw) | |||
| 2062 | if (!cic) | 2243 | if (!cic) |
| 2063 | return ELV_MQUEUE_MAY; | 2244 | return ELV_MQUEUE_MAY; |
| 2064 | 2245 | ||
| 2065 | cfqq = cic_to_cfqq(cic, rw & REQ_RW_SYNC); | 2246 | cfqq = cic_to_cfqq(cic, rw_is_sync(rw)); |
| 2066 | if (cfqq) { | 2247 | if (cfqq) { |
| 2067 | cfq_init_prio_data(cfqq, cic->ioc); | 2248 | cfq_init_prio_data(cfqq, cic->ioc); |
| 2068 | cfq_prio_boost(cfqq); | 2249 | cfq_prio_boost(cfqq); |
| @@ -2152,11 +2333,10 @@ static void cfq_kick_queue(struct work_struct *work) | |||
| 2152 | struct cfq_data *cfqd = | 2333 | struct cfq_data *cfqd = |
| 2153 | container_of(work, struct cfq_data, unplug_work); | 2334 | container_of(work, struct cfq_data, unplug_work); |
| 2154 | struct request_queue *q = cfqd->queue; | 2335 | struct request_queue *q = cfqd->queue; |
| 2155 | unsigned long flags; | ||
| 2156 | 2336 | ||
| 2157 | spin_lock_irqsave(q->queue_lock, flags); | 2337 | spin_lock_irq(q->queue_lock); |
| 2158 | blk_start_queueing(q); | 2338 | blk_start_queueing(q); |
| 2159 | spin_unlock_irqrestore(q->queue_lock, flags); | 2339 | spin_unlock_irq(q->queue_lock); |
| 2160 | } | 2340 | } |
| 2161 | 2341 | ||
| 2162 | /* | 2342 | /* |
diff --git a/block/elevator.c b/block/elevator.c index fb81bcc14a8c..7073a9072577 100644 --- a/block/elevator.c +++ b/block/elevator.c | |||
| @@ -590,7 +590,7 @@ void elv_drain_elevator(struct request_queue *q) | |||
| 590 | /* | 590 | /* |
| 591 | * Call with queue lock held, interrupts disabled | 591 | * Call with queue lock held, interrupts disabled |
| 592 | */ | 592 | */ |
| 593 | void elv_quisce_start(struct request_queue *q) | 593 | void elv_quiesce_start(struct request_queue *q) |
| 594 | { | 594 | { |
| 595 | queue_flag_set(QUEUE_FLAG_ELVSWITCH, q); | 595 | queue_flag_set(QUEUE_FLAG_ELVSWITCH, q); |
| 596 | 596 | ||
| @@ -607,7 +607,7 @@ void elv_quisce_start(struct request_queue *q) | |||
| 607 | } | 607 | } |
| 608 | } | 608 | } |
| 609 | 609 | ||
| 610 | void elv_quisce_end(struct request_queue *q) | 610 | void elv_quiesce_end(struct request_queue *q) |
| 611 | { | 611 | { |
| 612 | queue_flag_clear(QUEUE_FLAG_ELVSWITCH, q); | 612 | queue_flag_clear(QUEUE_FLAG_ELVSWITCH, q); |
| 613 | } | 613 | } |
| @@ -1126,7 +1126,7 @@ static int elevator_switch(struct request_queue *q, struct elevator_type *new_e) | |||
| 1126 | * Turn on BYPASS and drain all requests w/ elevator private data | 1126 | * Turn on BYPASS and drain all requests w/ elevator private data |
| 1127 | */ | 1127 | */ |
| 1128 | spin_lock_irq(q->queue_lock); | 1128 | spin_lock_irq(q->queue_lock); |
| 1129 | elv_quisce_start(q); | 1129 | elv_quiesce_start(q); |
| 1130 | 1130 | ||
| 1131 | /* | 1131 | /* |
| 1132 | * Remember old elevator. | 1132 | * Remember old elevator. |
| @@ -1150,7 +1150,7 @@ static int elevator_switch(struct request_queue *q, struct elevator_type *new_e) | |||
| 1150 | */ | 1150 | */ |
| 1151 | elevator_exit(old_elevator); | 1151 | elevator_exit(old_elevator); |
| 1152 | spin_lock_irq(q->queue_lock); | 1152 | spin_lock_irq(q->queue_lock); |
| 1153 | elv_quisce_end(q); | 1153 | elv_quiesce_end(q); |
| 1154 | spin_unlock_irq(q->queue_lock); | 1154 | spin_unlock_irq(q->queue_lock); |
| 1155 | 1155 | ||
| 1156 | blk_add_trace_msg(q, "elv switch: %s", e->elevator_type->elevator_name); | 1156 | blk_add_trace_msg(q, "elv switch: %s", e->elevator_type->elevator_name); |
diff --git a/block/ioctl.c b/block/ioctl.c index 0f22e629b13c..ad474d4bbcce 100644 --- a/block/ioctl.c +++ b/block/ioctl.c | |||
| @@ -146,8 +146,6 @@ static int blk_ioctl_discard(struct block_device *bdev, uint64_t start, | |||
| 146 | struct bio *bio; | 146 | struct bio *bio; |
| 147 | 147 | ||
| 148 | bio = bio_alloc(GFP_KERNEL, 0); | 148 | bio = bio_alloc(GFP_KERNEL, 0); |
| 149 | if (!bio) | ||
| 150 | return -ENOMEM; | ||
| 151 | 149 | ||
| 152 | bio->bi_end_io = blk_ioc_discard_endio; | 150 | bio->bi_end_io = blk_ioc_discard_endio; |
| 153 | bio->bi_bdev = bdev; | 151 | bio->bi_bdev = bdev; |
diff --git a/block/scsi_ioctl.c b/block/scsi_ioctl.c index 626ee274c5c4..84b7f8709f41 100644 --- a/block/scsi_ioctl.c +++ b/block/scsi_ioctl.c | |||
| @@ -217,7 +217,7 @@ static int blk_fill_sghdr_rq(struct request_queue *q, struct request *rq, | |||
| 217 | static int blk_complete_sghdr_rq(struct request *rq, struct sg_io_hdr *hdr, | 217 | static int blk_complete_sghdr_rq(struct request *rq, struct sg_io_hdr *hdr, |
| 218 | struct bio *bio) | 218 | struct bio *bio) |
| 219 | { | 219 | { |
| 220 | int ret = 0; | 220 | int r, ret = 0; |
| 221 | 221 | ||
| 222 | /* | 222 | /* |
| 223 | * fill in all the output members | 223 | * fill in all the output members |
| @@ -242,7 +242,9 @@ static int blk_complete_sghdr_rq(struct request *rq, struct sg_io_hdr *hdr, | |||
| 242 | ret = -EFAULT; | 242 | ret = -EFAULT; |
| 243 | } | 243 | } |
| 244 | 244 | ||
| 245 | blk_rq_unmap_user(bio); | 245 | r = blk_rq_unmap_user(bio); |
| 246 | if (!ret) | ||
| 247 | ret = r; | ||
| 246 | blk_put_request(rq); | 248 | blk_put_request(rq); |
| 247 | 249 | ||
| 248 | return ret; | 250 | return ret; |
diff --git a/drivers/block/brd.c b/drivers/block/brd.c index bdd4f5f45575..5f7e64ba87e5 100644 --- a/drivers/block/brd.c +++ b/drivers/block/brd.c | |||
| @@ -275,8 +275,10 @@ static int brd_do_bvec(struct brd_device *brd, struct page *page, | |||
| 275 | if (rw == READ) { | 275 | if (rw == READ) { |
| 276 | copy_from_brd(mem + off, brd, sector, len); | 276 | copy_from_brd(mem + off, brd, sector, len); |
| 277 | flush_dcache_page(page); | 277 | flush_dcache_page(page); |
| 278 | } else | 278 | } else { |
| 279 | flush_dcache_page(page); | ||
| 279 | copy_to_brd(brd, mem + off, sector, len); | 280 | copy_to_brd(brd, mem + off, sector, len); |
| 281 | } | ||
| 280 | kunmap_atomic(mem, KM_USER0); | 282 | kunmap_atomic(mem, KM_USER0); |
| 281 | 283 | ||
| 282 | out: | 284 | out: |
| @@ -436,6 +438,7 @@ static struct brd_device *brd_alloc(int i) | |||
| 436 | if (!brd->brd_queue) | 438 | if (!brd->brd_queue) |
| 437 | goto out_free_dev; | 439 | goto out_free_dev; |
| 438 | blk_queue_make_request(brd->brd_queue, brd_make_request); | 440 | blk_queue_make_request(brd->brd_queue, brd_make_request); |
| 441 | blk_queue_ordered(brd->brd_queue, QUEUE_ORDERED_TAG, NULL); | ||
| 439 | blk_queue_max_sectors(brd->brd_queue, 1024); | 442 | blk_queue_max_sectors(brd->brd_queue, 1024); |
| 440 | blk_queue_bounce_limit(brd->brd_queue, BLK_BOUNCE_ANY); | 443 | blk_queue_bounce_limit(brd->brd_queue, BLK_BOUNCE_ANY); |
| 441 | 444 | ||
diff --git a/drivers/md/dm-bio-list.h b/drivers/md/dm-bio-list.h deleted file mode 100644 index 345098b4ca77..000000000000 --- a/drivers/md/dm-bio-list.h +++ /dev/null | |||
| @@ -1,117 +0,0 @@ | |||
| 1 | /* | ||
| 2 | * Copyright (C) 2004 Red Hat UK Ltd. | ||
| 3 | * | ||
| 4 | * This file is released under the GPL. | ||
| 5 | */ | ||
| 6 | |||
| 7 | #ifndef DM_BIO_LIST_H | ||
| 8 | #define DM_BIO_LIST_H | ||
| 9 | |||
| 10 | #include <linux/bio.h> | ||
| 11 | |||
| 12 | #ifdef CONFIG_BLOCK | ||
| 13 | |||
| 14 | struct bio_list { | ||
| 15 | struct bio *head; | ||
| 16 | struct bio *tail; | ||
| 17 | }; | ||
| 18 | |||
| 19 | static inline int bio_list_empty(const struct bio_list *bl) | ||
| 20 | { | ||
| 21 | return bl->head == NULL; | ||
| 22 | } | ||
| 23 | |||
| 24 | static inline void bio_list_init(struct bio_list *bl) | ||
| 25 | { | ||
| 26 | bl->head = bl->tail = NULL; | ||
| 27 | } | ||
| 28 | |||
| 29 | #define bio_list_for_each(bio, bl) \ | ||
| 30 | for (bio = (bl)->head; bio; bio = bio->bi_next) | ||
| 31 | |||
| 32 | static inline unsigned bio_list_size(const struct bio_list *bl) | ||
| 33 | { | ||
| 34 | unsigned sz = 0; | ||
| 35 | struct bio *bio; | ||
| 36 | |||
| 37 | bio_list_for_each(bio, bl) | ||
| 38 | sz++; | ||
| 39 | |||
| 40 | return sz; | ||
| 41 | } | ||
| 42 | |||
| 43 | static inline void bio_list_add(struct bio_list *bl, struct bio *bio) | ||
| 44 | { | ||
| 45 | bio->bi_next = NULL; | ||
| 46 | |||
| 47 | if (bl->tail) | ||
| 48 | bl->tail->bi_next = bio; | ||
| 49 | else | ||
| 50 | bl->head = bio; | ||
| 51 | |||
| 52 | bl->tail = bio; | ||
| 53 | } | ||
| 54 | |||
| 55 | static inline void bio_list_add_head(struct bio_list *bl, struct bio *bio) | ||
| 56 | { | ||
| 57 | bio->bi_next = bl->head; | ||
| 58 | |||
| 59 | bl->head = bio; | ||
| 60 | |||
| 61 | if (!bl->tail) | ||
| 62 | bl->tail = bio; | ||
| 63 | } | ||
| 64 | |||
| 65 | static inline void bio_list_merge(struct bio_list *bl, struct bio_list *bl2) | ||
| 66 | { | ||
| 67 | if (!bl2->head) | ||
| 68 | return; | ||
| 69 | |||
| 70 | if (bl->tail) | ||
| 71 | bl->tail->bi_next = bl2->head; | ||
| 72 | else | ||
| 73 | bl->head = bl2->head; | ||
| 74 | |||
| 75 | bl->tail = bl2->tail; | ||
| 76 | } | ||
| 77 | |||
| 78 | static inline void bio_list_merge_head(struct bio_list *bl, | ||
| 79 | struct bio_list *bl2) | ||
| 80 | { | ||
| 81 | if (!bl2->head) | ||
| 82 | return; | ||
| 83 | |||
| 84 | if (bl->head) | ||
| 85 | bl2->tail->bi_next = bl->head; | ||
| 86 | else | ||
| 87 | bl->tail = bl2->tail; | ||
| 88 | |||
| 89 | bl->head = bl2->head; | ||
| 90 | } | ||
| 91 | |||
| 92 | static inline struct bio *bio_list_pop(struct bio_list *bl) | ||
| 93 | { | ||
| 94 | struct bio *bio = bl->head; | ||
| 95 | |||
| 96 | if (bio) { | ||
| 97 | bl->head = bl->head->bi_next; | ||
| 98 | if (!bl->head) | ||
| 99 | bl->tail = NULL; | ||
| 100 | |||
| 101 | bio->bi_next = NULL; | ||
| 102 | } | ||
| 103 | |||
| 104 | return bio; | ||
| 105 | } | ||
| 106 | |||
| 107 | static inline struct bio *bio_list_get(struct bio_list *bl) | ||
| 108 | { | ||
| 109 | struct bio *bio = bl->head; | ||
| 110 | |||
| 111 | bl->head = bl->tail = NULL; | ||
| 112 | |||
| 113 | return bio; | ||
| 114 | } | ||
| 115 | |||
| 116 | #endif /* CONFIG_BLOCK */ | ||
| 117 | #endif | ||
diff --git a/drivers/md/dm-delay.c b/drivers/md/dm-delay.c index 59ee1b015d2d..559dbb52bc85 100644 --- a/drivers/md/dm-delay.c +++ b/drivers/md/dm-delay.c | |||
| @@ -15,8 +15,6 @@ | |||
| 15 | 15 | ||
| 16 | #include <linux/device-mapper.h> | 16 | #include <linux/device-mapper.h> |
| 17 | 17 | ||
| 18 | #include "dm-bio-list.h" | ||
| 19 | |||
| 20 | #define DM_MSG_PREFIX "delay" | 18 | #define DM_MSG_PREFIX "delay" |
| 21 | 19 | ||
| 22 | struct delay_c { | 20 | struct delay_c { |
diff --git a/drivers/md/dm-mpath.c b/drivers/md/dm-mpath.c index 095f77bf9681..6a386ab4f7eb 100644 --- a/drivers/md/dm-mpath.c +++ b/drivers/md/dm-mpath.c | |||
| @@ -8,7 +8,6 @@ | |||
| 8 | #include <linux/device-mapper.h> | 8 | #include <linux/device-mapper.h> |
| 9 | 9 | ||
| 10 | #include "dm-path-selector.h" | 10 | #include "dm-path-selector.h" |
| 11 | #include "dm-bio-list.h" | ||
| 12 | #include "dm-bio-record.h" | 11 | #include "dm-bio-record.h" |
| 13 | #include "dm-uevent.h" | 12 | #include "dm-uevent.h" |
| 14 | 13 | ||
diff --git a/drivers/md/dm-raid1.c b/drivers/md/dm-raid1.c index 536ef0bef154..076fbb4e967a 100644 --- a/drivers/md/dm-raid1.c +++ b/drivers/md/dm-raid1.c | |||
| @@ -5,7 +5,6 @@ | |||
| 5 | * This file is released under the GPL. | 5 | * This file is released under the GPL. |
| 6 | */ | 6 | */ |
| 7 | 7 | ||
| 8 | #include "dm-bio-list.h" | ||
| 9 | #include "dm-bio-record.h" | 8 | #include "dm-bio-record.h" |
| 10 | 9 | ||
| 11 | #include <linux/init.h> | 10 | #include <linux/init.h> |
diff --git a/drivers/md/dm-region-hash.c b/drivers/md/dm-region-hash.c index 59f8d9df9e1a..7b899be0b087 100644 --- a/drivers/md/dm-region-hash.c +++ b/drivers/md/dm-region-hash.c | |||
| @@ -14,7 +14,6 @@ | |||
| 14 | #include <linux/vmalloc.h> | 14 | #include <linux/vmalloc.h> |
| 15 | 15 | ||
| 16 | #include "dm.h" | 16 | #include "dm.h" |
| 17 | #include "dm-bio-list.h" | ||
| 18 | 17 | ||
| 19 | #define DM_MSG_PREFIX "region hash" | 18 | #define DM_MSG_PREFIX "region hash" |
| 20 | 19 | ||
diff --git a/drivers/md/dm-snap.c b/drivers/md/dm-snap.c index 981a0413068f..d73f17fc7778 100644 --- a/drivers/md/dm-snap.c +++ b/drivers/md/dm-snap.c | |||
| @@ -22,7 +22,6 @@ | |||
| 22 | #include <linux/workqueue.h> | 22 | #include <linux/workqueue.h> |
| 23 | 23 | ||
| 24 | #include "dm-exception-store.h" | 24 | #include "dm-exception-store.h" |
| 25 | #include "dm-bio-list.h" | ||
| 26 | 25 | ||
| 27 | #define DM_MSG_PREFIX "snapshots" | 26 | #define DM_MSG_PREFIX "snapshots" |
| 28 | 27 | ||
diff --git a/drivers/md/dm.c b/drivers/md/dm.c index 8a994be035ba..424f7b048c30 100644 --- a/drivers/md/dm.c +++ b/drivers/md/dm.c | |||
| @@ -6,7 +6,6 @@ | |||
| 6 | */ | 6 | */ |
| 7 | 7 | ||
| 8 | #include "dm.h" | 8 | #include "dm.h" |
| 9 | #include "dm-bio-list.h" | ||
| 10 | #include "dm-uevent.h" | 9 | #include "dm-uevent.h" |
| 11 | 10 | ||
| 12 | #include <linux/init.h> | 11 | #include <linux/init.h> |
diff --git a/drivers/md/raid1.c b/drivers/md/raid1.c index 274b491a11c1..36df9109cde1 100644 --- a/drivers/md/raid1.c +++ b/drivers/md/raid1.c | |||
| @@ -35,7 +35,6 @@ | |||
| 35 | #include <linux/blkdev.h> | 35 | #include <linux/blkdev.h> |
| 36 | #include <linux/seq_file.h> | 36 | #include <linux/seq_file.h> |
| 37 | #include "md.h" | 37 | #include "md.h" |
| 38 | #include "dm-bio-list.h" | ||
| 39 | #include "raid1.h" | 38 | #include "raid1.h" |
| 40 | #include "bitmap.h" | 39 | #include "bitmap.h" |
| 41 | 40 | ||
diff --git a/drivers/md/raid10.c b/drivers/md/raid10.c index e293d92641ac..81a54f17417e 100644 --- a/drivers/md/raid10.c +++ b/drivers/md/raid10.c | |||
| @@ -22,7 +22,6 @@ | |||
| 22 | #include <linux/blkdev.h> | 22 | #include <linux/blkdev.h> |
| 23 | #include <linux/seq_file.h> | 23 | #include <linux/seq_file.h> |
| 24 | #include "md.h" | 24 | #include "md.h" |
| 25 | #include "dm-bio-list.h" | ||
| 26 | #include "raid10.h" | 25 | #include "raid10.h" |
| 27 | #include "bitmap.h" | 26 | #include "bitmap.h" |
| 28 | 27 | ||
| @@ -348,6 +348,24 @@ err: | |||
| 348 | return NULL; | 348 | return NULL; |
| 349 | } | 349 | } |
| 350 | 350 | ||
| 351 | /** | ||
| 352 | * bio_alloc - allocate a bio for I/O | ||
| 353 | * @gfp_mask: the GFP_ mask given to the slab allocator | ||
| 354 | * @nr_iovecs: number of iovecs to pre-allocate | ||
| 355 | * | ||
| 356 | * Description: | ||
| 357 | * bio_alloc will allocate a bio and associated bio_vec array that can hold | ||
| 358 | * at least @nr_iovecs entries. Allocations will be done from the | ||
| 359 | * fs_bio_set. Also see @bio_alloc_bioset. | ||
| 360 | * | ||
| 361 | * If %__GFP_WAIT is set, then bio_alloc will always be able to allocate | ||
| 362 | * a bio. This is due to the mempool guarantees. To make this work, callers | ||
| 363 | * must never allocate more than 1 bio at the time from this pool. Callers | ||
| 364 | * that need to allocate more than 1 bio must always submit the previously | ||
| 365 | * allocate bio for IO before attempting to allocate a new one. Failure to | ||
| 366 | * do so can cause livelocks under memory pressure. | ||
| 367 | * | ||
| 368 | **/ | ||
| 351 | struct bio *bio_alloc(gfp_t gfp_mask, int nr_iovecs) | 369 | struct bio *bio_alloc(gfp_t gfp_mask, int nr_iovecs) |
| 352 | { | 370 | { |
| 353 | struct bio *bio = bio_alloc_bioset(gfp_mask, nr_iovecs, fs_bio_set); | 371 | struct bio *bio = bio_alloc_bioset(gfp_mask, nr_iovecs, fs_bio_set); |
diff --git a/fs/buffer.c b/fs/buffer.c index 13edf7ad3ff1..ff8bb1f2333a 100644 --- a/fs/buffer.c +++ b/fs/buffer.c | |||
| @@ -547,7 +547,7 @@ repeat: | |||
| 547 | return err; | 547 | return err; |
| 548 | } | 548 | } |
| 549 | 549 | ||
| 550 | void do_thaw_all(unsigned long unused) | 550 | void do_thaw_all(struct work_struct *work) |
| 551 | { | 551 | { |
| 552 | struct super_block *sb; | 552 | struct super_block *sb; |
| 553 | char b[BDEVNAME_SIZE]; | 553 | char b[BDEVNAME_SIZE]; |
| @@ -567,6 +567,7 @@ restart: | |||
| 567 | goto restart; | 567 | goto restart; |
| 568 | } | 568 | } |
| 569 | spin_unlock(&sb_lock); | 569 | spin_unlock(&sb_lock); |
| 570 | kfree(work); | ||
| 570 | printk(KERN_WARNING "Emergency Thaw complete\n"); | 571 | printk(KERN_WARNING "Emergency Thaw complete\n"); |
| 571 | } | 572 | } |
| 572 | 573 | ||
| @@ -577,7 +578,13 @@ restart: | |||
| 577 | */ | 578 | */ |
| 578 | void emergency_thaw_all(void) | 579 | void emergency_thaw_all(void) |
| 579 | { | 580 | { |
| 580 | pdflush_operation(do_thaw_all, 0); | 581 | struct work_struct *work; |
| 582 | |||
| 583 | work = kmalloc(sizeof(*work), GFP_ATOMIC); | ||
| 584 | if (work) { | ||
| 585 | INIT_WORK(work, do_thaw_all); | ||
| 586 | schedule_work(work); | ||
| 587 | } | ||
| 581 | } | 588 | } |
| 582 | 589 | ||
| 583 | /** | 590 | /** |
diff --git a/fs/direct-io.c b/fs/direct-io.c index da258e7249cc..05763bbc2050 100644 --- a/fs/direct-io.c +++ b/fs/direct-io.c | |||
| @@ -307,8 +307,6 @@ dio_bio_alloc(struct dio *dio, struct block_device *bdev, | |||
| 307 | struct bio *bio; | 307 | struct bio *bio; |
| 308 | 308 | ||
| 309 | bio = bio_alloc(GFP_KERNEL, nr_vecs); | 309 | bio = bio_alloc(GFP_KERNEL, nr_vecs); |
| 310 | if (bio == NULL) | ||
| 311 | return -ENOMEM; | ||
| 312 | 310 | ||
| 313 | bio->bi_bdev = bdev; | 311 | bio->bi_bdev = bdev; |
| 314 | bio->bi_sector = first_sector; | 312 | bio->bi_sector = first_sector; |
diff --git a/fs/ext4/extents.c b/fs/ext4/extents.c index 6132353dcf62..2a1cb0979768 100644 --- a/fs/ext4/extents.c +++ b/fs/ext4/extents.c | |||
| @@ -2416,8 +2416,6 @@ static int ext4_ext_zeroout(struct inode *inode, struct ext4_extent *ex) | |||
| 2416 | len = ee_len; | 2416 | len = ee_len; |
| 2417 | 2417 | ||
| 2418 | bio = bio_alloc(GFP_NOIO, len); | 2418 | bio = bio_alloc(GFP_NOIO, len); |
| 2419 | if (!bio) | ||
| 2420 | return -ENOMEM; | ||
| 2421 | bio->bi_sector = ee_pblock; | 2419 | bio->bi_sector = ee_pblock; |
| 2422 | bio->bi_bdev = inode->i_sb->s_bdev; | 2420 | bio->bi_bdev = inode->i_sb->s_bdev; |
| 2423 | 2421 | ||
diff --git a/fs/gfs2/glock.c b/fs/gfs2/glock.c index 3984e47d1d33..1afd9f26bcb1 100644 --- a/fs/gfs2/glock.c +++ b/fs/gfs2/glock.c | |||
| @@ -597,7 +597,6 @@ __acquires(&gl->gl_spin) | |||
| 597 | 597 | ||
| 598 | GLOCK_BUG_ON(gl, test_bit(GLF_DEMOTE_IN_PROGRESS, &gl->gl_flags)); | 598 | GLOCK_BUG_ON(gl, test_bit(GLF_DEMOTE_IN_PROGRESS, &gl->gl_flags)); |
| 599 | 599 | ||
| 600 | down_read(&gfs2_umount_flush_sem); | ||
| 601 | if (test_bit(GLF_DEMOTE, &gl->gl_flags) && | 600 | if (test_bit(GLF_DEMOTE, &gl->gl_flags) && |
| 602 | gl->gl_demote_state != gl->gl_state) { | 601 | gl->gl_demote_state != gl->gl_state) { |
| 603 | if (find_first_holder(gl)) | 602 | if (find_first_holder(gl)) |
| @@ -614,15 +613,14 @@ __acquires(&gl->gl_spin) | |||
| 614 | if (ret == 0) | 613 | if (ret == 0) |
| 615 | goto out_unlock; | 614 | goto out_unlock; |
| 616 | if (ret == 2) | 615 | if (ret == 2) |
| 617 | goto out_sem; | 616 | goto out; |
| 618 | gh = find_first_waiter(gl); | 617 | gh = find_first_waiter(gl); |
| 619 | gl->gl_target = gh->gh_state; | 618 | gl->gl_target = gh->gh_state; |
| 620 | if (!(gh->gh_flags & (LM_FLAG_TRY | LM_FLAG_TRY_1CB))) | 619 | if (!(gh->gh_flags & (LM_FLAG_TRY | LM_FLAG_TRY_1CB))) |
| 621 | do_error(gl, 0); /* Fail queued try locks */ | 620 | do_error(gl, 0); /* Fail queued try locks */ |
| 622 | } | 621 | } |
| 623 | do_xmote(gl, gh, gl->gl_target); | 622 | do_xmote(gl, gh, gl->gl_target); |
| 624 | out_sem: | 623 | out: |
| 625 | up_read(&gfs2_umount_flush_sem); | ||
| 626 | return; | 624 | return; |
| 627 | 625 | ||
| 628 | out_sched: | 626 | out_sched: |
| @@ -631,7 +629,7 @@ out_sched: | |||
| 631 | gfs2_glock_put(gl); | 629 | gfs2_glock_put(gl); |
| 632 | out_unlock: | 630 | out_unlock: |
| 633 | clear_bit(GLF_LOCK, &gl->gl_flags); | 631 | clear_bit(GLF_LOCK, &gl->gl_flags); |
| 634 | goto out_sem; | 632 | goto out; |
| 635 | } | 633 | } |
| 636 | 634 | ||
| 637 | static void glock_work_func(struct work_struct *work) | 635 | static void glock_work_func(struct work_struct *work) |
| @@ -641,6 +639,7 @@ static void glock_work_func(struct work_struct *work) | |||
| 641 | 639 | ||
| 642 | if (test_and_clear_bit(GLF_REPLY_PENDING, &gl->gl_flags)) | 640 | if (test_and_clear_bit(GLF_REPLY_PENDING, &gl->gl_flags)) |
| 643 | finish_xmote(gl, gl->gl_reply); | 641 | finish_xmote(gl, gl->gl_reply); |
| 642 | down_read(&gfs2_umount_flush_sem); | ||
| 644 | spin_lock(&gl->gl_spin); | 643 | spin_lock(&gl->gl_spin); |
| 645 | if (test_and_clear_bit(GLF_PENDING_DEMOTE, &gl->gl_flags) && | 644 | if (test_and_clear_bit(GLF_PENDING_DEMOTE, &gl->gl_flags) && |
| 646 | gl->gl_state != LM_ST_UNLOCKED && | 645 | gl->gl_state != LM_ST_UNLOCKED && |
| @@ -653,6 +652,7 @@ static void glock_work_func(struct work_struct *work) | |||
| 653 | } | 652 | } |
| 654 | run_queue(gl, 0); | 653 | run_queue(gl, 0); |
| 655 | spin_unlock(&gl->gl_spin); | 654 | spin_unlock(&gl->gl_spin); |
| 655 | up_read(&gfs2_umount_flush_sem); | ||
| 656 | if (!delay || | 656 | if (!delay || |
| 657 | queue_delayed_work(glock_workqueue, &gl->gl_work, delay) == 0) | 657 | queue_delayed_work(glock_workqueue, &gl->gl_work, delay) == 0) |
| 658 | gfs2_glock_put(gl); | 658 | gfs2_glock_put(gl); |
diff --git a/fs/gfs2/inode.c b/fs/gfs2/inode.c index 7b277d449155..5a31d426116f 100644 --- a/fs/gfs2/inode.c +++ b/fs/gfs2/inode.c | |||
| @@ -137,15 +137,15 @@ void gfs2_set_iop(struct inode *inode) | |||
| 137 | if (S_ISREG(mode)) { | 137 | if (S_ISREG(mode)) { |
| 138 | inode->i_op = &gfs2_file_iops; | 138 | inode->i_op = &gfs2_file_iops; |
| 139 | if (gfs2_localflocks(sdp)) | 139 | if (gfs2_localflocks(sdp)) |
| 140 | inode->i_fop = gfs2_file_fops_nolock; | 140 | inode->i_fop = &gfs2_file_fops_nolock; |
| 141 | else | 141 | else |
| 142 | inode->i_fop = gfs2_file_fops; | 142 | inode->i_fop = &gfs2_file_fops; |
| 143 | } else if (S_ISDIR(mode)) { | 143 | } else if (S_ISDIR(mode)) { |
| 144 | inode->i_op = &gfs2_dir_iops; | 144 | inode->i_op = &gfs2_dir_iops; |
| 145 | if (gfs2_localflocks(sdp)) | 145 | if (gfs2_localflocks(sdp)) |
| 146 | inode->i_fop = gfs2_dir_fops_nolock; | 146 | inode->i_fop = &gfs2_dir_fops_nolock; |
| 147 | else | 147 | else |
| 148 | inode->i_fop = gfs2_dir_fops; | 148 | inode->i_fop = &gfs2_dir_fops; |
| 149 | } else if (S_ISLNK(mode)) { | 149 | } else if (S_ISLNK(mode)) { |
| 150 | inode->i_op = &gfs2_symlink_iops; | 150 | inode->i_op = &gfs2_symlink_iops; |
| 151 | } else { | 151 | } else { |
diff --git a/fs/gfs2/inode.h b/fs/gfs2/inode.h index dca4fee3078b..c30be2b66580 100644 --- a/fs/gfs2/inode.h +++ b/fs/gfs2/inode.h | |||
| @@ -101,21 +101,23 @@ void gfs2_dinode_print(const struct gfs2_inode *ip); | |||
| 101 | extern const struct inode_operations gfs2_file_iops; | 101 | extern const struct inode_operations gfs2_file_iops; |
| 102 | extern const struct inode_operations gfs2_dir_iops; | 102 | extern const struct inode_operations gfs2_dir_iops; |
| 103 | extern const struct inode_operations gfs2_symlink_iops; | 103 | extern const struct inode_operations gfs2_symlink_iops; |
| 104 | extern const struct file_operations *gfs2_file_fops_nolock; | 104 | extern const struct file_operations gfs2_file_fops_nolock; |
| 105 | extern const struct file_operations *gfs2_dir_fops_nolock; | 105 | extern const struct file_operations gfs2_dir_fops_nolock; |
| 106 | 106 | ||
| 107 | extern void gfs2_set_inode_flags(struct inode *inode); | 107 | extern void gfs2_set_inode_flags(struct inode *inode); |
| 108 | 108 | ||
| 109 | #ifdef CONFIG_GFS2_FS_LOCKING_DLM | 109 | #ifdef CONFIG_GFS2_FS_LOCKING_DLM |
| 110 | extern const struct file_operations *gfs2_file_fops; | 110 | extern const struct file_operations gfs2_file_fops; |
| 111 | extern const struct file_operations *gfs2_dir_fops; | 111 | extern const struct file_operations gfs2_dir_fops; |
| 112 | |||
| 112 | static inline int gfs2_localflocks(const struct gfs2_sbd *sdp) | 113 | static inline int gfs2_localflocks(const struct gfs2_sbd *sdp) |
| 113 | { | 114 | { |
| 114 | return sdp->sd_args.ar_localflocks; | 115 | return sdp->sd_args.ar_localflocks; |
| 115 | } | 116 | } |
| 116 | #else /* Single node only */ | 117 | #else /* Single node only */ |
| 117 | #define gfs2_file_fops NULL | 118 | #define gfs2_file_fops gfs2_file_fops_nolock |
| 118 | #define gfs2_dir_fops NULL | 119 | #define gfs2_dir_fops gfs2_dir_fops_nolock |
| 120 | |||
| 119 | static inline int gfs2_localflocks(const struct gfs2_sbd *sdp) | 121 | static inline int gfs2_localflocks(const struct gfs2_sbd *sdp) |
| 120 | { | 122 | { |
| 121 | return 1; | 123 | return 1; |
diff --git a/fs/gfs2/ops_file.c b/fs/gfs2/ops_file.c index 70b9b8548945..101caf3ee861 100644 --- a/fs/gfs2/ops_file.c +++ b/fs/gfs2/ops_file.c | |||
| @@ -705,7 +705,7 @@ static int gfs2_flock(struct file *file, int cmd, struct file_lock *fl) | |||
| 705 | } | 705 | } |
| 706 | } | 706 | } |
| 707 | 707 | ||
| 708 | const struct file_operations *gfs2_file_fops = &(const struct file_operations){ | 708 | const struct file_operations gfs2_file_fops = { |
| 709 | .llseek = gfs2_llseek, | 709 | .llseek = gfs2_llseek, |
| 710 | .read = do_sync_read, | 710 | .read = do_sync_read, |
| 711 | .aio_read = generic_file_aio_read, | 711 | .aio_read = generic_file_aio_read, |
| @@ -723,7 +723,7 @@ const struct file_operations *gfs2_file_fops = &(const struct file_operations){ | |||
| 723 | .setlease = gfs2_setlease, | 723 | .setlease = gfs2_setlease, |
| 724 | }; | 724 | }; |
| 725 | 725 | ||
| 726 | const struct file_operations *gfs2_dir_fops = &(const struct file_operations){ | 726 | const struct file_operations gfs2_dir_fops = { |
| 727 | .readdir = gfs2_readdir, | 727 | .readdir = gfs2_readdir, |
| 728 | .unlocked_ioctl = gfs2_ioctl, | 728 | .unlocked_ioctl = gfs2_ioctl, |
| 729 | .open = gfs2_open, | 729 | .open = gfs2_open, |
| @@ -735,7 +735,7 @@ const struct file_operations *gfs2_dir_fops = &(const struct file_operations){ | |||
| 735 | 735 | ||
| 736 | #endif /* CONFIG_GFS2_FS_LOCKING_DLM */ | 736 | #endif /* CONFIG_GFS2_FS_LOCKING_DLM */ |
| 737 | 737 | ||
| 738 | const struct file_operations *gfs2_file_fops_nolock = &(const struct file_operations){ | 738 | const struct file_operations gfs2_file_fops_nolock = { |
| 739 | .llseek = gfs2_llseek, | 739 | .llseek = gfs2_llseek, |
| 740 | .read = do_sync_read, | 740 | .read = do_sync_read, |
| 741 | .aio_read = generic_file_aio_read, | 741 | .aio_read = generic_file_aio_read, |
| @@ -751,7 +751,7 @@ const struct file_operations *gfs2_file_fops_nolock = &(const struct file_operat | |||
| 751 | .setlease = generic_setlease, | 751 | .setlease = generic_setlease, |
| 752 | }; | 752 | }; |
| 753 | 753 | ||
| 754 | const struct file_operations *gfs2_dir_fops_nolock = &(const struct file_operations){ | 754 | const struct file_operations gfs2_dir_fops_nolock = { |
| 755 | .readdir = gfs2_readdir, | 755 | .readdir = gfs2_readdir, |
| 756 | .unlocked_ioctl = gfs2_ioctl, | 756 | .unlocked_ioctl = gfs2_ioctl, |
| 757 | .open = gfs2_open, | 757 | .open = gfs2_open, |
diff --git a/fs/gfs2/ops_fstype.c b/fs/gfs2/ops_fstype.c index 51883b3ad89c..650a730707b7 100644 --- a/fs/gfs2/ops_fstype.c +++ b/fs/gfs2/ops_fstype.c | |||
| @@ -272,11 +272,6 @@ static int gfs2_read_super(struct gfs2_sbd *sdp, sector_t sector) | |||
| 272 | lock_page(page); | 272 | lock_page(page); |
| 273 | 273 | ||
| 274 | bio = bio_alloc(GFP_NOFS, 1); | 274 | bio = bio_alloc(GFP_NOFS, 1); |
| 275 | if (unlikely(!bio)) { | ||
| 276 | __free_page(page); | ||
| 277 | return -ENOBUFS; | ||
| 278 | } | ||
| 279 | |||
| 280 | bio->bi_sector = sector * (sb->s_blocksize >> 9); | 275 | bio->bi_sector = sector * (sb->s_blocksize >> 9); |
| 281 | bio->bi_bdev = sb->s_bdev; | 276 | bio->bi_bdev = sb->s_bdev; |
| 282 | bio_add_page(bio, page, PAGE_SIZE, 0); | 277 | bio_add_page(bio, page, PAGE_SIZE, 0); |
diff --git a/fs/gfs2/ops_inode.c b/fs/gfs2/ops_inode.c index abd5429ae285..1c70fa5168d6 100644 --- a/fs/gfs2/ops_inode.c +++ b/fs/gfs2/ops_inode.c | |||
| @@ -371,6 +371,7 @@ static int gfs2_symlink(struct inode *dir, struct dentry *dentry, | |||
| 371 | ip = ghs[1].gh_gl->gl_object; | 371 | ip = ghs[1].gh_gl->gl_object; |
| 372 | 372 | ||
| 373 | ip->i_disksize = size; | 373 | ip->i_disksize = size; |
| 374 | i_size_write(inode, size); | ||
| 374 | 375 | ||
| 375 | error = gfs2_meta_inode_buffer(ip, &dibh); | 376 | error = gfs2_meta_inode_buffer(ip, &dibh); |
| 376 | 377 | ||
diff --git a/fs/gfs2/quota.c b/fs/gfs2/quota.c index 8d53f66b5bcc..152e6c4a0dca 100644 --- a/fs/gfs2/quota.c +++ b/fs/gfs2/quota.c | |||
| @@ -81,7 +81,7 @@ struct gfs2_quota_change_host { | |||
| 81 | 81 | ||
| 82 | static LIST_HEAD(qd_lru_list); | 82 | static LIST_HEAD(qd_lru_list); |
| 83 | static atomic_t qd_lru_count = ATOMIC_INIT(0); | 83 | static atomic_t qd_lru_count = ATOMIC_INIT(0); |
| 84 | static spinlock_t qd_lru_lock = SPIN_LOCK_UNLOCKED; | 84 | static DEFINE_SPINLOCK(qd_lru_lock); |
| 85 | 85 | ||
| 86 | int gfs2_shrink_qd_memory(int nr, gfp_t gfp_mask) | 86 | int gfs2_shrink_qd_memory(int nr, gfp_t gfp_mask) |
| 87 | { | 87 | { |
| @@ -1364,7 +1364,7 @@ int gfs2_quotad(void *data) | |||
| 1364 | refrigerator(); | 1364 | refrigerator(); |
| 1365 | t = min(quotad_timeo, statfs_timeo); | 1365 | t = min(quotad_timeo, statfs_timeo); |
| 1366 | 1366 | ||
| 1367 | prepare_to_wait(&sdp->sd_quota_wait, &wait, TASK_UNINTERRUPTIBLE); | 1367 | prepare_to_wait(&sdp->sd_quota_wait, &wait, TASK_INTERRUPTIBLE); |
| 1368 | spin_lock(&sdp->sd_trunc_lock); | 1368 | spin_lock(&sdp->sd_trunc_lock); |
| 1369 | empty = list_empty(&sdp->sd_trunc_list); | 1369 | empty = list_empty(&sdp->sd_trunc_list); |
| 1370 | spin_unlock(&sdp->sd_trunc_lock); | 1370 | spin_unlock(&sdp->sd_trunc_lock); |
diff --git a/fs/inode.c b/fs/inode.c index d06d6d268de9..6ad14a1cd8c9 100644 --- a/fs/inode.c +++ b/fs/inode.c | |||
| @@ -1470,42 +1470,6 @@ static void __wait_on_freeing_inode(struct inode *inode) | |||
| 1470 | spin_lock(&inode_lock); | 1470 | spin_lock(&inode_lock); |
| 1471 | } | 1471 | } |
| 1472 | 1472 | ||
| 1473 | /* | ||
| 1474 | * We rarely want to lock two inodes that do not have a parent/child | ||
| 1475 | * relationship (such as directory, child inode) simultaneously. The | ||
| 1476 | * vast majority of file systems should be able to get along fine | ||
| 1477 | * without this. Do not use these functions except as a last resort. | ||
| 1478 | */ | ||
| 1479 | void inode_double_lock(struct inode *inode1, struct inode *inode2) | ||
| 1480 | { | ||
| 1481 | if (inode1 == NULL || inode2 == NULL || inode1 == inode2) { | ||
| 1482 | if (inode1) | ||
| 1483 | mutex_lock(&inode1->i_mutex); | ||
| 1484 | else if (inode2) | ||
| 1485 | mutex_lock(&inode2->i_mutex); | ||
| 1486 | return; | ||
| 1487 | } | ||
| 1488 | |||
| 1489 | if (inode1 < inode2) { | ||
| 1490 | mutex_lock_nested(&inode1->i_mutex, I_MUTEX_PARENT); | ||
| 1491 | mutex_lock_nested(&inode2->i_mutex, I_MUTEX_CHILD); | ||
| 1492 | } else { | ||
| 1493 | mutex_lock_nested(&inode2->i_mutex, I_MUTEX_PARENT); | ||
| 1494 | mutex_lock_nested(&inode1->i_mutex, I_MUTEX_CHILD); | ||
| 1495 | } | ||
| 1496 | } | ||
| 1497 | EXPORT_SYMBOL(inode_double_lock); | ||
| 1498 | |||
| 1499 | void inode_double_unlock(struct inode *inode1, struct inode *inode2) | ||
| 1500 | { | ||
| 1501 | if (inode1) | ||
| 1502 | mutex_unlock(&inode1->i_mutex); | ||
| 1503 | |||
| 1504 | if (inode2 && inode2 != inode1) | ||
| 1505 | mutex_unlock(&inode2->i_mutex); | ||
| 1506 | } | ||
| 1507 | EXPORT_SYMBOL(inode_double_unlock); | ||
| 1508 | |||
| 1509 | static __initdata unsigned long ihash_entries; | 1473 | static __initdata unsigned long ihash_entries; |
| 1510 | static int __init set_ihash_entries(char *str) | 1474 | static int __init set_ihash_entries(char *str) |
| 1511 | { | 1475 | { |
diff --git a/fs/ocfs2/file.c b/fs/ocfs2/file.c index 8672b9536039..c2a87c885b73 100644 --- a/fs/ocfs2/file.c +++ b/fs/ocfs2/file.c | |||
| @@ -1912,6 +1912,22 @@ out_sems: | |||
| 1912 | return written ? written : ret; | 1912 | return written ? written : ret; |
| 1913 | } | 1913 | } |
| 1914 | 1914 | ||
| 1915 | static int ocfs2_splice_to_file(struct pipe_inode_info *pipe, | ||
| 1916 | struct file *out, | ||
| 1917 | struct splice_desc *sd) | ||
| 1918 | { | ||
| 1919 | int ret; | ||
| 1920 | |||
| 1921 | ret = ocfs2_prepare_inode_for_write(out->f_path.dentry, &sd->pos, | ||
| 1922 | sd->total_len, 0, NULL); | ||
| 1923 | if (ret < 0) { | ||
| 1924 | mlog_errno(ret); | ||
| 1925 | return ret; | ||
| 1926 | } | ||
| 1927 | |||
| 1928 | return splice_from_pipe_feed(pipe, sd, pipe_to_file); | ||
| 1929 | } | ||
| 1930 | |||
| 1915 | static ssize_t ocfs2_file_splice_write(struct pipe_inode_info *pipe, | 1931 | static ssize_t ocfs2_file_splice_write(struct pipe_inode_info *pipe, |
| 1916 | struct file *out, | 1932 | struct file *out, |
| 1917 | loff_t *ppos, | 1933 | loff_t *ppos, |
| @@ -1919,38 +1935,76 @@ static ssize_t ocfs2_file_splice_write(struct pipe_inode_info *pipe, | |||
| 1919 | unsigned int flags) | 1935 | unsigned int flags) |
| 1920 | { | 1936 | { |
| 1921 | int ret; | 1937 | int ret; |
| 1922 | struct inode *inode = out->f_path.dentry->d_inode; | 1938 | struct address_space *mapping = out->f_mapping; |
| 1939 | struct inode *inode = mapping->host; | ||
| 1940 | struct splice_desc sd = { | ||
| 1941 | .total_len = len, | ||
| 1942 | .flags = flags, | ||
| 1943 | .pos = *ppos, | ||
| 1944 | .u.file = out, | ||
| 1945 | }; | ||
| 1923 | 1946 | ||
| 1924 | mlog_entry("(0x%p, 0x%p, %u, '%.*s')\n", out, pipe, | 1947 | mlog_entry("(0x%p, 0x%p, %u, '%.*s')\n", out, pipe, |
| 1925 | (unsigned int)len, | 1948 | (unsigned int)len, |
| 1926 | out->f_path.dentry->d_name.len, | 1949 | out->f_path.dentry->d_name.len, |
| 1927 | out->f_path.dentry->d_name.name); | 1950 | out->f_path.dentry->d_name.name); |
| 1928 | 1951 | ||
| 1929 | mutex_lock_nested(&inode->i_mutex, I_MUTEX_PARENT); | 1952 | if (pipe->inode) |
| 1953 | mutex_lock_nested(&pipe->inode->i_mutex, I_MUTEX_PARENT); | ||
| 1930 | 1954 | ||
| 1931 | ret = ocfs2_rw_lock(inode, 1); | 1955 | splice_from_pipe_begin(&sd); |
| 1932 | if (ret < 0) { | 1956 | do { |
| 1933 | mlog_errno(ret); | 1957 | ret = splice_from_pipe_next(pipe, &sd); |
| 1934 | goto out; | 1958 | if (ret <= 0) |
| 1935 | } | 1959 | break; |
| 1936 | 1960 | ||
| 1937 | ret = ocfs2_prepare_inode_for_write(out->f_path.dentry, ppos, len, 0, | 1961 | mutex_lock_nested(&inode->i_mutex, I_MUTEX_CHILD); |
| 1938 | NULL); | 1962 | ret = ocfs2_rw_lock(inode, 1); |
| 1939 | if (ret < 0) { | 1963 | if (ret < 0) |
| 1940 | mlog_errno(ret); | 1964 | mlog_errno(ret); |
| 1941 | goto out_unlock; | 1965 | else { |
| 1942 | } | 1966 | ret = ocfs2_splice_to_file(pipe, out, &sd); |
| 1967 | ocfs2_rw_unlock(inode, 1); | ||
| 1968 | } | ||
| 1969 | mutex_unlock(&inode->i_mutex); | ||
| 1970 | } while (ret > 0); | ||
| 1971 | splice_from_pipe_end(pipe, &sd); | ||
| 1943 | 1972 | ||
| 1944 | if (pipe->inode) | 1973 | if (pipe->inode) |
| 1945 | mutex_lock_nested(&pipe->inode->i_mutex, I_MUTEX_CHILD); | ||
| 1946 | ret = generic_file_splice_write_nolock(pipe, out, ppos, len, flags); | ||
| 1947 | if (pipe->inode) | ||
| 1948 | mutex_unlock(&pipe->inode->i_mutex); | 1974 | mutex_unlock(&pipe->inode->i_mutex); |
| 1949 | 1975 | ||
| 1950 | out_unlock: | 1976 | if (sd.num_spliced) |
| 1951 | ocfs2_rw_unlock(inode, 1); | 1977 | ret = sd.num_spliced; |
| 1952 | out: | 1978 | |
| 1953 | mutex_unlock(&inode->i_mutex); | 1979 | if (ret > 0) { |
| 1980 | unsigned long nr_pages; | ||
| 1981 | |||
| 1982 | *ppos += ret; | ||
| 1983 | nr_pages = (ret + PAGE_CACHE_SIZE - 1) >> PAGE_CACHE_SHIFT; | ||
| 1984 | |||
| 1985 | /* | ||
| 1986 | * If file or inode is SYNC and we actually wrote some data, | ||
| 1987 | * sync it. | ||
| 1988 | */ | ||
| 1989 | if (unlikely((out->f_flags & O_SYNC) || IS_SYNC(inode))) { | ||
| 1990 | int err; | ||
| 1991 | |||
| 1992 | mutex_lock(&inode->i_mutex); | ||
| 1993 | err = ocfs2_rw_lock(inode, 1); | ||
| 1994 | if (err < 0) { | ||
| 1995 | mlog_errno(err); | ||
| 1996 | } else { | ||
| 1997 | err = generic_osync_inode(inode, mapping, | ||
| 1998 | OSYNC_METADATA|OSYNC_DATA); | ||
| 1999 | ocfs2_rw_unlock(inode, 1); | ||
| 2000 | } | ||
| 2001 | mutex_unlock(&inode->i_mutex); | ||
| 2002 | |||
| 2003 | if (err) | ||
| 2004 | ret = err; | ||
| 2005 | } | ||
| 2006 | balance_dirty_pages_ratelimited_nr(mapping, nr_pages); | ||
| 2007 | } | ||
| 1954 | 2008 | ||
| 1955 | mlog_exit(ret); | 2009 | mlog_exit(ret); |
| 1956 | return ret; | 2010 | return ret; |
| @@ -37,6 +37,42 @@ | |||
| 37 | * -- Manfred Spraul <manfred@colorfullife.com> 2002-05-09 | 37 | * -- Manfred Spraul <manfred@colorfullife.com> 2002-05-09 |
| 38 | */ | 38 | */ |
| 39 | 39 | ||
| 40 | static void pipe_lock_nested(struct pipe_inode_info *pipe, int subclass) | ||
| 41 | { | ||
| 42 | if (pipe->inode) | ||
| 43 | mutex_lock_nested(&pipe->inode->i_mutex, subclass); | ||
| 44 | } | ||
| 45 | |||
| 46 | void pipe_lock(struct pipe_inode_info *pipe) | ||
| 47 | { | ||
| 48 | /* | ||
| 49 | * pipe_lock() nests non-pipe inode locks (for writing to a file) | ||
| 50 | */ | ||
| 51 | pipe_lock_nested(pipe, I_MUTEX_PARENT); | ||
| 52 | } | ||
| 53 | EXPORT_SYMBOL(pipe_lock); | ||
| 54 | |||
| 55 | void pipe_unlock(struct pipe_inode_info *pipe) | ||
| 56 | { | ||
| 57 | if (pipe->inode) | ||
| 58 | mutex_unlock(&pipe->inode->i_mutex); | ||
| 59 | } | ||
| 60 | EXPORT_SYMBOL(pipe_unlock); | ||
| 61 | |||
| 62 | void pipe_double_lock(struct pipe_inode_info *pipe1, | ||
| 63 | struct pipe_inode_info *pipe2) | ||
| 64 | { | ||
| 65 | BUG_ON(pipe1 == pipe2); | ||
| 66 | |||
| 67 | if (pipe1 < pipe2) { | ||
| 68 | pipe_lock_nested(pipe1, I_MUTEX_PARENT); | ||
| 69 | pipe_lock_nested(pipe2, I_MUTEX_CHILD); | ||
| 70 | } else { | ||
| 71 | pipe_lock_nested(pipe2, I_MUTEX_CHILD); | ||
| 72 | pipe_lock_nested(pipe1, I_MUTEX_PARENT); | ||
| 73 | } | ||
| 74 | } | ||
| 75 | |||
| 40 | /* Drop the inode semaphore and wait for a pipe event, atomically */ | 76 | /* Drop the inode semaphore and wait for a pipe event, atomically */ |
| 41 | void pipe_wait(struct pipe_inode_info *pipe) | 77 | void pipe_wait(struct pipe_inode_info *pipe) |
| 42 | { | 78 | { |
| @@ -47,12 +83,10 @@ void pipe_wait(struct pipe_inode_info *pipe) | |||
| 47 | * is considered a noninteractive wait: | 83 | * is considered a noninteractive wait: |
| 48 | */ | 84 | */ |
| 49 | prepare_to_wait(&pipe->wait, &wait, TASK_INTERRUPTIBLE); | 85 | prepare_to_wait(&pipe->wait, &wait, TASK_INTERRUPTIBLE); |
| 50 | if (pipe->inode) | 86 | pipe_unlock(pipe); |
| 51 | mutex_unlock(&pipe->inode->i_mutex); | ||
| 52 | schedule(); | 87 | schedule(); |
| 53 | finish_wait(&pipe->wait, &wait); | 88 | finish_wait(&pipe->wait, &wait); |
| 54 | if (pipe->inode) | 89 | pipe_lock(pipe); |
| 55 | mutex_lock(&pipe->inode->i_mutex); | ||
| 56 | } | 90 | } |
| 57 | 91 | ||
| 58 | static int | 92 | static int |
diff --git a/fs/splice.c b/fs/splice.c index c18aa7e03e2b..5384a90665d0 100644 --- a/fs/splice.c +++ b/fs/splice.c | |||
| @@ -182,8 +182,7 @@ ssize_t splice_to_pipe(struct pipe_inode_info *pipe, | |||
| 182 | do_wakeup = 0; | 182 | do_wakeup = 0; |
| 183 | page_nr = 0; | 183 | page_nr = 0; |
| 184 | 184 | ||
| 185 | if (pipe->inode) | 185 | pipe_lock(pipe); |
| 186 | mutex_lock(&pipe->inode->i_mutex); | ||
| 187 | 186 | ||
| 188 | for (;;) { | 187 | for (;;) { |
| 189 | if (!pipe->readers) { | 188 | if (!pipe->readers) { |
| @@ -245,15 +244,13 @@ ssize_t splice_to_pipe(struct pipe_inode_info *pipe, | |||
| 245 | pipe->waiting_writers--; | 244 | pipe->waiting_writers--; |
| 246 | } | 245 | } |
| 247 | 246 | ||
| 248 | if (pipe->inode) { | 247 | pipe_unlock(pipe); |
| 249 | mutex_unlock(&pipe->inode->i_mutex); | ||
| 250 | 248 | ||
| 251 | if (do_wakeup) { | 249 | if (do_wakeup) { |
| 252 | smp_mb(); | 250 | smp_mb(); |
| 253 | if (waitqueue_active(&pipe->wait)) | 251 | if (waitqueue_active(&pipe->wait)) |
| 254 | wake_up_interruptible(&pipe->wait); | 252 | wake_up_interruptible(&pipe->wait); |
| 255 | kill_fasync(&pipe->fasync_readers, SIGIO, POLL_IN); | 253 | kill_fasync(&pipe->fasync_readers, SIGIO, POLL_IN); |
| 256 | } | ||
| 257 | } | 254 | } |
| 258 | 255 | ||
| 259 | while (page_nr < spd_pages) | 256 | while (page_nr < spd_pages) |
| @@ -555,8 +552,8 @@ static int pipe_to_sendpage(struct pipe_inode_info *pipe, | |||
| 555 | * SPLICE_F_MOVE isn't set, or we cannot move the page, we simply create | 552 | * SPLICE_F_MOVE isn't set, or we cannot move the page, we simply create |
| 556 | * a new page in the output file page cache and fill/dirty that. | 553 | * a new page in the output file page cache and fill/dirty that. |
| 557 | */ | 554 | */ |
| 558 | static int pipe_to_file(struct pipe_inode_info *pipe, struct pipe_buffer *buf, | 555 | int pipe_to_file(struct pipe_inode_info *pipe, struct pipe_buffer *buf, |
| 559 | struct splice_desc *sd) | 556 | struct splice_desc *sd) |
| 560 | { | 557 | { |
| 561 | struct file *file = sd->u.file; | 558 | struct file *file = sd->u.file; |
| 562 | struct address_space *mapping = file->f_mapping; | 559 | struct address_space *mapping = file->f_mapping; |
| @@ -600,108 +597,178 @@ static int pipe_to_file(struct pipe_inode_info *pipe, struct pipe_buffer *buf, | |||
| 600 | out: | 597 | out: |
| 601 | return ret; | 598 | return ret; |
| 602 | } | 599 | } |
| 600 | EXPORT_SYMBOL(pipe_to_file); | ||
| 601 | |||
| 602 | static void wakeup_pipe_writers(struct pipe_inode_info *pipe) | ||
| 603 | { | ||
| 604 | smp_mb(); | ||
| 605 | if (waitqueue_active(&pipe->wait)) | ||
| 606 | wake_up_interruptible(&pipe->wait); | ||
| 607 | kill_fasync(&pipe->fasync_writers, SIGIO, POLL_OUT); | ||
| 608 | } | ||
| 603 | 609 | ||
| 604 | /** | 610 | /** |
| 605 | * __splice_from_pipe - splice data from a pipe to given actor | 611 | * splice_from_pipe_feed - feed available data from a pipe to a file |
| 606 | * @pipe: pipe to splice from | 612 | * @pipe: pipe to splice from |
| 607 | * @sd: information to @actor | 613 | * @sd: information to @actor |
| 608 | * @actor: handler that splices the data | 614 | * @actor: handler that splices the data |
| 609 | * | 615 | * |
| 610 | * Description: | 616 | * Description: |
| 611 | * This function does little more than loop over the pipe and call | 617 | |
| 612 | * @actor to do the actual moving of a single struct pipe_buffer to | 618 | * This function loops over the pipe and calls @actor to do the |
| 613 | * the desired destination. See pipe_to_file, pipe_to_sendpage, or | 619 | * actual moving of a single struct pipe_buffer to the desired |
| 614 | * pipe_to_user. | 620 | * destination. It returns when there's no more buffers left in |
| 621 | * the pipe or if the requested number of bytes (@sd->total_len) | ||
| 622 | * have been copied. It returns a positive number (one) if the | ||
| 623 | * pipe needs to be filled with more data, zero if the required | ||
| 624 | * number of bytes have been copied and -errno on error. | ||
| 615 | * | 625 | * |
| 626 | * This, together with splice_from_pipe_{begin,end,next}, may be | ||
| 627 | * used to implement the functionality of __splice_from_pipe() when | ||
| 628 | * locking is required around copying the pipe buffers to the | ||
| 629 | * destination. | ||
| 616 | */ | 630 | */ |
| 617 | ssize_t __splice_from_pipe(struct pipe_inode_info *pipe, struct splice_desc *sd, | 631 | int splice_from_pipe_feed(struct pipe_inode_info *pipe, struct splice_desc *sd, |
| 618 | splice_actor *actor) | 632 | splice_actor *actor) |
| 619 | { | 633 | { |
| 620 | int ret, do_wakeup, err; | 634 | int ret; |
| 621 | |||
| 622 | ret = 0; | ||
| 623 | do_wakeup = 0; | ||
| 624 | |||
| 625 | for (;;) { | ||
| 626 | if (pipe->nrbufs) { | ||
| 627 | struct pipe_buffer *buf = pipe->bufs + pipe->curbuf; | ||
| 628 | const struct pipe_buf_operations *ops = buf->ops; | ||
| 629 | 635 | ||
| 630 | sd->len = buf->len; | 636 | while (pipe->nrbufs) { |
| 631 | if (sd->len > sd->total_len) | 637 | struct pipe_buffer *buf = pipe->bufs + pipe->curbuf; |
| 632 | sd->len = sd->total_len; | 638 | const struct pipe_buf_operations *ops = buf->ops; |
| 633 | 639 | ||
| 634 | err = actor(pipe, buf, sd); | 640 | sd->len = buf->len; |
| 635 | if (err <= 0) { | 641 | if (sd->len > sd->total_len) |
| 636 | if (!ret && err != -ENODATA) | 642 | sd->len = sd->total_len; |
| 637 | ret = err; | ||
| 638 | 643 | ||
| 639 | break; | 644 | ret = actor(pipe, buf, sd); |
| 640 | } | 645 | if (ret <= 0) { |
| 646 | if (ret == -ENODATA) | ||
| 647 | ret = 0; | ||
| 648 | return ret; | ||
| 649 | } | ||
| 650 | buf->offset += ret; | ||
| 651 | buf->len -= ret; | ||
| 641 | 652 | ||
| 642 | ret += err; | 653 | sd->num_spliced += ret; |
| 643 | buf->offset += err; | 654 | sd->len -= ret; |
| 644 | buf->len -= err; | 655 | sd->pos += ret; |
| 656 | sd->total_len -= ret; | ||
| 645 | 657 | ||
| 646 | sd->len -= err; | 658 | if (!buf->len) { |
| 647 | sd->pos += err; | 659 | buf->ops = NULL; |
| 648 | sd->total_len -= err; | 660 | ops->release(pipe, buf); |
| 649 | if (sd->len) | 661 | pipe->curbuf = (pipe->curbuf + 1) & (PIPE_BUFFERS - 1); |
| 650 | continue; | 662 | pipe->nrbufs--; |
| 663 | if (pipe->inode) | ||
| 664 | sd->need_wakeup = true; | ||
| 665 | } | ||
| 651 | 666 | ||
| 652 | if (!buf->len) { | 667 | if (!sd->total_len) |
| 653 | buf->ops = NULL; | 668 | return 0; |
| 654 | ops->release(pipe, buf); | 669 | } |
| 655 | pipe->curbuf = (pipe->curbuf + 1) & (PIPE_BUFFERS - 1); | ||
| 656 | pipe->nrbufs--; | ||
| 657 | if (pipe->inode) | ||
| 658 | do_wakeup = 1; | ||
| 659 | } | ||
| 660 | 670 | ||
| 661 | if (!sd->total_len) | 671 | return 1; |
| 662 | break; | 672 | } |
| 663 | } | 673 | EXPORT_SYMBOL(splice_from_pipe_feed); |
| 664 | 674 | ||
| 665 | if (pipe->nrbufs) | 675 | /** |
| 666 | continue; | 676 | * splice_from_pipe_next - wait for some data to splice from |
| 677 | * @pipe: pipe to splice from | ||
| 678 | * @sd: information about the splice operation | ||
| 679 | * | ||
| 680 | * Description: | ||
| 681 | * This function will wait for some data and return a positive | ||
| 682 | * value (one) if pipe buffers are available. It will return zero | ||
| 683 | * or -errno if no more data needs to be spliced. | ||
| 684 | */ | ||
| 685 | int splice_from_pipe_next(struct pipe_inode_info *pipe, struct splice_desc *sd) | ||
| 686 | { | ||
| 687 | while (!pipe->nrbufs) { | ||
| 667 | if (!pipe->writers) | 688 | if (!pipe->writers) |
| 668 | break; | 689 | return 0; |
| 669 | if (!pipe->waiting_writers) { | ||
| 670 | if (ret) | ||
| 671 | break; | ||
| 672 | } | ||
| 673 | 690 | ||
| 674 | if (sd->flags & SPLICE_F_NONBLOCK) { | 691 | if (!pipe->waiting_writers && sd->num_spliced) |
| 675 | if (!ret) | 692 | return 0; |
| 676 | ret = -EAGAIN; | ||
| 677 | break; | ||
| 678 | } | ||
| 679 | 693 | ||
| 680 | if (signal_pending(current)) { | 694 | if (sd->flags & SPLICE_F_NONBLOCK) |
| 681 | if (!ret) | 695 | return -EAGAIN; |
| 682 | ret = -ERESTARTSYS; | ||
| 683 | break; | ||
| 684 | } | ||
| 685 | 696 | ||
| 686 | if (do_wakeup) { | 697 | if (signal_pending(current)) |
| 687 | smp_mb(); | 698 | return -ERESTARTSYS; |
| 688 | if (waitqueue_active(&pipe->wait)) | 699 | |
| 689 | wake_up_interruptible_sync(&pipe->wait); | 700 | if (sd->need_wakeup) { |
| 690 | kill_fasync(&pipe->fasync_writers, SIGIO, POLL_OUT); | 701 | wakeup_pipe_writers(pipe); |
| 691 | do_wakeup = 0; | 702 | sd->need_wakeup = false; |
| 692 | } | 703 | } |
| 693 | 704 | ||
| 694 | pipe_wait(pipe); | 705 | pipe_wait(pipe); |
| 695 | } | 706 | } |
| 696 | 707 | ||
| 697 | if (do_wakeup) { | 708 | return 1; |
| 698 | smp_mb(); | 709 | } |
| 699 | if (waitqueue_active(&pipe->wait)) | 710 | EXPORT_SYMBOL(splice_from_pipe_next); |
| 700 | wake_up_interruptible(&pipe->wait); | ||
| 701 | kill_fasync(&pipe->fasync_writers, SIGIO, POLL_OUT); | ||
| 702 | } | ||
| 703 | 711 | ||
| 704 | return ret; | 712 | /** |
| 713 | * splice_from_pipe_begin - start splicing from pipe | ||
| 714 | * @pipe: pipe to splice from | ||
| 715 | * | ||
| 716 | * Description: | ||
| 717 | * This function should be called before a loop containing | ||
| 718 | * splice_from_pipe_next() and splice_from_pipe_feed() to | ||
| 719 | * initialize the necessary fields of @sd. | ||
| 720 | */ | ||
| 721 | void splice_from_pipe_begin(struct splice_desc *sd) | ||
| 722 | { | ||
| 723 | sd->num_spliced = 0; | ||
| 724 | sd->need_wakeup = false; | ||
| 725 | } | ||
| 726 | EXPORT_SYMBOL(splice_from_pipe_begin); | ||
| 727 | |||
| 728 | /** | ||
| 729 | * splice_from_pipe_end - finish splicing from pipe | ||
| 730 | * @pipe: pipe to splice from | ||
| 731 | * @sd: information about the splice operation | ||
| 732 | * | ||
| 733 | * Description: | ||
| 734 | * This function will wake up pipe writers if necessary. It should | ||
| 735 | * be called after a loop containing splice_from_pipe_next() and | ||
| 736 | * splice_from_pipe_feed(). | ||
| 737 | */ | ||
| 738 | void splice_from_pipe_end(struct pipe_inode_info *pipe, struct splice_desc *sd) | ||
| 739 | { | ||
| 740 | if (sd->need_wakeup) | ||
| 741 | wakeup_pipe_writers(pipe); | ||
| 742 | } | ||
| 743 | EXPORT_SYMBOL(splice_from_pipe_end); | ||
| 744 | |||
| 745 | /** | ||
| 746 | * __splice_from_pipe - splice data from a pipe to given actor | ||
| 747 | * @pipe: pipe to splice from | ||
| 748 | * @sd: information to @actor | ||
| 749 | * @actor: handler that splices the data | ||
| 750 | * | ||
| 751 | * Description: | ||
| 752 | * This function does little more than loop over the pipe and call | ||
| 753 | * @actor to do the actual moving of a single struct pipe_buffer to | ||
| 754 | * the desired destination. See pipe_to_file, pipe_to_sendpage, or | ||
| 755 | * pipe_to_user. | ||
| 756 | * | ||
| 757 | */ | ||
| 758 | ssize_t __splice_from_pipe(struct pipe_inode_info *pipe, struct splice_desc *sd, | ||
| 759 | splice_actor *actor) | ||
| 760 | { | ||
| 761 | int ret; | ||
| 762 | |||
| 763 | splice_from_pipe_begin(sd); | ||
| 764 | do { | ||
| 765 | ret = splice_from_pipe_next(pipe, sd); | ||
| 766 | if (ret > 0) | ||
| 767 | ret = splice_from_pipe_feed(pipe, sd, actor); | ||
| 768 | } while (ret > 0); | ||
| 769 | splice_from_pipe_end(pipe, sd); | ||
| 770 | |||
| 771 | return sd->num_spliced ? sd->num_spliced : ret; | ||
| 705 | } | 772 | } |
| 706 | EXPORT_SYMBOL(__splice_from_pipe); | 773 | EXPORT_SYMBOL(__splice_from_pipe); |
| 707 | 774 | ||
| @@ -715,7 +782,7 @@ EXPORT_SYMBOL(__splice_from_pipe); | |||
| 715 | * @actor: handler that splices the data | 782 | * @actor: handler that splices the data |
| 716 | * | 783 | * |
| 717 | * Description: | 784 | * Description: |
| 718 | * See __splice_from_pipe. This function locks the input and output inodes, | 785 | * See __splice_from_pipe. This function locks the pipe inode, |
| 719 | * otherwise it's identical to __splice_from_pipe(). | 786 | * otherwise it's identical to __splice_from_pipe(). |
| 720 | * | 787 | * |
| 721 | */ | 788 | */ |
| @@ -724,7 +791,6 @@ ssize_t splice_from_pipe(struct pipe_inode_info *pipe, struct file *out, | |||
| 724 | splice_actor *actor) | 791 | splice_actor *actor) |
| 725 | { | 792 | { |
| 726 | ssize_t ret; | 793 | ssize_t ret; |
| 727 | struct inode *inode = out->f_mapping->host; | ||
| 728 | struct splice_desc sd = { | 794 | struct splice_desc sd = { |
| 729 | .total_len = len, | 795 | .total_len = len, |
| 730 | .flags = flags, | 796 | .flags = flags, |
| @@ -732,30 +798,15 @@ ssize_t splice_from_pipe(struct pipe_inode_info *pipe, struct file *out, | |||
| 732 | .u.file = out, | 798 | .u.file = out, |
| 733 | }; | 799 | }; |
| 734 | 800 | ||
| 735 | /* | 801 | pipe_lock(pipe); |
| 736 | * The actor worker might be calling ->write_begin and | ||
| 737 | * ->write_end. Most of the time, these expect i_mutex to | ||
| 738 | * be held. Since this may result in an ABBA deadlock with | ||
| 739 | * pipe->inode, we have to order lock acquiry here. | ||
| 740 | * | ||
| 741 | * Outer lock must be inode->i_mutex, as pipe_wait() will | ||
| 742 | * release and reacquire pipe->inode->i_mutex, AND inode must | ||
| 743 | * never be a pipe. | ||
| 744 | */ | ||
| 745 | WARN_ON(S_ISFIFO(inode->i_mode)); | ||
| 746 | mutex_lock_nested(&inode->i_mutex, I_MUTEX_PARENT); | ||
| 747 | if (pipe->inode) | ||
| 748 | mutex_lock_nested(&pipe->inode->i_mutex, I_MUTEX_CHILD); | ||
| 749 | ret = __splice_from_pipe(pipe, &sd, actor); | 802 | ret = __splice_from_pipe(pipe, &sd, actor); |
| 750 | if (pipe->inode) | 803 | pipe_unlock(pipe); |
| 751 | mutex_unlock(&pipe->inode->i_mutex); | ||
| 752 | mutex_unlock(&inode->i_mutex); | ||
| 753 | 804 | ||
| 754 | return ret; | 805 | return ret; |
| 755 | } | 806 | } |
| 756 | 807 | ||
| 757 | /** | 808 | /** |
| 758 | * generic_file_splice_write_nolock - generic_file_splice_write without mutexes | 809 | * generic_file_splice_write - splice data from a pipe to a file |
| 759 | * @pipe: pipe info | 810 | * @pipe: pipe info |
| 760 | * @out: file to write to | 811 | * @out: file to write to |
| 761 | * @ppos: position in @out | 812 | * @ppos: position in @out |
| @@ -764,13 +815,12 @@ ssize_t splice_from_pipe(struct pipe_inode_info *pipe, struct file *out, | |||
| 764 | * | 815 | * |
| 765 | * Description: | 816 | * Description: |
| 766 | * Will either move or copy pages (determined by @flags options) from | 817 | * Will either move or copy pages (determined by @flags options) from |
| 767 | * the given pipe inode to the given file. The caller is responsible | 818 | * the given pipe inode to the given file. |
| 768 | * for acquiring i_mutex on both inodes. | ||
| 769 | * | 819 | * |
| 770 | */ | 820 | */ |
| 771 | ssize_t | 821 | ssize_t |
| 772 | generic_file_splice_write_nolock(struct pipe_inode_info *pipe, struct file *out, | 822 | generic_file_splice_write(struct pipe_inode_info *pipe, struct file *out, |
| 773 | loff_t *ppos, size_t len, unsigned int flags) | 823 | loff_t *ppos, size_t len, unsigned int flags) |
| 774 | { | 824 | { |
| 775 | struct address_space *mapping = out->f_mapping; | 825 | struct address_space *mapping = out->f_mapping; |
| 776 | struct inode *inode = mapping->host; | 826 | struct inode *inode = mapping->host; |
| @@ -781,76 +831,28 @@ generic_file_splice_write_nolock(struct pipe_inode_info *pipe, struct file *out, | |||
| 781 | .u.file = out, | 831 | .u.file = out, |
| 782 | }; | 832 | }; |
| 783 | ssize_t ret; | 833 | ssize_t ret; |
| 784 | int err; | ||
| 785 | |||
| 786 | err = file_remove_suid(out); | ||
| 787 | if (unlikely(err)) | ||
| 788 | return err; | ||
| 789 | |||
| 790 | ret = __splice_from_pipe(pipe, &sd, pipe_to_file); | ||
| 791 | if (ret > 0) { | ||
| 792 | unsigned long nr_pages; | ||
| 793 | 834 | ||
| 794 | *ppos += ret; | 835 | pipe_lock(pipe); |
| 795 | nr_pages = (ret + PAGE_CACHE_SIZE - 1) >> PAGE_CACHE_SHIFT; | ||
| 796 | 836 | ||
| 797 | /* | 837 | splice_from_pipe_begin(&sd); |
| 798 | * If file or inode is SYNC and we actually wrote some data, | 838 | do { |
| 799 | * sync it. | 839 | ret = splice_from_pipe_next(pipe, &sd); |
| 800 | */ | 840 | if (ret <= 0) |
| 801 | if (unlikely((out->f_flags & O_SYNC) || IS_SYNC(inode))) { | 841 | break; |
| 802 | err = generic_osync_inode(inode, mapping, | ||
| 803 | OSYNC_METADATA|OSYNC_DATA); | ||
| 804 | |||
| 805 | if (err) | ||
| 806 | ret = err; | ||
| 807 | } | ||
| 808 | balance_dirty_pages_ratelimited_nr(mapping, nr_pages); | ||
| 809 | } | ||
| 810 | 842 | ||
| 811 | return ret; | 843 | mutex_lock_nested(&inode->i_mutex, I_MUTEX_CHILD); |
| 812 | } | 844 | ret = file_remove_suid(out); |
| 845 | if (!ret) | ||
| 846 | ret = splice_from_pipe_feed(pipe, &sd, pipe_to_file); | ||
| 847 | mutex_unlock(&inode->i_mutex); | ||
| 848 | } while (ret > 0); | ||
| 849 | splice_from_pipe_end(pipe, &sd); | ||
| 813 | 850 | ||
| 814 | EXPORT_SYMBOL(generic_file_splice_write_nolock); | 851 | pipe_unlock(pipe); |
| 815 | 852 | ||
| 816 | /** | 853 | if (sd.num_spliced) |
| 817 | * generic_file_splice_write - splice data from a pipe to a file | 854 | ret = sd.num_spliced; |
| 818 | * @pipe: pipe info | ||
| 819 | * @out: file to write to | ||
| 820 | * @ppos: position in @out | ||
| 821 | * @len: number of bytes to splice | ||
| 822 | * @flags: splice modifier flags | ||
| 823 | * | ||
| 824 | * Description: | ||
| 825 | * Will either move or copy pages (determined by @flags options) from | ||
| 826 | * the given pipe inode to the given file. | ||
| 827 | * | ||
| 828 | */ | ||
| 829 | ssize_t | ||
| 830 | generic_file_splice_write(struct pipe_inode_info *pipe, struct file *out, | ||
| 831 | loff_t *ppos, size_t len, unsigned int flags) | ||
| 832 | { | ||
| 833 | struct address_space *mapping = out->f_mapping; | ||
| 834 | struct inode *inode = mapping->host; | ||
| 835 | struct splice_desc sd = { | ||
| 836 | .total_len = len, | ||
| 837 | .flags = flags, | ||
| 838 | .pos = *ppos, | ||
| 839 | .u.file = out, | ||
| 840 | }; | ||
| 841 | ssize_t ret; | ||
| 842 | 855 | ||
| 843 | WARN_ON(S_ISFIFO(inode->i_mode)); | ||
| 844 | mutex_lock_nested(&inode->i_mutex, I_MUTEX_PARENT); | ||
| 845 | ret = file_remove_suid(out); | ||
| 846 | if (likely(!ret)) { | ||
| 847 | if (pipe->inode) | ||
| 848 | mutex_lock_nested(&pipe->inode->i_mutex, I_MUTEX_CHILD); | ||
| 849 | ret = __splice_from_pipe(pipe, &sd, pipe_to_file); | ||
| 850 | if (pipe->inode) | ||
| 851 | mutex_unlock(&pipe->inode->i_mutex); | ||
| 852 | } | ||
| 853 | mutex_unlock(&inode->i_mutex); | ||
| 854 | if (ret > 0) { | 856 | if (ret > 0) { |
| 855 | unsigned long nr_pages; | 857 | unsigned long nr_pages; |
| 856 | 858 | ||
| @@ -1339,8 +1341,7 @@ static long vmsplice_to_user(struct file *file, const struct iovec __user *iov, | |||
| 1339 | if (!pipe) | 1341 | if (!pipe) |
| 1340 | return -EBADF; | 1342 | return -EBADF; |
| 1341 | 1343 | ||
| 1342 | if (pipe->inode) | 1344 | pipe_lock(pipe); |
| 1343 | mutex_lock(&pipe->inode->i_mutex); | ||
| 1344 | 1345 | ||
| 1345 | error = ret = 0; | 1346 | error = ret = 0; |
| 1346 | while (nr_segs) { | 1347 | while (nr_segs) { |
| @@ -1395,8 +1396,7 @@ static long vmsplice_to_user(struct file *file, const struct iovec __user *iov, | |||
| 1395 | iov++; | 1396 | iov++; |
| 1396 | } | 1397 | } |
| 1397 | 1398 | ||
| 1398 | if (pipe->inode) | 1399 | pipe_unlock(pipe); |
| 1399 | mutex_unlock(&pipe->inode->i_mutex); | ||
| 1400 | 1400 | ||
| 1401 | if (!ret) | 1401 | if (!ret) |
| 1402 | ret = error; | 1402 | ret = error; |
| @@ -1524,7 +1524,7 @@ static int link_ipipe_prep(struct pipe_inode_info *pipe, unsigned int flags) | |||
| 1524 | return 0; | 1524 | return 0; |
| 1525 | 1525 | ||
| 1526 | ret = 0; | 1526 | ret = 0; |
| 1527 | mutex_lock(&pipe->inode->i_mutex); | 1527 | pipe_lock(pipe); |
| 1528 | 1528 | ||
| 1529 | while (!pipe->nrbufs) { | 1529 | while (!pipe->nrbufs) { |
| 1530 | if (signal_pending(current)) { | 1530 | if (signal_pending(current)) { |
| @@ -1542,7 +1542,7 @@ static int link_ipipe_prep(struct pipe_inode_info *pipe, unsigned int flags) | |||
| 1542 | pipe_wait(pipe); | 1542 | pipe_wait(pipe); |
| 1543 | } | 1543 | } |
| 1544 | 1544 | ||
| 1545 | mutex_unlock(&pipe->inode->i_mutex); | 1545 | pipe_unlock(pipe); |
| 1546 | return ret; | 1546 | return ret; |
| 1547 | } | 1547 | } |
| 1548 | 1548 | ||
| @@ -1562,7 +1562,7 @@ static int link_opipe_prep(struct pipe_inode_info *pipe, unsigned int flags) | |||
| 1562 | return 0; | 1562 | return 0; |
| 1563 | 1563 | ||
| 1564 | ret = 0; | 1564 | ret = 0; |
| 1565 | mutex_lock(&pipe->inode->i_mutex); | 1565 | pipe_lock(pipe); |
| 1566 | 1566 | ||
| 1567 | while (pipe->nrbufs >= PIPE_BUFFERS) { | 1567 | while (pipe->nrbufs >= PIPE_BUFFERS) { |
| 1568 | if (!pipe->readers) { | 1568 | if (!pipe->readers) { |
| @@ -1583,7 +1583,7 @@ static int link_opipe_prep(struct pipe_inode_info *pipe, unsigned int flags) | |||
| 1583 | pipe->waiting_writers--; | 1583 | pipe->waiting_writers--; |
| 1584 | } | 1584 | } |
| 1585 | 1585 | ||
| 1586 | mutex_unlock(&pipe->inode->i_mutex); | 1586 | pipe_unlock(pipe); |
| 1587 | return ret; | 1587 | return ret; |
| 1588 | } | 1588 | } |
| 1589 | 1589 | ||
| @@ -1599,10 +1599,10 @@ static int link_pipe(struct pipe_inode_info *ipipe, | |||
| 1599 | 1599 | ||
| 1600 | /* | 1600 | /* |
| 1601 | * Potential ABBA deadlock, work around it by ordering lock | 1601 | * Potential ABBA deadlock, work around it by ordering lock |
| 1602 | * grabbing by inode address. Otherwise two different processes | 1602 | * grabbing by pipe info address. Otherwise two different processes |
| 1603 | * could deadlock (one doing tee from A -> B, the other from B -> A). | 1603 | * could deadlock (one doing tee from A -> B, the other from B -> A). |
| 1604 | */ | 1604 | */ |
| 1605 | inode_double_lock(ipipe->inode, opipe->inode); | 1605 | pipe_double_lock(ipipe, opipe); |
| 1606 | 1606 | ||
| 1607 | do { | 1607 | do { |
| 1608 | if (!opipe->readers) { | 1608 | if (!opipe->readers) { |
| @@ -1653,7 +1653,8 @@ static int link_pipe(struct pipe_inode_info *ipipe, | |||
| 1653 | if (!ret && ipipe->waiting_writers && (flags & SPLICE_F_NONBLOCK)) | 1653 | if (!ret && ipipe->waiting_writers && (flags & SPLICE_F_NONBLOCK)) |
| 1654 | ret = -EAGAIN; | 1654 | ret = -EAGAIN; |
| 1655 | 1655 | ||
| 1656 | inode_double_unlock(ipipe->inode, opipe->inode); | 1656 | pipe_unlock(ipipe); |
| 1657 | pipe_unlock(opipe); | ||
| 1657 | 1658 | ||
| 1658 | /* | 1659 | /* |
| 1659 | * If we put data in the output pipe, wakeup any potential readers. | 1660 | * If we put data in the output pipe, wakeup any potential readers. |
diff --git a/include/linux/bio.h b/include/linux/bio.h index b900d2c67d29..b89cf2d82898 100644 --- a/include/linux/bio.h +++ b/include/linux/bio.h | |||
| @@ -504,6 +504,115 @@ static inline int bio_has_data(struct bio *bio) | |||
| 504 | return bio && bio->bi_io_vec != NULL; | 504 | return bio && bio->bi_io_vec != NULL; |
| 505 | } | 505 | } |
| 506 | 506 | ||
| 507 | /* | ||
| 508 | * BIO list managment for use by remapping drivers (e.g. DM or MD). | ||
| 509 | * | ||
| 510 | * A bio_list anchors a singly-linked list of bios chained through the bi_next | ||
| 511 | * member of the bio. The bio_list also caches the last list member to allow | ||
| 512 | * fast access to the tail. | ||
| 513 | */ | ||
| 514 | struct bio_list { | ||
| 515 | struct bio *head; | ||
| 516 | struct bio *tail; | ||
| 517 | }; | ||
| 518 | |||
| 519 | static inline int bio_list_empty(const struct bio_list *bl) | ||
| 520 | { | ||
| 521 | return bl->head == NULL; | ||
| 522 | } | ||
| 523 | |||
| 524 | static inline void bio_list_init(struct bio_list *bl) | ||
| 525 | { | ||
| 526 | bl->head = bl->tail = NULL; | ||
| 527 | } | ||
| 528 | |||
| 529 | #define bio_list_for_each(bio, bl) \ | ||
| 530 | for (bio = (bl)->head; bio; bio = bio->bi_next) | ||
| 531 | |||
| 532 | static inline unsigned bio_list_size(const struct bio_list *bl) | ||
| 533 | { | ||
| 534 | unsigned sz = 0; | ||
| 535 | struct bio *bio; | ||
| 536 | |||
| 537 | bio_list_for_each(bio, bl) | ||
| 538 | sz++; | ||
| 539 | |||
| 540 | return sz; | ||
| 541 | } | ||
| 542 | |||
| 543 | static inline void bio_list_add(struct bio_list *bl, struct bio *bio) | ||
| 544 | { | ||
| 545 | bio->bi_next = NULL; | ||
| 546 | |||
| 547 | if (bl->tail) | ||
| 548 | bl->tail->bi_next = bio; | ||
| 549 | else | ||
| 550 | bl->head = bio; | ||
| 551 | |||
| 552 | bl->tail = bio; | ||
| 553 | } | ||
| 554 | |||
| 555 | static inline void bio_list_add_head(struct bio_list *bl, struct bio *bio) | ||
| 556 | { | ||
| 557 | bio->bi_next = bl->head; | ||
| 558 | |||
| 559 | bl->head = bio; | ||
| 560 | |||
| 561 | if (!bl->tail) | ||
| 562 | bl->tail = bio; | ||
| 563 | } | ||
| 564 | |||
| 565 | static inline void bio_list_merge(struct bio_list *bl, struct bio_list *bl2) | ||
| 566 | { | ||
| 567 | if (!bl2->head) | ||
| 568 | return; | ||
| 569 | |||
| 570 | if (bl->tail) | ||
| 571 | bl->tail->bi_next = bl2->head; | ||
| 572 | else | ||
| 573 | bl->head = bl2->head; | ||
| 574 | |||
| 575 | bl->tail = bl2->tail; | ||
| 576 | } | ||
| 577 | |||
| 578 | static inline void bio_list_merge_head(struct bio_list *bl, | ||
| 579 | struct bio_list *bl2) | ||
| 580 | { | ||
| 581 | if (!bl2->head) | ||
| 582 | return; | ||
| 583 | |||
| 584 | if (bl->head) | ||
| 585 | bl2->tail->bi_next = bl->head; | ||
| 586 | else | ||
| 587 | bl->tail = bl2->tail; | ||
| 588 | |||
| 589 | bl->head = bl2->head; | ||
| 590 | } | ||
| 591 | |||
| 592 | static inline struct bio *bio_list_pop(struct bio_list *bl) | ||
| 593 | { | ||
| 594 | struct bio *bio = bl->head; | ||
| 595 | |||
| 596 | if (bio) { | ||
| 597 | bl->head = bl->head->bi_next; | ||
| 598 | if (!bl->head) | ||
| 599 | bl->tail = NULL; | ||
| 600 | |||
| 601 | bio->bi_next = NULL; | ||
| 602 | } | ||
| 603 | |||
| 604 | return bio; | ||
| 605 | } | ||
| 606 | |||
| 607 | static inline struct bio *bio_list_get(struct bio_list *bl) | ||
| 608 | { | ||
| 609 | struct bio *bio = bl->head; | ||
| 610 | |||
| 611 | bl->head = bl->tail = NULL; | ||
| 612 | |||
| 613 | return bio; | ||
| 614 | } | ||
| 615 | |||
| 507 | #if defined(CONFIG_BLK_DEV_INTEGRITY) | 616 | #if defined(CONFIG_BLK_DEV_INTEGRITY) |
| 508 | 617 | ||
| 509 | #define bip_vec_idx(bip, idx) (&(bip->bip_vec[(idx)])) | 618 | #define bip_vec_idx(bip, idx) (&(bip->bip_vec[(idx)])) |
diff --git a/include/linux/fs.h b/include/linux/fs.h index 562d2855cf30..e766be0d4329 100644 --- a/include/linux/fs.h +++ b/include/linux/fs.h | |||
| @@ -87,6 +87,60 @@ struct inodes_stat_t { | |||
| 87 | */ | 87 | */ |
| 88 | #define FMODE_NOCMTIME ((__force fmode_t)2048) | 88 | #define FMODE_NOCMTIME ((__force fmode_t)2048) |
| 89 | 89 | ||
| 90 | /* | ||
| 91 | * The below are the various read and write types that we support. Some of | ||
| 92 | * them include behavioral modifiers that send information down to the | ||
| 93 | * block layer and IO scheduler. Terminology: | ||
| 94 | * | ||
| 95 | * The block layer uses device plugging to defer IO a little bit, in | ||
| 96 | * the hope that we will see more IO very shortly. This increases | ||
| 97 | * coalescing of adjacent IO and thus reduces the number of IOs we | ||
| 98 | * have to send to the device. It also allows for better queuing, | ||
| 99 | * if the IO isn't mergeable. If the caller is going to be waiting | ||
| 100 | * for the IO, then he must ensure that the device is unplugged so | ||
| 101 | * that the IO is dispatched to the driver. | ||
| 102 | * | ||
| 103 | * All IO is handled async in Linux. This is fine for background | ||
| 104 | * writes, but for reads or writes that someone waits for completion | ||
| 105 | * on, we want to notify the block layer and IO scheduler so that they | ||
| 106 | * know about it. That allows them to make better scheduling | ||
| 107 | * decisions. So when the below references 'sync' and 'async', it | ||
| 108 | * is referencing this priority hint. | ||
| 109 | * | ||
| 110 | * With that in mind, the available types are: | ||
| 111 | * | ||
| 112 | * READ A normal read operation. Device will be plugged. | ||
| 113 | * READ_SYNC A synchronous read. Device is not plugged, caller can | ||
| 114 | * immediately wait on this read without caring about | ||
| 115 | * unplugging. | ||
| 116 | * READA Used for read-ahead operations. Lower priority, and the | ||
| 117 | * block layer could (in theory) choose to ignore this | ||
| 118 | * request if it runs into resource problems. | ||
| 119 | * WRITE A normal async write. Device will be plugged. | ||
| 120 | * SWRITE Like WRITE, but a special case for ll_rw_block() that | ||
| 121 | * tells it to lock the buffer first. Normally a buffer | ||
| 122 | * must be locked before doing IO. | ||
| 123 | * WRITE_SYNC_PLUG Synchronous write. Identical to WRITE, but passes down | ||
| 124 | * the hint that someone will be waiting on this IO | ||
| 125 | * shortly. The device must still be unplugged explicitly, | ||
| 126 | * WRITE_SYNC_PLUG does not do this as we could be | ||
| 127 | * submitting more writes before we actually wait on any | ||
| 128 | * of them. | ||
| 129 | * WRITE_SYNC Like WRITE_SYNC_PLUG, but also unplugs the device | ||
| 130 | * immediately after submission. The write equivalent | ||
| 131 | * of READ_SYNC. | ||
| 132 | * WRITE_ODIRECT Special case write for O_DIRECT only. | ||
| 133 | * SWRITE_SYNC | ||
| 134 | * SWRITE_SYNC_PLUG Like WRITE_SYNC/WRITE_SYNC_PLUG, but locks the buffer. | ||
| 135 | * See SWRITE. | ||
| 136 | * WRITE_BARRIER Like WRITE, but tells the block layer that all | ||
| 137 | * previously submitted writes must be safely on storage | ||
| 138 | * before this one is started. Also guarantees that when | ||
| 139 | * this write is complete, it itself is also safely on | ||
| 140 | * storage. Prevents reordering of writes on both sides | ||
| 141 | * of this IO. | ||
| 142 | * | ||
| 143 | */ | ||
| 90 | #define RW_MASK 1 | 144 | #define RW_MASK 1 |
| 91 | #define RWA_MASK 2 | 145 | #define RWA_MASK 2 |
| 92 | #define READ 0 | 146 | #define READ 0 |
| @@ -102,6 +156,11 @@ struct inodes_stat_t { | |||
| 102 | (SWRITE | (1 << BIO_RW_SYNCIO) | (1 << BIO_RW_NOIDLE)) | 156 | (SWRITE | (1 << BIO_RW_SYNCIO) | (1 << BIO_RW_NOIDLE)) |
| 103 | #define SWRITE_SYNC (SWRITE_SYNC_PLUG | (1 << BIO_RW_UNPLUG)) | 157 | #define SWRITE_SYNC (SWRITE_SYNC_PLUG | (1 << BIO_RW_UNPLUG)) |
| 104 | #define WRITE_BARRIER (WRITE | (1 << BIO_RW_BARRIER)) | 158 | #define WRITE_BARRIER (WRITE | (1 << BIO_RW_BARRIER)) |
| 159 | |||
| 160 | /* | ||
| 161 | * These aren't really reads or writes, they pass down information about | ||
| 162 | * parts of device that are now unused by the file system. | ||
| 163 | */ | ||
| 105 | #define DISCARD_NOBARRIER (1 << BIO_RW_DISCARD) | 164 | #define DISCARD_NOBARRIER (1 << BIO_RW_DISCARD) |
| 106 | #define DISCARD_BARRIER ((1 << BIO_RW_DISCARD) | (1 << BIO_RW_BARRIER)) | 165 | #define DISCARD_BARRIER ((1 << BIO_RW_DISCARD) | (1 << BIO_RW_BARRIER)) |
| 107 | 166 | ||
| @@ -738,9 +797,6 @@ enum inode_i_mutex_lock_class | |||
| 738 | I_MUTEX_QUOTA | 797 | I_MUTEX_QUOTA |
| 739 | }; | 798 | }; |
| 740 | 799 | ||
| 741 | extern void inode_double_lock(struct inode *inode1, struct inode *inode2); | ||
| 742 | extern void inode_double_unlock(struct inode *inode1, struct inode *inode2); | ||
| 743 | |||
| 744 | /* | 800 | /* |
| 745 | * NOTE: in a 32bit arch with a preemptable kernel and | 801 | * NOTE: in a 32bit arch with a preemptable kernel and |
| 746 | * an UP compile the i_size_read/write must be atomic | 802 | * an UP compile the i_size_read/write must be atomic |
| @@ -2150,8 +2206,6 @@ extern ssize_t generic_file_splice_read(struct file *, loff_t *, | |||
| 2150 | struct pipe_inode_info *, size_t, unsigned int); | 2206 | struct pipe_inode_info *, size_t, unsigned int); |
| 2151 | extern ssize_t generic_file_splice_write(struct pipe_inode_info *, | 2207 | extern ssize_t generic_file_splice_write(struct pipe_inode_info *, |
| 2152 | struct file *, loff_t *, size_t, unsigned int); | 2208 | struct file *, loff_t *, size_t, unsigned int); |
| 2153 | extern ssize_t generic_file_splice_write_nolock(struct pipe_inode_info *, | ||
| 2154 | struct file *, loff_t *, size_t, unsigned int); | ||
| 2155 | extern ssize_t generic_splice_sendpage(struct pipe_inode_info *pipe, | 2209 | extern ssize_t generic_splice_sendpage(struct pipe_inode_info *pipe, |
| 2156 | struct file *out, loff_t *, size_t len, unsigned int flags); | 2210 | struct file *out, loff_t *, size_t len, unsigned int flags); |
| 2157 | extern long do_splice_direct(struct file *in, loff_t *ppos, struct file *out, | 2211 | extern long do_splice_direct(struct file *in, loff_t *ppos, struct file *out, |
diff --git a/include/linux/fsl_devices.h b/include/linux/fsl_devices.h index f2a78b5e8b55..43fc95d822d5 100644 --- a/include/linux/fsl_devices.h +++ b/include/linux/fsl_devices.h | |||
| @@ -43,10 +43,6 @@ | |||
| 43 | * | 43 | * |
| 44 | */ | 44 | */ |
| 45 | 45 | ||
| 46 | /* Flags related to I2C device features */ | ||
| 47 | #define FSL_I2C_DEV_SEPARATE_DFSRR 0x00000001 | ||
| 48 | #define FSL_I2C_DEV_CLOCK_5200 0x00000002 | ||
| 49 | |||
| 50 | enum fsl_usb2_operating_modes { | 46 | enum fsl_usb2_operating_modes { |
| 51 | FSL_USB2_MPH_HOST, | 47 | FSL_USB2_MPH_HOST, |
| 52 | FSL_USB2_DR_HOST, | 48 | FSL_USB2_DR_HOST, |
diff --git a/include/linux/pipe_fs_i.h b/include/linux/pipe_fs_i.h index 8e4120285f72..c8f038554e80 100644 --- a/include/linux/pipe_fs_i.h +++ b/include/linux/pipe_fs_i.h | |||
| @@ -134,6 +134,11 @@ struct pipe_buf_operations { | |||
| 134 | memory allocation, whereas PIPE_BUF makes atomicity guarantees. */ | 134 | memory allocation, whereas PIPE_BUF makes atomicity guarantees. */ |
| 135 | #define PIPE_SIZE PAGE_SIZE | 135 | #define PIPE_SIZE PAGE_SIZE |
| 136 | 136 | ||
| 137 | /* Pipe lock and unlock operations */ | ||
| 138 | void pipe_lock(struct pipe_inode_info *); | ||
| 139 | void pipe_unlock(struct pipe_inode_info *); | ||
| 140 | void pipe_double_lock(struct pipe_inode_info *, struct pipe_inode_info *); | ||
| 141 | |||
| 137 | /* Drop the inode semaphore and wait for a pipe event, atomically */ | 142 | /* Drop the inode semaphore and wait for a pipe event, atomically */ |
| 138 | void pipe_wait(struct pipe_inode_info *pipe); | 143 | void pipe_wait(struct pipe_inode_info *pipe); |
| 139 | 144 | ||
diff --git a/include/linux/splice.h b/include/linux/splice.h index 528dcb93c2f2..5f3faa9d15ae 100644 --- a/include/linux/splice.h +++ b/include/linux/splice.h | |||
| @@ -36,6 +36,8 @@ struct splice_desc { | |||
| 36 | void *data; /* cookie */ | 36 | void *data; /* cookie */ |
| 37 | } u; | 37 | } u; |
| 38 | loff_t pos; /* file position */ | 38 | loff_t pos; /* file position */ |
| 39 | size_t num_spliced; /* number of bytes already spliced */ | ||
| 40 | bool need_wakeup; /* need to wake up writer */ | ||
| 39 | }; | 41 | }; |
| 40 | 42 | ||
| 41 | struct partial_page { | 43 | struct partial_page { |
| @@ -66,6 +68,16 @@ extern ssize_t splice_from_pipe(struct pipe_inode_info *, struct file *, | |||
| 66 | splice_actor *); | 68 | splice_actor *); |
| 67 | extern ssize_t __splice_from_pipe(struct pipe_inode_info *, | 69 | extern ssize_t __splice_from_pipe(struct pipe_inode_info *, |
| 68 | struct splice_desc *, splice_actor *); | 70 | struct splice_desc *, splice_actor *); |
| 71 | extern int splice_from_pipe_feed(struct pipe_inode_info *, struct splice_desc *, | ||
| 72 | splice_actor *); | ||
| 73 | extern int splice_from_pipe_next(struct pipe_inode_info *, | ||
| 74 | struct splice_desc *); | ||
| 75 | extern void splice_from_pipe_begin(struct splice_desc *); | ||
| 76 | extern void splice_from_pipe_end(struct pipe_inode_info *, | ||
| 77 | struct splice_desc *); | ||
| 78 | extern int pipe_to_file(struct pipe_inode_info *, struct pipe_buffer *, | ||
| 79 | struct splice_desc *); | ||
| 80 | |||
| 69 | extern ssize_t splice_to_pipe(struct pipe_inode_info *, | 81 | extern ssize_t splice_to_pipe(struct pipe_inode_info *, |
| 70 | struct splice_pipe_desc *); | 82 | struct splice_pipe_desc *); |
| 71 | extern ssize_t splice_direct_to_actor(struct file *, struct splice_desc *, | 83 | extern ssize_t splice_direct_to_actor(struct file *, struct splice_desc *, |
diff --git a/include/sound/jack.h b/include/sound/jack.h index 6b013c6f6a04..f236e426a706 100644 --- a/include/sound/jack.h +++ b/include/sound/jack.h | |||
| @@ -50,6 +50,8 @@ struct snd_jack { | |||
| 50 | int type; | 50 | int type; |
| 51 | const char *id; | 51 | const char *id; |
| 52 | char name[100]; | 52 | char name[100]; |
| 53 | void *private_data; | ||
| 54 | void (*private_free)(struct snd_jack *); | ||
| 53 | }; | 55 | }; |
| 54 | 56 | ||
| 55 | #ifdef CONFIG_SND_JACK | 57 | #ifdef CONFIG_SND_JACK |
diff --git a/include/sound/pcm.h b/include/sound/pcm.h index 8904b1900d7f..c17296891617 100644 --- a/include/sound/pcm.h +++ b/include/sound/pcm.h | |||
| @@ -268,7 +268,8 @@ struct snd_pcm_runtime { | |||
| 268 | int overrange; | 268 | int overrange; |
| 269 | snd_pcm_uframes_t avail_max; | 269 | snd_pcm_uframes_t avail_max; |
| 270 | snd_pcm_uframes_t hw_ptr_base; /* Position at buffer restart */ | 270 | snd_pcm_uframes_t hw_ptr_base; /* Position at buffer restart */ |
| 271 | snd_pcm_uframes_t hw_ptr_interrupt; /* Position at interrupt time*/ | 271 | snd_pcm_uframes_t hw_ptr_interrupt; /* Position at interrupt time */ |
| 272 | unsigned long hw_ptr_jiffies; /* Time when hw_ptr is updated */ | ||
| 272 | 273 | ||
| 273 | /* -- HW params -- */ | 274 | /* -- HW params -- */ |
| 274 | snd_pcm_access_t access; /* access mode */ | 275 | snd_pcm_access_t access; /* access mode */ |
diff --git a/kernel/power/swap.c b/kernel/power/swap.c index 505f319e489c..8ba052c86d48 100644 --- a/kernel/power/swap.c +++ b/kernel/power/swap.c | |||
| @@ -64,8 +64,6 @@ static int submit(int rw, pgoff_t page_off, struct page *page, | |||
| 64 | struct bio *bio; | 64 | struct bio *bio; |
| 65 | 65 | ||
| 66 | bio = bio_alloc(__GFP_WAIT | __GFP_HIGH, 1); | 66 | bio = bio_alloc(__GFP_WAIT | __GFP_HIGH, 1); |
| 67 | if (!bio) | ||
| 68 | return -ENOMEM; | ||
| 69 | bio->bi_sector = page_off * (PAGE_SIZE >> 9); | 67 | bio->bi_sector = page_off * (PAGE_SIZE >> 9); |
| 70 | bio->bi_bdev = resume_bdev; | 68 | bio->bi_bdev = resume_bdev; |
| 71 | bio->bi_end_io = end_swap_bio_read; | 69 | bio->bi_end_io = end_swap_bio_read; |
diff --git a/sound/core/control.c b/sound/core/control.c index 4b20fa2b7e6d..17b8d47a5cd0 100644 --- a/sound/core/control.c +++ b/sound/core/control.c | |||
| @@ -723,14 +723,11 @@ static int snd_ctl_elem_read_user(struct snd_card *card, | |||
| 723 | { | 723 | { |
| 724 | struct snd_ctl_elem_value *control; | 724 | struct snd_ctl_elem_value *control; |
| 725 | int result; | 725 | int result; |
| 726 | 726 | ||
| 727 | control = kmalloc(sizeof(*control), GFP_KERNEL); | 727 | control = memdup_user(_control, sizeof(*control)); |
| 728 | if (control == NULL) | 728 | if (IS_ERR(control)) |
| 729 | return -ENOMEM; | 729 | return PTR_ERR(control); |
| 730 | if (copy_from_user(control, _control, sizeof(*control))) { | 730 | |
| 731 | kfree(control); | ||
| 732 | return -EFAULT; | ||
| 733 | } | ||
| 734 | snd_power_lock(card); | 731 | snd_power_lock(card); |
| 735 | result = snd_power_wait(card, SNDRV_CTL_POWER_D0); | 732 | result = snd_power_wait(card, SNDRV_CTL_POWER_D0); |
| 736 | if (result >= 0) | 733 | if (result >= 0) |
| @@ -784,13 +781,10 @@ static int snd_ctl_elem_write_user(struct snd_ctl_file *file, | |||
| 784 | struct snd_card *card; | 781 | struct snd_card *card; |
| 785 | int result; | 782 | int result; |
| 786 | 783 | ||
| 787 | control = kmalloc(sizeof(*control), GFP_KERNEL); | 784 | control = memdup_user(_control, sizeof(*control)); |
| 788 | if (control == NULL) | 785 | if (IS_ERR(control)) |
| 789 | return -ENOMEM; | 786 | return PTR_ERR(control); |
| 790 | if (copy_from_user(control, _control, sizeof(*control))) { | 787 | |
| 791 | kfree(control); | ||
| 792 | return -EFAULT; | ||
| 793 | } | ||
| 794 | card = file->card; | 788 | card = file->card; |
| 795 | snd_power_lock(card); | 789 | snd_power_lock(card); |
| 796 | result = snd_power_wait(card, SNDRV_CTL_POWER_D0); | 790 | result = snd_power_wait(card, SNDRV_CTL_POWER_D0); |
| @@ -916,13 +910,10 @@ static int snd_ctl_elem_user_tlv(struct snd_kcontrol *kcontrol, | |||
| 916 | if (op_flag > 0) { | 910 | if (op_flag > 0) { |
| 917 | if (size > 1024 * 128) /* sane value */ | 911 | if (size > 1024 * 128) /* sane value */ |
| 918 | return -EINVAL; | 912 | return -EINVAL; |
| 919 | new_data = kmalloc(size, GFP_KERNEL); | 913 | |
| 920 | if (new_data == NULL) | 914 | new_data = memdup_user(tlv, size); |
| 921 | return -ENOMEM; | 915 | if (IS_ERR(new_data)) |
| 922 | if (copy_from_user(new_data, tlv, size)) { | 916 | return PTR_ERR(new_data); |
| 923 | kfree(new_data); | ||
| 924 | return -EFAULT; | ||
| 925 | } | ||
| 926 | change = ue->tlv_data_size != size; | 917 | change = ue->tlv_data_size != size; |
| 927 | if (!change) | 918 | if (!change) |
| 928 | change = memcmp(ue->tlv_data, new_data, size); | 919 | change = memcmp(ue->tlv_data, new_data, size); |
diff --git a/sound/core/jack.c b/sound/core/jack.c index c8254c667c62..d54d1a05fe65 100644 --- a/sound/core/jack.c +++ b/sound/core/jack.c | |||
| @@ -35,6 +35,9 @@ static int snd_jack_dev_free(struct snd_device *device) | |||
| 35 | { | 35 | { |
| 36 | struct snd_jack *jack = device->device_data; | 36 | struct snd_jack *jack = device->device_data; |
| 37 | 37 | ||
| 38 | if (jack->private_free) | ||
| 39 | jack->private_free(jack); | ||
| 40 | |||
| 38 | /* If the input device is registered with the input subsystem | 41 | /* If the input device is registered with the input subsystem |
| 39 | * then we need to use a different deallocator. */ | 42 | * then we need to use a different deallocator. */ |
| 40 | if (jack->registered) | 43 | if (jack->registered) |
diff --git a/sound/core/pcm_compat.c b/sound/core/pcm_compat.c index 36d7a5998234..08bfed594a83 100644 --- a/sound/core/pcm_compat.c +++ b/sound/core/pcm_compat.c | |||
| @@ -232,14 +232,11 @@ static int snd_pcm_ioctl_hw_params_compat(struct snd_pcm_substream *substream, | |||
| 232 | if (! (runtime = substream->runtime)) | 232 | if (! (runtime = substream->runtime)) |
| 233 | return -ENOTTY; | 233 | return -ENOTTY; |
| 234 | 234 | ||
| 235 | data = kmalloc(sizeof(*data), GFP_KERNEL); | ||
| 236 | if (data == NULL) | ||
| 237 | return -ENOMEM; | ||
| 238 | /* only fifo_size is different, so just copy all */ | 235 | /* only fifo_size is different, so just copy all */ |
| 239 | if (copy_from_user(data, data32, sizeof(*data32))) { | 236 | data = memdup_user(data32, sizeof(*data32)); |
| 240 | err = -EFAULT; | 237 | if (IS_ERR(data)) |
| 241 | goto error; | 238 | return PTR_ERR(data); |
| 242 | } | 239 | |
| 243 | if (refine) | 240 | if (refine) |
| 244 | err = snd_pcm_hw_refine(substream, data); | 241 | err = snd_pcm_hw_refine(substream, data); |
| 245 | else | 242 | else |
diff --git a/sound/core/pcm_lib.c b/sound/core/pcm_lib.c index fbb2e391591e..63d088f2265f 100644 --- a/sound/core/pcm_lib.c +++ b/sound/core/pcm_lib.c | |||
| @@ -209,9 +209,11 @@ static int snd_pcm_update_hw_ptr_interrupt(struct snd_pcm_substream *substream) | |||
| 209 | { | 209 | { |
| 210 | struct snd_pcm_runtime *runtime = substream->runtime; | 210 | struct snd_pcm_runtime *runtime = substream->runtime; |
| 211 | snd_pcm_uframes_t pos; | 211 | snd_pcm_uframes_t pos; |
| 212 | snd_pcm_uframes_t new_hw_ptr, hw_ptr_interrupt, hw_base; | 212 | snd_pcm_uframes_t old_hw_ptr, new_hw_ptr, hw_ptr_interrupt, hw_base; |
| 213 | snd_pcm_sframes_t delta; | 213 | snd_pcm_sframes_t hdelta, delta; |
| 214 | unsigned long jdelta; | ||
| 214 | 215 | ||
| 216 | old_hw_ptr = runtime->status->hw_ptr; | ||
| 215 | pos = snd_pcm_update_hw_ptr_pos(substream, runtime); | 217 | pos = snd_pcm_update_hw_ptr_pos(substream, runtime); |
| 216 | if (pos == SNDRV_PCM_POS_XRUN) { | 218 | if (pos == SNDRV_PCM_POS_XRUN) { |
| 217 | xrun(substream); | 219 | xrun(substream); |
| @@ -247,7 +249,30 @@ static int snd_pcm_update_hw_ptr_interrupt(struct snd_pcm_substream *substream) | |||
| 247 | new_hw_ptr = hw_base + pos; | 249 | new_hw_ptr = hw_base + pos; |
| 248 | } | 250 | } |
| 249 | } | 251 | } |
| 250 | if (delta > runtime->period_size) { | 252 | hdelta = new_hw_ptr - old_hw_ptr; |
| 253 | jdelta = jiffies - runtime->hw_ptr_jiffies; | ||
| 254 | if (((hdelta * HZ) / runtime->rate) > jdelta + HZ/100) { | ||
| 255 | delta = jdelta / | ||
| 256 | (((runtime->period_size * HZ) / runtime->rate) | ||
| 257 | + HZ/100); | ||
| 258 | hw_ptr_error(substream, | ||
| 259 | "hw_ptr skipping! [Q] " | ||
| 260 | "(pos=%ld, delta=%ld, period=%ld, " | ||
| 261 | "jdelta=%lu/%lu/%lu)\n", | ||
| 262 | (long)pos, (long)hdelta, | ||
| 263 | (long)runtime->period_size, jdelta, | ||
| 264 | ((hdelta * HZ) / runtime->rate), delta); | ||
| 265 | hw_ptr_interrupt = runtime->hw_ptr_interrupt + | ||
| 266 | runtime->period_size * delta; | ||
| 267 | if (hw_ptr_interrupt >= runtime->boundary) | ||
| 268 | hw_ptr_interrupt -= runtime->boundary; | ||
| 269 | /* rebase to interrupt position */ | ||
| 270 | hw_base = new_hw_ptr = hw_ptr_interrupt; | ||
| 271 | /* align hw_base to buffer_size */ | ||
| 272 | hw_base -= hw_base % runtime->buffer_size; | ||
| 273 | delta = 0; | ||
| 274 | } | ||
| 275 | if (delta > runtime->period_size + runtime->period_size / 2) { | ||
| 251 | hw_ptr_error(substream, | 276 | hw_ptr_error(substream, |
| 252 | "Lost interrupts? " | 277 | "Lost interrupts? " |
| 253 | "(stream=%i, delta=%ld, intr_ptr=%ld)\n", | 278 | "(stream=%i, delta=%ld, intr_ptr=%ld)\n", |
| @@ -263,6 +288,7 @@ static int snd_pcm_update_hw_ptr_interrupt(struct snd_pcm_substream *substream) | |||
| 263 | 288 | ||
| 264 | runtime->hw_ptr_base = hw_base; | 289 | runtime->hw_ptr_base = hw_base; |
| 265 | runtime->status->hw_ptr = new_hw_ptr; | 290 | runtime->status->hw_ptr = new_hw_ptr; |
| 291 | runtime->hw_ptr_jiffies = jiffies; | ||
| 266 | runtime->hw_ptr_interrupt = hw_ptr_interrupt; | 292 | runtime->hw_ptr_interrupt = hw_ptr_interrupt; |
| 267 | 293 | ||
| 268 | return snd_pcm_update_hw_ptr_post(substream, runtime); | 294 | return snd_pcm_update_hw_ptr_post(substream, runtime); |
| @@ -275,6 +301,7 @@ int snd_pcm_update_hw_ptr(struct snd_pcm_substream *substream) | |||
| 275 | snd_pcm_uframes_t pos; | 301 | snd_pcm_uframes_t pos; |
| 276 | snd_pcm_uframes_t old_hw_ptr, new_hw_ptr, hw_base; | 302 | snd_pcm_uframes_t old_hw_ptr, new_hw_ptr, hw_base; |
| 277 | snd_pcm_sframes_t delta; | 303 | snd_pcm_sframes_t delta; |
| 304 | unsigned long jdelta; | ||
| 278 | 305 | ||
| 279 | old_hw_ptr = runtime->status->hw_ptr; | 306 | old_hw_ptr = runtime->status->hw_ptr; |
| 280 | pos = snd_pcm_update_hw_ptr_pos(substream, runtime); | 307 | pos = snd_pcm_update_hw_ptr_pos(substream, runtime); |
| @@ -286,14 +313,15 @@ int snd_pcm_update_hw_ptr(struct snd_pcm_substream *substream) | |||
| 286 | new_hw_ptr = hw_base + pos; | 313 | new_hw_ptr = hw_base + pos; |
| 287 | 314 | ||
| 288 | delta = new_hw_ptr - old_hw_ptr; | 315 | delta = new_hw_ptr - old_hw_ptr; |
| 316 | jdelta = jiffies - runtime->hw_ptr_jiffies; | ||
| 289 | if (delta < 0) { | 317 | if (delta < 0) { |
| 290 | delta += runtime->buffer_size; | 318 | delta += runtime->buffer_size; |
| 291 | if (delta < 0) { | 319 | if (delta < 0) { |
| 292 | hw_ptr_error(substream, | 320 | hw_ptr_error(substream, |
| 293 | "Unexpected hw_pointer value [2] " | 321 | "Unexpected hw_pointer value [2] " |
| 294 | "(stream=%i, pos=%ld, old_ptr=%ld)\n", | 322 | "(stream=%i, pos=%ld, old_ptr=%ld, jdelta=%li)\n", |
| 295 | substream->stream, (long)pos, | 323 | substream->stream, (long)pos, |
| 296 | (long)old_hw_ptr); | 324 | (long)old_hw_ptr, jdelta); |
| 297 | return 0; | 325 | return 0; |
| 298 | } | 326 | } |
| 299 | hw_base += runtime->buffer_size; | 327 | hw_base += runtime->buffer_size; |
| @@ -301,12 +329,13 @@ int snd_pcm_update_hw_ptr(struct snd_pcm_substream *substream) | |||
| 301 | hw_base = 0; | 329 | hw_base = 0; |
| 302 | new_hw_ptr = hw_base + pos; | 330 | new_hw_ptr = hw_base + pos; |
| 303 | } | 331 | } |
| 304 | if (delta > runtime->period_size && runtime->periods > 1) { | 332 | if (((delta * HZ) / runtime->rate) > jdelta + HZ/100) { |
| 305 | hw_ptr_error(substream, | 333 | hw_ptr_error(substream, |
| 306 | "hw_ptr skipping! " | 334 | "hw_ptr skipping! " |
| 307 | "(pos=%ld, delta=%ld, period=%ld)\n", | 335 | "(pos=%ld, delta=%ld, period=%ld, jdelta=%lu/%lu)\n", |
| 308 | (long)pos, (long)delta, | 336 | (long)pos, (long)delta, |
| 309 | (long)runtime->period_size); | 337 | (long)runtime->period_size, jdelta, |
| 338 | ((delta * HZ) / runtime->rate)); | ||
| 310 | return 0; | 339 | return 0; |
| 311 | } | 340 | } |
| 312 | if (substream->stream == SNDRV_PCM_STREAM_PLAYBACK && | 341 | if (substream->stream == SNDRV_PCM_STREAM_PLAYBACK && |
| @@ -315,6 +344,7 @@ int snd_pcm_update_hw_ptr(struct snd_pcm_substream *substream) | |||
| 315 | 344 | ||
| 316 | runtime->hw_ptr_base = hw_base; | 345 | runtime->hw_ptr_base = hw_base; |
| 317 | runtime->status->hw_ptr = new_hw_ptr; | 346 | runtime->status->hw_ptr = new_hw_ptr; |
| 347 | runtime->hw_ptr_jiffies = jiffies; | ||
| 318 | 348 | ||
| 319 | return snd_pcm_update_hw_ptr_post(substream, runtime); | 349 | return snd_pcm_update_hw_ptr_post(substream, runtime); |
| 320 | } | 350 | } |
| @@ -1441,6 +1471,7 @@ static int snd_pcm_lib_ioctl_reset(struct snd_pcm_substream *substream, | |||
| 1441 | runtime->status->hw_ptr %= runtime->buffer_size; | 1471 | runtime->status->hw_ptr %= runtime->buffer_size; |
| 1442 | else | 1472 | else |
| 1443 | runtime->status->hw_ptr = 0; | 1473 | runtime->status->hw_ptr = 0; |
| 1474 | runtime->hw_ptr_jiffies = jiffies; | ||
| 1444 | snd_pcm_stream_unlock_irqrestore(substream, flags); | 1475 | snd_pcm_stream_unlock_irqrestore(substream, flags); |
| 1445 | return 0; | 1476 | return 0; |
| 1446 | } | 1477 | } |
diff --git a/sound/core/pcm_native.c b/sound/core/pcm_native.c index a151fb01ba82..fc6f98e257df 100644 --- a/sound/core/pcm_native.c +++ b/sound/core/pcm_native.c | |||
| @@ -327,21 +327,16 @@ static int snd_pcm_hw_refine_user(struct snd_pcm_substream *substream, | |||
| 327 | struct snd_pcm_hw_params *params; | 327 | struct snd_pcm_hw_params *params; |
| 328 | int err; | 328 | int err; |
| 329 | 329 | ||
| 330 | params = kmalloc(sizeof(*params), GFP_KERNEL); | 330 | params = memdup_user(_params, sizeof(*params)); |
| 331 | if (!params) { | 331 | if (IS_ERR(params)) |
| 332 | err = -ENOMEM; | 332 | return PTR_ERR(params); |
| 333 | goto out; | 333 | |
| 334 | } | ||
| 335 | if (copy_from_user(params, _params, sizeof(*params))) { | ||
| 336 | err = -EFAULT; | ||
| 337 | goto out; | ||
| 338 | } | ||
| 339 | err = snd_pcm_hw_refine(substream, params); | 334 | err = snd_pcm_hw_refine(substream, params); |
| 340 | if (copy_to_user(_params, params, sizeof(*params))) { | 335 | if (copy_to_user(_params, params, sizeof(*params))) { |
| 341 | if (!err) | 336 | if (!err) |
| 342 | err = -EFAULT; | 337 | err = -EFAULT; |
| 343 | } | 338 | } |
| 344 | out: | 339 | |
| 345 | kfree(params); | 340 | kfree(params); |
| 346 | return err; | 341 | return err; |
| 347 | } | 342 | } |
| @@ -465,21 +460,16 @@ static int snd_pcm_hw_params_user(struct snd_pcm_substream *substream, | |||
| 465 | struct snd_pcm_hw_params *params; | 460 | struct snd_pcm_hw_params *params; |
| 466 | int err; | 461 | int err; |
| 467 | 462 | ||
| 468 | params = kmalloc(sizeof(*params), GFP_KERNEL); | 463 | params = memdup_user(_params, sizeof(*params)); |
| 469 | if (!params) { | 464 | if (IS_ERR(params)) |
| 470 | err = -ENOMEM; | 465 | return PTR_ERR(params); |
| 471 | goto out; | 466 | |
| 472 | } | ||
| 473 | if (copy_from_user(params, _params, sizeof(*params))) { | ||
| 474 | err = -EFAULT; | ||
| 475 | goto out; | ||
| 476 | } | ||
| 477 | err = snd_pcm_hw_params(substream, params); | 467 | err = snd_pcm_hw_params(substream, params); |
| 478 | if (copy_to_user(_params, params, sizeof(*params))) { | 468 | if (copy_to_user(_params, params, sizeof(*params))) { |
| 479 | if (!err) | 469 | if (!err) |
| 480 | err = -EFAULT; | 470 | err = -EFAULT; |
| 481 | } | 471 | } |
| 482 | out: | 472 | |
| 483 | kfree(params); | 473 | kfree(params); |
| 484 | return err; | 474 | return err; |
| 485 | } | 475 | } |
| @@ -2593,13 +2583,11 @@ static int snd_pcm_playback_ioctl1(struct file *file, | |||
| 2593 | return -EFAULT; | 2583 | return -EFAULT; |
| 2594 | if (copy_from_user(&xfern, _xfern, sizeof(xfern))) | 2584 | if (copy_from_user(&xfern, _xfern, sizeof(xfern))) |
| 2595 | return -EFAULT; | 2585 | return -EFAULT; |
| 2596 | bufs = kmalloc(sizeof(void *) * runtime->channels, GFP_KERNEL); | 2586 | |
| 2597 | if (bufs == NULL) | 2587 | bufs = memdup_user(xfern.bufs, |
| 2598 | return -ENOMEM; | 2588 | sizeof(void *) * runtime->channels); |
| 2599 | if (copy_from_user(bufs, xfern.bufs, sizeof(void *) * runtime->channels)) { | 2589 | if (IS_ERR(bufs)) |
| 2600 | kfree(bufs); | 2590 | return PTR_ERR(bufs); |
| 2601 | return -EFAULT; | ||
| 2602 | } | ||
| 2603 | result = snd_pcm_lib_writev(substream, bufs, xfern.frames); | 2591 | result = snd_pcm_lib_writev(substream, bufs, xfern.frames); |
| 2604 | kfree(bufs); | 2592 | kfree(bufs); |
| 2605 | __put_user(result, &_xfern->result); | 2593 | __put_user(result, &_xfern->result); |
| @@ -2675,13 +2663,11 @@ static int snd_pcm_capture_ioctl1(struct file *file, | |||
| 2675 | return -EFAULT; | 2663 | return -EFAULT; |
| 2676 | if (copy_from_user(&xfern, _xfern, sizeof(xfern))) | 2664 | if (copy_from_user(&xfern, _xfern, sizeof(xfern))) |
| 2677 | return -EFAULT; | 2665 | return -EFAULT; |
| 2678 | bufs = kmalloc(sizeof(void *) * runtime->channels, GFP_KERNEL); | 2666 | |
| 2679 | if (bufs == NULL) | 2667 | bufs = memdup_user(xfern.bufs, |
| 2680 | return -ENOMEM; | 2668 | sizeof(void *) * runtime->channels); |
| 2681 | if (copy_from_user(bufs, xfern.bufs, sizeof(void *) * runtime->channels)) { | 2669 | if (IS_ERR(bufs)) |
| 2682 | kfree(bufs); | 2670 | return PTR_ERR(bufs); |
| 2683 | return -EFAULT; | ||
| 2684 | } | ||
| 2685 | result = snd_pcm_lib_readv(substream, bufs, xfern.frames); | 2671 | result = snd_pcm_lib_readv(substream, bufs, xfern.frames); |
| 2686 | kfree(bufs); | 2672 | kfree(bufs); |
| 2687 | __put_user(result, &_xfern->result); | 2673 | __put_user(result, &_xfern->result); |
| @@ -3312,18 +3298,12 @@ static int snd_pcm_hw_refine_old_user(struct snd_pcm_substream *substream, | |||
| 3312 | int err; | 3298 | int err; |
| 3313 | 3299 | ||
| 3314 | params = kmalloc(sizeof(*params), GFP_KERNEL); | 3300 | params = kmalloc(sizeof(*params), GFP_KERNEL); |
| 3315 | if (!params) { | 3301 | if (!params) |
| 3316 | err = -ENOMEM; | 3302 | return -ENOMEM; |
| 3317 | goto out; | ||
| 3318 | } | ||
| 3319 | oparams = kmalloc(sizeof(*oparams), GFP_KERNEL); | ||
| 3320 | if (!oparams) { | ||
| 3321 | err = -ENOMEM; | ||
| 3322 | goto out; | ||
| 3323 | } | ||
| 3324 | 3303 | ||
| 3325 | if (copy_from_user(oparams, _oparams, sizeof(*oparams))) { | 3304 | oparams = memdup_user(_oparams, sizeof(*oparams)); |
| 3326 | err = -EFAULT; | 3305 | if (IS_ERR(oparams)) { |
| 3306 | err = PTR_ERR(oparams); | ||
| 3327 | goto out; | 3307 | goto out; |
| 3328 | } | 3308 | } |
| 3329 | snd_pcm_hw_convert_from_old_params(params, oparams); | 3309 | snd_pcm_hw_convert_from_old_params(params, oparams); |
| @@ -3333,9 +3313,10 @@ static int snd_pcm_hw_refine_old_user(struct snd_pcm_substream *substream, | |||
| 3333 | if (!err) | 3313 | if (!err) |
| 3334 | err = -EFAULT; | 3314 | err = -EFAULT; |
| 3335 | } | 3315 | } |
| 3316 | |||
| 3317 | kfree(oparams); | ||
| 3336 | out: | 3318 | out: |
| 3337 | kfree(params); | 3319 | kfree(params); |
| 3338 | kfree(oparams); | ||
| 3339 | return err; | 3320 | return err; |
| 3340 | } | 3321 | } |
| 3341 | 3322 | ||
| @@ -3347,17 +3328,12 @@ static int snd_pcm_hw_params_old_user(struct snd_pcm_substream *substream, | |||
| 3347 | int err; | 3328 | int err; |
| 3348 | 3329 | ||
| 3349 | params = kmalloc(sizeof(*params), GFP_KERNEL); | 3330 | params = kmalloc(sizeof(*params), GFP_KERNEL); |
| 3350 | if (!params) { | 3331 | if (!params) |
| 3351 | err = -ENOMEM; | 3332 | return -ENOMEM; |
| 3352 | goto out; | 3333 | |
| 3353 | } | 3334 | oparams = memdup_user(_oparams, sizeof(*oparams)); |
| 3354 | oparams = kmalloc(sizeof(*oparams), GFP_KERNEL); | 3335 | if (IS_ERR(oparams)) { |
| 3355 | if (!oparams) { | 3336 | err = PTR_ERR(oparams); |
| 3356 | err = -ENOMEM; | ||
| 3357 | goto out; | ||
| 3358 | } | ||
| 3359 | if (copy_from_user(oparams, _oparams, sizeof(*oparams))) { | ||
| 3360 | err = -EFAULT; | ||
| 3361 | goto out; | 3337 | goto out; |
| 3362 | } | 3338 | } |
| 3363 | snd_pcm_hw_convert_from_old_params(params, oparams); | 3339 | snd_pcm_hw_convert_from_old_params(params, oparams); |
| @@ -3367,9 +3343,10 @@ static int snd_pcm_hw_params_old_user(struct snd_pcm_substream *substream, | |||
| 3367 | if (!err) | 3343 | if (!err) |
| 3368 | err = -EFAULT; | 3344 | err = -EFAULT; |
| 3369 | } | 3345 | } |
| 3346 | |||
| 3347 | kfree(oparams); | ||
| 3370 | out: | 3348 | out: |
| 3371 | kfree(params); | 3349 | kfree(params); |
| 3372 | kfree(oparams); | ||
| 3373 | return err; | 3350 | return err; |
| 3374 | } | 3351 | } |
| 3375 | #endif /* CONFIG_SND_SUPPORT_OLD_API */ | 3352 | #endif /* CONFIG_SND_SUPPORT_OLD_API */ |
diff --git a/sound/core/seq/seq_compat.c b/sound/core/seq/seq_compat.c index 38693f47c262..c956fe462569 100644 --- a/sound/core/seq/seq_compat.c +++ b/sound/core/seq/seq_compat.c | |||
| @@ -48,12 +48,11 @@ static int snd_seq_call_port_info_ioctl(struct snd_seq_client *client, unsigned | |||
| 48 | struct snd_seq_port_info *data; | 48 | struct snd_seq_port_info *data; |
| 49 | mm_segment_t fs; | 49 | mm_segment_t fs; |
| 50 | 50 | ||
| 51 | data = kmalloc(sizeof(*data), GFP_KERNEL); | 51 | data = memdup_user(data32, sizeof(*data32)); |
| 52 | if (! data) | 52 | if (IS_ERR(data)) |
| 53 | return -ENOMEM; | 53 | return PTR_ERR(data); |
| 54 | 54 | ||
| 55 | if (copy_from_user(data, data32, sizeof(*data32)) || | 55 | if (get_user(data->flags, &data32->flags) || |
| 56 | get_user(data->flags, &data32->flags) || | ||
| 57 | get_user(data->time_queue, &data32->time_queue)) | 56 | get_user(data->time_queue, &data32->time_queue)) |
| 58 | goto error; | 57 | goto error; |
| 59 | data->kernel = NULL; | 58 | data->kernel = NULL; |
diff --git a/sound/core/timer.c b/sound/core/timer.c index 3f0050d0b71e..8f8b17ac074d 100644 --- a/sound/core/timer.c +++ b/sound/core/timer.c | |||
| @@ -1395,13 +1395,10 @@ static int snd_timer_user_ginfo(struct file *file, | |||
| 1395 | struct list_head *p; | 1395 | struct list_head *p; |
| 1396 | int err = 0; | 1396 | int err = 0; |
| 1397 | 1397 | ||
| 1398 | ginfo = kmalloc(sizeof(*ginfo), GFP_KERNEL); | 1398 | ginfo = memdup_user(_ginfo, sizeof(*ginfo)); |
| 1399 | if (! ginfo) | 1399 | if (IS_ERR(ginfo)) |
| 1400 | return -ENOMEM; | 1400 | return PTR_ERR(ginfo); |
| 1401 | if (copy_from_user(ginfo, _ginfo, sizeof(*ginfo))) { | 1401 | |
| 1402 | kfree(ginfo); | ||
| 1403 | return -EFAULT; | ||
| 1404 | } | ||
| 1405 | tid = ginfo->tid; | 1402 | tid = ginfo->tid; |
| 1406 | memset(ginfo, 0, sizeof(*ginfo)); | 1403 | memset(ginfo, 0, sizeof(*ginfo)); |
| 1407 | ginfo->tid = tid; | 1404 | ginfo->tid = tid; |
diff --git a/sound/isa/sb/sb16_csp.c b/sound/isa/sb/sb16_csp.c index 49037d074c71..bdc8dde4e4a2 100644 --- a/sound/isa/sb/sb16_csp.c +++ b/sound/isa/sb/sb16_csp.c | |||
| @@ -684,15 +684,16 @@ static int snd_sb_csp_load(struct snd_sb_csp * p, const unsigned char *buf, int | |||
| 684 | 684 | ||
| 685 | static int snd_sb_csp_load_user(struct snd_sb_csp * p, const unsigned char __user *buf, int size, int load_flags) | 685 | static int snd_sb_csp_load_user(struct snd_sb_csp * p, const unsigned char __user *buf, int size, int load_flags) |
| 686 | { | 686 | { |
| 687 | int err = -ENOMEM; | 687 | int err; |
| 688 | unsigned char *kbuf = kmalloc(size, GFP_KERNEL); | 688 | unsigned char *kbuf; |
| 689 | if (kbuf) { | 689 | |
| 690 | if (copy_from_user(kbuf, buf, size)) | 690 | kbuf = memdup_user(buf, size); |
| 691 | err = -EFAULT; | 691 | if (IS_ERR(kbuf)) |
| 692 | else | 692 | return PTR_ERR(kbuf); |
| 693 | err = snd_sb_csp_load(p, kbuf, size, load_flags); | 693 | |
| 694 | kfree(kbuf); | 694 | err = snd_sb_csp_load(p, kbuf, size, load_flags); |
| 695 | } | 695 | |
| 696 | kfree(kbuf); | ||
| 696 | return err; | 697 | return err; |
| 697 | } | 698 | } |
| 698 | 699 | ||
diff --git a/sound/isa/wavefront/wavefront_fx.c b/sound/isa/wavefront/wavefront_fx.c index a4345fc07561..2bb1cee09255 100644 --- a/sound/isa/wavefront/wavefront_fx.c +++ b/sound/isa/wavefront/wavefront_fx.c | |||
| @@ -202,15 +202,11 @@ snd_wavefront_fx_ioctl (struct snd_hwdep *sdev, struct file *file, | |||
| 202 | "> 512 bytes to FX\n"); | 202 | "> 512 bytes to FX\n"); |
| 203 | return -EIO; | 203 | return -EIO; |
| 204 | } | 204 | } |
| 205 | page_data = kmalloc(r.data[2] * sizeof(short), GFP_KERNEL); | 205 | page_data = memdup_user((unsigned char __user *) |
| 206 | if (!page_data) | 206 | r.data[3], |
| 207 | return -ENOMEM; | 207 | r.data[2] * sizeof(short)); |
| 208 | if (copy_from_user (page_data, | 208 | if (IS_ERR(page_data)) |
| 209 | (unsigned char __user *) r.data[3], | 209 | return PTR_ERR(page_data); |
| 210 | r.data[2] * sizeof(short))) { | ||
| 211 | kfree(page_data); | ||
| 212 | return -EFAULT; | ||
| 213 | } | ||
| 214 | pd = page_data; | 210 | pd = page_data; |
| 215 | } | 211 | } |
| 216 | 212 | ||
diff --git a/sound/isa/wavefront/wavefront_synth.c b/sound/isa/wavefront/wavefront_synth.c index beb312cca75b..5d4ff48c4345 100644 --- a/sound/isa/wavefront/wavefront_synth.c +++ b/sound/isa/wavefront/wavefront_synth.c | |||
| @@ -1664,12 +1664,11 @@ snd_wavefront_synth_ioctl (struct snd_hwdep *hw, struct file *file, | |||
| 1664 | break; | 1664 | break; |
| 1665 | 1665 | ||
| 1666 | case WFCTL_WFCMD: | 1666 | case WFCTL_WFCMD: |
| 1667 | wc = kmalloc(sizeof(*wc), GFP_KERNEL); | 1667 | wc = memdup_user(argp, sizeof(*wc)); |
| 1668 | if (! wc) | 1668 | if (IS_ERR(wc)) |
| 1669 | return -ENOMEM; | 1669 | return PTR_ERR(wc); |
| 1670 | if (copy_from_user (wc, argp, sizeof (*wc))) | 1670 | |
| 1671 | err = -EFAULT; | 1671 | if (wavefront_synth_control (acard, wc) < 0) |
| 1672 | else if (wavefront_synth_control (acard, wc) < 0) | ||
| 1673 | err = -EIO; | 1672 | err = -EIO; |
| 1674 | else if (copy_to_user (argp, wc, sizeof (*wc))) | 1673 | else if (copy_to_user (argp, wc, sizeof (*wc))) |
| 1675 | err = -EFAULT; | 1674 | err = -EFAULT; |
diff --git a/sound/pci/emu10k1/emufx.c b/sound/pci/emu10k1/emufx.c index 191e1cd9997d..4b302d86f5f2 100644 --- a/sound/pci/emu10k1/emufx.c +++ b/sound/pci/emu10k1/emufx.c | |||
| @@ -2493,24 +2493,17 @@ static int snd_emu10k1_fx8010_ioctl(struct snd_hwdep * hw, struct file *file, un | |||
| 2493 | case SNDRV_EMU10K1_IOCTL_CODE_POKE: | 2493 | case SNDRV_EMU10K1_IOCTL_CODE_POKE: |
| 2494 | if (!capable(CAP_SYS_ADMIN)) | 2494 | if (!capable(CAP_SYS_ADMIN)) |
| 2495 | return -EPERM; | 2495 | return -EPERM; |
| 2496 | icode = kmalloc(sizeof(*icode), GFP_KERNEL); | 2496 | |
| 2497 | if (icode == NULL) | 2497 | icode = memdup_user(argp, sizeof(*icode)); |
| 2498 | return -ENOMEM; | 2498 | if (IS_ERR(icode)) |
| 2499 | if (copy_from_user(icode, argp, sizeof(*icode))) { | 2499 | return PTR_ERR(icode); |
| 2500 | kfree(icode); | ||
| 2501 | return -EFAULT; | ||
| 2502 | } | ||
| 2503 | res = snd_emu10k1_icode_poke(emu, icode); | 2500 | res = snd_emu10k1_icode_poke(emu, icode); |
| 2504 | kfree(icode); | 2501 | kfree(icode); |
| 2505 | return res; | 2502 | return res; |
| 2506 | case SNDRV_EMU10K1_IOCTL_CODE_PEEK: | 2503 | case SNDRV_EMU10K1_IOCTL_CODE_PEEK: |
| 2507 | icode = kmalloc(sizeof(*icode), GFP_KERNEL); | 2504 | icode = memdup_user(argp, sizeof(*icode)); |
| 2508 | if (icode == NULL) | 2505 | if (IS_ERR(icode)) |
| 2509 | return -ENOMEM; | 2506 | return PTR_ERR(icode); |
| 2510 | if (copy_from_user(icode, argp, sizeof(*icode))) { | ||
| 2511 | kfree(icode); | ||
| 2512 | return -EFAULT; | ||
| 2513 | } | ||
| 2514 | res = snd_emu10k1_icode_peek(emu, icode); | 2507 | res = snd_emu10k1_icode_peek(emu, icode); |
| 2515 | if (res == 0 && copy_to_user(argp, icode, sizeof(*icode))) { | 2508 | if (res == 0 && copy_to_user(argp, icode, sizeof(*icode))) { |
| 2516 | kfree(icode); | 2509 | kfree(icode); |
| @@ -2519,24 +2512,16 @@ static int snd_emu10k1_fx8010_ioctl(struct snd_hwdep * hw, struct file *file, un | |||
| 2519 | kfree(icode); | 2512 | kfree(icode); |
| 2520 | return res; | 2513 | return res; |
| 2521 | case SNDRV_EMU10K1_IOCTL_PCM_POKE: | 2514 | case SNDRV_EMU10K1_IOCTL_PCM_POKE: |
| 2522 | ipcm = kmalloc(sizeof(*ipcm), GFP_KERNEL); | 2515 | ipcm = memdup_user(argp, sizeof(*ipcm)); |
| 2523 | if (ipcm == NULL) | 2516 | if (IS_ERR(ipcm)) |
| 2524 | return -ENOMEM; | 2517 | return PTR_ERR(ipcm); |
| 2525 | if (copy_from_user(ipcm, argp, sizeof(*ipcm))) { | ||
| 2526 | kfree(ipcm); | ||
| 2527 | return -EFAULT; | ||
| 2528 | } | ||
| 2529 | res = snd_emu10k1_ipcm_poke(emu, ipcm); | 2518 | res = snd_emu10k1_ipcm_poke(emu, ipcm); |
| 2530 | kfree(ipcm); | 2519 | kfree(ipcm); |
| 2531 | return res; | 2520 | return res; |
| 2532 | case SNDRV_EMU10K1_IOCTL_PCM_PEEK: | 2521 | case SNDRV_EMU10K1_IOCTL_PCM_PEEK: |
| 2533 | ipcm = kzalloc(sizeof(*ipcm), GFP_KERNEL); | 2522 | ipcm = memdup_user(argp, sizeof(*ipcm)); |
| 2534 | if (ipcm == NULL) | 2523 | if (IS_ERR(ipcm)) |
| 2535 | return -ENOMEM; | 2524 | return PTR_ERR(ipcm); |
| 2536 | if (copy_from_user(ipcm, argp, sizeof(*ipcm))) { | ||
| 2537 | kfree(ipcm); | ||
| 2538 | return -EFAULT; | ||
| 2539 | } | ||
| 2540 | res = snd_emu10k1_ipcm_peek(emu, ipcm); | 2525 | res = snd_emu10k1_ipcm_peek(emu, ipcm); |
| 2541 | if (res == 0 && copy_to_user(argp, ipcm, sizeof(*ipcm))) { | 2526 | if (res == 0 && copy_to_user(argp, ipcm, sizeof(*ipcm))) { |
| 2542 | kfree(ipcm); | 2527 | kfree(ipcm); |
diff --git a/sound/pci/hda/hda_codec.c b/sound/pci/hda/hda_codec.c index a4e5e5952115..fd6e6f337d10 100644 --- a/sound/pci/hda/hda_codec.c +++ b/sound/pci/hda/hda_codec.c | |||
| @@ -2250,7 +2250,11 @@ int snd_hda_codec_write_cache(struct hda_codec *codec, hda_nid_t nid, | |||
| 2250 | err = bus->ops.command(bus, res); | 2250 | err = bus->ops.command(bus, res); |
| 2251 | if (!err) { | 2251 | if (!err) { |
| 2252 | struct hda_cache_head *c; | 2252 | struct hda_cache_head *c; |
| 2253 | u32 key = build_cmd_cache_key(nid, verb); | 2253 | u32 key; |
| 2254 | /* parm may contain the verb stuff for get/set amp */ | ||
| 2255 | verb = verb | (parm >> 8); | ||
| 2256 | parm &= 0xff; | ||
| 2257 | key = build_cmd_cache_key(nid, verb); | ||
| 2254 | c = get_alloc_hash(&codec->cmd_cache, key); | 2258 | c = get_alloc_hash(&codec->cmd_cache, key); |
| 2255 | if (c) | 2259 | if (c) |
| 2256 | c->val = parm; | 2260 | c->val = parm; |
diff --git a/sound/pci/hda/hda_intel.c b/sound/pci/hda/hda_intel.c index 7ba8db5d4c42..bc882f8f163c 100644 --- a/sound/pci/hda/hda_intel.c +++ b/sound/pci/hda/hda_intel.c | |||
| @@ -312,6 +312,9 @@ struct azx_dev { | |||
| 312 | unsigned int period_bytes; /* size of the period in bytes */ | 312 | unsigned int period_bytes; /* size of the period in bytes */ |
| 313 | unsigned int frags; /* number for period in the play buffer */ | 313 | unsigned int frags; /* number for period in the play buffer */ |
| 314 | unsigned int fifo_size; /* FIFO size */ | 314 | unsigned int fifo_size; /* FIFO size */ |
| 315 | unsigned int start_flag: 1; /* stream full start flag */ | ||
| 316 | unsigned long start_jiffies; /* start + minimum jiffies */ | ||
| 317 | unsigned long min_jiffies; /* minimum jiffies before position is valid */ | ||
| 315 | 318 | ||
| 316 | void __iomem *sd_addr; /* stream descriptor pointer */ | 319 | void __iomem *sd_addr; /* stream descriptor pointer */ |
| 317 | 320 | ||
| @@ -330,7 +333,6 @@ struct azx_dev { | |||
| 330 | unsigned int opened :1; | 333 | unsigned int opened :1; |
| 331 | unsigned int running :1; | 334 | unsigned int running :1; |
| 332 | unsigned int irq_pending :1; | 335 | unsigned int irq_pending :1; |
| 333 | unsigned int irq_ignore :1; | ||
| 334 | /* | 336 | /* |
| 335 | * For VIA: | 337 | * For VIA: |
| 336 | * A flag to ensure DMA position is 0 | 338 | * A flag to ensure DMA position is 0 |
| @@ -975,7 +977,7 @@ static irqreturn_t azx_interrupt(int irq, void *dev_id) | |||
| 975 | struct azx *chip = dev_id; | 977 | struct azx *chip = dev_id; |
| 976 | struct azx_dev *azx_dev; | 978 | struct azx_dev *azx_dev; |
| 977 | u32 status; | 979 | u32 status; |
| 978 | int i; | 980 | int i, ok; |
| 979 | 981 | ||
| 980 | spin_lock(&chip->reg_lock); | 982 | spin_lock(&chip->reg_lock); |
| 981 | 983 | ||
| @@ -991,18 +993,14 @@ static irqreturn_t azx_interrupt(int irq, void *dev_id) | |||
| 991 | azx_sd_writeb(azx_dev, SD_STS, SD_INT_MASK); | 993 | azx_sd_writeb(azx_dev, SD_STS, SD_INT_MASK); |
| 992 | if (!azx_dev->substream || !azx_dev->running) | 994 | if (!azx_dev->substream || !azx_dev->running) |
| 993 | continue; | 995 | continue; |
| 994 | /* ignore the first dummy IRQ (due to pos_adj) */ | ||
| 995 | if (azx_dev->irq_ignore) { | ||
| 996 | azx_dev->irq_ignore = 0; | ||
| 997 | continue; | ||
| 998 | } | ||
| 999 | /* check whether this IRQ is really acceptable */ | 996 | /* check whether this IRQ is really acceptable */ |
| 1000 | if (azx_position_ok(chip, azx_dev)) { | 997 | ok = azx_position_ok(chip, azx_dev); |
| 998 | if (ok == 1) { | ||
| 1001 | azx_dev->irq_pending = 0; | 999 | azx_dev->irq_pending = 0; |
| 1002 | spin_unlock(&chip->reg_lock); | 1000 | spin_unlock(&chip->reg_lock); |
| 1003 | snd_pcm_period_elapsed(azx_dev->substream); | 1001 | snd_pcm_period_elapsed(azx_dev->substream); |
| 1004 | spin_lock(&chip->reg_lock); | 1002 | spin_lock(&chip->reg_lock); |
| 1005 | } else if (chip->bus && chip->bus->workq) { | 1003 | } else if (ok == 0 && chip->bus && chip->bus->workq) { |
| 1006 | /* bogus IRQ, process it later */ | 1004 | /* bogus IRQ, process it later */ |
| 1007 | azx_dev->irq_pending = 1; | 1005 | azx_dev->irq_pending = 1; |
| 1008 | queue_work(chip->bus->workq, | 1006 | queue_work(chip->bus->workq, |
| @@ -1088,7 +1086,6 @@ static int azx_setup_periods(struct azx *chip, | |||
| 1088 | bdl = (u32 *)azx_dev->bdl.area; | 1086 | bdl = (u32 *)azx_dev->bdl.area; |
| 1089 | ofs = 0; | 1087 | ofs = 0; |
| 1090 | azx_dev->frags = 0; | 1088 | azx_dev->frags = 0; |
| 1091 | azx_dev->irq_ignore = 0; | ||
| 1092 | pos_adj = bdl_pos_adj[chip->dev_index]; | 1089 | pos_adj = bdl_pos_adj[chip->dev_index]; |
| 1093 | if (pos_adj > 0) { | 1090 | if (pos_adj > 0) { |
| 1094 | struct snd_pcm_runtime *runtime = substream->runtime; | 1091 | struct snd_pcm_runtime *runtime = substream->runtime; |
| @@ -1109,7 +1106,6 @@ static int azx_setup_periods(struct azx *chip, | |||
| 1109 | &bdl, ofs, pos_adj, 1); | 1106 | &bdl, ofs, pos_adj, 1); |
| 1110 | if (ofs < 0) | 1107 | if (ofs < 0) |
| 1111 | goto error; | 1108 | goto error; |
| 1112 | azx_dev->irq_ignore = 1; | ||
| 1113 | } | 1109 | } |
| 1114 | } else | 1110 | } else |
| 1115 | pos_adj = 0; | 1111 | pos_adj = 0; |
| @@ -1155,6 +1151,9 @@ static void azx_stream_reset(struct azx *chip, struct azx_dev *azx_dev) | |||
| 1155 | while (((val = azx_sd_readb(azx_dev, SD_CTL)) & SD_CTL_STREAM_RESET) && | 1151 | while (((val = azx_sd_readb(azx_dev, SD_CTL)) & SD_CTL_STREAM_RESET) && |
| 1156 | --timeout) | 1152 | --timeout) |
| 1157 | ; | 1153 | ; |
| 1154 | |||
| 1155 | /* reset first position - may not be synced with hw at this time */ | ||
| 1156 | *azx_dev->posbuf = 0; | ||
| 1158 | } | 1157 | } |
| 1159 | 1158 | ||
| 1160 | /* | 1159 | /* |
| @@ -1409,7 +1408,6 @@ static int azx_pcm_open(struct snd_pcm_substream *substream) | |||
| 1409 | snd_pcm_set_sync(substream); | 1408 | snd_pcm_set_sync(substream); |
| 1410 | mutex_unlock(&chip->open_mutex); | 1409 | mutex_unlock(&chip->open_mutex); |
| 1411 | 1410 | ||
| 1412 | azx_stream_reset(chip, azx_dev); | ||
| 1413 | return 0; | 1411 | return 0; |
| 1414 | } | 1412 | } |
| 1415 | 1413 | ||
| @@ -1474,6 +1472,7 @@ static int azx_pcm_prepare(struct snd_pcm_substream *substream) | |||
| 1474 | unsigned int bufsize, period_bytes, format_val; | 1472 | unsigned int bufsize, period_bytes, format_val; |
| 1475 | int err; | 1473 | int err; |
| 1476 | 1474 | ||
| 1475 | azx_stream_reset(chip, azx_dev); | ||
| 1477 | format_val = snd_hda_calc_stream_format(runtime->rate, | 1476 | format_val = snd_hda_calc_stream_format(runtime->rate, |
| 1478 | runtime->channels, | 1477 | runtime->channels, |
| 1479 | runtime->format, | 1478 | runtime->format, |
| @@ -1502,6 +1501,8 @@ static int azx_pcm_prepare(struct snd_pcm_substream *substream) | |||
| 1502 | return err; | 1501 | return err; |
| 1503 | } | 1502 | } |
| 1504 | 1503 | ||
| 1504 | azx_dev->min_jiffies = (runtime->period_size * HZ) / | ||
| 1505 | (runtime->rate * 2); | ||
| 1505 | azx_setup_controller(chip, azx_dev); | 1506 | azx_setup_controller(chip, azx_dev); |
| 1506 | if (substream->stream == SNDRV_PCM_STREAM_PLAYBACK) | 1507 | if (substream->stream == SNDRV_PCM_STREAM_PLAYBACK) |
| 1507 | azx_dev->fifo_size = azx_sd_readw(azx_dev, SD_FIFOSIZE) + 1; | 1508 | azx_dev->fifo_size = azx_sd_readw(azx_dev, SD_FIFOSIZE) + 1; |
| @@ -1518,13 +1519,14 @@ static int azx_pcm_trigger(struct snd_pcm_substream *substream, int cmd) | |||
| 1518 | struct azx *chip = apcm->chip; | 1519 | struct azx *chip = apcm->chip; |
| 1519 | struct azx_dev *azx_dev; | 1520 | struct azx_dev *azx_dev; |
| 1520 | struct snd_pcm_substream *s; | 1521 | struct snd_pcm_substream *s; |
| 1521 | int start, nsync = 0, sbits = 0; | 1522 | int rstart = 0, start, nsync = 0, sbits = 0; |
| 1522 | int nwait, timeout; | 1523 | int nwait, timeout; |
| 1523 | 1524 | ||
| 1524 | switch (cmd) { | 1525 | switch (cmd) { |
| 1526 | case SNDRV_PCM_TRIGGER_START: | ||
| 1527 | rstart = 1; | ||
| 1525 | case SNDRV_PCM_TRIGGER_PAUSE_RELEASE: | 1528 | case SNDRV_PCM_TRIGGER_PAUSE_RELEASE: |
| 1526 | case SNDRV_PCM_TRIGGER_RESUME: | 1529 | case SNDRV_PCM_TRIGGER_RESUME: |
| 1527 | case SNDRV_PCM_TRIGGER_START: | ||
| 1528 | start = 1; | 1530 | start = 1; |
| 1529 | break; | 1531 | break; |
| 1530 | case SNDRV_PCM_TRIGGER_PAUSE_PUSH: | 1532 | case SNDRV_PCM_TRIGGER_PAUSE_PUSH: |
| @@ -1554,6 +1556,10 @@ static int azx_pcm_trigger(struct snd_pcm_substream *substream, int cmd) | |||
| 1554 | if (s->pcm->card != substream->pcm->card) | 1556 | if (s->pcm->card != substream->pcm->card) |
| 1555 | continue; | 1557 | continue; |
| 1556 | azx_dev = get_azx_dev(s); | 1558 | azx_dev = get_azx_dev(s); |
| 1559 | if (rstart) { | ||
| 1560 | azx_dev->start_flag = 1; | ||
| 1561 | azx_dev->start_jiffies = jiffies + azx_dev->min_jiffies; | ||
| 1562 | } | ||
| 1557 | if (start) | 1563 | if (start) |
| 1558 | azx_stream_start(chip, azx_dev); | 1564 | azx_stream_start(chip, azx_dev); |
| 1559 | else | 1565 | else |
| @@ -1703,6 +1709,11 @@ static int azx_position_ok(struct azx *chip, struct azx_dev *azx_dev) | |||
| 1703 | { | 1709 | { |
| 1704 | unsigned int pos; | 1710 | unsigned int pos; |
| 1705 | 1711 | ||
| 1712 | if (azx_dev->start_flag && | ||
| 1713 | time_before_eq(jiffies, azx_dev->start_jiffies)) | ||
| 1714 | return -1; /* bogus (too early) interrupt */ | ||
| 1715 | azx_dev->start_flag = 0; | ||
| 1716 | |||
| 1706 | pos = azx_get_position(chip, azx_dev); | 1717 | pos = azx_get_position(chip, azx_dev); |
| 1707 | if (chip->position_fix == POS_FIX_AUTO) { | 1718 | if (chip->position_fix == POS_FIX_AUTO) { |
| 1708 | if (!pos) { | 1719 | if (!pos) { |
diff --git a/sound/pci/hda/patch_conexant.c b/sound/pci/hda/patch_conexant.c index 1f2ad76ca94b..56ce19e68cb5 100644 --- a/sound/pci/hda/patch_conexant.c +++ b/sound/pci/hda/patch_conexant.c | |||
| @@ -350,12 +350,20 @@ static int conexant_mux_enum_put(struct snd_kcontrol *kcontrol, | |||
| 350 | } | 350 | } |
| 351 | 351 | ||
| 352 | #ifdef CONFIG_SND_JACK | 352 | #ifdef CONFIG_SND_JACK |
| 353 | static void conexant_free_jack_priv(struct snd_jack *jack) | ||
| 354 | { | ||
| 355 | struct conexant_jack *jacks = jack->private_data; | ||
| 356 | jacks->nid = 0; | ||
| 357 | jacks->jack = NULL; | ||
| 358 | } | ||
| 359 | |||
| 353 | static int conexant_add_jack(struct hda_codec *codec, | 360 | static int conexant_add_jack(struct hda_codec *codec, |
| 354 | hda_nid_t nid, int type) | 361 | hda_nid_t nid, int type) |
| 355 | { | 362 | { |
| 356 | struct conexant_spec *spec; | 363 | struct conexant_spec *spec; |
| 357 | struct conexant_jack *jack; | 364 | struct conexant_jack *jack; |
| 358 | const char *name; | 365 | const char *name; |
| 366 | int err; | ||
| 359 | 367 | ||
| 360 | spec = codec->spec; | 368 | spec = codec->spec; |
| 361 | snd_array_init(&spec->jacks, sizeof(*jack), 32); | 369 | snd_array_init(&spec->jacks, sizeof(*jack), 32); |
| @@ -368,7 +376,12 @@ static int conexant_add_jack(struct hda_codec *codec, | |||
| 368 | jack->nid = nid; | 376 | jack->nid = nid; |
| 369 | jack->type = type; | 377 | jack->type = type; |
| 370 | 378 | ||
| 371 | return snd_jack_new(codec->bus->card, name, type, &jack->jack); | 379 | err = snd_jack_new(codec->bus->card, name, type, &jack->jack); |
| 380 | if (err < 0) | ||
| 381 | return err; | ||
| 382 | jack->jack->private_data = jack; | ||
| 383 | jack->jack->private_free = conexant_free_jack_priv; | ||
| 384 | return 0; | ||
| 372 | } | 385 | } |
| 373 | 386 | ||
| 374 | static void conexant_report_jack(struct hda_codec *codec, hda_nid_t nid) | 387 | static void conexant_report_jack(struct hda_codec *codec, hda_nid_t nid) |
| @@ -455,8 +468,10 @@ static void conexant_free(struct hda_codec *codec) | |||
| 455 | if (spec->jacks.list) { | 468 | if (spec->jacks.list) { |
| 456 | struct conexant_jack *jacks = spec->jacks.list; | 469 | struct conexant_jack *jacks = spec->jacks.list; |
| 457 | int i; | 470 | int i; |
| 458 | for (i = 0; i < spec->jacks.used; i++) | 471 | for (i = 0; i < spec->jacks.used; i++, jacks++) { |
| 459 | snd_device_free(codec->bus->card, &jacks[i].jack); | 472 | if (jacks->jack) |
| 473 | snd_device_free(codec->bus->card, jacks->jack); | ||
| 474 | } | ||
| 460 | snd_array_free(&spec->jacks); | 475 | snd_array_free(&spec->jacks); |
| 461 | } | 476 | } |
| 462 | #endif | 477 | #endif |
diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c index f35e58a2d921..6ed787eedd06 100644 --- a/sound/pci/hda/patch_realtek.c +++ b/sound/pci/hda/patch_realtek.c | |||
| @@ -8742,10 +8742,9 @@ static struct snd_pci_quirk alc883_cfg_tbl[] = { | |||
| 8742 | SND_PCI_QUIRK_VENDOR(0x1558, "Clevo laptop", ALC883_LAPTOP_EAPD), | 8742 | SND_PCI_QUIRK_VENDOR(0x1558, "Clevo laptop", ALC883_LAPTOP_EAPD), |
| 8743 | SND_PCI_QUIRK(0x15d9, 0x8780, "Supermicro PDSBA", ALC883_3ST_6ch), | 8743 | SND_PCI_QUIRK(0x15d9, 0x8780, "Supermicro PDSBA", ALC883_3ST_6ch), |
| 8744 | SND_PCI_QUIRK(0x161f, 0x2054, "Medion laptop", ALC883_MEDION), | 8744 | SND_PCI_QUIRK(0x161f, 0x2054, "Medion laptop", ALC883_MEDION), |
| 8745 | SND_PCI_QUIRK(0x1734, 0x1107, "FSC AMILO Xi2550", | 8745 | SND_PCI_QUIRK_MASK(0x1734, 0xfff0, 0x1100, "FSC AMILO Xi/Pi25xx", |
| 8746 | ALC883_FUJITSU_PI2515), | 8746 | ALC883_FUJITSU_PI2515), |
| 8747 | SND_PCI_QUIRK(0x1734, 0x1108, "Fujitsu AMILO Pi2515", ALC883_FUJITSU_PI2515), | 8747 | SND_PCI_QUIRK_MASK(0x1734, 0xfff0, 0x1130, "Fujitsu AMILO Xa35xx", |
| 8748 | SND_PCI_QUIRK(0x1734, 0x113d, "Fujitsu AMILO Xa3530", | ||
| 8749 | ALC888_FUJITSU_XA3530), | 8748 | ALC888_FUJITSU_XA3530), |
| 8750 | SND_PCI_QUIRK(0x17aa, 0x101e, "Lenovo 101e", ALC883_LENOVO_101E_2ch), | 8749 | SND_PCI_QUIRK(0x17aa, 0x101e, "Lenovo 101e", ALC883_LENOVO_101E_2ch), |
| 8751 | SND_PCI_QUIRK(0x17aa, 0x2085, "Lenovo NB0763", ALC883_LENOVO_NB0763), | 8750 | SND_PCI_QUIRK(0x17aa, 0x2085, "Lenovo NB0763", ALC883_LENOVO_NB0763), |
diff --git a/sound/pci/hda/patch_sigmatel.c b/sound/pci/hda/patch_sigmatel.c index 61996a2f45df..ce30b459aee6 100644 --- a/sound/pci/hda/patch_sigmatel.c +++ b/sound/pci/hda/patch_sigmatel.c | |||
| @@ -3851,6 +3851,15 @@ static void stac_gpio_set(struct hda_codec *codec, unsigned int mask, | |||
| 3851 | AC_VERB_SET_GPIO_DATA, gpiostate); /* sync */ | 3851 | AC_VERB_SET_GPIO_DATA, gpiostate); /* sync */ |
| 3852 | } | 3852 | } |
| 3853 | 3853 | ||
| 3854 | #ifdef CONFIG_SND_JACK | ||
| 3855 | static void stac92xx_free_jack_priv(struct snd_jack *jack) | ||
| 3856 | { | ||
| 3857 | struct sigmatel_jack *jacks = jack->private_data; | ||
| 3858 | jacks->nid = 0; | ||
| 3859 | jacks->jack = NULL; | ||
| 3860 | } | ||
| 3861 | #endif | ||
| 3862 | |||
| 3854 | static int stac92xx_add_jack(struct hda_codec *codec, | 3863 | static int stac92xx_add_jack(struct hda_codec *codec, |
| 3855 | hda_nid_t nid, int type) | 3864 | hda_nid_t nid, int type) |
| 3856 | { | 3865 | { |
| @@ -3860,6 +3869,7 @@ static int stac92xx_add_jack(struct hda_codec *codec, | |||
| 3860 | int def_conf = snd_hda_codec_get_pincfg(codec, nid); | 3869 | int def_conf = snd_hda_codec_get_pincfg(codec, nid); |
| 3861 | int connectivity = get_defcfg_connect(def_conf); | 3870 | int connectivity = get_defcfg_connect(def_conf); |
| 3862 | char name[32]; | 3871 | char name[32]; |
| 3872 | int err; | ||
| 3863 | 3873 | ||
| 3864 | if (connectivity && connectivity != AC_JACK_PORT_FIXED) | 3874 | if (connectivity && connectivity != AC_JACK_PORT_FIXED) |
| 3865 | return 0; | 3875 | return 0; |
| @@ -3876,10 +3886,15 @@ static int stac92xx_add_jack(struct hda_codec *codec, | |||
| 3876 | snd_hda_get_jack_connectivity(def_conf), | 3886 | snd_hda_get_jack_connectivity(def_conf), |
| 3877 | snd_hda_get_jack_location(def_conf)); | 3887 | snd_hda_get_jack_location(def_conf)); |
| 3878 | 3888 | ||
| 3879 | return snd_jack_new(codec->bus->card, name, type, &jack->jack); | 3889 | err = snd_jack_new(codec->bus->card, name, type, &jack->jack); |
| 3880 | #else | 3890 | if (err < 0) { |
| 3881 | return 0; | 3891 | jack->nid = 0; |
| 3892 | return err; | ||
| 3893 | } | ||
| 3894 | jack->jack->private_data = jack; | ||
| 3895 | jack->jack->private_free = stac92xx_free_jack_priv; | ||
| 3882 | #endif | 3896 | #endif |
| 3897 | return 0; | ||
| 3883 | } | 3898 | } |
| 3884 | 3899 | ||
| 3885 | static int stac_add_event(struct sigmatel_spec *spec, hda_nid_t nid, | 3900 | static int stac_add_event(struct sigmatel_spec *spec, hda_nid_t nid, |
| @@ -4138,8 +4153,10 @@ static void stac92xx_free_jacks(struct hda_codec *codec) | |||
| 4138 | if (!codec->bus->shutdown && spec->jacks.list) { | 4153 | if (!codec->bus->shutdown && spec->jacks.list) { |
| 4139 | struct sigmatel_jack *jacks = spec->jacks.list; | 4154 | struct sigmatel_jack *jacks = spec->jacks.list; |
| 4140 | int i; | 4155 | int i; |
| 4141 | for (i = 0; i < spec->jacks.used; i++) | 4156 | for (i = 0; i < spec->jacks.used; i++, jacks++) { |
| 4142 | snd_device_free(codec->bus->card, &jacks[i].jack); | 4157 | if (jacks->jack) |
| 4158 | snd_device_free(codec->bus->card, jacks->jack); | ||
| 4159 | } | ||
| 4143 | } | 4160 | } |
| 4144 | snd_array_free(&spec->jacks); | 4161 | snd_array_free(&spec->jacks); |
| 4145 | #endif | 4162 | #endif |
diff --git a/sound/pci/intel8x0.c b/sound/pci/intel8x0.c index 57648810eaf1..5dced5b79387 100644 --- a/sound/pci/intel8x0.c +++ b/sound/pci/intel8x0.c | |||
| @@ -355,6 +355,9 @@ struct ichdev { | |||
| 355 | unsigned int fragsize1; | 355 | unsigned int fragsize1; |
| 356 | unsigned int position; | 356 | unsigned int position; |
| 357 | unsigned int pos_shift; | 357 | unsigned int pos_shift; |
| 358 | unsigned int last_pos; | ||
| 359 | unsigned long last_pos_jiffies; | ||
| 360 | unsigned int jiffy_to_bytes; | ||
| 358 | int frags; | 361 | int frags; |
| 359 | int lvi; | 362 | int lvi; |
| 360 | int lvi_frag; | 363 | int lvi_frag; |
| @@ -838,7 +841,10 @@ static int snd_intel8x0_pcm_trigger(struct snd_pcm_substream *substream, int cmd | |||
| 838 | ichdev->suspended = 0; | 841 | ichdev->suspended = 0; |
| 839 | /* fallthru */ | 842 | /* fallthru */ |
| 840 | case SNDRV_PCM_TRIGGER_START: | 843 | case SNDRV_PCM_TRIGGER_START: |
| 844 | case SNDRV_PCM_TRIGGER_PAUSE_RELEASE: | ||
| 841 | val = ICH_IOCE | ICH_STARTBM; | 845 | val = ICH_IOCE | ICH_STARTBM; |
| 846 | ichdev->last_pos = ichdev->position; | ||
| 847 | ichdev->last_pos_jiffies = jiffies; | ||
| 842 | break; | 848 | break; |
| 843 | case SNDRV_PCM_TRIGGER_SUSPEND: | 849 | case SNDRV_PCM_TRIGGER_SUSPEND: |
| 844 | ichdev->suspended = 1; | 850 | ichdev->suspended = 1; |
| @@ -849,9 +855,6 @@ static int snd_intel8x0_pcm_trigger(struct snd_pcm_substream *substream, int cmd | |||
| 849 | case SNDRV_PCM_TRIGGER_PAUSE_PUSH: | 855 | case SNDRV_PCM_TRIGGER_PAUSE_PUSH: |
| 850 | val = ICH_IOCE; | 856 | val = ICH_IOCE; |
| 851 | break; | 857 | break; |
| 852 | case SNDRV_PCM_TRIGGER_PAUSE_RELEASE: | ||
| 853 | val = ICH_IOCE | ICH_STARTBM; | ||
| 854 | break; | ||
| 855 | default: | 858 | default: |
| 856 | return -EINVAL; | 859 | return -EINVAL; |
| 857 | } | 860 | } |
| @@ -1045,6 +1048,7 @@ static int snd_intel8x0_pcm_prepare(struct snd_pcm_substream *substream) | |||
| 1045 | ichdev->pos_shift = (runtime->sample_bits > 16) ? 2 : 1; | 1048 | ichdev->pos_shift = (runtime->sample_bits > 16) ? 2 : 1; |
| 1046 | } | 1049 | } |
| 1047 | snd_intel8x0_setup_periods(chip, ichdev); | 1050 | snd_intel8x0_setup_periods(chip, ichdev); |
| 1051 | ichdev->jiffy_to_bytes = (runtime->rate * 4 * ichdev->pos_shift) / HZ; | ||
| 1048 | return 0; | 1052 | return 0; |
| 1049 | } | 1053 | } |
| 1050 | 1054 | ||
| @@ -1053,7 +1057,7 @@ static snd_pcm_uframes_t snd_intel8x0_pcm_pointer(struct snd_pcm_substream *subs | |||
| 1053 | struct intel8x0 *chip = snd_pcm_substream_chip(substream); | 1057 | struct intel8x0 *chip = snd_pcm_substream_chip(substream); |
| 1054 | struct ichdev *ichdev = get_ichdev(substream); | 1058 | struct ichdev *ichdev = get_ichdev(substream); |
| 1055 | size_t ptr1, ptr; | 1059 | size_t ptr1, ptr; |
| 1056 | int civ, timeout = 100; | 1060 | int civ, timeout = 10; |
| 1057 | unsigned int position; | 1061 | unsigned int position; |
| 1058 | 1062 | ||
| 1059 | spin_lock(&chip->reg_lock); | 1063 | spin_lock(&chip->reg_lock); |
| @@ -1069,9 +1073,19 @@ static snd_pcm_uframes_t snd_intel8x0_pcm_pointer(struct snd_pcm_substream *subs | |||
| 1069 | ptr1 == igetword(chip, ichdev->reg_offset + ichdev->roff_picb)) | 1073 | ptr1 == igetword(chip, ichdev->reg_offset + ichdev->roff_picb)) |
| 1070 | break; | 1074 | break; |
| 1071 | } while (timeout--); | 1075 | } while (timeout--); |
| 1072 | ptr1 <<= ichdev->pos_shift; | 1076 | if (ptr1 != 0) { |
| 1073 | ptr = ichdev->fragsize1 - ptr1; | 1077 | ptr1 <<= ichdev->pos_shift; |
| 1074 | ptr += position; | 1078 | ptr = ichdev->fragsize1 - ptr1; |
| 1079 | ptr += position; | ||
| 1080 | ichdev->last_pos = ptr; | ||
| 1081 | ichdev->last_pos_jiffies = jiffies; | ||
| 1082 | } else { | ||
| 1083 | ptr1 = jiffies - ichdev->last_pos_jiffies; | ||
| 1084 | if (ptr1) | ||
| 1085 | ptr1 -= 1; | ||
| 1086 | ptr = ichdev->last_pos + ptr1 * ichdev->jiffy_to_bytes; | ||
| 1087 | ptr %= ichdev->size; | ||
| 1088 | } | ||
| 1075 | spin_unlock(&chip->reg_lock); | 1089 | spin_unlock(&chip->reg_lock); |
| 1076 | if (ptr >= ichdev->size) | 1090 | if (ptr >= ichdev->size) |
| 1077 | return 0; | 1091 | return 0; |
| @@ -2661,12 +2675,14 @@ static void __devinit intel8x0_measure_ac97_clock(struct intel8x0 *chip) | |||
| 2661 | struct snd_pcm_substream *subs; | 2675 | struct snd_pcm_substream *subs; |
| 2662 | struct ichdev *ichdev; | 2676 | struct ichdev *ichdev; |
| 2663 | unsigned long port; | 2677 | unsigned long port; |
| 2664 | unsigned long pos, t; | 2678 | unsigned long pos, pos1, t; |
| 2665 | struct timeval start_time, stop_time; | 2679 | int civ, timeout = 1000, attempt = 1; |
| 2680 | struct timespec start_time, stop_time; | ||
| 2666 | 2681 | ||
| 2667 | if (chip->ac97_bus->clock != 48000) | 2682 | if (chip->ac97_bus->clock != 48000) |
| 2668 | return; /* specified in module option */ | 2683 | return; /* specified in module option */ |
| 2669 | 2684 | ||
| 2685 | __again: | ||
| 2670 | subs = chip->pcm[0]->streams[0].substream; | 2686 | subs = chip->pcm[0]->streams[0].substream; |
| 2671 | if (! subs || subs->dma_buffer.bytes < INTEL8X0_TESTBUF_SIZE) { | 2687 | if (! subs || subs->dma_buffer.bytes < INTEL8X0_TESTBUF_SIZE) { |
| 2672 | snd_printk(KERN_WARNING "no playback buffer allocated - aborting measure ac97 clock\n"); | 2688 | snd_printk(KERN_WARNING "no playback buffer allocated - aborting measure ac97 clock\n"); |
| @@ -2674,7 +2690,7 @@ static void __devinit intel8x0_measure_ac97_clock(struct intel8x0 *chip) | |||
| 2674 | } | 2690 | } |
| 2675 | ichdev = &chip->ichd[ICHD_PCMOUT]; | 2691 | ichdev = &chip->ichd[ICHD_PCMOUT]; |
| 2676 | ichdev->physbuf = subs->dma_buffer.addr; | 2692 | ichdev->physbuf = subs->dma_buffer.addr; |
| 2677 | ichdev->size = chip->ichd[ICHD_PCMOUT].fragsize = INTEL8X0_TESTBUF_SIZE; | 2693 | ichdev->size = ichdev->fragsize = INTEL8X0_TESTBUF_SIZE; |
| 2678 | ichdev->substream = NULL; /* don't process interrupts */ | 2694 | ichdev->substream = NULL; /* don't process interrupts */ |
| 2679 | 2695 | ||
| 2680 | /* set rate */ | 2696 | /* set rate */ |
| @@ -2693,16 +2709,31 @@ static void __devinit intel8x0_measure_ac97_clock(struct intel8x0 *chip) | |||
| 2693 | iputbyte(chip, port + ICH_REG_OFF_CR, ICH_IOCE); | 2709 | iputbyte(chip, port + ICH_REG_OFF_CR, ICH_IOCE); |
| 2694 | iputdword(chip, ICHREG(ALI_DMACR), 1 << ichdev->ali_slot); | 2710 | iputdword(chip, ICHREG(ALI_DMACR), 1 << ichdev->ali_slot); |
| 2695 | } | 2711 | } |
| 2696 | do_gettimeofday(&start_time); | 2712 | do_posix_clock_monotonic_gettime(&start_time); |
| 2697 | spin_unlock_irq(&chip->reg_lock); | 2713 | spin_unlock_irq(&chip->reg_lock); |
| 2698 | msleep(50); | 2714 | msleep(50); |
| 2699 | spin_lock_irq(&chip->reg_lock); | 2715 | spin_lock_irq(&chip->reg_lock); |
| 2700 | /* check the position */ | 2716 | /* check the position */ |
| 2701 | pos = ichdev->fragsize1; | 2717 | do { |
| 2702 | pos -= igetword(chip, ichdev->reg_offset + ichdev->roff_picb) << ichdev->pos_shift; | 2718 | civ = igetbyte(chip, ichdev->reg_offset + ICH_REG_OFF_CIV); |
| 2703 | pos += ichdev->position; | 2719 | pos1 = igetword(chip, ichdev->reg_offset + ichdev->roff_picb); |
| 2720 | if (pos1 == 0) { | ||
| 2721 | udelay(10); | ||
| 2722 | continue; | ||
| 2723 | } | ||
| 2724 | if (civ == igetbyte(chip, ichdev->reg_offset + ICH_REG_OFF_CIV) && | ||
| 2725 | pos1 == igetword(chip, ichdev->reg_offset + ichdev->roff_picb)) | ||
| 2726 | break; | ||
| 2727 | } while (timeout--); | ||
| 2728 | if (pos1 == 0) { /* oops, this value is not reliable */ | ||
| 2729 | pos = 0; | ||
| 2730 | } else { | ||
| 2731 | pos = ichdev->fragsize1; | ||
| 2732 | pos -= pos1 << ichdev->pos_shift; | ||
| 2733 | pos += ichdev->position; | ||
| 2734 | } | ||
| 2704 | chip->in_measurement = 0; | 2735 | chip->in_measurement = 0; |
| 2705 | do_gettimeofday(&stop_time); | 2736 | do_posix_clock_monotonic_gettime(&stop_time); |
| 2706 | /* stop */ | 2737 | /* stop */ |
| 2707 | if (chip->device_type == DEVICE_ALI) { | 2738 | if (chip->device_type == DEVICE_ALI) { |
| 2708 | iputdword(chip, ICHREG(ALI_DMACR), 1 << (ichdev->ali_slot + 16)); | 2739 | iputdword(chip, ICHREG(ALI_DMACR), 1 << (ichdev->ali_slot + 16)); |
| @@ -2717,19 +2748,37 @@ static void __devinit intel8x0_measure_ac97_clock(struct intel8x0 *chip) | |||
| 2717 | iputbyte(chip, port + ICH_REG_OFF_CR, ICH_RESETREGS); | 2748 | iputbyte(chip, port + ICH_REG_OFF_CR, ICH_RESETREGS); |
| 2718 | spin_unlock_irq(&chip->reg_lock); | 2749 | spin_unlock_irq(&chip->reg_lock); |
| 2719 | 2750 | ||
| 2751 | if (pos == 0) { | ||
| 2752 | snd_printk(KERN_ERR "intel8x0: measure - unreliable DMA position..\n"); | ||
| 2753 | __retry: | ||
| 2754 | if (attempt < 2) { | ||
| 2755 | attempt++; | ||
| 2756 | goto __again; | ||
| 2757 | } | ||
| 2758 | return; | ||
| 2759 | } | ||
| 2760 | |||
| 2761 | pos /= 4; | ||
| 2720 | t = stop_time.tv_sec - start_time.tv_sec; | 2762 | t = stop_time.tv_sec - start_time.tv_sec; |
| 2721 | t *= 1000000; | 2763 | t *= 1000000; |
| 2722 | t += stop_time.tv_usec - start_time.tv_usec; | 2764 | t += (stop_time.tv_nsec - start_time.tv_nsec) / 1000; |
| 2723 | printk(KERN_INFO "%s: measured %lu usecs\n", __func__, t); | 2765 | printk(KERN_INFO "%s: measured %lu usecs (%lu samples)\n", __func__, t, pos); |
| 2724 | if (t == 0) { | 2766 | if (t == 0) { |
| 2725 | snd_printk(KERN_ERR "?? calculation error..\n"); | 2767 | snd_printk(KERN_ERR "intel8x0: ?? calculation error..\n"); |
| 2726 | return; | 2768 | goto __retry; |
| 2727 | } | 2769 | } |
| 2728 | pos = (pos / 4) * 1000; | 2770 | pos *= 1000; |
| 2729 | pos = (pos / t) * 1000 + ((pos % t) * 1000) / t; | 2771 | pos = (pos / t) * 1000 + ((pos % t) * 1000) / t; |
| 2730 | if (pos < 40000 || pos >= 60000) | 2772 | if (pos < 40000 || pos >= 60000) { |
| 2731 | /* abnormal value. hw problem? */ | 2773 | /* abnormal value. hw problem? */ |
| 2732 | printk(KERN_INFO "intel8x0: measured clock %ld rejected\n", pos); | 2774 | printk(KERN_INFO "intel8x0: measured clock %ld rejected\n", pos); |
| 2775 | goto __retry; | ||
| 2776 | } else if (pos > 40500 && pos < 41500) | ||
| 2777 | /* first exception - 41000Hz reference clock */ | ||
| 2778 | chip->ac97_bus->clock = 41000; | ||
| 2779 | else if (pos > 43600 && pos < 44600) | ||
| 2780 | /* second exception - 44100HZ reference clock */ | ||
| 2781 | chip->ac97_bus->clock = 44100; | ||
| 2733 | else if (pos < 47500 || pos > 48500) | 2782 | else if (pos < 47500 || pos > 48500) |
| 2734 | /* not 48000Hz, tuning the clock.. */ | 2783 | /* not 48000Hz, tuning the clock.. */ |
| 2735 | chip->ac97_bus->clock = (chip->ac97_bus->clock * 48000) / pos; | 2784 | chip->ac97_bus->clock = (chip->ac97_bus->clock * 48000) / pos; |
diff --git a/sound/soc/pxa/magician.c b/sound/soc/pxa/magician.c index f7c4544f7859..0625c342a1c9 100644 --- a/sound/soc/pxa/magician.c +++ b/sound/soc/pxa/magician.c | |||
| @@ -27,8 +27,6 @@ | |||
| 27 | #include <sound/soc.h> | 27 | #include <sound/soc.h> |
| 28 | #include <sound/soc-dapm.h> | 28 | #include <sound/soc-dapm.h> |
| 29 | 29 | ||
| 30 | #include <mach/pxa-regs.h> | ||
| 31 | #include <mach/hardware.h> | ||
| 32 | #include <mach/magician.h> | 30 | #include <mach/magician.h> |
| 33 | #include <asm/mach-types.h> | 31 | #include <asm/mach-types.h> |
| 34 | #include "../codecs/uda1380.h" | 32 | #include "../codecs/uda1380.h" |
diff --git a/sound/soc/s3c24xx/Kconfig b/sound/soc/s3c24xx/Kconfig index 2f3a21eee051..df494d1e346f 100644 --- a/sound/soc/s3c24xx/Kconfig +++ b/sound/soc/s3c24xx/Kconfig | |||
| @@ -1,10 +1,10 @@ | |||
| 1 | config SND_S3C24XX_SOC | 1 | config SND_S3C24XX_SOC |
| 2 | tristate "SoC Audio for the Samsung S3CXXXX chips" | 2 | tristate "SoC Audio for the Samsung S3CXXXX chips" |
| 3 | depends on ARCH_S3C2410 || ARCH_S3C64XX | 3 | depends on ARCH_S3C2410 |
| 4 | help | 4 | help |
| 5 | Say Y or M if you want to add support for codecs attached to | 5 | Say Y or M if you want to add support for codecs attached to |
| 6 | the S3C24XX and S3C64XX AC97, I2S or SSP interface. You will | 6 | the S3C24XX AC97 or I2S interfaces. You will also need to |
| 7 | also need to select the audio interfaces to support below. | 7 | select the audio interfaces to support below. |
| 8 | 8 | ||
| 9 | config SND_S3C24XX_SOC_I2S | 9 | config SND_S3C24XX_SOC_I2S |
| 10 | tristate | 10 | tristate |
diff --git a/sound/usb/caiaq/Makefile b/sound/usb/caiaq/Makefile index 23dadd5a11cd..388999653aaa 100644 --- a/sound/usb/caiaq/Makefile +++ b/sound/usb/caiaq/Makefile | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | snd-usb-caiaq-y := caiaq-device.o caiaq-audio.o caiaq-midi.o caiaq-control.o | 1 | snd-usb-caiaq-y := device.o audio.o midi.o control.o |
| 2 | snd-usb-caiaq-$(CONFIG_SND_USB_CAIAQ_INPUT) += caiaq-input.o | 2 | snd-usb-caiaq-$(CONFIG_SND_USB_CAIAQ_INPUT) += input.o |
| 3 | 3 | ||
| 4 | obj-$(CONFIG_SND_USB_CAIAQ) += snd-usb-caiaq.o | 4 | obj-$(CONFIG_SND_USB_CAIAQ) += snd-usb-caiaq.o |
diff --git a/sound/usb/caiaq/caiaq-audio.c b/sound/usb/caiaq/audio.c index 08d51e0c9fea..3f45c0fe61ab 100644 --- a/sound/usb/caiaq/caiaq-audio.c +++ b/sound/usb/caiaq/audio.c | |||
| @@ -16,20 +16,14 @@ | |||
| 16 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | 16 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
| 17 | */ | 17 | */ |
| 18 | 18 | ||
| 19 | #include <linux/spinlock.h> | ||
| 19 | #include <linux/init.h> | 20 | #include <linux/init.h> |
| 20 | #include <linux/module.h> | ||
| 21 | #include <linux/moduleparam.h> | ||
| 22 | #include <linux/interrupt.h> | ||
| 23 | #include <linux/usb.h> | 21 | #include <linux/usb.h> |
| 24 | #include <linux/spinlock.h> | ||
| 25 | #include <sound/core.h> | 22 | #include <sound/core.h> |
| 26 | #include <sound/initval.h> | ||
| 27 | #include <sound/pcm.h> | 23 | #include <sound/pcm.h> |
| 28 | #include <sound/rawmidi.h> | ||
| 29 | #include <linux/input.h> | ||
| 30 | 24 | ||
| 31 | #include "caiaq-device.h" | 25 | #include "device.h" |
| 32 | #include "caiaq-audio.h" | 26 | #include "audio.h" |
| 33 | 27 | ||
| 34 | #define N_URBS 32 | 28 | #define N_URBS 32 |
| 35 | #define CLOCK_DRIFT_TOLERANCE 5 | 29 | #define CLOCK_DRIFT_TOLERANCE 5 |
diff --git a/sound/usb/caiaq/caiaq-audio.h b/sound/usb/caiaq/audio.h index 8ab1f8d9529e..8ab1f8d9529e 100644 --- a/sound/usb/caiaq/caiaq-audio.h +++ b/sound/usb/caiaq/audio.h | |||
diff --git a/sound/usb/caiaq/caiaq-control.c b/sound/usb/caiaq/control.c index e92c2bbf4fe9..537102ba6b9d 100644 --- a/sound/usb/caiaq/caiaq-control.c +++ b/sound/usb/caiaq/control.c | |||
| @@ -18,17 +18,13 @@ | |||
| 18 | */ | 18 | */ |
| 19 | 19 | ||
| 20 | #include <linux/init.h> | 20 | #include <linux/init.h> |
| 21 | #include <linux/interrupt.h> | ||
| 22 | #include <linux/usb.h> | 21 | #include <linux/usb.h> |
| 22 | #include <sound/control.h> | ||
| 23 | #include <sound/core.h> | 23 | #include <sound/core.h> |
| 24 | #include <sound/initval.h> | ||
| 25 | #include <sound/pcm.h> | 24 | #include <sound/pcm.h> |
| 26 | #include <sound/rawmidi.h> | ||
| 27 | #include <sound/control.h> | ||
| 28 | #include <linux/input.h> | ||
| 29 | 25 | ||
| 30 | #include "caiaq-device.h" | 26 | #include "device.h" |
| 31 | #include "caiaq-control.h" | 27 | #include "control.h" |
| 32 | 28 | ||
| 33 | #define CNT_INTVAL 0x10000 | 29 | #define CNT_INTVAL 0x10000 |
| 34 | 30 | ||
diff --git a/sound/usb/caiaq/caiaq-control.h b/sound/usb/caiaq/control.h index 2e7ab1aa4fb3..2e7ab1aa4fb3 100644 --- a/sound/usb/caiaq/caiaq-control.h +++ b/sound/usb/caiaq/control.h | |||
diff --git a/sound/usb/caiaq/caiaq-device.c b/sound/usb/caiaq/device.c index cf573a982fdc..6d517705da0e 100644 --- a/sound/usb/caiaq/caiaq-device.c +++ b/sound/usb/caiaq/device.c | |||
| @@ -19,27 +19,20 @@ | |||
| 19 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | 19 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
| 20 | */ | 20 | */ |
| 21 | 21 | ||
| 22 | #include <linux/init.h> | ||
| 23 | #include <linux/module.h> | ||
| 24 | #include <linux/moduleparam.h> | 22 | #include <linux/moduleparam.h> |
| 25 | #include <linux/interrupt.h> | 23 | #include <linux/interrupt.h> |
| 24 | #include <linux/module.h> | ||
| 25 | #include <linux/init.h> | ||
| 26 | #include <linux/usb.h> | 26 | #include <linux/usb.h> |
| 27 | #include <linux/input.h> | ||
| 28 | #include <linux/spinlock.h> | ||
| 29 | #include <sound/core.h> | ||
| 30 | #include <sound/initval.h> | 27 | #include <sound/initval.h> |
| 28 | #include <sound/core.h> | ||
| 31 | #include <sound/pcm.h> | 29 | #include <sound/pcm.h> |
| 32 | #include <sound/rawmidi.h> | ||
| 33 | #include <sound/control.h> | ||
| 34 | |||
| 35 | #include "caiaq-device.h" | ||
| 36 | #include "caiaq-audio.h" | ||
| 37 | #include "caiaq-midi.h" | ||
| 38 | #include "caiaq-control.h" | ||
| 39 | 30 | ||
| 40 | #ifdef CONFIG_SND_USB_CAIAQ_INPUT | 31 | #include "device.h" |
| 41 | #include "caiaq-input.h" | 32 | #include "audio.h" |
| 42 | #endif | 33 | #include "midi.h" |
| 34 | #include "control.h" | ||
| 35 | #include "input.h" | ||
| 43 | 36 | ||
| 44 | MODULE_AUTHOR("Daniel Mack <daniel@caiaq.de>"); | 37 | MODULE_AUTHOR("Daniel Mack <daniel@caiaq.de>"); |
| 45 | MODULE_DESCRIPTION("caiaq USB audio, version 1.3.13"); | 38 | MODULE_DESCRIPTION("caiaq USB audio, version 1.3.13"); |
diff --git a/sound/usb/caiaq/caiaq-device.h b/sound/usb/caiaq/device.h index 4cce1ad7493d..4cce1ad7493d 100644 --- a/sound/usb/caiaq/caiaq-device.h +++ b/sound/usb/caiaq/device.h | |||
diff --git a/sound/usb/caiaq/caiaq-input.c b/sound/usb/caiaq/input.c index f743847a5e5a..a48d309bd94c 100644 --- a/sound/usb/caiaq/caiaq-input.c +++ b/sound/usb/caiaq/input.c | |||
| @@ -17,17 +17,12 @@ | |||
| 17 | */ | 17 | */ |
| 18 | 18 | ||
| 19 | #include <linux/init.h> | 19 | #include <linux/init.h> |
| 20 | #include <linux/module.h> | ||
| 21 | #include <linux/moduleparam.h> | ||
| 22 | #include <linux/input.h> | ||
| 23 | #include <linux/usb.h> | 20 | #include <linux/usb.h> |
| 24 | #include <linux/usb/input.h> | 21 | #include <linux/usb/input.h> |
| 25 | #include <linux/spinlock.h> | ||
| 26 | #include <sound/core.h> | ||
| 27 | #include <sound/rawmidi.h> | ||
| 28 | #include <sound/pcm.h> | 22 | #include <sound/pcm.h> |
| 29 | #include "caiaq-device.h" | 23 | |
| 30 | #include "caiaq-input.h" | 24 | #include "device.h" |
| 25 | #include "input.h" | ||
| 31 | 26 | ||
| 32 | static unsigned short keycode_ak1[] = { KEY_C, KEY_B, KEY_A }; | 27 | static unsigned short keycode_ak1[] = { KEY_C, KEY_B, KEY_A }; |
| 33 | static unsigned short keycode_rk2[] = { KEY_1, KEY_2, KEY_3, KEY_4, | 28 | static unsigned short keycode_rk2[] = { KEY_1, KEY_2, KEY_3, KEY_4, |
diff --git a/sound/usb/caiaq/caiaq-input.h b/sound/usb/caiaq/input.h index ced535577864..ced535577864 100644 --- a/sound/usb/caiaq/caiaq-input.h +++ b/sound/usb/caiaq/input.h | |||
diff --git a/sound/usb/caiaq/caiaq-midi.c b/sound/usb/caiaq/midi.c index f19fd360c936..8fa8cd88d763 100644 --- a/sound/usb/caiaq/caiaq-midi.c +++ b/sound/usb/caiaq/midi.c | |||
| @@ -16,20 +16,13 @@ | |||
| 16 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | 16 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
| 17 | */ | 17 | */ |
| 18 | 18 | ||
| 19 | #include <linux/init.h> | ||
| 20 | #include <linux/module.h> | ||
| 21 | #include <linux/moduleparam.h> | ||
| 22 | #include <linux/interrupt.h> | ||
| 23 | #include <linux/usb.h> | 19 | #include <linux/usb.h> |
| 24 | #include <linux/input.h> | ||
| 25 | #include <linux/spinlock.h> | ||
| 26 | #include <sound/core.h> | ||
| 27 | #include <sound/rawmidi.h> | 20 | #include <sound/rawmidi.h> |
| 21 | #include <sound/core.h> | ||
| 28 | #include <sound/pcm.h> | 22 | #include <sound/pcm.h> |
| 29 | 23 | ||
| 30 | #include "caiaq-device.h" | 24 | #include "device.h" |
| 31 | #include "caiaq-midi.h" | 25 | #include "midi.h" |
| 32 | |||
| 33 | 26 | ||
| 34 | static int snd_usb_caiaq_midi_input_open(struct snd_rawmidi_substream *substream) | 27 | static int snd_usb_caiaq_midi_input_open(struct snd_rawmidi_substream *substream) |
| 35 | { | 28 | { |
diff --git a/sound/usb/caiaq/caiaq-midi.h b/sound/usb/caiaq/midi.h index 9d16db027fc3..9d16db027fc3 100644 --- a/sound/usb/caiaq/caiaq-midi.h +++ b/sound/usb/caiaq/midi.h | |||
diff --git a/sound/usb/usx2y/us122l.c b/sound/usb/usx2y/us122l.c index 98276aafefe6..012ff1f6f8af 100644 --- a/sound/usb/usx2y/us122l.c +++ b/sound/usb/usx2y/us122l.c | |||
| @@ -349,14 +349,10 @@ static int usb_stream_hwdep_ioctl(struct snd_hwdep *hw, struct file *file, | |||
| 349 | if (cmd != SNDRV_USB_STREAM_IOCTL_SET_PARAMS) | 349 | if (cmd != SNDRV_USB_STREAM_IOCTL_SET_PARAMS) |
| 350 | return -ENOTTY; | 350 | return -ENOTTY; |
| 351 | 351 | ||
| 352 | cfg = kmalloc(sizeof(*cfg), GFP_KERNEL); | 352 | cfg = memdup_user((void *)arg, sizeof(*cfg)); |
| 353 | if (!cfg) | 353 | if (IS_ERR(cfg)) |
| 354 | return -ENOMEM; | 354 | return PTR_ERR(cfg); |
| 355 | 355 | ||
| 356 | if (copy_from_user(cfg, (void *)arg, sizeof(*cfg))) { | ||
| 357 | err = -EFAULT; | ||
| 358 | goto free; | ||
| 359 | } | ||
| 360 | if (cfg->version != USB_STREAM_INTERFACE_VERSION) { | 356 | if (cfg->version != USB_STREAM_INTERFACE_VERSION) { |
| 361 | err = -ENXIO; | 357 | err = -ENXIO; |
| 362 | goto free; | 358 | goto free; |
diff --git a/sound/usb/usx2y/usX2Yhwdep.c b/sound/usb/usx2y/usX2Yhwdep.c index 4af8740db717..f3d8f71265dd 100644 --- a/sound/usb/usx2y/usX2Yhwdep.c +++ b/sound/usb/usx2y/usX2Yhwdep.c | |||
| @@ -203,13 +203,12 @@ static int snd_usX2Y_hwdep_dsp_load(struct snd_hwdep *hw, | |||
| 203 | 203 | ||
| 204 | if (access_ok(VERIFY_READ, dsp->image, dsp->length)) { | 204 | if (access_ok(VERIFY_READ, dsp->image, dsp->length)) { |
| 205 | struct usb_device* dev = priv->chip.dev; | 205 | struct usb_device* dev = priv->chip.dev; |
| 206 | char *buf = kmalloc(dsp->length, GFP_KERNEL); | 206 | char *buf; |
| 207 | if (!buf) | 207 | |
| 208 | return -ENOMEM; | 208 | buf = memdup_user(dsp->image, dsp->length); |
| 209 | if (copy_from_user(buf, dsp->image, dsp->length)) { | 209 | if (IS_ERR(buf)) |
| 210 | kfree(buf); | 210 | return PTR_ERR(buf); |
| 211 | return -EFAULT; | 211 | |
| 212 | } | ||
| 213 | err = usb_set_interface(dev, 0, 1); | 212 | err = usb_set_interface(dev, 0, 1); |
| 214 | if (err) | 213 | if (err) |
| 215 | snd_printk(KERN_ERR "usb_set_interface error \n"); | 214 | snd_printk(KERN_ERR "usb_set_interface error \n"); |
