Merge branch 'iommu-fixes-2.6.28' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/linux-2.6-iommu into x86/urgent

+5488 -2609
+3 -5
Documentation/DMA-API.txt
··· 316 316 pci_map_sg(struct pci_dev *hwdev, struct scatterlist *sg, 317 317 int nents, int direction) 318 318 319 - Maps a scatter gather list from the block layer. 320 - 321 319 Returns: the number of physical segments mapped (this may be shorter 322 - than <nents> passed in if the block layer determines that some 323 - elements of the scatter/gather list are physically adjacent and thus 324 - may be mapped with a single entry). 320 + than <nents> passed in if some elements of the scatter/gather list are 321 + physically or virtually adjacent and an IOMMU maps them with a single 322 + entry). 325 323 326 324 Please note that the sg cannot be mapped again if it has been mapped once. 327 325 The mapping process is allowed to destroy information in the sg.
+12
Documentation/cpu-freq/user-guide.txt
··· 23 23 1.3 sparc64 24 24 1.4 ppc 25 25 1.5 SuperH 26 + 1.6 Blackfin 26 27 27 28 2. "Policy" / "Governor"? 28 29 2.1 Policy ··· 97 96 98 97 SH-3 99 98 SH-4 99 + 100 + 1.6 Blackfin 101 + ------------ 102 + 103 + The following Blackfin processors are supported by cpufreq: 104 + 105 + BF522, BF523, BF524, BF525, BF526, BF527, Rev 0.1 or higher 106 + BF531, BF532, BF533, Rev 0.3 or higher 107 + BF534, BF536, BF537, Rev 0.2 or higher 108 + BF561, Rev 0.3 or higher 109 + BF542, BF544, BF547, BF548, BF549, Rev 0.1 or higher 100 110 101 111 102 112 2. "Policy" / "Governor" ?
-3
Documentation/filesystems/ocfs2.txt
··· 28 28 Caveats 29 29 ======= 30 30 Features which OCFS2 does not support yet: 31 - - extended attributes 32 31 - quotas 33 - - cluster aware flock 34 - - cluster aware lockf 35 32 - Directory change notification (F_NOTIFY) 36 33 - Distributed Caching (F_SETLEASE/F_GETLEASE/break_lease) 37 34 - POSIX ACLs
+27
Documentation/filesystems/proc.txt
··· 44 44 2.14 /proc/<pid>/io - Display the IO accounting fields 45 45 2.15 /proc/<pid>/coredump_filter - Core dump filtering settings 46 46 2.16 /proc/<pid>/mountinfo - Information about mounts 47 + 2.17 /proc/sys/fs/epoll - Configuration options for the epoll interface 47 48 48 49 ------------------------------------------------------------------------------ 49 50 Preface ··· 2484 2483 2485 2484 Documentation/filesystems/sharedsubtree.txt 2486 2485 2486 + 2.17 /proc/sys/fs/epoll - Configuration options for the epoll interface 2487 + -------------------------------------------------------- 2488 + 2489 + This directory contains configuration options for the epoll(7) interface. 2490 + 2491 + max_user_instances 2492 + ------------------ 2493 + 2494 + This is the maximum number of epoll file descriptors that a single user can 2495 + have open at a given time. The default value is 128, and should be enough 2496 + for normal users. 2497 + 2498 + max_user_watches 2499 + ---------------- 2500 + 2501 + Every epoll file descriptor can store a number of files to be monitored 2502 + for event readiness. Each one of these monitored files constitutes a "watch". 2503 + This configuration option sets the maximum number of "watches" that are 2504 + allowed for each user. 2505 + Each "watch" costs roughly 90 bytes on a 32bit kernel, and roughly 160 bytes 2506 + on a 64bit one. 2507 + The current default value for max_user_watches is the 1/32 of the available 2508 + low memory, divided for the "watch" cost in bytes. 2509 + 2510 + 2487 2511 ------------------------------------------------------------------------------ 2512 +
+6 -6
Documentation/filesystems/ramfs-rootfs-initramfs.txt
··· 130 130 archive and links it into the resulting kernel binary. By default, this 131 131 archive is empty (consuming 134 bytes on x86). 132 132 133 - The config option CONFIG_INITRAMFS_SOURCE (for some reason buried under 134 - devices->block devices in menuconfig, and living in usr/Kconfig) can be used 135 - to specify a source for the initramfs archive, which will automatically be 136 - incorporated into the resulting binary. This option can point to an existing 137 - gzipped cpio archive, a directory containing files to be archived, or a text 138 - file specification such as the following example: 133 + The config option CONFIG_INITRAMFS_SOURCE (in General Setup in menuconfig, 134 + and living in usr/Kconfig) can be used to specify a source for the 135 + initramfs archive, which will automatically be incorporated into the 136 + resulting binary. This option can point to an existing gzipped cpio 137 + archive, a directory containing files to be archived, or a text file 138 + specification such as the following example: 139 139 140 140 dir /dev 755 0 0 141 141 nod /dev/console 644 0 0 c 5 1
+2 -1
Documentation/input/input-programming.txt
··· 20 20 21 21 static struct input_dev *button_dev; 22 22 23 - static void button_interrupt(int irq, void *dummy, struct pt_regs *fp) 23 + static irqreturn_t button_interrupt(int irq, void *dummy) 24 24 { 25 25 input_report_key(button_dev, BTN_0, inb(BUTTON_PORT) & 1); 26 26 input_sync(button_dev); 27 + return IRQ_HANDLED; 27 28 } 28 29 29 30 static int __init button_init(void)
+4 -1
Documentation/sound/alsa/ALSA-Configuration.txt
··· 1072 1072 ref Reference board 1073 1073 dell-m4-1 Dell desktops 1074 1074 dell-m4-2 Dell desktops 1075 + dell-m4-3 Dell desktops 1075 1076 1076 1077 STAC92HD73* 1077 1078 ref Reference board 1078 - dell-m6 Dell desktops 1079 + dell-m6-amic Dell desktops/laptops with analog mics 1080 + dell-m6-dmic Dell desktops/laptops with digital mics 1081 + dell-m6 Dell desktops/laptops with both type of mics 1079 1082 1080 1083 STAC9872 1081 1084 vaio Setup for VAIO FE550G/SZ110
+1 -1
Documentation/spi/spi-summary
··· 215 215 /* if your mach-* infrastructure doesn't support kernels that can 216 216 * run on multiple boards, pdata wouldn't benefit from "__init". 217 217 */ 218 - static struct mysoc_spi_data __init pdata = { ... }; 218 + static struct mysoc_spi_data __initdata pdata = { ... }; 219 219 220 220 static __init board_init(void) 221 221 {
+4 -2
Documentation/tracers/mmiotrace.txt
··· 37 37 $ cat /debug/tracing/trace_pipe > mydump.txt & 38 38 Start X or whatever. 39 39 $ echo "X is up" > /debug/tracing/trace_marker 40 - $ echo none > /debug/tracing/current_tracer 40 + $ echo nop > /debug/tracing/current_tracer 41 41 Check for lost events. 42 42 43 43 ··· 66 66 do. 67 67 68 68 Shut down mmiotrace (requires root privileges): 69 - $ echo none > /debug/tracing/current_tracer 69 + $ echo nop > /debug/tracing/current_tracer 70 70 The 'cat' process exits. If it does not, kill it by issuing 'fg' command and 71 71 pressing ctrl+c. 72 72 ··· 81 81 $ cat /debug/tracing/trace_entries 82 82 gives you a number. Approximately double this number and write it back, for 83 83 instance: 84 + $ echo 0 > /debug/tracing/tracing_enabled 84 85 $ echo 128000 > /debug/tracing/trace_entries 86 + $ echo 1 > /debug/tracing/tracing_enabled 85 87 Then start again from the top. 86 88 87 89 If you are doing a trace for a driver project, e.g. Nouveau, you should also
+2 -2
Makefile
··· 1 1 VERSION = 2 2 2 PATCHLEVEL = 6 3 3 SUBLEVEL = 28 4 - EXTRAVERSION = -rc6 5 - NAME = Killer Bat of Doom 4 + EXTRAVERSION = -rc7 5 + NAME = Erotic Pickled Herring 6 6 7 7 # *DOCUMENTATION* 8 8 # To see a list of typical targets execute "make help"
-2
arch/Kconfig
··· 79 79 # task_pt_regs() in asm/processor.h or asm/ptrace.h 80 80 # arch_has_single_step() if there is hardware single-step support 81 81 # arch_has_block_step() if there is hardware block-step support 82 - # arch_ptrace() and not #define __ARCH_SYS_PTRACE 83 - # compat_arch_ptrace() and #define __ARCH_WANT_COMPAT_SYS_PTRACE 84 82 # asm/syscall.h supplying asm-generic/syscall.h interface 85 83 # linux/regset.h user_regset interfaces 86 84 # CORE_DUMP_USE_REGSET #define'd in linux/elf.h
+1 -1
arch/alpha/kernel/pci.c
··· 338 338 return PCI_SLOT(dev->devfn); 339 339 } 340 340 341 - void __devinit 341 + void 342 342 pcibios_resource_to_bus(struct pci_dev *dev, struct pci_bus_region *region, 343 343 struct resource *res) 344 344 {
+3 -3
arch/alpha/kernel/smp.c
··· 121 121 /* 122 122 * Where secondaries begin a life of C. 123 123 */ 124 - void __init 124 + void __cpuinit 125 125 smp_callin(void) 126 126 { 127 127 int cpuid = hard_smp_processor_id(); ··· 198 198 * Send a message to a secondary's console. "START" is one such 199 199 * interesting message. ;-) 200 200 */ 201 - static void __init 201 + static void __cpuinit 202 202 send_secondary_console_msg(char *str, int cpuid) 203 203 { 204 204 struct percpu_struct *cpu; ··· 289 289 /* 290 290 * Convince the console to have a secondary cpu begin execution. 291 291 */ 292 - static int __init 292 + static int __cpuinit 293 293 secondary_cpu_start(int cpuid, struct task_struct *idle) 294 294 { 295 295 struct percpu_struct *cpu;
+2 -2
arch/alpha/kernel/traps.c
··· 31 31 32 32 static int opDEC_fix; 33 33 34 - static void __init 34 + static void __cpuinit 35 35 opDEC_check(void) 36 36 { 37 37 __asm__ __volatile__ ( ··· 1072 1072 return; 1073 1073 } 1074 1074 1075 - void __init 1075 + void __cpuinit 1076 1076 trap_init(void) 1077 1077 { 1078 1078 /* Tell PAL-code what global pointer we want in the kernel. */
+1 -1
arch/arm/configs/corgi_defconfig
··· 179 179 # CONFIG_MACH_AKITA is not set 180 180 # CONFIG_MACH_SPITZ is not set 181 181 # CONFIG_MACH_BORZOI is not set 182 - CONFIG_MACH_TOSA=y 182 + # CONFIG_MACH_TOSA is not set 183 183 # CONFIG_ARCH_VIPER is not set 184 184 # CONFIG_ARCH_PXA_ESERIES is not set 185 185 # CONFIG_TRIZEPS_PXA is not set
+1
arch/arm/mach-pxa/include/mach/pxafb.h
··· 33 33 #define LCD_CONN_TYPE(_x) ((_x) & 0x0f) 34 34 #define LCD_CONN_WIDTH(_x) (((_x) >> 4) & 0x1f) 35 35 36 + #define LCD_TYPE_MASK 0xf 36 37 #define LCD_TYPE_UNKNOWN 0 37 38 #define LCD_TYPE_MONO_STN 1 38 39 #define LCD_TYPE_MONO_DSTN 2
+1 -1
arch/arm/mach-pxa/mioa701.c
··· 565 565 u32 *mem_resume_unknown = phys_to_virt(RESUME_UNKNOWN_ADDR); 566 566 567 567 /* Devices prepare suspend */ 568 - is_bt_on = gpio_get_value(GPIO83_BT_ON); 568 + is_bt_on = !!gpio_get_value(GPIO83_BT_ON); 569 569 pxa2xx_mfp_set_lpm(GPIO83_BT_ON, 570 570 is_bt_on ? MFP_LPM_DRIVE_HIGH : MFP_LPM_DRIVE_LOW); 571 571
+1
arch/arm/mach-pxa/mioa701_bootresume.S
··· 24 24 1: 25 25 mov r0, #0xa0000000 @ Don't suppose memory access works 26 26 orr r0, r0, #0x00200000 @ even if it's supposed to 27 + orr r0, r0, #0x0000b000 27 28 mov r1, #0 28 29 str r1, [r0] @ Early disable resume for next boot 29 30 ldr r0, mioa701_jumpaddr @ (Murphy's Law)
+118 -32
arch/arm/mach-pxa/palmtx.c
··· 56 56 GPIO110_MMC_DAT_2, 57 57 GPIO111_MMC_DAT_3, 58 58 GPIO112_MMC_CMD, 59 + GPIO14_GPIO, /* SD detect */ 60 + GPIO114_GPIO, /* SD power */ 61 + GPIO115_GPIO, /* SD r/o switch */ 59 62 60 63 /* AC97 */ 61 64 GPIO28_AC97_BITCLK, ··· 67 64 GPIO31_AC97_SYNC, 68 65 69 66 /* IrDA */ 67 + GPIO40_GPIO, /* ir disable */ 70 68 GPIO46_FICP_RXD, 71 69 GPIO47_FICP_TXD, 72 70 ··· 75 71 GPIO16_PWM0_OUT, 76 72 77 73 /* USB */ 78 - GPIO13_GPIO, 74 + GPIO13_GPIO, /* usb detect */ 75 + GPIO95_GPIO, /* usb power */ 79 76 80 77 /* PCMCIA */ 81 78 GPIO48_nPOE, ··· 89 84 GPIO55_nPREG, 90 85 GPIO56_nPWAIT, 91 86 GPIO57_nIOIS16, 87 + GPIO94_GPIO, /* wifi power 1 */ 88 + GPIO108_GPIO, /* wifi power 2 */ 89 + GPIO116_GPIO, /* wifi ready */ 90 + 91 + /* MATRIX KEYPAD */ 92 + GPIO100_KP_MKIN_0, 93 + GPIO101_KP_MKIN_1, 94 + GPIO102_KP_MKIN_2, 95 + GPIO97_KP_MKIN_3, 96 + GPIO103_KP_MKOUT_0, 97 + GPIO104_KP_MKOUT_1, 98 + GPIO105_KP_MKOUT_2, 99 + 100 + /* LCD */ 101 + GPIO58_LCD_LDD_0, 102 + GPIO59_LCD_LDD_1, 103 + GPIO60_LCD_LDD_2, 104 + GPIO61_LCD_LDD_3, 105 + GPIO62_LCD_LDD_4, 106 + GPIO63_LCD_LDD_5, 107 + GPIO64_LCD_LDD_6, 108 + GPIO65_LCD_LDD_7, 109 + GPIO66_LCD_LDD_8, 110 + GPIO67_LCD_LDD_9, 111 + GPIO68_LCD_LDD_10, 112 + GPIO69_LCD_LDD_11, 113 + GPIO70_LCD_LDD_12, 114 + GPIO71_LCD_LDD_13, 115 + GPIO72_LCD_LDD_14, 116 + GPIO73_LCD_LDD_15, 117 + GPIO74_LCD_FCLK, 118 + GPIO75_LCD_LCLK, 119 + GPIO76_LCD_PCLK, 120 + GPIO77_LCD_BIAS, 121 + 122 + /* MISC. */ 123 + GPIO10_GPIO, /* hotsync button */ 124 + GPIO12_GPIO, /* power detect */ 125 + GPIO107_GPIO, /* earphone detect */ 92 126 }; 93 127 94 128 /****************************************************************************** ··· 139 95 int err = 0; 140 96 141 97 /* Setup an interrupt for detecting card insert/remove events */ 142 - err = request_irq(IRQ_GPIO_PALMTX_SD_DETECT_N, palmtx_detect_int, 143 - IRQF_DISABLED | IRQF_SAMPLE_RANDOM | 98 + err = gpio_request(GPIO_NR_PALMTX_SD_DETECT_N, "SD IRQ"); 99 + if (err) 100 + goto err; 101 + err = gpio_direction_input(GPIO_NR_PALMTX_SD_DETECT_N); 102 + if (err) 103 + goto err2; 104 + err = request_irq(gpio_to_irq(GPIO_NR_PALMTX_SD_DETECT_N), 105 + palmtx_detect_int, IRQF_DISABLED | IRQF_SAMPLE_RANDOM | 144 106 IRQF_TRIGGER_FALLING | IRQF_TRIGGER_RISING, 145 107 "SD/MMC card detect", data); 146 108 if (err) { 147 109 printk(KERN_ERR "%s: cannot request SD/MMC card detect IRQ\n", 148 110 __func__); 149 - return err; 111 + goto err2; 150 112 } 151 113 152 114 err = gpio_request(GPIO_NR_PALMTX_SD_POWER, "SD_POWER"); 153 115 if (err) 154 - goto pwr_err; 116 + goto err3; 117 + err = gpio_direction_output(GPIO_NR_PALMTX_SD_POWER, 0); 118 + if (err) 119 + goto err4; 155 120 156 121 err = gpio_request(GPIO_NR_PALMTX_SD_READONLY, "SD_READONLY"); 157 122 if (err) 158 - goto ro_err; 123 + goto err4; 124 + err = gpio_direction_input(GPIO_NR_PALMTX_SD_READONLY); 125 + if (err) 126 + goto err5; 159 127 160 128 printk(KERN_DEBUG "%s: irq registered\n", __func__); 161 129 162 130 return 0; 163 131 164 - ro_err: 132 + err5: 133 + gpio_free(GPIO_NR_PALMTX_SD_READONLY); 134 + err4: 165 135 gpio_free(GPIO_NR_PALMTX_SD_POWER); 166 - pwr_err: 167 - free_irq(IRQ_GPIO_PALMTX_SD_DETECT_N, data); 136 + err3: 137 + free_irq(gpio_to_irq(GPIO_NR_PALMTX_SD_DETECT_N), data); 138 + err2: 139 + gpio_free(GPIO_NR_PALMTX_SD_DETECT_N); 140 + err: 168 141 return err; 169 142 } 170 143 ··· 189 128 { 190 129 gpio_free(GPIO_NR_PALMTX_SD_READONLY); 191 130 gpio_free(GPIO_NR_PALMTX_SD_POWER); 192 - free_irq(IRQ_GPIO_PALMTX_SD_DETECT_N, data); 131 + free_irq(gpio_to_irq(GPIO_NR_PALMTX_SD_DETECT_N), data); 132 + gpio_free(GPIO_NR_PALMTX_SD_DETECT_N); 193 133 } 194 134 195 135 static void palmtx_mci_power(struct device *dev, unsigned int vdd) ··· 229 167 230 168 KEY(3, 0, KEY_RIGHT), 231 169 KEY(3, 2, KEY_LEFT), 232 - 233 170 }; 234 171 235 172 static struct pxa27x_keypad_platform_data palmtx_keypad_platform_data = { ··· 270 209 ret = gpio_request(GPIO_NR_PALMTX_BL_POWER, "BL POWER"); 271 210 if (ret) 272 211 goto err; 212 + ret = gpio_direction_output(GPIO_NR_PALMTX_BL_POWER, 0); 213 + if (ret) 214 + goto err2; 273 215 ret = gpio_request(GPIO_NR_PALMTX_LCD_POWER, "LCD POWER"); 274 216 if (ret) 275 217 goto err2; 218 + ret = gpio_direction_output(GPIO_NR_PALMTX_LCD_POWER, 0); 219 + if (ret) 220 + goto err3; 276 221 277 222 return 0; 223 + err3: 224 + gpio_free(GPIO_NR_PALMTX_LCD_POWER); 278 225 err2: 279 226 gpio_free(GPIO_NR_PALMTX_BL_POWER); 280 227 err: ··· 323 254 /****************************************************************************** 324 255 * IrDA 325 256 ******************************************************************************/ 257 + static int palmtx_irda_startup(struct device *dev) 258 + { 259 + int err; 260 + err = gpio_request(GPIO_NR_PALMTX_IR_DISABLE, "IR DISABLE"); 261 + if (err) 262 + goto err; 263 + err = gpio_direction_output(GPIO_NR_PALMTX_IR_DISABLE, 1); 264 + if (err) 265 + gpio_free(GPIO_NR_PALMTX_IR_DISABLE); 266 + err: 267 + return err; 268 + } 269 + 270 + static void palmtx_irda_shutdown(struct device *dev) 271 + { 272 + gpio_free(GPIO_NR_PALMTX_IR_DISABLE); 273 + } 274 + 326 275 static void palmtx_irda_transceiver_mode(struct device *dev, int mode) 327 276 { 328 277 gpio_set_value(GPIO_NR_PALMTX_IR_DISABLE, mode & IR_OFF); ··· 348 261 } 349 262 350 263 static struct pxaficp_platform_data palmtx_ficp_platform_data = { 264 + .startup = palmtx_irda_startup, 265 + .shutdown = palmtx_irda_shutdown, 351 266 .transceiver_cap = IR_SIRMODE | IR_FIRMODE | IR_OFF, 352 267 .transceiver_mode = palmtx_irda_transceiver_mode, 353 268 }; ··· 357 268 /****************************************************************************** 358 269 * UDC 359 270 ******************************************************************************/ 360 - static void palmtx_udc_command(int cmd) 361 - { 362 - gpio_set_value(GPIO_NR_PALMTX_USB_POWER, !cmd); 363 - udelay(50); 364 - gpio_set_value(GPIO_NR_PALMTX_USB_PULLUP, !cmd); 365 - } 366 - 367 271 static struct pxa2xx_udc_mach_info palmtx_udc_info __initdata = { 368 272 .gpio_vbus = GPIO_NR_PALMTX_USB_DETECT_N, 369 273 .gpio_vbus_inverted = 1, 370 - .udc_command = palmtx_udc_command, 274 + .gpio_pullup = GPIO_NR_PALMTX_USB_POWER, 275 + .gpio_pullup_inverted = 0, 371 276 }; 372 277 373 278 /****************************************************************************** ··· 373 290 374 291 ret = gpio_request(GPIO_NR_PALMTX_POWER_DETECT, "CABLE_STATE_AC"); 375 292 if (ret) 376 - goto err_cs_ac; 377 - 378 - ret = gpio_request(GPIO_NR_PALMTX_USB_DETECT_N, "CABLE_STATE_USB"); 293 + goto err1; 294 + ret = gpio_direction_input(GPIO_NR_PALMTX_POWER_DETECT); 379 295 if (ret) 380 - goto err_cs_usb; 296 + goto err2; 381 297 382 298 return 0; 383 299 384 - err_cs_usb: 300 + err2: 385 301 gpio_free(GPIO_NR_PALMTX_POWER_DETECT); 386 - err_cs_ac: 302 + err1: 387 303 return ret; 388 304 } 389 305 ··· 391 309 return gpio_get_value(GPIO_NR_PALMTX_POWER_DETECT); 392 310 } 393 311 394 - static int palmtx_is_usb_online(void) 395 - { 396 - return !gpio_get_value(GPIO_NR_PALMTX_USB_DETECT_N); 397 - } 398 - 399 312 static void power_supply_exit(struct device *dev) 400 313 { 401 - gpio_free(GPIO_NR_PALMTX_USB_DETECT_N); 402 314 gpio_free(GPIO_NR_PALMTX_POWER_DETECT); 403 315 } 404 316 ··· 403 327 static struct pda_power_pdata power_supply_info = { 404 328 .init = power_supply_init, 405 329 .is_ac_online = palmtx_is_ac_online, 406 - .is_usb_online = palmtx_is_usb_online, 407 330 .exit = power_supply_exit, 408 331 .supplied_to = palmtx_supplicants, 409 332 .num_supplicants = ARRAY_SIZE(palmtx_supplicants), ··· 485 410 iotable_init(palmtx_io_desc, ARRAY_SIZE(palmtx_io_desc)); 486 411 } 487 412 413 + /* setup udc GPIOs initial state */ 414 + static void __init palmtx_udc_init(void) 415 + { 416 + if (!gpio_request(GPIO_NR_PALMTX_USB_POWER, "UDC Vbus")) { 417 + gpio_direction_output(GPIO_NR_PALMTX_USB_POWER, 1); 418 + gpio_free(GPIO_NR_PALMTX_USB_POWER); 419 + } 420 + } 421 + 422 + 488 423 static void __init palmtx_init(void) 489 424 { 490 425 pxa2xx_mfp_config(ARRAY_AND_SIZE(palmtx_pin_config)); 491 426 492 427 set_pxa_fb_info(&palmtx_lcd_screen); 493 428 pxa_set_mci_info(&palmtx_mci_platform_data); 429 + palmtx_udc_init(); 494 430 pxa_set_udc_info(&palmtx_udc_info); 495 431 pxa_set_ac97_info(NULL); 496 432 pxa_set_ficp_info(&palmtx_ficp_platform_data);
+1
arch/arm/mach-pxa/pcm990-baseboard.c
··· 385 385 .gpio = NR_BUILTIN_GPIO + 1, 386 386 }, { 387 387 .bus_id = 0, /* Must match with the camera ID above */ 388 + .gpio = -ENXIO, 388 389 } 389 390 }; 390 391
+4 -3
arch/arm/mach-pxa/reset.c
··· 90 90 /* Jump into ROM at address 0 */ 91 91 cpu_reset(0); 92 92 break; 93 - case 'h': 94 - do_hw_reset(); 95 - break; 96 93 case 'g': 97 94 do_gpio_reset(); 95 + break; 96 + case 'h': 97 + default: 98 + do_hw_reset(); 98 99 break; 99 100 } 100 101 }
+2 -2
arch/arm/mach-pxa/spitz.c
··· 67 67 static unsigned long spitz_pin_config[] __initdata = { 68 68 /* Chip Selects */ 69 69 GPIO78_nCS_2, /* SCOOP #2 */ 70 + GPIO79_nCS_3, /* NAND */ 70 71 GPIO80_nCS_4, /* SCOOP #1 */ 71 72 72 73 /* LCD - 16bpp Active TFT */ ··· 98 97 GPIO51_nPIOW, 99 98 GPIO85_nPCE_1, 100 99 GPIO54_nPCE_2, 101 - GPIO79_PSKTSEL, 102 100 GPIO55_nPREG, 103 101 GPIO56_nPWAIT, 104 102 GPIO57_nIOIS16, 103 + GPIO104_PSKTSEL, 105 104 106 105 /* MMC */ 107 106 GPIO32_MMC_CLK, ··· 687 686 spitz_pcmcia_config.num_devs = 1; 688 687 platform_scoop_config = &spitz_pcmcia_config; 689 688 690 - pxa_set_i2c_info(NULL); 691 689 i2c_register_board_info(0, ARRAY_AND_SIZE(akita_i2c_board_info)); 692 690 693 691 common_init();
+1
arch/arm/mach-s3c2410/include/mach/spi-gpio.h
··· 18 18 unsigned long pin_mosi; 19 19 unsigned long pin_miso; 20 20 21 + int num_chipselect; 21 22 int bus_num; 22 23 23 24 void (*chip_select)(struct s3c2410_spigpio_info *spi, int cs);
+3 -2
arch/arm/plat-omap/gpio.c
··· 101 101 #define OMAP24XX_GPIO_IRQSTATUS2 0x0028 102 102 #define OMAP24XX_GPIO_IRQENABLE2 0x002c 103 103 #define OMAP24XX_GPIO_IRQENABLE1 0x001c 104 + #define OMAP24XX_GPIO_WAKE_EN 0x0020 104 105 #define OMAP24XX_GPIO_CTRL 0x0030 105 106 #define OMAP24XX_GPIO_OE 0x0034 106 107 #define OMAP24XX_GPIO_DATAIN 0x0038 ··· 1552 1551 #endif 1553 1552 #if defined(CONFIG_ARCH_OMAP24XX) || defined(CONFIG_ARCH_OMAP34XX) 1554 1553 case METHOD_GPIO_24XX: 1555 - wake_status = bank->base + OMAP24XX_GPIO_SETWKUENA; 1554 + wake_status = bank->base + OMAP24XX_GPIO_WAKE_EN; 1556 1555 wake_clear = bank->base + OMAP24XX_GPIO_CLEARWKUENA; 1557 1556 wake_set = bank->base + OMAP24XX_GPIO_SETWKUENA; 1558 1557 break; ··· 1575 1574 { 1576 1575 int i; 1577 1576 1578 - if (!cpu_is_omap24xx() && !cpu_is_omap16xx()) 1577 + if (!cpu_class_is_omap2() && !cpu_is_omap16xx()) 1579 1578 return 0; 1580 1579 1581 1580 for (i = 0; i < gpio_bank_count; i++) {
+1 -1
arch/arm/plat-omap/include/mach/pm.h
··· 128 128 * clk_allow_idle - Counters previous clk_deny_idle 129 129 * @clk: clock signal handle 130 130 */ 131 - void clk_deny_idle(struct clk *clk); 131 + void clk_allow_idle(struct clk *clk); 132 132 133 133 extern void omap_pm_idle(void); 134 134 extern void omap_pm_suspend(void);
+9 -10
arch/frv/kernel/sys_frv.c
··· 35 35 int error = -EBADF; 36 36 struct file * file = NULL; 37 37 38 + /* As with sparc32, make sure the shift for mmap2 is constant 39 + (12), no matter what PAGE_SIZE we have.... */ 40 + 41 + /* But unlike sparc32, don't just silently break if we're 42 + trying to map something we can't */ 43 + if (pgoff & ((1 << (PAGE_SHIFT - 12)) - 1)) 44 + return -EINVAL; 45 + pgoff >>= PAGE_SHIFT - 12; 46 + 38 47 flags &= ~(MAP_EXECUTABLE | MAP_DENYWRITE); 39 48 if (!(flags & MAP_ANONYMOUS)) { 40 49 file = fget(fd); 41 50 if (!file) 42 51 goto out; 43 52 } 44 - 45 - /* As with sparc32, make sure the shift for mmap2 is constant 46 - (12), no matter what PAGE_SIZE we have.... */ 47 - 48 - /* But unlike sparc32, don't just silently break if we're 49 - trying to map something we can't */ 50 - if (pgoff & ((1<<(PAGE_SHIFT-12))-1)) 51 - return -EINVAL; 52 - 53 - pgoff >>= (PAGE_SHIFT - 12); 54 53 55 54 down_write(&current->mm->mmap_sem); 56 55 error = do_mmap_pgoff(file, addr, len, prot, flags, pgoff);
-2
arch/ia64/include/asm/ptrace.h
··· 325 325 #define arch_has_block_step() (1) 326 326 extern void user_enable_block_step(struct task_struct *); 327 327 328 - #define __ARCH_WANT_COMPAT_SYS_PTRACE 329 - 330 328 #endif /* !__KERNEL__ */ 331 329 332 330 /* pt_all_user_regs is used for PTRACE_GETREGS PTRACE_SETREGS */
+1 -1
arch/ia64/sn/kernel/io_init.c
··· 292 292 * sn_pci_controller_fixup() - This routine sets up a bus's resources 293 293 * consistent with the Linux PCI abstraction layer. 294 294 */ 295 - static void 295 + static void __init 296 296 sn_pci_controller_fixup(int segment, int busnum, struct pci_bus *bus) 297 297 { 298 298 s64 status = 0;
+2 -2
arch/m32r/kernel/head.S
··· 23 23 /* 24 24 * References to members of the boot_cpu_data structure. 25 25 */ 26 - .text 26 + .section .text.head, "ax" 27 27 .global start_kernel 28 28 .global __bss_start 29 29 .global _end ··· 133 133 /* 134 134 * AP startup routine 135 135 */ 136 - .text 137 136 .global eit_vector 138 137 ENTRY(startup_AP) 139 138 ;; setup EVB ··· 229 230 nop 230 231 #endif /* CONFIG_SMP */ 231 232 233 + .text 232 234 ENTRY(stack_start) 233 235 .long init_thread_union+8192 234 236 .long __KERNEL_DS
+1
arch/m32r/kernel/vmlinux.lds.S
··· 27 27 _text = .; /* Text and read-only data */ 28 28 .boot : { *(.boot) } = 0 29 29 .text : { 30 + *(.text.head) 30 31 TEXT_TEXT 31 32 SCHED_TEXT 32 33 LOCK_TEXT
+20 -9
arch/mips/include/asm/bug.h
··· 7 7 8 8 #include <asm/break.h> 9 9 10 - #define BUG() \ 11 - do { \ 12 - __asm__ __volatile__("break %0" : : "i" (BRK_BUG)); \ 13 - } while (0) 10 + static inline void __noreturn BUG(void) 11 + { 12 + __asm__ __volatile__("break %0" : : "i" (BRK_BUG)); 13 + /* Fool GCC into thinking the function doesn't return. */ 14 + while (1) 15 + ; 16 + } 14 17 15 18 #define HAVE_ARCH_BUG 16 19 17 20 #if (_MIPS_ISA > _MIPS_ISA_MIPS1) 18 21 19 - #define BUG_ON(condition) \ 20 - do { \ 21 - __asm__ __volatile__("tne $0, %0, %1" \ 22 - : : "r" (condition), "i" (BRK_BUG)); \ 23 - } while (0) 22 + static inline void __BUG_ON(unsigned long condition) 23 + { 24 + if (__builtin_constant_p(condition)) { 25 + if (condition) 26 + BUG(); 27 + else 28 + return; 29 + } 30 + __asm__ __volatile__("tne $0, %0, %1" 31 + : : "r" (condition), "i" (BRK_BUG)); 32 + } 33 + 34 + #define BUG_ON(C) __BUG_ON((unsigned long)(C)) 24 35 25 36 #define HAVE_ARCH_BUG_ON 26 37
-4
arch/mips/include/asm/ptrace.h
··· 9 9 #ifndef _ASM_PTRACE_H 10 10 #define _ASM_PTRACE_H 11 11 12 - #ifdef CONFIG_64BIT 13 - #define __ARCH_WANT_COMPAT_SYS_PTRACE 14 - #endif 15 - 16 12 /* 0 - 31 are integer registers, 32 - 63 are fp registers. */ 17 13 #define FPR_BASE 32 18 14 #define PC 64
+2 -22
arch/mn10300/kernel/gdb-stub.c
··· 522 522 } else { 523 523 switch (cur) { 524 524 /* Bxx (d8,PC) */ 525 - case 0xc0: 526 - case 0xc1: 527 - case 0xc2: 528 - case 0xc3: 529 - case 0xc4: 530 - case 0xc5: 531 - case 0xc6: 532 - case 0xc7: 533 - case 0xc8: 534 - case 0xc9: 535 - case 0xca: 525 + case 0xc0 ... 0xca: 536 526 if (gdbstub_read_byte(pc + 1, (u8 *) &x) < 0) 537 527 goto fault; 538 528 if (!__gdbstub_mark_bp(pc + 2, 0)) ··· 533 543 break; 534 544 535 545 /* LXX (d8,PC) */ 536 - case 0xd0: 537 - case 0xd1: 538 - case 0xd2: 539 - case 0xd3: 540 - case 0xd4: 541 - case 0xd5: 542 - case 0xd6: 543 - case 0xd7: 544 - case 0xd8: 545 - case 0xd9: 546 - case 0xda: 546 + case 0xd0 ... 0xda: 547 547 if (!__gdbstub_mark_bp(pc + 1, 0)) 548 548 goto fault; 549 549 if (regs->pc != regs->lar &&
+2 -2
arch/parisc/include/asm/parisc-device.h
··· 42 42 #define to_parisc_driver(d) container_of(d, struct parisc_driver, drv) 43 43 #define parisc_parent(d) to_parisc_device(d->dev.parent) 44 44 45 - static inline char *parisc_pathname(struct parisc_device *d) 45 + static inline const char *parisc_pathname(struct parisc_device *d) 46 46 { 47 - return d->dev.bus_id; 47 + return dev_name(&d->dev); 48 48 } 49 49 50 50 static inline void
+1 -2
arch/parisc/include/asm/posix_types.h
··· 24 24 typedef unsigned long __kernel_size_t; 25 25 typedef long __kernel_ssize_t; 26 26 typedef long __kernel_ptrdiff_t; 27 - typedef long __kernel_time_t; 28 27 #else 29 28 typedef unsigned int __kernel_size_t; 30 29 typedef int __kernel_ssize_t; 31 30 typedef int __kernel_ptrdiff_t; 32 - typedef long __kernel_time_t; 33 31 #endif 32 + typedef long __kernel_time_t; 34 33 typedef char * __kernel_caddr_t; 35 34 36 35 typedef unsigned short __kernel_uid16_t;
-2
arch/parisc/include/asm/ptrace.h
··· 47 47 48 48 #define task_regs(task) ((struct pt_regs *) ((char *)(task) + TASK_REGS)) 49 49 50 - #define __ARCH_WANT_COMPAT_SYS_PTRACE 51 - 52 50 struct task_struct; 53 51 #define arch_has_single_step() 1 54 52 void user_disable_single_step(struct task_struct *task);
+4 -2
arch/parisc/kernel/drivers.c
··· 43 43 EXPORT_SYMBOL(hppa_dma_ops); 44 44 45 45 static struct device root = { 46 - .bus_id = "parisc", 46 + .init_name = "parisc", 47 47 }; 48 48 49 49 static inline int check_dev(struct device *dev) ··· 393 393 static void setup_bus_id(struct parisc_device *padev) 394 394 { 395 395 struct hardware_path path; 396 - char *output = padev->dev.bus_id; 396 + char name[20]; 397 + char *output = name; 397 398 int i; 398 399 399 400 get_node_path(padev->dev.parent, &path); ··· 405 404 output += sprintf(output, "%u:", (unsigned char) path.bc[i]); 406 405 } 407 406 sprintf(output, "%u", (unsigned char) padev->hw_path); 407 + dev_set_name(&padev->dev, name); 408 408 } 409 409 410 410 struct parisc_device * create_tree_node(char id, struct device *parent)
+20 -21
arch/parisc/kernel/traps.c
··· 24 24 #include <linux/init.h> 25 25 #include <linux/interrupt.h> 26 26 #include <linux/console.h> 27 - #include <linux/kallsyms.h> 28 27 #include <linux/bug.h> 29 28 30 29 #include <asm/assembly.h> ··· 50 51 DEFINE_SPINLOCK(pa_dbit_lock); 51 52 #endif 52 53 53 - void parisc_show_stack(struct task_struct *t, unsigned long *sp, 54 + static void parisc_show_stack(struct task_struct *task, unsigned long *sp, 54 55 struct pt_regs *regs); 55 56 56 57 static int printbinary(char *buf, unsigned long x, int nbits) ··· 120 121 121 122 void show_regs(struct pt_regs *regs) 122 123 { 123 - int i; 124 + int i, user; 124 125 char *level; 125 126 unsigned long cr30, cr31; 126 127 127 - level = user_mode(regs) ? KERN_DEBUG : KERN_CRIT; 128 + user = user_mode(regs); 129 + level = user ? KERN_DEBUG : KERN_CRIT; 128 130 129 131 print_gr(level, regs); 130 132 131 133 for (i = 0; i < 8; i += 4) 132 134 PRINTREGS(level, regs->sr, "sr", RFMT, i); 133 135 134 - if (user_mode(regs)) 136 + if (user) 135 137 print_fr(level, regs); 136 138 137 139 cr30 = mfctl(30); ··· 145 145 printk("%s CPU: %8d CR30: " RFMT " CR31: " RFMT "\n", 146 146 level, current_thread_info()->cpu, cr30, cr31); 147 147 printk("%s ORIG_R28: " RFMT "\n", level, regs->orig_r28); 148 - printk(level); 149 - print_symbol(" IAOQ[0]: %s\n", regs->iaoq[0]); 150 - printk(level); 151 - print_symbol(" IAOQ[1]: %s\n", regs->iaoq[1]); 152 - printk(level); 153 - print_symbol(" RP(r2): %s\n", regs->gr[2]); 154 148 155 - parisc_show_stack(current, NULL, regs); 149 + if (user) { 150 + printk("%s IAOQ[0]: " RFMT "\n", level, regs->iaoq[0]); 151 + printk("%s IAOQ[1]: " RFMT "\n", level, regs->iaoq[1]); 152 + printk("%s RP(r2): " RFMT "\n", level, regs->gr[2]); 153 + } else { 154 + printk("%s IAOQ[0]: %pS\n", level, (void *) regs->iaoq[0]); 155 + printk("%s IAOQ[1]: %pS\n", level, (void *) regs->iaoq[1]); 156 + printk("%s RP(r2): %pS\n", level, (void *) regs->gr[2]); 157 + 158 + parisc_show_stack(current, NULL, regs); 159 + } 156 160 } 157 161 158 162 ··· 177 173 break; 178 174 179 175 if (__kernel_text_address(info->ip)) { 180 - printk("%s [<" RFMT ">] ", (i&0x3)==1 ? KERN_CRIT : "", info->ip); 181 - #ifdef CONFIG_KALLSYMS 182 - print_symbol("%s\n", info->ip); 183 - #else 184 - if ((i & 0x03) == 0) 185 - printk("\n"); 186 - #endif 176 + printk(KERN_CRIT " [<" RFMT ">] %pS\n", 177 + info->ip, (void *) info->ip); 187 178 i++; 188 179 } 189 180 } 190 - printk("\n"); 181 + printk(KERN_CRIT "\n"); 191 182 } 192 183 193 - void parisc_show_stack(struct task_struct *task, unsigned long *sp, 184 + static void parisc_show_stack(struct task_struct *task, unsigned long *sp, 194 185 struct pt_regs *regs) 195 186 { 196 187 struct unwind_frame_info info;
+2 -2
arch/powerpc/boot/dts/mpc832x_rdb.dts
··· 18 18 #size-cells = <1>; 19 19 20 20 aliases { 21 - ethernet0 = &enet0; 22 - ethernet1 = &enet1; 21 + ethernet0 = &enet1; 22 + ethernet1 = &enet0; 23 23 serial0 = &serial0; 24 24 serial1 = &serial1; 25 25 pci0 = &pci0;
+1 -1
arch/powerpc/boot/dts/mpc8572ds.dts
··· 90 90 compatible = "fsl,mpc8572-l2-cache-controller"; 91 91 reg = <0x20000 0x1000>; 92 92 cache-line-size = <32>; // 32 bytes 93 - cache-size = <0x80000>; // L2, 512K 93 + cache-size = <0x100000>; // L2, 1M 94 94 interrupt-parent = <&mpic>; 95 95 interrupts = <16 2>; 96 96 };
+1176
arch/powerpc/configs/40x/virtex_defconfig
··· 1 + # 2 + # Automatically generated make config: don't edit 3 + # Linux kernel version: 2.6.28-rc4 4 + # Fri Nov 14 10:49:16 2008 5 + # 6 + # CONFIG_PPC64 is not set 7 + 8 + # 9 + # Processor support 10 + # 11 + # CONFIG_6xx is not set 12 + # CONFIG_PPC_85xx is not set 13 + # CONFIG_PPC_8xx is not set 14 + CONFIG_40x=y 15 + # CONFIG_44x is not set 16 + # CONFIG_E200 is not set 17 + CONFIG_4xx=y 18 + # CONFIG_PPC_MM_SLICES is not set 19 + CONFIG_NOT_COHERENT_CACHE=y 20 + CONFIG_PPC32=y 21 + CONFIG_WORD_SIZE=32 22 + # CONFIG_ARCH_PHYS_ADDR_T_64BIT is not set 23 + CONFIG_MMU=y 24 + CONFIG_GENERIC_CMOS_UPDATE=y 25 + CONFIG_GENERIC_TIME=y 26 + CONFIG_GENERIC_TIME_VSYSCALL=y 27 + CONFIG_GENERIC_CLOCKEVENTS=y 28 + CONFIG_GENERIC_HARDIRQS=y 29 + # CONFIG_HAVE_SETUP_PER_CPU_AREA is not set 30 + CONFIG_IRQ_PER_CPU=y 31 + CONFIG_STACKTRACE_SUPPORT=y 32 + CONFIG_HAVE_LATENCYTOP_SUPPORT=y 33 + CONFIG_LOCKDEP_SUPPORT=y 34 + CONFIG_RWSEM_XCHGADD_ALGORITHM=y 35 + CONFIG_ARCH_HAS_ILOG2_U32=y 36 + CONFIG_GENERIC_HWEIGHT=y 37 + CONFIG_GENERIC_CALIBRATE_DELAY=y 38 + CONFIG_GENERIC_FIND_NEXT_BIT=y 39 + CONFIG_GENERIC_GPIO=y 40 + # CONFIG_ARCH_NO_VIRT_TO_BUS is not set 41 + CONFIG_PPC=y 42 + CONFIG_EARLY_PRINTK=y 43 + CONFIG_GENERIC_NVRAM=y 44 + CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y 45 + CONFIG_ARCH_MAY_HAVE_PC_FDC=y 46 + CONFIG_PPC_OF=y 47 + CONFIG_OF=y 48 + CONFIG_PPC_UDBG_16550=y 49 + # CONFIG_GENERIC_TBSYNC is not set 50 + CONFIG_AUDIT_ARCH=y 51 + CONFIG_GENERIC_BUG=y 52 + # CONFIG_DEFAULT_UIMAGE is not set 53 + CONFIG_PPC_DCR_NATIVE=y 54 + # CONFIG_PPC_DCR_MMIO is not set 55 + CONFIG_PPC_DCR=y 56 + CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" 57 + 58 + # 59 + # General setup 60 + # 61 + CONFIG_EXPERIMENTAL=y 62 + CONFIG_BROKEN_ON_SMP=y 63 + CONFIG_LOCK_KERNEL=y 64 + CONFIG_INIT_ENV_ARG_LIMIT=32 65 + CONFIG_LOCALVERSION="" 66 + # CONFIG_LOCALVERSION_AUTO is not set 67 + CONFIG_SWAP=y 68 + CONFIG_SYSVIPC=y 69 + CONFIG_SYSVIPC_SYSCTL=y 70 + CONFIG_POSIX_MQUEUE=y 71 + # CONFIG_BSD_PROCESS_ACCT is not set 72 + # CONFIG_TASKSTATS is not set 73 + # CONFIG_AUDIT is not set 74 + CONFIG_IKCONFIG=y 75 + CONFIG_IKCONFIG_PROC=y 76 + CONFIG_LOG_BUF_SHIFT=14 77 + # CONFIG_CGROUPS is not set 78 + # CONFIG_GROUP_SCHED is not set 79 + CONFIG_SYSFS_DEPRECATED=y 80 + CONFIG_SYSFS_DEPRECATED_V2=y 81 + # CONFIG_RELAY is not set 82 + CONFIG_NAMESPACES=y 83 + # CONFIG_UTS_NS is not set 84 + # CONFIG_IPC_NS is not set 85 + # CONFIG_USER_NS is not set 86 + # CONFIG_PID_NS is not set 87 + CONFIG_BLK_DEV_INITRD=y 88 + CONFIG_INITRAMFS_SOURCE="" 89 + # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set 90 + CONFIG_SYSCTL=y 91 + # CONFIG_EMBEDDED is not set 92 + CONFIG_SYSCTL_SYSCALL=y 93 + CONFIG_KALLSYMS=y 94 + # CONFIG_KALLSYMS_ALL is not set 95 + # CONFIG_KALLSYMS_EXTRA_PASS is not set 96 + CONFIG_HOTPLUG=y 97 + CONFIG_PRINTK=y 98 + CONFIG_BUG=y 99 + CONFIG_ELF_CORE=y 100 + CONFIG_COMPAT_BRK=y 101 + CONFIG_BASE_FULL=y 102 + CONFIG_FUTEX=y 103 + CONFIG_ANON_INODES=y 104 + CONFIG_EPOLL=y 105 + CONFIG_SIGNALFD=y 106 + CONFIG_TIMERFD=y 107 + CONFIG_EVENTFD=y 108 + CONFIG_SHMEM=y 109 + CONFIG_AIO=y 110 + CONFIG_VM_EVENT_COUNTERS=y 111 + CONFIG_PCI_QUIRKS=y 112 + CONFIG_SLAB=y 113 + # CONFIG_SLUB is not set 114 + # CONFIG_SLOB is not set 115 + # CONFIG_PROFILING is not set 116 + # CONFIG_MARKERS is not set 117 + CONFIG_HAVE_OPROFILE=y 118 + # CONFIG_KPROBES is not set 119 + CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y 120 + CONFIG_HAVE_IOREMAP_PROT=y 121 + CONFIG_HAVE_KPROBES=y 122 + CONFIG_HAVE_KRETPROBES=y 123 + CONFIG_HAVE_ARCH_TRACEHOOK=y 124 + # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set 125 + CONFIG_SLABINFO=y 126 + CONFIG_RT_MUTEXES=y 127 + # CONFIG_TINY_SHMEM is not set 128 + CONFIG_BASE_SMALL=0 129 + CONFIG_MODULES=y 130 + # CONFIG_MODULE_FORCE_LOAD is not set 131 + CONFIG_MODULE_UNLOAD=y 132 + CONFIG_MODULE_FORCE_UNLOAD=y 133 + CONFIG_MODVERSIONS=y 134 + # CONFIG_MODULE_SRCVERSION_ALL is not set 135 + CONFIG_KMOD=y 136 + CONFIG_BLOCK=y 137 + # CONFIG_LBD is not set 138 + # CONFIG_BLK_DEV_IO_TRACE is not set 139 + # CONFIG_LSF is not set 140 + # CONFIG_BLK_DEV_BSG is not set 141 + # CONFIG_BLK_DEV_INTEGRITY is not set 142 + 143 + # 144 + # IO Schedulers 145 + # 146 + CONFIG_IOSCHED_NOOP=y 147 + CONFIG_IOSCHED_AS=y 148 + CONFIG_IOSCHED_DEADLINE=y 149 + CONFIG_IOSCHED_CFQ=y 150 + # CONFIG_DEFAULT_AS is not set 151 + # CONFIG_DEFAULT_DEADLINE is not set 152 + CONFIG_DEFAULT_CFQ=y 153 + # CONFIG_DEFAULT_NOOP is not set 154 + CONFIG_DEFAULT_IOSCHED="cfq" 155 + CONFIG_CLASSIC_RCU=y 156 + # CONFIG_FREEZER is not set 157 + # CONFIG_PPC4xx_PCI_EXPRESS is not set 158 + 159 + # 160 + # Platform support 161 + # 162 + # CONFIG_PPC_CELL is not set 163 + # CONFIG_PPC_CELL_NATIVE is not set 164 + # CONFIG_PQ2ADS is not set 165 + # CONFIG_PPC4xx_GPIO is not set 166 + CONFIG_XILINX_VIRTEX=y 167 + # CONFIG_ACADIA is not set 168 + # CONFIG_EP405 is not set 169 + # CONFIG_HCU4 is not set 170 + # CONFIG_KILAUEA is not set 171 + # CONFIG_MAKALU is not set 172 + # CONFIG_WALNUT is not set 173 + CONFIG_XILINX_VIRTEX_GENERIC_BOARD=y 174 + # CONFIG_PPC40x_SIMPLE is not set 175 + CONFIG_XILINX_VIRTEX_II_PRO=y 176 + CONFIG_XILINX_VIRTEX_4_FX=y 177 + CONFIG_IBM405_ERR77=y 178 + CONFIG_IBM405_ERR51=y 179 + # CONFIG_IPIC is not set 180 + # CONFIG_MPIC is not set 181 + # CONFIG_MPIC_WEIRD is not set 182 + # CONFIG_PPC_I8259 is not set 183 + # CONFIG_PPC_RTAS is not set 184 + # CONFIG_MMIO_NVRAM is not set 185 + # CONFIG_PPC_MPC106 is not set 186 + # CONFIG_PPC_970_NAP is not set 187 + # CONFIG_PPC_INDIRECT_IO is not set 188 + # CONFIG_GENERIC_IOMAP is not set 189 + # CONFIG_CPU_FREQ is not set 190 + # CONFIG_FSL_ULI1575 is not set 191 + 192 + # 193 + # Kernel options 194 + # 195 + # CONFIG_HIGHMEM is not set 196 + # CONFIG_NO_HZ is not set 197 + # CONFIG_HIGH_RES_TIMERS is not set 198 + CONFIG_GENERIC_CLOCKEVENTS_BUILD=y 199 + # CONFIG_HZ_100 is not set 200 + CONFIG_HZ_250=y 201 + # CONFIG_HZ_300 is not set 202 + # CONFIG_HZ_1000 is not set 203 + CONFIG_HZ=250 204 + # CONFIG_SCHED_HRTICK is not set 205 + # CONFIG_PREEMPT_NONE is not set 206 + # CONFIG_PREEMPT_VOLUNTARY is not set 207 + CONFIG_PREEMPT=y 208 + # CONFIG_PREEMPT_RCU is not set 209 + CONFIG_BINFMT_ELF=y 210 + # CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set 211 + # CONFIG_HAVE_AOUT is not set 212 + # CONFIG_BINFMT_MISC is not set 213 + CONFIG_MATH_EMULATION=y 214 + # CONFIG_IOMMU_HELPER is not set 215 + CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y 216 + CONFIG_ARCH_HAS_WALK_MEMORY=y 217 + CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y 218 + CONFIG_ARCH_FLATMEM_ENABLE=y 219 + CONFIG_ARCH_POPULATES_NODE_MAP=y 220 + CONFIG_SELECT_MEMORY_MODEL=y 221 + CONFIG_FLATMEM_MANUAL=y 222 + # CONFIG_DISCONTIGMEM_MANUAL is not set 223 + # CONFIG_SPARSEMEM_MANUAL is not set 224 + CONFIG_FLATMEM=y 225 + CONFIG_FLAT_NODE_MEM_MAP=y 226 + CONFIG_PAGEFLAGS_EXTENDED=y 227 + CONFIG_SPLIT_PTLOCK_CPUS=4 228 + CONFIG_MIGRATION=y 229 + CONFIG_RESOURCES_64BIT=y 230 + # CONFIG_PHYS_ADDR_T_64BIT is not set 231 + CONFIG_ZONE_DMA_FLAG=1 232 + CONFIG_BOUNCE=y 233 + CONFIG_VIRT_TO_BUS=y 234 + CONFIG_UNEVICTABLE_LRU=y 235 + CONFIG_FORCE_MAX_ZONEORDER=11 236 + CONFIG_PROC_DEVICETREE=y 237 + CONFIG_CMDLINE_BOOL=y 238 + CONFIG_CMDLINE="" 239 + CONFIG_EXTRA_TARGETS="" 240 + # CONFIG_PM is not set 241 + CONFIG_SECCOMP=y 242 + CONFIG_ISA_DMA_API=y 243 + 244 + # 245 + # Bus options 246 + # 247 + CONFIG_ZONE_DMA=y 248 + CONFIG_PPC_INDIRECT_PCI=y 249 + CONFIG_4xx_SOC=y 250 + CONFIG_PPC_PCI_CHOICE=y 251 + CONFIG_PCI=y 252 + CONFIG_PCI_DOMAINS=y 253 + CONFIG_PCI_SYSCALL=y 254 + # CONFIG_PCIEPORTBUS is not set 255 + CONFIG_ARCH_SUPPORTS_MSI=y 256 + # CONFIG_PCI_MSI is not set 257 + CONFIG_PCI_LEGACY=y 258 + # CONFIG_PCI_DEBUG is not set 259 + # CONFIG_PCCARD is not set 260 + # CONFIG_HOTPLUG_PCI is not set 261 + # CONFIG_HAS_RAPIDIO is not set 262 + 263 + # 264 + # Advanced setup 265 + # 266 + # CONFIG_ADVANCED_OPTIONS is not set 267 + 268 + # 269 + # Default settings for advanced configuration options are used 270 + # 271 + CONFIG_LOWMEM_SIZE=0x30000000 272 + CONFIG_PAGE_OFFSET=0xc0000000 273 + CONFIG_KERNEL_START=0xc0000000 274 + CONFIG_PHYSICAL_START=0x00000000 275 + CONFIG_TASK_SIZE=0xc0000000 276 + CONFIG_CONSISTENT_START=0xff100000 277 + CONFIG_CONSISTENT_SIZE=0x00200000 278 + CONFIG_NET=y 279 + 280 + # 281 + # Networking options 282 + # 283 + CONFIG_PACKET=y 284 + # CONFIG_PACKET_MMAP is not set 285 + 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 292 + CONFIG_INET=y 293 + CONFIG_IP_MULTICAST=y 294 + # CONFIG_IP_ADVANCED_ROUTER is not set 295 + CONFIG_IP_FIB_HASH=y 296 + CONFIG_IP_PNP=y 297 + CONFIG_IP_PNP_DHCP=y 298 + CONFIG_IP_PNP_BOOTP=y 299 + # CONFIG_IP_PNP_RARP is not set 300 + # CONFIG_NET_IPIP is not set 301 + # CONFIG_NET_IPGRE is not set 302 + # CONFIG_IP_MROUTE is not set 303 + # CONFIG_ARPD is not set 304 + # CONFIG_SYN_COOKIES is not set 305 + # CONFIG_INET_AH is not set 306 + # CONFIG_INET_ESP is not set 307 + # CONFIG_INET_IPCOMP is not set 308 + # CONFIG_INET_XFRM_TUNNEL is not set 309 + CONFIG_INET_TUNNEL=m 310 + CONFIG_INET_XFRM_MODE_TRANSPORT=y 311 + CONFIG_INET_XFRM_MODE_TUNNEL=y 312 + CONFIG_INET_XFRM_MODE_BEET=y 313 + # CONFIG_INET_LRO is not set 314 + CONFIG_INET_DIAG=y 315 + CONFIG_INET_TCP_DIAG=y 316 + # CONFIG_TCP_CONG_ADVANCED is not set 317 + CONFIG_TCP_CONG_CUBIC=y 318 + CONFIG_DEFAULT_TCP_CONG="cubic" 319 + # CONFIG_TCP_MD5SIG is not set 320 + CONFIG_IPV6=m 321 + # CONFIG_IPV6_PRIVACY is not set 322 + # CONFIG_IPV6_ROUTER_PREF is not set 323 + # CONFIG_IPV6_OPTIMISTIC_DAD is not set 324 + # CONFIG_INET6_AH is not set 325 + # CONFIG_INET6_ESP is not set 326 + # CONFIG_INET6_IPCOMP is not set 327 + # CONFIG_IPV6_MIP6 is not set 328 + # CONFIG_INET6_XFRM_TUNNEL is not set 329 + # CONFIG_INET6_TUNNEL is not set 330 + CONFIG_INET6_XFRM_MODE_TRANSPORT=m 331 + CONFIG_INET6_XFRM_MODE_TUNNEL=m 332 + CONFIG_INET6_XFRM_MODE_BEET=m 333 + # CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION is not set 334 + CONFIG_IPV6_SIT=m 335 + CONFIG_IPV6_NDISC_NODETYPE=y 336 + # CONFIG_IPV6_TUNNEL is not set 337 + # CONFIG_IPV6_MULTIPLE_TABLES is not set 338 + # CONFIG_IPV6_MROUTE is not set 339 + # CONFIG_NETWORK_SECMARK is not set 340 + CONFIG_NETFILTER=y 341 + # CONFIG_NETFILTER_DEBUG is not set 342 + CONFIG_NETFILTER_ADVANCED=y 343 + 344 + # 345 + # Core Netfilter Configuration 346 + # 347 + # CONFIG_NETFILTER_NETLINK_QUEUE is not set 348 + # CONFIG_NETFILTER_NETLINK_LOG is not set 349 + # CONFIG_NF_CONNTRACK is not set 350 + CONFIG_NETFILTER_XTABLES=m 351 + # CONFIG_NETFILTER_XT_TARGET_CLASSIFY is not set 352 + # CONFIG_NETFILTER_XT_TARGET_DSCP is not set 353 + # CONFIG_NETFILTER_XT_TARGET_MARK is not set 354 + # CONFIG_NETFILTER_XT_TARGET_NFLOG is not set 355 + # CONFIG_NETFILTER_XT_TARGET_NFQUEUE is not set 356 + # CONFIG_NETFILTER_XT_TARGET_RATEEST is not set 357 + # CONFIG_NETFILTER_XT_TARGET_TCPMSS is not set 358 + # CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP is not set 359 + # CONFIG_NETFILTER_XT_MATCH_COMMENT is not set 360 + # CONFIG_NETFILTER_XT_MATCH_DCCP is not set 361 + # CONFIG_NETFILTER_XT_MATCH_DSCP is not set 362 + # CONFIG_NETFILTER_XT_MATCH_ESP is not set 363 + # CONFIG_NETFILTER_XT_MATCH_HASHLIMIT is not set 364 + # CONFIG_NETFILTER_XT_MATCH_IPRANGE is not set 365 + # CONFIG_NETFILTER_XT_MATCH_LENGTH is not set 366 + # CONFIG_NETFILTER_XT_MATCH_LIMIT is not set 367 + # CONFIG_NETFILTER_XT_MATCH_MAC is not set 368 + # CONFIG_NETFILTER_XT_MATCH_MARK is not set 369 + # CONFIG_NETFILTER_XT_MATCH_MULTIPORT is not set 370 + # CONFIG_NETFILTER_XT_MATCH_OWNER is not set 371 + # CONFIG_NETFILTER_XT_MATCH_POLICY is not set 372 + # CONFIG_NETFILTER_XT_MATCH_PKTTYPE is not set 373 + # CONFIG_NETFILTER_XT_MATCH_QUOTA is not set 374 + # CONFIG_NETFILTER_XT_MATCH_RATEEST is not set 375 + # CONFIG_NETFILTER_XT_MATCH_REALM is not set 376 + # CONFIG_NETFILTER_XT_MATCH_RECENT is not set 377 + # CONFIG_NETFILTER_XT_MATCH_SCTP is not set 378 + # CONFIG_NETFILTER_XT_MATCH_STATISTIC is not set 379 + # CONFIG_NETFILTER_XT_MATCH_STRING is not set 380 + # CONFIG_NETFILTER_XT_MATCH_TCPMSS is not set 381 + # CONFIG_NETFILTER_XT_MATCH_TIME is not set 382 + # CONFIG_NETFILTER_XT_MATCH_U32 is not set 383 + # CONFIG_IP_VS is not set 384 + 385 + # 386 + # IP: Netfilter Configuration 387 + # 388 + # CONFIG_NF_DEFRAG_IPV4 is not set 389 + # CONFIG_IP_NF_QUEUE is not set 390 + CONFIG_IP_NF_IPTABLES=m 391 + # CONFIG_IP_NF_MATCH_ADDRTYPE is not set 392 + # CONFIG_IP_NF_MATCH_AH is not set 393 + # CONFIG_IP_NF_MATCH_ECN is not set 394 + # CONFIG_IP_NF_MATCH_TTL is not set 395 + CONFIG_IP_NF_FILTER=m 396 + # CONFIG_IP_NF_TARGET_REJECT is not set 397 + # CONFIG_IP_NF_TARGET_LOG is not set 398 + # CONFIG_IP_NF_TARGET_ULOG is not set 399 + CONFIG_IP_NF_MANGLE=m 400 + # CONFIG_IP_NF_TARGET_ECN is not set 401 + # CONFIG_IP_NF_TARGET_TTL is not set 402 + # CONFIG_IP_NF_RAW is not set 403 + # CONFIG_IP_NF_ARPTABLES is not set 404 + 405 + # 406 + # IPv6: Netfilter Configuration 407 + # 408 + # CONFIG_IP6_NF_QUEUE is not set 409 + # CONFIG_IP6_NF_IPTABLES is not set 410 + # CONFIG_IP_DCCP is not set 411 + # CONFIG_IP_SCTP is not set 412 + # CONFIG_TIPC is not set 413 + # CONFIG_ATM is not set 414 + # CONFIG_BRIDGE is not set 415 + # CONFIG_NET_DSA is not set 416 + # CONFIG_VLAN_8021Q is not set 417 + # CONFIG_DECNET is not set 418 + # CONFIG_LLC2 is not set 419 + # CONFIG_IPX is not set 420 + # CONFIG_ATALK is not set 421 + # CONFIG_X25 is not set 422 + # CONFIG_LAPB is not set 423 + # CONFIG_ECONET is not set 424 + # CONFIG_WAN_ROUTER is not set 425 + # CONFIG_NET_SCHED is not set 426 + 427 + # 428 + # Network testing 429 + # 430 + # CONFIG_NET_PKTGEN is not set 431 + # CONFIG_HAMRADIO is not set 432 + # CONFIG_CAN is not set 433 + # CONFIG_IRDA is not set 434 + # CONFIG_BT is not set 435 + # CONFIG_AF_RXRPC is not set 436 + # CONFIG_PHONET is not set 437 + CONFIG_WIRELESS=y 438 + # CONFIG_CFG80211 is not set 439 + CONFIG_WIRELESS_OLD_REGULATORY=y 440 + # CONFIG_WIRELESS_EXT is not set 441 + # CONFIG_MAC80211 is not set 442 + # CONFIG_IEEE80211 is not set 443 + # CONFIG_RFKILL is not set 444 + # CONFIG_NET_9P is not set 445 + 446 + # 447 + # Device Drivers 448 + # 449 + 450 + # 451 + # Generic Driver Options 452 + # 453 + CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" 454 + CONFIG_STANDALONE=y 455 + CONFIG_PREVENT_FIRMWARE_BUILD=y 456 + CONFIG_FW_LOADER=y 457 + CONFIG_FIRMWARE_IN_KERNEL=y 458 + CONFIG_EXTRA_FIRMWARE="" 459 + # CONFIG_DEBUG_DRIVER is not set 460 + # CONFIG_DEBUG_DEVRES is not set 461 + # CONFIG_SYS_HYPERVISOR is not set 462 + # CONFIG_CONNECTOR is not set 463 + # CONFIG_MTD is not set 464 + CONFIG_OF_DEVICE=y 465 + CONFIG_OF_GPIO=y 466 + # CONFIG_PARPORT is not set 467 + CONFIG_BLK_DEV=y 468 + # CONFIG_BLK_DEV_FD is not set 469 + # CONFIG_BLK_CPQ_DA is not set 470 + # CONFIG_BLK_CPQ_CISS_DA is not set 471 + # CONFIG_BLK_DEV_DAC960 is not set 472 + # CONFIG_BLK_DEV_UMEM is not set 473 + # CONFIG_BLK_DEV_COW_COMMON is not set 474 + CONFIG_BLK_DEV_LOOP=y 475 + # CONFIG_BLK_DEV_CRYPTOLOOP is not set 476 + # CONFIG_BLK_DEV_NBD is not set 477 + # CONFIG_BLK_DEV_SX8 is not set 478 + CONFIG_BLK_DEV_RAM=y 479 + CONFIG_BLK_DEV_RAM_COUNT=16 480 + CONFIG_BLK_DEV_RAM_SIZE=8192 481 + # CONFIG_BLK_DEV_XIP is not set 482 + # CONFIG_CDROM_PKTCDVD is not set 483 + # CONFIG_ATA_OVER_ETH is not set 484 + CONFIG_XILINX_SYSACE=y 485 + # CONFIG_BLK_DEV_HD is not set 486 + CONFIG_MISC_DEVICES=y 487 + # CONFIG_PHANTOM is not set 488 + # CONFIG_EEPROM_93CX6 is not set 489 + # CONFIG_SGI_IOC4 is not set 490 + # CONFIG_TIFM_CORE is not set 491 + # CONFIG_ENCLOSURE_SERVICES is not set 492 + # CONFIG_HP_ILO is not set 493 + # CONFIG_C2PORT is not set 494 + CONFIG_HAVE_IDE=y 495 + # CONFIG_IDE is not set 496 + 497 + # 498 + # SCSI device support 499 + # 500 + # CONFIG_RAID_ATTRS is not set 501 + # CONFIG_SCSI is not set 502 + # CONFIG_SCSI_DMA is not set 503 + # CONFIG_SCSI_NETLINK is not set 504 + # CONFIG_ATA is not set 505 + # CONFIG_MD is not set 506 + # CONFIG_FUSION is not set 507 + 508 + # 509 + # IEEE 1394 (FireWire) support 510 + # 511 + 512 + # 513 + # Enable only one of the two stacks, unless you know what you are doing 514 + # 515 + # CONFIG_FIREWIRE is not set 516 + # CONFIG_IEEE1394 is not set 517 + # CONFIG_I2O is not set 518 + # CONFIG_MACINTOSH_DRIVERS is not set 519 + CONFIG_NETDEVICES=y 520 + # CONFIG_DUMMY is not set 521 + # CONFIG_BONDING is not set 522 + # CONFIG_MACVLAN is not set 523 + # CONFIG_EQUALIZER is not set 524 + # CONFIG_TUN is not set 525 + # CONFIG_VETH is not set 526 + # CONFIG_ARCNET is not set 527 + # CONFIG_PHYLIB is not set 528 + CONFIG_NET_ETHERNET=y 529 + CONFIG_MII=y 530 + # CONFIG_HAPPYMEAL is not set 531 + # CONFIG_SUNGEM is not set 532 + # CONFIG_CASSINI is not set 533 + # CONFIG_NET_VENDOR_3COM is not set 534 + # CONFIG_NET_TULIP is not set 535 + # CONFIG_HP100 is not set 536 + # CONFIG_IBM_NEW_EMAC is not set 537 + # CONFIG_IBM_NEW_EMAC_ZMII is not set 538 + # CONFIG_IBM_NEW_EMAC_RGMII is not set 539 + # CONFIG_IBM_NEW_EMAC_TAH is not set 540 + # CONFIG_IBM_NEW_EMAC_EMAC4 is not set 541 + # CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set 542 + # CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set 543 + # CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set 544 + # CONFIG_NET_PCI is not set 545 + # CONFIG_B44 is not set 546 + # CONFIG_ATL2 is not set 547 + CONFIG_NETDEV_1000=y 548 + # CONFIG_ACENIC is not set 549 + # CONFIG_DL2K is not set 550 + # CONFIG_E1000 is not set 551 + # CONFIG_E1000E is not set 552 + # CONFIG_IP1000 is not set 553 + # CONFIG_IGB is not set 554 + # CONFIG_NS83820 is not set 555 + # CONFIG_HAMACHI is not set 556 + # CONFIG_YELLOWFIN is not set 557 + # CONFIG_R8169 is not set 558 + # CONFIG_SIS190 is not set 559 + # CONFIG_SKGE is not set 560 + # CONFIG_SKY2 is not set 561 + # CONFIG_VIA_VELOCITY is not set 562 + # CONFIG_TIGON3 is not set 563 + # CONFIG_BNX2 is not set 564 + # CONFIG_QLA3XXX is not set 565 + # CONFIG_ATL1 is not set 566 + # CONFIG_ATL1E is not set 567 + # CONFIG_JME is not set 568 + # CONFIG_NETDEV_10000 is not set 569 + # CONFIG_TR is not set 570 + 571 + # 572 + # Wireless LAN 573 + # 574 + # CONFIG_WLAN_PRE80211 is not set 575 + # CONFIG_WLAN_80211 is not set 576 + # CONFIG_IWLWIFI_LEDS is not set 577 + # CONFIG_WAN is not set 578 + # CONFIG_FDDI is not set 579 + # CONFIG_HIPPI is not set 580 + # CONFIG_PPP is not set 581 + # CONFIG_SLIP is not set 582 + # CONFIG_NETCONSOLE is not set 583 + # CONFIG_NETPOLL is not set 584 + # CONFIG_NET_POLL_CONTROLLER is not set 585 + # CONFIG_ISDN is not set 586 + # CONFIG_PHONE is not set 587 + 588 + # 589 + # Input device support 590 + # 591 + CONFIG_INPUT=y 592 + # CONFIG_INPUT_FF_MEMLESS is not set 593 + # CONFIG_INPUT_POLLDEV is not set 594 + 595 + # 596 + # Userland interfaces 597 + # 598 + CONFIG_INPUT_MOUSEDEV=y 599 + CONFIG_INPUT_MOUSEDEV_PSAUX=y 600 + CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024 601 + CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 602 + # CONFIG_INPUT_JOYDEV is not set 603 + # CONFIG_INPUT_EVDEV is not set 604 + # CONFIG_INPUT_EVBUG is not set 605 + 606 + # 607 + # Input Device Drivers 608 + # 609 + CONFIG_INPUT_KEYBOARD=y 610 + CONFIG_KEYBOARD_ATKBD=y 611 + # CONFIG_KEYBOARD_SUNKBD is not set 612 + # CONFIG_KEYBOARD_LKKBD is not set 613 + # CONFIG_KEYBOARD_XTKBD is not set 614 + # CONFIG_KEYBOARD_NEWTON is not set 615 + # CONFIG_KEYBOARD_STOWAWAY is not set 616 + # CONFIG_KEYBOARD_GPIO is not set 617 + CONFIG_INPUT_MOUSE=y 618 + CONFIG_MOUSE_PS2=y 619 + CONFIG_MOUSE_PS2_ALPS=y 620 + CONFIG_MOUSE_PS2_LOGIPS2PP=y 621 + CONFIG_MOUSE_PS2_SYNAPTICS=y 622 + CONFIG_MOUSE_PS2_LIFEBOOK=y 623 + CONFIG_MOUSE_PS2_TRACKPOINT=y 624 + # CONFIG_MOUSE_PS2_ELANTECH is not set 625 + # CONFIG_MOUSE_PS2_TOUCHKIT is not set 626 + # CONFIG_MOUSE_SERIAL is not set 627 + # CONFIG_MOUSE_VSXXXAA is not set 628 + # CONFIG_MOUSE_GPIO is not set 629 + # CONFIG_INPUT_JOYSTICK is not set 630 + # CONFIG_INPUT_TABLET is not set 631 + # CONFIG_INPUT_TOUCHSCREEN is not set 632 + # CONFIG_INPUT_MISC is not set 633 + 634 + # 635 + # Hardware I/O ports 636 + # 637 + CONFIG_SERIO=y 638 + # CONFIG_SERIO_I8042 is not set 639 + # CONFIG_SERIO_SERPORT is not set 640 + # CONFIG_SERIO_PCIPS2 is not set 641 + CONFIG_SERIO_LIBPS2=y 642 + # CONFIG_SERIO_RAW is not set 643 + CONFIG_SERIO_XILINX_XPS_PS2=y 644 + # CONFIG_GAMEPORT is not set 645 + 646 + # 647 + # Character devices 648 + # 649 + CONFIG_VT=y 650 + CONFIG_CONSOLE_TRANSLATIONS=y 651 + CONFIG_VT_CONSOLE=y 652 + CONFIG_HW_CONSOLE=y 653 + # CONFIG_VT_HW_CONSOLE_BINDING is not set 654 + CONFIG_DEVKMEM=y 655 + # CONFIG_SERIAL_NONSTANDARD is not set 656 + # CONFIG_NOZOMI is not set 657 + 658 + # 659 + # Serial drivers 660 + # 661 + CONFIG_SERIAL_8250=y 662 + CONFIG_SERIAL_8250_CONSOLE=y 663 + CONFIG_SERIAL_8250_PCI=y 664 + CONFIG_SERIAL_8250_NR_UARTS=4 665 + CONFIG_SERIAL_8250_RUNTIME_UARTS=4 666 + # CONFIG_SERIAL_8250_EXTENDED is not set 667 + 668 + # 669 + # Non-8250 serial port support 670 + # 671 + CONFIG_SERIAL_UARTLITE=y 672 + CONFIG_SERIAL_UARTLITE_CONSOLE=y 673 + CONFIG_SERIAL_CORE=y 674 + CONFIG_SERIAL_CORE_CONSOLE=y 675 + # CONFIG_SERIAL_JSM is not set 676 + # CONFIG_SERIAL_OF_PLATFORM is not set 677 + CONFIG_UNIX98_PTYS=y 678 + CONFIG_LEGACY_PTYS=y 679 + CONFIG_LEGACY_PTY_COUNT=256 680 + # CONFIG_IPMI_HANDLER is not set 681 + CONFIG_HW_RANDOM=m 682 + # CONFIG_NVRAM is not set 683 + # CONFIG_GEN_RTC is not set 684 + CONFIG_XILINX_HWICAP=y 685 + # CONFIG_R3964 is not set 686 + # CONFIG_APPLICOM is not set 687 + # CONFIG_RAW_DRIVER is not set 688 + # CONFIG_TCG_TPM is not set 689 + CONFIG_DEVPORT=y 690 + # CONFIG_I2C is not set 691 + # CONFIG_SPI is not set 692 + CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y 693 + CONFIG_GPIOLIB=y 694 + # CONFIG_DEBUG_GPIO is not set 695 + CONFIG_GPIO_SYSFS=y 696 + 697 + # 698 + # Memory mapped GPIO expanders: 699 + # 700 + CONFIG_GPIO_XILINX=y 701 + 702 + # 703 + # I2C GPIO expanders: 704 + # 705 + 706 + # 707 + # PCI GPIO expanders: 708 + # 709 + # CONFIG_GPIO_BT8XX is not set 710 + 711 + # 712 + # SPI GPIO expanders: 713 + # 714 + # CONFIG_W1 is not set 715 + # CONFIG_POWER_SUPPLY is not set 716 + # CONFIG_HWMON is not set 717 + # CONFIG_THERMAL is not set 718 + # CONFIG_THERMAL_HWMON is not set 719 + # CONFIG_WATCHDOG is not set 720 + CONFIG_SSB_POSSIBLE=y 721 + 722 + # 723 + # Sonics Silicon Backplane 724 + # 725 + # CONFIG_SSB is not set 726 + 727 + # 728 + # Multifunction device drivers 729 + # 730 + # CONFIG_MFD_CORE is not set 731 + # CONFIG_MFD_SM501 is not set 732 + # CONFIG_HTC_PASIC3 is not set 733 + # CONFIG_MFD_TMIO is not set 734 + # CONFIG_REGULATOR is not set 735 + 736 + # 737 + # Multimedia devices 738 + # 739 + 740 + # 741 + # Multimedia core support 742 + # 743 + # CONFIG_VIDEO_DEV is not set 744 + # CONFIG_DVB_CORE is not set 745 + # CONFIG_VIDEO_MEDIA is not set 746 + 747 + # 748 + # Multimedia drivers 749 + # 750 + # CONFIG_DAB is not set 751 + 752 + # 753 + # Graphics support 754 + # 755 + # CONFIG_AGP is not set 756 + # CONFIG_DRM is not set 757 + # CONFIG_VGASTATE is not set 758 + # CONFIG_VIDEO_OUTPUT_CONTROL is not set 759 + CONFIG_FB=y 760 + # CONFIG_FIRMWARE_EDID is not set 761 + # CONFIG_FB_DDC is not set 762 + # CONFIG_FB_BOOT_VESA_SUPPORT is not set 763 + CONFIG_FB_CFB_FILLRECT=y 764 + CONFIG_FB_CFB_COPYAREA=y 765 + CONFIG_FB_CFB_IMAGEBLIT=y 766 + # CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set 767 + # CONFIG_FB_SYS_FILLRECT is not set 768 + # CONFIG_FB_SYS_COPYAREA is not set 769 + # CONFIG_FB_SYS_IMAGEBLIT is not set 770 + # CONFIG_FB_FOREIGN_ENDIAN is not set 771 + # CONFIG_FB_SYS_FOPS is not set 772 + # CONFIG_FB_SVGALIB is not set 773 + # CONFIG_FB_MACMODES is not set 774 + # CONFIG_FB_BACKLIGHT is not set 775 + # CONFIG_FB_MODE_HELPERS is not set 776 + # CONFIG_FB_TILEBLITTING is not set 777 + 778 + # 779 + # Frame buffer hardware drivers 780 + # 781 + # CONFIG_FB_CIRRUS is not set 782 + # CONFIG_FB_PM2 is not set 783 + # CONFIG_FB_CYBER2000 is not set 784 + # CONFIG_FB_OF is not set 785 + # CONFIG_FB_CT65550 is not set 786 + # CONFIG_FB_ASILIANT is not set 787 + # CONFIG_FB_IMSTT is not set 788 + # CONFIG_FB_VGA16 is not set 789 + # CONFIG_FB_S1D13XXX is not set 790 + # CONFIG_FB_NVIDIA is not set 791 + # CONFIG_FB_RIVA is not set 792 + # CONFIG_FB_MATROX is not set 793 + # CONFIG_FB_RADEON is not set 794 + # CONFIG_FB_ATY128 is not set 795 + # CONFIG_FB_ATY is not set 796 + # CONFIG_FB_S3 is not set 797 + # CONFIG_FB_SAVAGE is not set 798 + # CONFIG_FB_SIS is not set 799 + # CONFIG_FB_VIA is not set 800 + # CONFIG_FB_NEOMAGIC is not set 801 + # CONFIG_FB_KYRO is not set 802 + # CONFIG_FB_3DFX is not set 803 + # CONFIG_FB_VOODOO1 is not set 804 + # CONFIG_FB_VT8623 is not set 805 + # CONFIG_FB_TRIDENT is not set 806 + # CONFIG_FB_ARK is not set 807 + # CONFIG_FB_PM3 is not set 808 + # CONFIG_FB_CARMINE is not set 809 + # CONFIG_FB_IBM_GXT4500 is not set 810 + CONFIG_FB_XILINX=y 811 + # CONFIG_FB_VIRTUAL is not set 812 + # CONFIG_FB_METRONOME is not set 813 + # CONFIG_FB_MB862XX is not set 814 + # CONFIG_BACKLIGHT_LCD_SUPPORT is not set 815 + 816 + # 817 + # Display device support 818 + # 819 + # CONFIG_DISPLAY_SUPPORT is not set 820 + 821 + # 822 + # Console display driver support 823 + # 824 + CONFIG_DUMMY_CONSOLE=y 825 + CONFIG_FRAMEBUFFER_CONSOLE=y 826 + # CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY is not set 827 + # CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set 828 + CONFIG_FONTS=y 829 + CONFIG_FONT_8x8=y 830 + CONFIG_FONT_8x16=y 831 + # CONFIG_FONT_6x11 is not set 832 + # CONFIG_FONT_7x14 is not set 833 + # CONFIG_FONT_PEARL_8x8 is not set 834 + # CONFIG_FONT_ACORN_8x8 is not set 835 + # CONFIG_FONT_MINI_4x6 is not set 836 + # CONFIG_FONT_SUN8x16 is not set 837 + # CONFIG_FONT_SUN12x22 is not set 838 + # CONFIG_FONT_10x18 is not set 839 + CONFIG_LOGO=y 840 + CONFIG_LOGO_LINUX_MONO=y 841 + CONFIG_LOGO_LINUX_VGA16=y 842 + CONFIG_LOGO_LINUX_CLUT224=y 843 + # CONFIG_SOUND is not set 844 + # CONFIG_HID_SUPPORT is not set 845 + # CONFIG_USB_SUPPORT is not set 846 + # CONFIG_UWB is not set 847 + # CONFIG_MMC is not set 848 + # CONFIG_MEMSTICK is not set 849 + # CONFIG_NEW_LEDS is not set 850 + # CONFIG_ACCESSIBILITY is not set 851 + # CONFIG_INFINIBAND is not set 852 + # CONFIG_EDAC is not set 853 + # CONFIG_RTC_CLASS is not set 854 + # CONFIG_DMADEVICES is not set 855 + # CONFIG_UIO is not set 856 + # CONFIG_STAGING is not set 857 + CONFIG_STAGING_EXCLUDE_BUILD=y 858 + 859 + # 860 + # File systems 861 + # 862 + CONFIG_EXT2_FS=y 863 + # CONFIG_EXT2_FS_XATTR is not set 864 + # CONFIG_EXT2_FS_XIP is not set 865 + # CONFIG_EXT3_FS is not set 866 + # CONFIG_EXT4_FS is not set 867 + # CONFIG_REISERFS_FS is not set 868 + # CONFIG_JFS_FS is not set 869 + # CONFIG_FS_POSIX_ACL is not set 870 + CONFIG_FILE_LOCKING=y 871 + # CONFIG_XFS_FS is not set 872 + # CONFIG_OCFS2_FS is not set 873 + CONFIG_DNOTIFY=y 874 + CONFIG_INOTIFY=y 875 + CONFIG_INOTIFY_USER=y 876 + # CONFIG_QUOTA is not set 877 + CONFIG_AUTOFS_FS=y 878 + CONFIG_AUTOFS4_FS=y 879 + # CONFIG_FUSE_FS is not set 880 + 881 + # 882 + # CD-ROM/DVD Filesystems 883 + # 884 + # CONFIG_ISO9660_FS is not set 885 + # CONFIG_UDF_FS is not set 886 + 887 + # 888 + # DOS/FAT/NT Filesystems 889 + # 890 + CONFIG_FAT_FS=y 891 + CONFIG_MSDOS_FS=y 892 + CONFIG_VFAT_FS=y 893 + CONFIG_FAT_DEFAULT_CODEPAGE=437 894 + CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1" 895 + # CONFIG_NTFS_FS is not set 896 + 897 + # 898 + # Pseudo filesystems 899 + # 900 + CONFIG_PROC_FS=y 901 + # CONFIG_PROC_KCORE is not set 902 + CONFIG_PROC_SYSCTL=y 903 + CONFIG_PROC_PAGE_MONITOR=y 904 + CONFIG_SYSFS=y 905 + CONFIG_TMPFS=y 906 + # CONFIG_TMPFS_POSIX_ACL is not set 907 + # CONFIG_HUGETLB_PAGE is not set 908 + # CONFIG_CONFIGFS_FS is not set 909 + 910 + # 911 + # Miscellaneous filesystems 912 + # 913 + # CONFIG_ADFS_FS is not set 914 + # CONFIG_AFFS_FS is not set 915 + # CONFIG_HFS_FS is not set 916 + # CONFIG_HFSPLUS_FS is not set 917 + # CONFIG_BEFS_FS is not set 918 + # CONFIG_BFS_FS is not set 919 + # CONFIG_EFS_FS is not set 920 + CONFIG_CRAMFS=y 921 + # CONFIG_VXFS_FS is not set 922 + # CONFIG_MINIX_FS is not set 923 + # CONFIG_OMFS_FS is not set 924 + # CONFIG_HPFS_FS is not set 925 + # CONFIG_QNX4FS_FS is not set 926 + CONFIG_ROMFS_FS=y 927 + # CONFIG_SYSV_FS is not set 928 + # CONFIG_UFS_FS is not set 929 + CONFIG_NETWORK_FILESYSTEMS=y 930 + CONFIG_NFS_FS=y 931 + CONFIG_NFS_V3=y 932 + # CONFIG_NFS_V3_ACL is not set 933 + # CONFIG_NFS_V4 is not set 934 + CONFIG_ROOT_NFS=y 935 + # CONFIG_NFSD is not set 936 + CONFIG_LOCKD=y 937 + CONFIG_LOCKD_V4=y 938 + CONFIG_NFS_COMMON=y 939 + CONFIG_SUNRPC=y 940 + # CONFIG_SUNRPC_REGISTER_V4 is not set 941 + # CONFIG_RPCSEC_GSS_KRB5 is not set 942 + # CONFIG_RPCSEC_GSS_SPKM3 is not set 943 + # CONFIG_SMB_FS is not set 944 + # CONFIG_CIFS is not set 945 + # CONFIG_NCP_FS is not set 946 + # CONFIG_CODA_FS is not set 947 + # CONFIG_AFS_FS is not set 948 + 949 + # 950 + # Partition Types 951 + # 952 + # CONFIG_PARTITION_ADVANCED is not set 953 + CONFIG_MSDOS_PARTITION=y 954 + CONFIG_NLS=y 955 + CONFIG_NLS_DEFAULT="iso8859-1" 956 + CONFIG_NLS_CODEPAGE_437=y 957 + # CONFIG_NLS_CODEPAGE_737 is not set 958 + # CONFIG_NLS_CODEPAGE_775 is not set 959 + # CONFIG_NLS_CODEPAGE_850 is not set 960 + # CONFIG_NLS_CODEPAGE_852 is not set 961 + # CONFIG_NLS_CODEPAGE_855 is not set 962 + # CONFIG_NLS_CODEPAGE_857 is not set 963 + # CONFIG_NLS_CODEPAGE_860 is not set 964 + # CONFIG_NLS_CODEPAGE_861 is not set 965 + # CONFIG_NLS_CODEPAGE_862 is not set 966 + # CONFIG_NLS_CODEPAGE_863 is not set 967 + # CONFIG_NLS_CODEPAGE_864 is not set 968 + # CONFIG_NLS_CODEPAGE_865 is not set 969 + # CONFIG_NLS_CODEPAGE_866 is not set 970 + # CONFIG_NLS_CODEPAGE_869 is not set 971 + # CONFIG_NLS_CODEPAGE_936 is not set 972 + # CONFIG_NLS_CODEPAGE_950 is not set 973 + # CONFIG_NLS_CODEPAGE_932 is not set 974 + # CONFIG_NLS_CODEPAGE_949 is not set 975 + # CONFIG_NLS_CODEPAGE_874 is not set 976 + # CONFIG_NLS_ISO8859_8 is not set 977 + # CONFIG_NLS_CODEPAGE_1250 is not set 978 + # CONFIG_NLS_CODEPAGE_1251 is not set 979 + CONFIG_NLS_ASCII=m 980 + CONFIG_NLS_ISO8859_1=m 981 + # CONFIG_NLS_ISO8859_2 is not set 982 + # CONFIG_NLS_ISO8859_3 is not set 983 + # CONFIG_NLS_ISO8859_4 is not set 984 + # CONFIG_NLS_ISO8859_5 is not set 985 + # CONFIG_NLS_ISO8859_6 is not set 986 + # CONFIG_NLS_ISO8859_7 is not set 987 + # CONFIG_NLS_ISO8859_9 is not set 988 + # CONFIG_NLS_ISO8859_13 is not set 989 + # CONFIG_NLS_ISO8859_14 is not set 990 + # CONFIG_NLS_ISO8859_15 is not set 991 + # CONFIG_NLS_KOI8_R is not set 992 + # CONFIG_NLS_KOI8_U is not set 993 + CONFIG_NLS_UTF8=m 994 + # CONFIG_DLM is not set 995 + 996 + # 997 + # Library routines 998 + # 999 + CONFIG_BITREVERSE=y 1000 + CONFIG_CRC_CCITT=y 1001 + # CONFIG_CRC16 is not set 1002 + # CONFIG_CRC_T10DIF is not set 1003 + # CONFIG_CRC_ITU_T is not set 1004 + CONFIG_CRC32=y 1005 + # CONFIG_CRC7 is not set 1006 + # CONFIG_LIBCRC32C is not set 1007 + CONFIG_ZLIB_INFLATE=y 1008 + CONFIG_PLIST=y 1009 + CONFIG_HAS_IOMEM=y 1010 + CONFIG_HAS_IOPORT=y 1011 + CONFIG_HAS_DMA=y 1012 + CONFIG_HAVE_LMB=y 1013 + 1014 + # 1015 + # Kernel hacking 1016 + # 1017 + CONFIG_PRINTK_TIME=y 1018 + CONFIG_ENABLE_WARN_DEPRECATED=y 1019 + CONFIG_ENABLE_MUST_CHECK=y 1020 + CONFIG_FRAME_WARN=1024 1021 + # CONFIG_MAGIC_SYSRQ is not set 1022 + # CONFIG_UNUSED_SYMBOLS is not set 1023 + # CONFIG_DEBUG_FS is not set 1024 + # CONFIG_HEADERS_CHECK is not set 1025 + CONFIG_DEBUG_KERNEL=y 1026 + # CONFIG_DEBUG_SHIRQ is not set 1027 + CONFIG_DETECT_SOFTLOCKUP=y 1028 + # CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set 1029 + CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0 1030 + CONFIG_SCHED_DEBUG=y 1031 + # CONFIG_SCHEDSTATS is not set 1032 + # CONFIG_TIMER_STATS is not set 1033 + # CONFIG_DEBUG_OBJECTS is not set 1034 + # CONFIG_DEBUG_SLAB is not set 1035 + # CONFIG_DEBUG_RT_MUTEXES is not set 1036 + # CONFIG_RT_MUTEX_TESTER is not set 1037 + # CONFIG_DEBUG_SPINLOCK is not set 1038 + # CONFIG_DEBUG_MUTEXES is not set 1039 + # CONFIG_DEBUG_SPINLOCK_SLEEP is not set 1040 + # CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set 1041 + # CONFIG_DEBUG_KOBJECT is not set 1042 + CONFIG_DEBUG_BUGVERBOSE=y 1043 + CONFIG_DEBUG_INFO=y 1044 + # CONFIG_DEBUG_VM is not set 1045 + # CONFIG_DEBUG_WRITECOUNT is not set 1046 + CONFIG_DEBUG_MEMORY_INIT=y 1047 + # CONFIG_DEBUG_LIST is not set 1048 + # CONFIG_DEBUG_SG is not set 1049 + # CONFIG_BOOT_PRINTK_DELAY is not set 1050 + # CONFIG_RCU_TORTURE_TEST is not set 1051 + # CONFIG_RCU_CPU_STALL_DETECTOR is not set 1052 + # CONFIG_BACKTRACE_SELF_TEST is not set 1053 + # CONFIG_DEBUG_BLOCK_EXT_DEVT is not set 1054 + # CONFIG_FAULT_INJECTION is not set 1055 + # CONFIG_LATENCYTOP is not set 1056 + CONFIG_SYSCTL_SYSCALL_CHECK=y 1057 + CONFIG_HAVE_FUNCTION_TRACER=y 1058 + 1059 + # 1060 + # Tracers 1061 + # 1062 + # CONFIG_FUNCTION_TRACER is not set 1063 + # CONFIG_PREEMPT_TRACER is not set 1064 + # CONFIG_SCHED_TRACER is not set 1065 + # CONFIG_CONTEXT_SWITCH_TRACER is not set 1066 + # CONFIG_BOOT_TRACER is not set 1067 + # CONFIG_STACK_TRACER is not set 1068 + # CONFIG_DYNAMIC_PRINTK_DEBUG is not set 1069 + # CONFIG_SAMPLES is not set 1070 + CONFIG_HAVE_ARCH_KGDB=y 1071 + # CONFIG_KGDB is not set 1072 + # CONFIG_DEBUG_STACKOVERFLOW is not set 1073 + # CONFIG_DEBUG_STACK_USAGE is not set 1074 + # CONFIG_DEBUG_PAGEALLOC is not set 1075 + # CONFIG_CODE_PATCHING_SELFTEST is not set 1076 + # CONFIG_FTR_FIXUP_SELFTEST is not set 1077 + # CONFIG_MSI_BITMAP_SELFTEST is not set 1078 + # CONFIG_XMON is not set 1079 + # CONFIG_IRQSTACKS is not set 1080 + # CONFIG_BDI_SWITCH is not set 1081 + # CONFIG_PPC_EARLY_DEBUG is not set 1082 + 1083 + # 1084 + # Security options 1085 + # 1086 + # CONFIG_KEYS is not set 1087 + # CONFIG_SECURITY is not set 1088 + # CONFIG_SECURITYFS is not set 1089 + # CONFIG_SECURITY_FILE_CAPABILITIES is not set 1090 + CONFIG_CRYPTO=y 1091 + 1092 + # 1093 + # Crypto core or helper 1094 + # 1095 + # CONFIG_CRYPTO_FIPS is not set 1096 + # CONFIG_CRYPTO_MANAGER is not set 1097 + # CONFIG_CRYPTO_GF128MUL is not set 1098 + # CONFIG_CRYPTO_NULL is not set 1099 + # CONFIG_CRYPTO_CRYPTD is not set 1100 + # CONFIG_CRYPTO_AUTHENC is not set 1101 + # CONFIG_CRYPTO_TEST is not set 1102 + 1103 + # 1104 + # Authenticated Encryption with Associated Data 1105 + # 1106 + # CONFIG_CRYPTO_CCM is not set 1107 + # CONFIG_CRYPTO_GCM is not set 1108 + # CONFIG_CRYPTO_SEQIV is not set 1109 + 1110 + # 1111 + # Block modes 1112 + # 1113 + # CONFIG_CRYPTO_CBC is not set 1114 + # CONFIG_CRYPTO_CTR is not set 1115 + # CONFIG_CRYPTO_CTS is not set 1116 + # CONFIG_CRYPTO_ECB is not set 1117 + # CONFIG_CRYPTO_LRW is not set 1118 + # CONFIG_CRYPTO_PCBC is not set 1119 + # CONFIG_CRYPTO_XTS is not set 1120 + 1121 + # 1122 + # Hash modes 1123 + # 1124 + # CONFIG_CRYPTO_HMAC is not set 1125 + # CONFIG_CRYPTO_XCBC is not set 1126 + 1127 + # 1128 + # Digest 1129 + # 1130 + # CONFIG_CRYPTO_CRC32C is not set 1131 + # CONFIG_CRYPTO_MD4 is not set 1132 + # CONFIG_CRYPTO_MD5 is not set 1133 + # CONFIG_CRYPTO_MICHAEL_MIC is not set 1134 + # CONFIG_CRYPTO_RMD128 is not set 1135 + # CONFIG_CRYPTO_RMD160 is not set 1136 + # CONFIG_CRYPTO_RMD256 is not set 1137 + # CONFIG_CRYPTO_RMD320 is not set 1138 + # CONFIG_CRYPTO_SHA1 is not set 1139 + # CONFIG_CRYPTO_SHA256 is not set 1140 + # CONFIG_CRYPTO_SHA512 is not set 1141 + # CONFIG_CRYPTO_TGR192 is not set 1142 + # CONFIG_CRYPTO_WP512 is not set 1143 + 1144 + # 1145 + # Ciphers 1146 + # 1147 + # CONFIG_CRYPTO_AES is not set 1148 + # CONFIG_CRYPTO_ANUBIS is not set 1149 + # CONFIG_CRYPTO_ARC4 is not set 1150 + # CONFIG_CRYPTO_BLOWFISH is not set 1151 + # CONFIG_CRYPTO_CAMELLIA is not set 1152 + # CONFIG_CRYPTO_CAST5 is not set 1153 + # CONFIG_CRYPTO_CAST6 is not set 1154 + # CONFIG_CRYPTO_DES is not set 1155 + # CONFIG_CRYPTO_FCRYPT is not set 1156 + # CONFIG_CRYPTO_KHAZAD is not set 1157 + # CONFIG_CRYPTO_SALSA20 is not set 1158 + # CONFIG_CRYPTO_SEED is not set 1159 + # CONFIG_CRYPTO_SERPENT is not set 1160 + # CONFIG_CRYPTO_TEA is not set 1161 + # CONFIG_CRYPTO_TWOFISH is not set 1162 + 1163 + # 1164 + # Compression 1165 + # 1166 + # CONFIG_CRYPTO_DEFLATE is not set 1167 + # CONFIG_CRYPTO_LZO is not set 1168 + 1169 + # 1170 + # Random Number Generation 1171 + # 1172 + # CONFIG_CRYPTO_ANSI_CPRNG is not set 1173 + CONFIG_CRYPTO_HW=y 1174 + # CONFIG_CRYPTO_DEV_HIFN_795X is not set 1175 + # CONFIG_PPC_CLOCK is not set 1176 + # CONFIG_VIRTUALIZATION is not set
+142 -114
arch/powerpc/configs/44x/virtex5_defconfig
··· 1 1 # 2 2 # Automatically generated make config: don't edit 3 - # Linux kernel version: 2.6.27-rc1 4 - # Tue Aug 5 09:20:16 2008 3 + # Linux kernel version: 2.6.28-rc4 4 + # Fri Nov 14 10:31:16 2008 5 5 # 6 6 # CONFIG_PPC64 is not set 7 7 ··· 22 22 CONFIG_NOT_COHERENT_CACHE=y 23 23 CONFIG_PPC32=y 24 24 CONFIG_WORD_SIZE=32 25 - CONFIG_PPC_MERGE=y 25 + CONFIG_ARCH_PHYS_ADDR_T_64BIT=y 26 26 CONFIG_MMU=y 27 27 CONFIG_GENERIC_CMOS_UPDATE=y 28 28 CONFIG_GENERIC_TIME=y 29 29 CONFIG_GENERIC_TIME_VSYSCALL=y 30 30 CONFIG_GENERIC_CLOCKEVENTS=y 31 31 CONFIG_GENERIC_HARDIRQS=y 32 - # CONFIG_HAVE_GET_USER_PAGES_FAST is not set 33 32 # CONFIG_HAVE_SETUP_PER_CPU_AREA is not set 34 33 CONFIG_IRQ_PER_CPU=y 35 34 CONFIG_STACKTRACE_SUPPORT=y ··· 39 40 CONFIG_GENERIC_HWEIGHT=y 40 41 CONFIG_GENERIC_CALIBRATE_DELAY=y 41 42 CONFIG_GENERIC_FIND_NEXT_BIT=y 43 + CONFIG_GENERIC_GPIO=y 42 44 # CONFIG_ARCH_NO_VIRT_TO_BUS is not set 43 45 CONFIG_PPC=y 44 46 CONFIG_EARLY_PRINTK=y ··· 93 93 CONFIG_SYSCTL=y 94 94 # CONFIG_EMBEDDED is not set 95 95 CONFIG_SYSCTL_SYSCALL=y 96 - CONFIG_SYSCTL_SYSCALL_CHECK=y 97 96 CONFIG_KALLSYMS=y 97 + # CONFIG_KALLSYMS_ALL is not set 98 98 # CONFIG_KALLSYMS_EXTRA_PASS is not set 99 99 CONFIG_HOTPLUG=y 100 100 CONFIG_PRINTK=y ··· 109 109 CONFIG_TIMERFD=y 110 110 CONFIG_EVENTFD=y 111 111 CONFIG_SHMEM=y 112 + CONFIG_AIO=y 112 113 CONFIG_VM_EVENT_COUNTERS=y 114 + CONFIG_PCI_QUIRKS=y 113 115 CONFIG_SLAB=y 114 116 # CONFIG_SLUB is not set 115 117 # CONFIG_SLOB is not set ··· 124 122 CONFIG_HAVE_KPROBES=y 125 123 CONFIG_HAVE_KRETPROBES=y 126 124 CONFIG_HAVE_ARCH_TRACEHOOK=y 127 - # CONFIG_HAVE_DMA_ATTRS is not set 128 - # CONFIG_USE_GENERIC_SMP_HELPERS is not set 129 - # CONFIG_HAVE_CLK is not set 130 - CONFIG_PROC_PAGE_MONITOR=y 131 125 # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set 132 126 CONFIG_SLABINFO=y 133 127 CONFIG_RT_MUTEXES=y ··· 156 158 # CONFIG_DEFAULT_NOOP is not set 157 159 CONFIG_DEFAULT_IOSCHED="cfq" 158 160 CONFIG_CLASSIC_RCU=y 161 + # CONFIG_FREEZER is not set 159 162 # CONFIG_PPC4xx_PCI_EXPRESS is not set 160 163 161 164 # ··· 173 174 # CONFIG_KATMAI is not set 174 175 # CONFIG_RAINIER is not set 175 176 # CONFIG_WARP is not set 177 + # CONFIG_ARCHES is not set 176 178 # CONFIG_CANYONLANDS is not set 179 + # CONFIG_GLACIER is not set 177 180 # CONFIG_YOSEMITE is not set 178 181 CONFIG_XILINX_VIRTEX440_GENERIC_BOARD=y 182 + # CONFIG_PPC44x_SIMPLE is not set 183 + # CONFIG_PPC4xx_GPIO is not set 179 184 CONFIG_XILINX_VIRTEX=y 180 185 CONFIG_XILINX_VIRTEX_5_FXT=y 181 186 # CONFIG_IPIC is not set ··· 199 196 # Kernel options 200 197 # 201 198 # CONFIG_HIGHMEM is not set 202 - # CONFIG_TICK_ONESHOT is not set 203 199 # CONFIG_NO_HZ is not set 204 200 # CONFIG_HIGH_RES_TIMERS is not set 205 201 CONFIG_GENERIC_CLOCKEVENTS_BUILD=y ··· 213 211 CONFIG_PREEMPT=y 214 212 # CONFIG_PREEMPT_RCU is not set 215 213 CONFIG_BINFMT_ELF=y 214 + # CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set 215 + # CONFIG_HAVE_AOUT is not set 216 216 # CONFIG_BINFMT_MISC is not set 217 217 CONFIG_MATH_EMULATION=y 218 218 # CONFIG_IOMMU_HELPER is not set ··· 229 225 # CONFIG_SPARSEMEM_MANUAL is not set 230 226 CONFIG_FLATMEM=y 231 227 CONFIG_FLAT_NODE_MEM_MAP=y 232 - # CONFIG_SPARSEMEM_STATIC is not set 233 - # CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set 234 228 CONFIG_PAGEFLAGS_EXTENDED=y 235 229 CONFIG_SPLIT_PTLOCK_CPUS=4 236 230 CONFIG_MIGRATION=y 237 231 CONFIG_RESOURCES_64BIT=y 232 + CONFIG_PHYS_ADDR_T_64BIT=y 238 233 CONFIG_ZONE_DMA_FLAG=1 239 234 CONFIG_BOUNCE=y 240 235 CONFIG_VIRT_TO_BUS=y 236 + CONFIG_UNEVICTABLE_LRU=y 241 237 CONFIG_FORCE_MAX_ZONEORDER=11 242 238 CONFIG_PROC_DEVICETREE=y 243 239 CONFIG_CMDLINE_BOOL=y ··· 260 256 CONFIG_ARCH_SUPPORTS_MSI=y 261 257 # CONFIG_PCI_MSI is not set 262 258 CONFIG_PCI_LEGACY=y 259 + # CONFIG_PCI_DEBUG is not set 263 260 # CONFIG_PCCARD is not set 264 261 # CONFIG_HOTPLUG_PCI is not set 265 262 # CONFIG_HAS_RAPIDIO is not set ··· 322 317 CONFIG_TCP_CONG_CUBIC=y 323 318 CONFIG_DEFAULT_TCP_CONG="cubic" 324 319 # CONFIG_TCP_MD5SIG is not set 325 - # CONFIG_IP_VS is not set 326 320 CONFIG_IPV6=m 327 321 # CONFIG_IPV6_PRIVACY is not set 328 322 # CONFIG_IPV6_ROUTER_PREF is not set ··· 356 352 # CONFIG_NETFILTER_XT_TARGET_CLASSIFY is not set 357 353 # CONFIG_NETFILTER_XT_TARGET_DSCP is not set 358 354 # CONFIG_NETFILTER_XT_TARGET_MARK is not set 359 - # CONFIG_NETFILTER_XT_TARGET_NFQUEUE is not set 360 355 # CONFIG_NETFILTER_XT_TARGET_NFLOG is not set 356 + # CONFIG_NETFILTER_XT_TARGET_NFQUEUE is not set 361 357 # CONFIG_NETFILTER_XT_TARGET_RATEEST is not set 362 358 # CONFIG_NETFILTER_XT_TARGET_TCPMSS is not set 363 359 # CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP is not set ··· 365 361 # CONFIG_NETFILTER_XT_MATCH_DCCP is not set 366 362 # CONFIG_NETFILTER_XT_MATCH_DSCP is not set 367 363 # CONFIG_NETFILTER_XT_MATCH_ESP is not set 364 + # CONFIG_NETFILTER_XT_MATCH_HASHLIMIT is not set 368 365 # CONFIG_NETFILTER_XT_MATCH_IPRANGE is not set 369 366 # CONFIG_NETFILTER_XT_MATCH_LENGTH is not set 370 367 # CONFIG_NETFILTER_XT_MATCH_LIMIT is not set 371 368 # CONFIG_NETFILTER_XT_MATCH_MAC is not set 372 369 # CONFIG_NETFILTER_XT_MATCH_MARK is not set 370 + # CONFIG_NETFILTER_XT_MATCH_MULTIPORT is not set 373 371 # CONFIG_NETFILTER_XT_MATCH_OWNER is not set 374 372 # CONFIG_NETFILTER_XT_MATCH_POLICY is not set 375 - # CONFIG_NETFILTER_XT_MATCH_MULTIPORT is not set 376 373 # CONFIG_NETFILTER_XT_MATCH_PKTTYPE is not set 377 374 # CONFIG_NETFILTER_XT_MATCH_QUOTA is not set 378 375 # CONFIG_NETFILTER_XT_MATCH_RATEEST is not set 379 376 # CONFIG_NETFILTER_XT_MATCH_REALM is not set 377 + # CONFIG_NETFILTER_XT_MATCH_RECENT is not set 380 378 # CONFIG_NETFILTER_XT_MATCH_SCTP is not set 381 379 # CONFIG_NETFILTER_XT_MATCH_STATISTIC is not set 382 380 # CONFIG_NETFILTER_XT_MATCH_STRING is not set 383 381 # CONFIG_NETFILTER_XT_MATCH_TCPMSS is not set 384 382 # CONFIG_NETFILTER_XT_MATCH_TIME is not set 385 383 # CONFIG_NETFILTER_XT_MATCH_U32 is not set 386 - # CONFIG_NETFILTER_XT_MATCH_HASHLIMIT is not set 384 + # CONFIG_IP_VS is not set 387 385 388 386 # 389 387 # IP: Netfilter Configuration 390 388 # 389 + # CONFIG_NF_DEFRAG_IPV4 is not set 391 390 # CONFIG_IP_NF_QUEUE is not set 392 391 CONFIG_IP_NF_IPTABLES=m 393 - # CONFIG_IP_NF_MATCH_RECENT is not set 394 - # CONFIG_IP_NF_MATCH_ECN is not set 395 - # CONFIG_IP_NF_MATCH_AH is not set 396 - # CONFIG_IP_NF_MATCH_TTL is not set 397 392 # CONFIG_IP_NF_MATCH_ADDRTYPE is not set 393 + # CONFIG_IP_NF_MATCH_AH is not set 394 + # CONFIG_IP_NF_MATCH_ECN is not set 395 + # CONFIG_IP_NF_MATCH_TTL is not set 398 396 CONFIG_IP_NF_FILTER=m 399 397 # CONFIG_IP_NF_TARGET_REJECT is not set 400 398 # CONFIG_IP_NF_TARGET_LOG is not set ··· 417 411 # CONFIG_TIPC is not set 418 412 # CONFIG_ATM is not set 419 413 # CONFIG_BRIDGE is not set 414 + # CONFIG_NET_DSA is not set 420 415 # CONFIG_VLAN_8021Q is not set 421 416 # CONFIG_DECNET is not set 422 417 # CONFIG_LLC2 is not set ··· 438 431 # CONFIG_IRDA is not set 439 432 # CONFIG_BT is not set 440 433 # CONFIG_AF_RXRPC is not set 441 - 442 - # 443 - # Wireless 444 - # 434 + # CONFIG_PHONET is not set 435 + CONFIG_WIRELESS=y 445 436 # CONFIG_CFG80211 is not set 437 + CONFIG_WIRELESS_OLD_REGULATORY=y 446 438 # CONFIG_WIRELESS_EXT is not set 447 439 # CONFIG_MAC80211 is not set 448 440 # CONFIG_IEEE80211 is not set ··· 461 455 CONFIG_FW_LOADER=y 462 456 CONFIG_FIRMWARE_IN_KERNEL=y 463 457 CONFIG_EXTRA_FIRMWARE="" 458 + # CONFIG_DEBUG_DRIVER is not set 459 + # CONFIG_DEBUG_DEVRES is not set 464 460 # CONFIG_SYS_HYPERVISOR is not set 465 461 # CONFIG_CONNECTOR is not set 466 462 # CONFIG_MTD is not set 467 463 CONFIG_OF_DEVICE=y 468 - CONFIG_OF_I2C=y 464 + CONFIG_OF_GPIO=y 469 465 # CONFIG_PARPORT is not set 470 466 CONFIG_BLK_DEV=y 471 467 # CONFIG_BLK_DEV_FD is not set ··· 486 478 # CONFIG_BLK_DEV_XIP is not set 487 479 # CONFIG_CDROM_PKTCDVD is not set 488 480 # CONFIG_ATA_OVER_ETH is not set 489 - # CONFIG_XILINX_SYSACE is not set 481 + CONFIG_XILINX_SYSACE=y 490 482 # CONFIG_BLK_DEV_HD is not set 491 483 CONFIG_MISC_DEVICES=y 492 484 # CONFIG_PHANTOM is not set ··· 495 487 # CONFIG_TIFM_CORE is not set 496 488 # CONFIG_ENCLOSURE_SERVICES is not set 497 489 # CONFIG_HP_ILO is not set 490 + # CONFIG_C2PORT is not set 498 491 CONFIG_HAVE_IDE=y 499 492 # CONFIG_IDE is not set 500 493 ··· 543 534 # CONFIG_IBM_NEW_EMAC_RGMII is not set 544 535 # CONFIG_IBM_NEW_EMAC_TAH is not set 545 536 # CONFIG_IBM_NEW_EMAC_EMAC4 is not set 537 + # CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set 538 + # CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set 539 + # CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set 546 540 # CONFIG_NET_PCI is not set 547 541 # CONFIG_B44 is not set 542 + # CONFIG_ATL2 is not set 548 543 CONFIG_NETDEV_1000=y 549 544 # CONFIG_ACENIC is not set 550 545 # CONFIG_DL2K is not set ··· 569 556 # CONFIG_QLA3XXX is not set 570 557 # CONFIG_ATL1 is not set 571 558 # CONFIG_ATL1E is not set 559 + # CONFIG_JME is not set 572 560 # CONFIG_NETDEV_10000 is not set 573 561 # CONFIG_TR is not set 574 562 ··· 618 604 # CONFIG_KEYBOARD_XTKBD is not set 619 605 # CONFIG_KEYBOARD_NEWTON is not set 620 606 # CONFIG_KEYBOARD_STOWAWAY is not set 607 + # CONFIG_KEYBOARD_GPIO is not set 621 608 CONFIG_INPUT_MOUSE=y 622 609 CONFIG_MOUSE_PS2=y 623 610 CONFIG_MOUSE_PS2_ALPS=y ··· 626 611 CONFIG_MOUSE_PS2_SYNAPTICS=y 627 612 CONFIG_MOUSE_PS2_LIFEBOOK=y 628 613 CONFIG_MOUSE_PS2_TRACKPOINT=y 614 + # CONFIG_MOUSE_PS2_ELANTECH is not set 629 615 # CONFIG_MOUSE_PS2_TOUCHKIT is not set 630 616 # CONFIG_MOUSE_SERIAL is not set 631 617 # CONFIG_MOUSE_VSXXXAA is not set 618 + # CONFIG_MOUSE_GPIO is not set 632 619 # CONFIG_INPUT_JOYSTICK is not set 633 620 # CONFIG_INPUT_TABLET is not set 634 621 # CONFIG_INPUT_TOUCHSCREEN is not set ··· 641 624 # 642 625 CONFIG_SERIO=y 643 626 # CONFIG_SERIO_I8042 is not set 644 - CONFIG_SERIO_SERPORT=y 627 + # CONFIG_SERIO_SERPORT is not set 645 628 # CONFIG_SERIO_PCIPS2 is not set 646 629 CONFIG_SERIO_LIBPS2=y 647 630 # CONFIG_SERIO_RAW is not set 648 - # CONFIG_SERIO_XILINX_XPS_PS2 is not set 631 + CONFIG_SERIO_XILINX_XPS_PS2=y 649 632 # CONFIG_GAMEPORT is not set 650 633 651 634 # ··· 673 656 # 674 657 # Non-8250 serial port support 675 658 # 676 - # CONFIG_SERIAL_UARTLITE is not set 659 + CONFIG_SERIAL_UARTLITE=y 660 + CONFIG_SERIAL_UARTLITE_CONSOLE=y 677 661 CONFIG_SERIAL_CORE=y 678 662 CONFIG_SERIAL_CORE_CONSOLE=y 679 663 # CONFIG_SERIAL_JSM is not set 680 - CONFIG_SERIAL_OF_PLATFORM=y 664 + # CONFIG_SERIAL_OF_PLATFORM is not set 681 665 CONFIG_UNIX98_PTYS=y 682 666 CONFIG_LEGACY_PTYS=y 683 667 CONFIG_LEGACY_PTY_COUNT=256 ··· 692 674 # CONFIG_RAW_DRIVER is not set 693 675 # CONFIG_TCG_TPM is not set 694 676 CONFIG_DEVPORT=y 695 - CONFIG_I2C=y 696 - CONFIG_I2C_BOARDINFO=y 697 - CONFIG_I2C_CHARDEV=y 698 - 699 - # 700 - # I2C Hardware Bus support 701 - # 702 - 703 - # 704 - # PC SMBus host controller drivers 705 - # 706 - # CONFIG_I2C_ALI1535 is not set 707 - # CONFIG_I2C_ALI1563 is not set 708 - # CONFIG_I2C_ALI15X3 is not set 709 - # CONFIG_I2C_AMD756 is not set 710 - # CONFIG_I2C_AMD8111 is not set 711 - # CONFIG_I2C_I801 is not set 712 - # CONFIG_I2C_ISCH is not set 713 - # CONFIG_I2C_PIIX4 is not set 714 - # CONFIG_I2C_NFORCE2 is not set 715 - # CONFIG_I2C_SIS5595 is not set 716 - # CONFIG_I2C_SIS630 is not set 717 - # CONFIG_I2C_SIS96X is not set 718 - # CONFIG_I2C_VIA is not set 719 - # CONFIG_I2C_VIAPRO is not set 720 - 721 - # 722 - # I2C system bus drivers (mostly embedded / system-on-chip) 723 - # 724 - # CONFIG_I2C_IBM_IIC is not set 725 - # CONFIG_I2C_MPC is not set 726 - # CONFIG_I2C_OCORES is not set 727 - # CONFIG_I2C_SIMTEC is not set 728 - 729 - # 730 - # External I2C/SMBus adapter drivers 731 - # 732 - # CONFIG_I2C_PARPORT_LIGHT is not set 733 - # CONFIG_I2C_TAOS_EVM is not set 734 - 735 - # 736 - # Graphics adapter I2C/DDC channel drivers 737 - # 738 - # CONFIG_I2C_VOODOO3 is not set 739 - 740 - # 741 - # Other I2C/SMBus bus drivers 742 - # 743 - # CONFIG_I2C_PCA_PLATFORM is not set 744 - # CONFIG_I2C_STUB is not set 745 - 746 - # 747 - # Miscellaneous I2C Chip support 748 - # 749 - # CONFIG_DS1682 is not set 750 - # CONFIG_AT24 is not set 751 - # CONFIG_SENSORS_EEPROM is not set 752 - # CONFIG_SENSORS_PCF8574 is not set 753 - # CONFIG_PCF8575 is not set 754 - # CONFIG_SENSORS_PCA9539 is not set 755 - # CONFIG_SENSORS_PCF8591 is not set 756 - # CONFIG_SENSORS_MAX6875 is not set 757 - # CONFIG_SENSORS_TSL2550 is not set 758 - CONFIG_I2C_DEBUG_CORE=y 759 - CONFIG_I2C_DEBUG_ALGO=y 760 - # CONFIG_I2C_DEBUG_BUS is not set 761 - # CONFIG_I2C_DEBUG_CHIP is not set 677 + # CONFIG_I2C is not set 762 678 # CONFIG_SPI is not set 763 679 CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y 764 - # CONFIG_GPIOLIB is not set 680 + CONFIG_GPIOLIB=y 681 + # CONFIG_DEBUG_GPIO is not set 682 + CONFIG_GPIO_SYSFS=y 683 + 684 + # 685 + # Memory mapped GPIO expanders: 686 + # 687 + CONFIG_GPIO_XILINX=y 688 + 689 + # 690 + # I2C GPIO expanders: 691 + # 692 + 693 + # 694 + # PCI GPIO expanders: 695 + # 696 + # CONFIG_GPIO_BT8XX is not set 697 + 698 + # 699 + # SPI GPIO expanders: 700 + # 765 701 # CONFIG_W1 is not set 766 702 # CONFIG_POWER_SUPPLY is not set 767 703 # CONFIG_HWMON is not set 768 704 # CONFIG_THERMAL is not set 769 705 # CONFIG_THERMAL_HWMON is not set 770 706 # CONFIG_WATCHDOG is not set 707 + CONFIG_SSB_POSSIBLE=y 771 708 772 709 # 773 710 # Sonics Silicon Backplane 774 711 # 775 - CONFIG_SSB_POSSIBLE=y 776 712 # CONFIG_SSB is not set 777 713 778 714 # ··· 735 763 # CONFIG_MFD_CORE is not set 736 764 # CONFIG_MFD_SM501 is not set 737 765 # CONFIG_HTC_PASIC3 is not set 766 + # CONFIG_MFD_TMIO is not set 767 + # CONFIG_REGULATOR is not set 738 768 739 769 # 740 770 # Multimedia devices ··· 764 790 CONFIG_FB=y 765 791 # CONFIG_FIRMWARE_EDID is not set 766 792 # CONFIG_FB_DDC is not set 793 + # CONFIG_FB_BOOT_VESA_SUPPORT is not set 767 794 CONFIG_FB_CFB_FILLRECT=y 768 795 CONFIG_FB_CFB_COPYAREA=y 769 796 CONFIG_FB_CFB_IMAGEBLIT=y ··· 801 826 # CONFIG_FB_S3 is not set 802 827 # CONFIG_FB_SAVAGE is not set 803 828 # CONFIG_FB_SIS is not set 829 + # CONFIG_FB_VIA is not set 804 830 # CONFIG_FB_NEOMAGIC is not set 805 831 # CONFIG_FB_KYRO is not set 806 832 # CONFIG_FB_3DFX is not set ··· 814 838 # CONFIG_FB_IBM_GXT4500 is not set 815 839 CONFIG_FB_XILINX=y 816 840 # CONFIG_FB_VIRTUAL is not set 841 + # CONFIG_FB_METRONOME is not set 842 + # CONFIG_FB_MB862XX is not set 817 843 # CONFIG_BACKLIGHT_LCD_SUPPORT is not set 818 844 819 845 # ··· 848 870 # CONFIG_SOUND is not set 849 871 # CONFIG_HID_SUPPORT is not set 850 872 # CONFIG_USB_SUPPORT is not set 873 + # CONFIG_UWB is not set 851 874 # CONFIG_MMC is not set 852 875 # CONFIG_MEMSTICK is not set 853 876 # CONFIG_NEW_LEDS is not set ··· 858 879 # CONFIG_RTC_CLASS is not set 859 880 # CONFIG_DMADEVICES is not set 860 881 # CONFIG_UIO is not set 882 + # CONFIG_STAGING is not set 883 + CONFIG_STAGING_EXCLUDE_BUILD=y 861 884 862 885 # 863 886 # File systems ··· 868 887 # CONFIG_EXT2_FS_XATTR is not set 869 888 # CONFIG_EXT2_FS_XIP is not set 870 889 # CONFIG_EXT3_FS is not set 871 - # CONFIG_EXT4DEV_FS is not set 890 + # CONFIG_EXT4_FS is not set 872 891 # CONFIG_REISERFS_FS is not set 873 892 # CONFIG_JFS_FS is not set 874 893 # CONFIG_FS_POSIX_ACL is not set 894 + CONFIG_FILE_LOCKING=y 875 895 # CONFIG_XFS_FS is not set 876 896 # CONFIG_OCFS2_FS is not set 877 897 CONFIG_DNOTIFY=y ··· 881 899 # CONFIG_QUOTA is not set 882 900 CONFIG_AUTOFS_FS=y 883 901 CONFIG_AUTOFS4_FS=y 884 - CONFIG_FUSE_FS=m 902 + # CONFIG_FUSE_FS is not set 885 903 886 904 # 887 905 # CD-ROM/DVD Filesystems ··· 905 923 CONFIG_PROC_FS=y 906 924 # CONFIG_PROC_KCORE is not set 907 925 CONFIG_PROC_SYSCTL=y 926 + CONFIG_PROC_PAGE_MONITOR=y 908 927 CONFIG_SYSFS=y 909 928 CONFIG_TMPFS=y 910 929 # CONFIG_TMPFS_POSIX_ACL is not set ··· 937 954 # CONFIG_NFS_V3_ACL is not set 938 955 # CONFIG_NFS_V4 is not set 939 956 CONFIG_ROOT_NFS=y 940 - CONFIG_NFSD=y 941 - CONFIG_NFSD_V3=y 942 - # CONFIG_NFSD_V3_ACL is not set 943 - # CONFIG_NFSD_V4 is not set 957 + # CONFIG_NFSD is not set 944 958 CONFIG_LOCKD=y 945 959 CONFIG_LOCKD_V4=y 946 - CONFIG_EXPORTFS=y 947 960 CONFIG_NFS_COMMON=y 948 961 CONFIG_SUNRPC=y 962 + # CONFIG_SUNRPC_REGISTER_V4 is not set 949 963 # CONFIG_RPCSEC_GSS_KRB5 is not set 950 964 # CONFIG_RPCSEC_GSS_SPKM3 is not set 951 - CONFIG_SMB_FS=y 952 - # CONFIG_SMB_NLS_DEFAULT is not set 965 + # CONFIG_SMB_FS is not set 953 966 # CONFIG_CIFS is not set 954 967 # CONFIG_NCP_FS is not set 955 968 # CONFIG_CODA_FS is not set ··· 1002 1023 # Library routines 1003 1024 # 1004 1025 CONFIG_BITREVERSE=y 1005 - # CONFIG_GENERIC_FIND_FIRST_BIT is not set 1006 1026 CONFIG_CRC_CCITT=y 1007 1027 # CONFIG_CRC16 is not set 1008 1028 # CONFIG_CRC_T10DIF is not set ··· 1019 1041 # 1020 1042 # Kernel hacking 1021 1043 # 1022 - # CONFIG_PRINTK_TIME is not set 1044 + CONFIG_PRINTK_TIME=y 1023 1045 CONFIG_ENABLE_WARN_DEPRECATED=y 1024 1046 CONFIG_ENABLE_MUST_CHECK=y 1025 1047 CONFIG_FRAME_WARN=1024 ··· 1027 1049 # CONFIG_UNUSED_SYMBOLS is not set 1028 1050 # CONFIG_DEBUG_FS is not set 1029 1051 # CONFIG_HEADERS_CHECK is not set 1030 - # CONFIG_DEBUG_KERNEL is not set 1052 + CONFIG_DEBUG_KERNEL=y 1053 + # CONFIG_DEBUG_SHIRQ is not set 1054 + CONFIG_DETECT_SOFTLOCKUP=y 1055 + # CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set 1056 + CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0 1057 + CONFIG_SCHED_DEBUG=y 1058 + # CONFIG_SCHEDSTATS is not set 1059 + # CONFIG_TIMER_STATS is not set 1060 + # CONFIG_DEBUG_OBJECTS is not set 1061 + # CONFIG_DEBUG_SLAB is not set 1062 + # CONFIG_DEBUG_RT_MUTEXES is not set 1063 + # CONFIG_RT_MUTEX_TESTER is not set 1064 + # CONFIG_DEBUG_SPINLOCK is not set 1065 + # CONFIG_DEBUG_MUTEXES is not set 1066 + # CONFIG_DEBUG_SPINLOCK_SLEEP is not set 1067 + # CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set 1068 + # CONFIG_DEBUG_KOBJECT is not set 1031 1069 CONFIG_DEBUG_BUGVERBOSE=y 1070 + CONFIG_DEBUG_INFO=y 1071 + # CONFIG_DEBUG_VM is not set 1072 + # CONFIG_DEBUG_WRITECOUNT is not set 1032 1073 CONFIG_DEBUG_MEMORY_INIT=y 1074 + # CONFIG_DEBUG_LIST is not set 1075 + # CONFIG_DEBUG_SG is not set 1076 + # CONFIG_BOOT_PRINTK_DELAY is not set 1077 + # CONFIG_RCU_TORTURE_TEST is not set 1078 + # CONFIG_RCU_CPU_STALL_DETECTOR is not set 1079 + # CONFIG_BACKTRACE_SELF_TEST is not set 1080 + # CONFIG_DEBUG_BLOCK_EXT_DEVT is not set 1081 + # CONFIG_FAULT_INJECTION is not set 1033 1082 # CONFIG_LATENCYTOP is not set 1034 - CONFIG_HAVE_FTRACE=y 1035 - CONFIG_HAVE_DYNAMIC_FTRACE=y 1036 - # CONFIG_FTRACE is not set 1083 + CONFIG_SYSCTL_SYSCALL_CHECK=y 1084 + CONFIG_HAVE_FUNCTION_TRACER=y 1085 + 1086 + # 1087 + # Tracers 1088 + # 1089 + # CONFIG_FUNCTION_TRACER is not set 1037 1090 # CONFIG_PREEMPT_TRACER is not set 1038 1091 # CONFIG_SCHED_TRACER is not set 1039 1092 # CONFIG_CONTEXT_SWITCH_TRACER is not set 1093 + # CONFIG_BOOT_TRACER is not set 1094 + # CONFIG_STACK_TRACER is not set 1095 + # CONFIG_DYNAMIC_PRINTK_DEBUG is not set 1040 1096 # CONFIG_SAMPLES is not set 1041 1097 CONFIG_HAVE_ARCH_KGDB=y 1098 + # CONFIG_KGDB is not set 1099 + # CONFIG_DEBUG_STACKOVERFLOW is not set 1100 + # CONFIG_DEBUG_STACK_USAGE is not set 1101 + # CONFIG_DEBUG_PAGEALLOC is not set 1102 + # CONFIG_CODE_PATCHING_SELFTEST is not set 1103 + # CONFIG_FTR_FIXUP_SELFTEST is not set 1104 + # CONFIG_MSI_BITMAP_SELFTEST is not set 1105 + # CONFIG_XMON is not set 1042 1106 # CONFIG_IRQSTACKS is not set 1107 + # CONFIG_BDI_SWITCH is not set 1043 1108 # CONFIG_PPC_EARLY_DEBUG is not set 1044 1109 1045 1110 # ··· 1090 1069 # 1091 1070 # CONFIG_KEYS is not set 1092 1071 # CONFIG_SECURITY is not set 1072 + # CONFIG_SECURITYFS is not set 1093 1073 # CONFIG_SECURITY_FILE_CAPABILITIES is not set 1094 1074 CONFIG_CRYPTO=y 1095 1075 1096 1076 # 1097 1077 # Crypto core or helper 1098 1078 # 1079 + # CONFIG_CRYPTO_FIPS is not set 1099 1080 # CONFIG_CRYPTO_MANAGER is not set 1100 1081 # CONFIG_CRYPTO_GF128MUL is not set 1101 1082 # CONFIG_CRYPTO_NULL is not set ··· 1170 1147 # 1171 1148 # CONFIG_CRYPTO_DEFLATE is not set 1172 1149 # CONFIG_CRYPTO_LZO is not set 1150 + 1151 + # 1152 + # Random Number Generation 1153 + # 1154 + # CONFIG_CRYPTO_ANSI_CPRNG is not set 1173 1155 CONFIG_CRYPTO_HW=y 1174 1156 # CONFIG_CRYPTO_DEV_HIFN_795X is not set 1175 1157 # CONFIG_PPC_CLOCK is not set
+128 -41
arch/powerpc/configs/52xx/cm5200_defconfig
··· 1 1 # 2 2 # Automatically generated make config: don't edit 3 - # Linux kernel version: 2.6.25 4 - # Tue Apr 29 07:11:37 2008 3 + # Linux kernel version: 2.6.28-rc4 4 + # Thu Nov 13 02:12:40 2008 5 5 # 6 6 # CONFIG_PPC64 is not set 7 7 ··· 22 22 # CONFIG_SMP is not set 23 23 CONFIG_PPC32=y 24 24 CONFIG_WORD_SIZE=32 25 - CONFIG_PPC_MERGE=y 25 + # CONFIG_ARCH_PHYS_ADDR_T_64BIT is not set 26 26 CONFIG_MMU=y 27 27 CONFIG_GENERIC_CMOS_UPDATE=y 28 28 CONFIG_GENERIC_TIME=y ··· 32 32 # CONFIG_HAVE_SETUP_PER_CPU_AREA is not set 33 33 CONFIG_IRQ_PER_CPU=y 34 34 CONFIG_STACKTRACE_SUPPORT=y 35 + CONFIG_HAVE_LATENCYTOP_SUPPORT=y 35 36 CONFIG_LOCKDEP_SUPPORT=y 36 37 CONFIG_RWSEM_XCHGADD_ALGORITHM=y 37 38 CONFIG_ARCH_HAS_ILOG2_U32=y ··· 103 102 CONFIG_TIMERFD=y 104 103 CONFIG_EVENTFD=y 105 104 CONFIG_SHMEM=y 105 + CONFIG_AIO=y 106 106 CONFIG_VM_EVENT_COUNTERS=y 107 107 CONFIG_SLUB_DEBUG=y 108 108 # CONFIG_SLAB is not set ··· 112 110 # CONFIG_PROFILING is not set 113 111 # CONFIG_MARKERS is not set 114 112 CONFIG_HAVE_OPROFILE=y 113 + CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y 114 + CONFIG_HAVE_IOREMAP_PROT=y 115 115 CONFIG_HAVE_KPROBES=y 116 116 CONFIG_HAVE_KRETPROBES=y 117 - CONFIG_PROC_PAGE_MONITOR=y 117 + CONFIG_HAVE_ARCH_TRACEHOOK=y 118 + CONFIG_HAVE_CLK=y 119 + # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set 118 120 CONFIG_SLABINFO=y 119 121 CONFIG_RT_MUTEXES=y 120 122 # CONFIG_TINY_SHMEM is not set ··· 129 123 # CONFIG_BLK_DEV_IO_TRACE is not set 130 124 # CONFIG_LSF is not set 131 125 # CONFIG_BLK_DEV_BSG is not set 126 + # CONFIG_BLK_DEV_INTEGRITY is not set 132 127 133 128 # 134 129 # IO Schedulers ··· 144 137 # CONFIG_DEFAULT_NOOP is not set 145 138 CONFIG_DEFAULT_IOSCHED="anticipatory" 146 139 CONFIG_CLASSIC_RCU=y 140 + # CONFIG_FREEZER is not set 147 141 148 142 # 149 143 # Platform support 150 144 # 151 145 CONFIG_PPC_MULTIPLATFORM=y 152 - # CONFIG_PPC_82xx is not set 153 - # CONFIG_PPC_83xx is not set 154 - # CONFIG_PPC_86xx is not set 155 146 CONFIG_CLASSIC32=y 156 147 # CONFIG_PPC_CHRP is not set 157 - # CONFIG_PPC_MPC512x is not set 158 - # CONFIG_PPC_MPC5121 is not set 159 148 # CONFIG_MPC5121_ADS is not set 149 + # CONFIG_MPC5121_GENERIC is not set 160 150 CONFIG_PPC_MPC52xx=y 161 151 CONFIG_PPC_MPC5200_SIMPLE=y 162 152 # CONFIG_PPC_EFIKA is not set ··· 163 159 # CONFIG_PPC_PMAC is not set 164 160 # CONFIG_PPC_CELL is not set 165 161 # CONFIG_PPC_CELL_NATIVE is not set 162 + # CONFIG_PPC_82xx is not set 166 163 # CONFIG_PQ2ADS is not set 164 + # CONFIG_PPC_83xx is not set 165 + # CONFIG_PPC_86xx is not set 167 166 # CONFIG_EMBEDDED6xx is not set 168 167 # CONFIG_IPIC is not set 169 168 # CONFIG_MPIC is not set ··· 190 183 # Kernel options 191 184 # 192 185 # CONFIG_HIGHMEM is not set 193 - # CONFIG_TICK_ONESHOT is not set 194 186 # CONFIG_NO_HZ is not set 195 187 # CONFIG_HIGH_RES_TIMERS is not set 196 188 CONFIG_GENERIC_CLOCKEVENTS_BUILD=y ··· 203 197 # CONFIG_PREEMPT_VOLUNTARY is not set 204 198 # CONFIG_PREEMPT is not set 205 199 CONFIG_BINFMT_ELF=y 200 + # CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set 201 + # CONFIG_HAVE_AOUT is not set 206 202 # CONFIG_BINFMT_MISC is not set 207 203 # CONFIG_IOMMU_HELPER is not set 208 204 CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y ··· 219 211 # CONFIG_SPARSEMEM_MANUAL is not set 220 212 CONFIG_FLATMEM=y 221 213 CONFIG_FLAT_NODE_MEM_MAP=y 222 - # CONFIG_SPARSEMEM_STATIC is not set 223 - # CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set 224 214 CONFIG_PAGEFLAGS_EXTENDED=y 225 215 CONFIG_SPLIT_PTLOCK_CPUS=4 216 + CONFIG_MIGRATION=y 226 217 # CONFIG_RESOURCES_64BIT is not set 218 + # CONFIG_PHYS_ADDR_T_64BIT is not set 227 219 CONFIG_ZONE_DMA_FLAG=1 228 220 CONFIG_BOUNCE=y 229 221 CONFIG_VIRT_TO_BUS=y 222 + CONFIG_UNEVICTABLE_LRU=y 230 223 CONFIG_FORCE_MAX_ZONEORDER=11 231 224 CONFIG_PROC_DEVICETREE=y 232 225 # CONFIG_CMDLINE_BOOL is not set 226 + CONFIG_EXTRA_TARGETS="" 233 227 CONFIG_PM=y 234 - # CONFIG_PM_LEGACY is not set 235 228 # CONFIG_PM_DEBUG is not set 236 229 CONFIG_SECCOMP=y 237 230 CONFIG_ISA_DMA_API=y ··· 242 233 # 243 234 CONFIG_ZONE_DMA=y 244 235 CONFIG_GENERIC_ISA_DMA=y 245 - CONFIG_FSL_SOC=y 236 + CONFIG_PPC_PCI_CHOICE=y 246 237 # CONFIG_PCI is not set 247 238 # CONFIG_PCI_DOMAINS is not set 248 239 # CONFIG_PCI_SYSCALL is not set ··· 263 254 CONFIG_KERNEL_START=0xc0000000 264 255 CONFIG_PHYSICAL_START=0x00000000 265 256 CONFIG_TASK_SIZE=0xc0000000 266 - 267 - # 268 - # Networking 269 - # 270 257 CONFIG_NET=y 271 258 272 259 # ··· 313 308 # CONFIG_TIPC is not set 314 309 # CONFIG_ATM is not set 315 310 # CONFIG_BRIDGE is not set 311 + # CONFIG_NET_DSA is not set 316 312 # CONFIG_VLAN_8021Q is not set 317 313 # CONFIG_DECNET is not set 318 314 # CONFIG_LLC2 is not set ··· 334 328 # CONFIG_IRDA is not set 335 329 # CONFIG_BT is not set 336 330 # CONFIG_AF_RXRPC is not set 337 - 338 - # 339 - # Wireless 340 - # 341 - # CONFIG_CFG80211 is not set 342 - # CONFIG_WIRELESS_EXT is not set 343 - # CONFIG_MAC80211 is not set 344 - # CONFIG_IEEE80211 is not set 331 + # CONFIG_PHONET is not set 332 + # CONFIG_WIRELESS is not set 345 333 # CONFIG_RFKILL is not set 346 334 # CONFIG_NET_9P is not set 347 335 ··· 446 446 # CONFIG_BLK_DEV_XIP is not set 447 447 # CONFIG_CDROM_PKTCDVD is not set 448 448 # CONFIG_ATA_OVER_ETH is not set 449 + # CONFIG_BLK_DEV_HD is not set 449 450 # CONFIG_MISC_DEVICES is not set 450 451 CONFIG_HAVE_IDE=y 451 452 # CONFIG_IDE is not set ··· 488 487 # CONFIG_SCSI_SAS_LIBSAS is not set 489 488 # CONFIG_SCSI_SRP_ATTRS is not set 490 489 # CONFIG_SCSI_LOWLEVEL is not set 490 + # CONFIG_SCSI_DH is not set 491 491 # CONFIG_ATA is not set 492 492 # CONFIG_MD is not set 493 493 # CONFIG_MACINTOSH_DRIVERS is not set 494 494 CONFIG_NETDEVICES=y 495 - # CONFIG_NETDEVICES_MULTIQUEUE is not set 496 495 # CONFIG_DUMMY is not set 497 496 # CONFIG_BONDING is not set 498 497 # CONFIG_MACVLAN is not set ··· 522 521 # CONFIG_IBM_NEW_EMAC_RGMII is not set 523 522 # CONFIG_IBM_NEW_EMAC_TAH is not set 524 523 # CONFIG_IBM_NEW_EMAC_EMAC4 is not set 524 + # CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set 525 + # CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set 526 + # CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set 525 527 # CONFIG_B44 is not set 526 528 CONFIG_FEC_MPC52xx=y 527 529 CONFIG_FEC_MPC52xx_MDIO=y ··· 536 532 # 537 533 # CONFIG_WLAN_PRE80211 is not set 538 534 # CONFIG_WLAN_80211 is not set 539 - # CONFIG_IWLWIFI is not set 540 535 # CONFIG_IWLWIFI_LEDS is not set 541 536 542 537 # ··· 570 567 # Character devices 571 568 # 572 569 # CONFIG_VT is not set 570 + CONFIG_DEVKMEM=y 573 571 # CONFIG_SERIAL_NONSTANDARD is not set 574 572 575 573 # ··· 600 596 CONFIG_I2C=y 601 597 CONFIG_I2C_BOARDINFO=y 602 598 CONFIG_I2C_CHARDEV=y 599 + CONFIG_I2C_HELPER_AUTO=y 603 600 604 601 # 605 602 # I2C Hardware Bus support 606 603 # 604 + 605 + # 606 + # I2C system bus drivers (mostly embedded / system-on-chip) 607 + # 607 608 CONFIG_I2C_MPC=y 608 609 # CONFIG_I2C_OCORES is not set 609 - # CONFIG_I2C_PARPORT_LIGHT is not set 610 610 # CONFIG_I2C_SIMTEC is not set 611 + 612 + # 613 + # External I2C/SMBus adapter drivers 614 + # 615 + # CONFIG_I2C_PARPORT_LIGHT is not set 611 616 # CONFIG_I2C_TAOS_EVM is not set 612 617 # CONFIG_I2C_TINY_USB is not set 618 + 619 + # 620 + # Other I2C/SMBus bus drivers 621 + # 613 622 # CONFIG_I2C_PCA_PLATFORM is not set 614 623 615 624 # 616 625 # Miscellaneous I2C Chip support 617 626 # 618 627 # CONFIG_DS1682 is not set 628 + # CONFIG_AT24 is not set 619 629 # CONFIG_SENSORS_EEPROM is not set 620 630 # CONFIG_SENSORS_PCF8574 is not set 621 631 # CONFIG_PCF8575 is not set 632 + # CONFIG_SENSORS_PCA9539 is not set 622 633 # CONFIG_SENSORS_PCF8591 is not set 623 634 # CONFIG_SENSORS_MAX6875 is not set 624 635 # CONFIG_SENSORS_TSL2550 is not set ··· 642 623 # CONFIG_I2C_DEBUG_BUS is not set 643 624 # CONFIG_I2C_DEBUG_CHIP is not set 644 625 # CONFIG_SPI is not set 626 + CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y 627 + # CONFIG_GPIOLIB is not set 645 628 # CONFIG_W1 is not set 646 629 # CONFIG_POWER_SUPPLY is not set 647 630 # CONFIG_HWMON is not set 648 631 # CONFIG_THERMAL is not set 632 + # CONFIG_THERMAL_HWMON is not set 649 633 CONFIG_WATCHDOG=y 650 634 # CONFIG_WATCHDOG_NOWAYOUT is not set 651 635 ··· 662 640 # USB-based Watchdog Cards 663 641 # 664 642 # CONFIG_USBPCWATCHDOG is not set 643 + CONFIG_SSB_POSSIBLE=y 665 644 666 645 # 667 646 # Sonics Silicon Backplane 668 647 # 669 - CONFIG_SSB_POSSIBLE=y 670 648 # CONFIG_SSB is not set 671 649 672 650 # 673 651 # Multifunction device drivers 674 652 # 653 + # CONFIG_MFD_CORE is not set 675 654 # CONFIG_MFD_SM501 is not set 676 655 # CONFIG_HTC_PASIC3 is not set 656 + # CONFIG_MFD_TMIO is not set 657 + # CONFIG_PMIC_DA903X is not set 658 + # CONFIG_MFD_WM8400 is not set 659 + # CONFIG_MFD_WM8350_I2C is not set 660 + # CONFIG_REGULATOR is not set 677 661 678 662 # 679 663 # Multimedia devices 680 664 # 665 + 666 + # 667 + # Multimedia core support 668 + # 681 669 # CONFIG_VIDEO_DEV is not set 682 670 # CONFIG_DVB_CORE is not set 671 + # CONFIG_VIDEO_MEDIA is not set 672 + 673 + # 674 + # Multimedia drivers 675 + # 683 676 # CONFIG_DAB is not set 684 677 685 678 # ··· 709 672 # Display device support 710 673 # 711 674 # CONFIG_DISPLAY_SUPPORT is not set 712 - 713 - # 714 - # Sound 715 - # 716 675 # CONFIG_SOUND is not set 717 676 CONFIG_USB_SUPPORT=y 718 677 CONFIG_USB_ARCH_HAS_HCD=y ··· 728 695 # CONFIG_USB_OTG is not set 729 696 # CONFIG_USB_OTG_WHITELIST is not set 730 697 # CONFIG_USB_OTG_BLACKLIST_HUB is not set 698 + # CONFIG_USB_MON is not set 699 + # CONFIG_USB_WUSB is not set 700 + # CONFIG_USB_WUSB_CBAF is not set 731 701 732 702 # 733 703 # USB Host Controller Drivers 734 704 # 705 + # CONFIG_USB_C67X00_HCD is not set 735 706 # CONFIG_USB_ISP116X_HCD is not set 707 + # CONFIG_USB_ISP1760_HCD is not set 736 708 CONFIG_USB_OHCI_HCD=y 737 709 CONFIG_USB_OHCI_HCD_PPC_SOC=y 738 710 CONFIG_USB_OHCI_HCD_PPC_OF=y ··· 748 710 # CONFIG_USB_OHCI_LITTLE_ENDIAN is not set 749 711 # CONFIG_USB_SL811_HCD is not set 750 712 # CONFIG_USB_R8A66597_HCD is not set 713 + # CONFIG_USB_HWA_HCD is not set 714 + # CONFIG_USB_MUSB_HDRC is not set 751 715 752 716 # 753 717 # USB Device Class drivers 754 718 # 755 719 # CONFIG_USB_ACM is not set 756 720 # CONFIG_USB_PRINTER is not set 721 + # CONFIG_USB_WDM is not set 722 + # CONFIG_USB_TMC is not set 757 723 758 724 # 759 725 # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' ··· 786 744 # 787 745 # CONFIG_USB_MDC800 is not set 788 746 # CONFIG_USB_MICROTEK is not set 789 - # CONFIG_USB_MON is not set 790 747 791 748 # 792 749 # USB port drivers ··· 798 757 # CONFIG_USB_EMI62 is not set 799 758 # CONFIG_USB_EMI26 is not set 800 759 # CONFIG_USB_ADUTUX is not set 801 - # CONFIG_USB_AUERSWALD is not set 760 + # CONFIG_USB_SEVSEG is not set 802 761 # CONFIG_USB_RIO500 is not set 803 762 # CONFIG_USB_LEGOTOWER is not set 804 763 # CONFIG_USB_LCD is not set ··· 814 773 # CONFIG_USB_TRANCEVIBRATOR is not set 815 774 # CONFIG_USB_IOWARRIOR is not set 816 775 # CONFIG_USB_TEST is not set 776 + # CONFIG_USB_ISIGHTFW is not set 777 + # CONFIG_USB_VST is not set 817 778 # CONFIG_USB_GADGET is not set 818 779 # CONFIG_MMC is not set 819 780 # CONFIG_MEMSTICK is not set 820 781 # CONFIG_NEW_LEDS is not set 782 + # CONFIG_ACCESSIBILITY is not set 821 783 # CONFIG_EDAC is not set 822 784 # CONFIG_RTC_CLASS is not set 823 785 # CONFIG_DMADEVICES is not set 824 786 # CONFIG_UIO is not set 787 + # CONFIG_STAGING is not set 788 + CONFIG_STAGING_EXCLUDE_BUILD=y 825 789 826 790 # 827 791 # File systems ··· 838 792 CONFIG_EXT3_FS_XATTR=y 839 793 # CONFIG_EXT3_FS_POSIX_ACL is not set 840 794 # CONFIG_EXT3_FS_SECURITY is not set 841 - # CONFIG_EXT4DEV_FS is not set 795 + # CONFIG_EXT4_FS is not set 842 796 CONFIG_JBD=y 843 797 CONFIG_FS_MBCACHE=y 844 798 # CONFIG_REISERFS_FS is not set 845 799 # CONFIG_JFS_FS is not set 846 800 # CONFIG_FS_POSIX_ACL is not set 801 + CONFIG_FILE_LOCKING=y 847 802 # CONFIG_XFS_FS is not set 848 803 # CONFIG_OCFS2_FS is not set 849 804 CONFIG_DNOTIFY=y ··· 877 830 CONFIG_PROC_FS=y 878 831 CONFIG_PROC_KCORE=y 879 832 CONFIG_PROC_SYSCTL=y 833 + CONFIG_PROC_PAGE_MONITOR=y 880 834 CONFIG_SYSFS=y 881 835 CONFIG_TMPFS=y 882 836 # CONFIG_TMPFS_POSIX_ACL is not set ··· 908 860 CONFIG_CRAMFS=y 909 861 # CONFIG_VXFS_FS is not set 910 862 # CONFIG_MINIX_FS is not set 863 + # CONFIG_OMFS_FS is not set 911 864 # CONFIG_HPFS_FS is not set 912 865 # CONFIG_QNX4FS_FS is not set 913 866 # CONFIG_ROMFS_FS is not set ··· 919 870 CONFIG_NFS_V3=y 920 871 # CONFIG_NFS_V3_ACL is not set 921 872 CONFIG_NFS_V4=y 922 - # CONFIG_NFSD is not set 923 873 CONFIG_ROOT_NFS=y 874 + # CONFIG_NFSD is not set 924 875 CONFIG_LOCKD=y 925 876 CONFIG_LOCKD_V4=y 926 877 CONFIG_NFS_COMMON=y 927 878 CONFIG_SUNRPC=y 928 879 CONFIG_SUNRPC_GSS=y 929 - # CONFIG_SUNRPC_BIND34 is not set 880 + # CONFIG_SUNRPC_REGISTER_V4 is not set 930 881 CONFIG_RPCSEC_GSS_KRB5=y 931 882 # CONFIG_RPCSEC_GSS_SPKM3 is not set 932 883 # CONFIG_SMB_FS is not set ··· 1002 953 # Library routines 1003 954 # 1004 955 CONFIG_BITREVERSE=y 1005 - # CONFIG_GENERIC_FIND_FIRST_BIT is not set 1006 956 # CONFIG_CRC_CCITT is not set 1007 957 # CONFIG_CRC16 is not set 958 + # CONFIG_CRC_T10DIF is not set 1008 959 # CONFIG_CRC_ITU_T is not set 1009 960 CONFIG_CRC32=y 1010 961 # CONFIG_CRC7 is not set ··· 1031 982 CONFIG_DEBUG_KERNEL=y 1032 983 # CONFIG_DEBUG_SHIRQ is not set 1033 984 CONFIG_DETECT_SOFTLOCKUP=y 985 + # CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set 986 + CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0 1034 987 CONFIG_SCHED_DEBUG=y 1035 988 # CONFIG_SCHEDSTATS is not set 1036 989 # CONFIG_TIMER_STATS is not set 990 + # CONFIG_DEBUG_OBJECTS is not set 1037 991 # CONFIG_SLUB_DEBUG_ON is not set 1038 992 # CONFIG_SLUB_STATS is not set 1039 993 # CONFIG_DEBUG_RT_MUTEXES is not set ··· 1050 998 # CONFIG_DEBUG_INFO is not set 1051 999 # CONFIG_DEBUG_VM is not set 1052 1000 # CONFIG_DEBUG_WRITECOUNT is not set 1001 + # CONFIG_DEBUG_MEMORY_INIT is not set 1053 1002 # CONFIG_DEBUG_LIST is not set 1054 1003 # CONFIG_DEBUG_SG is not set 1055 1004 # CONFIG_BOOT_PRINTK_DELAY is not set 1005 + # CONFIG_RCU_TORTURE_TEST is not set 1006 + # CONFIG_RCU_CPU_STALL_DETECTOR is not set 1056 1007 # CONFIG_BACKTRACE_SELF_TEST is not set 1008 + # CONFIG_DEBUG_BLOCK_EXT_DEVT is not set 1057 1009 # CONFIG_FAULT_INJECTION is not set 1010 + # CONFIG_LATENCYTOP is not set 1011 + CONFIG_HAVE_FUNCTION_TRACER=y 1012 + 1013 + # 1014 + # Tracers 1015 + # 1016 + # CONFIG_FUNCTION_TRACER is not set 1017 + # CONFIG_SCHED_TRACER is not set 1018 + # CONFIG_CONTEXT_SWITCH_TRACER is not set 1019 + # CONFIG_BOOT_TRACER is not set 1020 + # CONFIG_STACK_TRACER is not set 1021 + # CONFIG_DYNAMIC_PRINTK_DEBUG is not set 1058 1022 # CONFIG_SAMPLES is not set 1023 + CONFIG_HAVE_ARCH_KGDB=y 1024 + # CONFIG_KGDB is not set 1059 1025 # CONFIG_DEBUG_STACKOVERFLOW is not set 1060 1026 # CONFIG_DEBUG_STACK_USAGE is not set 1061 1027 # CONFIG_DEBUG_PAGEALLOC is not set 1062 - # CONFIG_DEBUGGER is not set 1028 + # CONFIG_CODE_PATCHING_SELFTEST is not set 1029 + # CONFIG_FTR_FIXUP_SELFTEST is not set 1030 + # CONFIG_MSI_BITMAP_SELFTEST is not set 1031 + # CONFIG_XMON is not set 1063 1032 # CONFIG_IRQSTACKS is not set 1064 1033 # CONFIG_BDI_SWITCH is not set 1065 1034 # CONFIG_BOOTX_TEXT is not set ··· 1091 1018 # 1092 1019 # CONFIG_KEYS is not set 1093 1020 # CONFIG_SECURITY is not set 1021 + # CONFIG_SECURITYFS is not set 1094 1022 # CONFIG_SECURITY_FILE_CAPABILITIES is not set 1095 1023 CONFIG_CRYPTO=y 1096 1024 1097 1025 # 1098 1026 # Crypto core or helper 1099 1027 # 1028 + # CONFIG_CRYPTO_FIPS is not set 1100 1029 CONFIG_CRYPTO_ALGAPI=y 1030 + CONFIG_CRYPTO_AEAD=y 1101 1031 CONFIG_CRYPTO_BLKCIPHER=y 1032 + CONFIG_CRYPTO_HASH=y 1033 + CONFIG_CRYPTO_RNG=y 1102 1034 CONFIG_CRYPTO_MANAGER=y 1103 1035 # CONFIG_CRYPTO_GF128MUL is not set 1104 1036 # CONFIG_CRYPTO_NULL is not set ··· 1141 1063 # CONFIG_CRYPTO_MD4 is not set 1142 1064 CONFIG_CRYPTO_MD5=y 1143 1065 # CONFIG_CRYPTO_MICHAEL_MIC is not set 1066 + # CONFIG_CRYPTO_RMD128 is not set 1067 + # CONFIG_CRYPTO_RMD160 is not set 1068 + # CONFIG_CRYPTO_RMD256 is not set 1069 + # CONFIG_CRYPTO_RMD320 is not set 1144 1070 # CONFIG_CRYPTO_SHA1 is not set 1145 1071 # CONFIG_CRYPTO_SHA256 is not set 1146 1072 # CONFIG_CRYPTO_SHA512 is not set ··· 1175 1093 # 1176 1094 # CONFIG_CRYPTO_DEFLATE is not set 1177 1095 # CONFIG_CRYPTO_LZO is not set 1096 + 1097 + # 1098 + # Random Number Generation 1099 + # 1100 + # CONFIG_CRYPTO_ANSI_CPRNG is not set 1178 1101 CONFIG_CRYPTO_HW=y 1179 1102 CONFIG_PPC_CLOCK=y 1180 1103 CONFIG_PPC_LIB_RHEAP=y
+154 -52
arch/powerpc/configs/52xx/lite5200b_defconfig
··· 1 1 # 2 2 # Automatically generated make config: don't edit 3 - # Linux kernel version: 2.6.25 4 - # Tue Apr 29 07:12:56 2008 3 + # Linux kernel version: 2.6.28-rc4 4 + # Thu Nov 13 02:10:16 2008 5 5 # 6 6 # CONFIG_PPC64 is not set 7 7 ··· 22 22 # CONFIG_SMP is not set 23 23 CONFIG_PPC32=y 24 24 CONFIG_WORD_SIZE=32 25 - CONFIG_PPC_MERGE=y 25 + # CONFIG_ARCH_PHYS_ADDR_T_64BIT is not set 26 26 CONFIG_MMU=y 27 27 CONFIG_GENERIC_CMOS_UPDATE=y 28 28 CONFIG_GENERIC_TIME=y ··· 32 32 # CONFIG_HAVE_SETUP_PER_CPU_AREA is not set 33 33 CONFIG_IRQ_PER_CPU=y 34 34 CONFIG_STACKTRACE_SUPPORT=y 35 + CONFIG_HAVE_LATENCYTOP_SUPPORT=y 35 36 CONFIG_LOCKDEP_SUPPORT=y 36 37 CONFIG_RWSEM_XCHGADD_ALGORITHM=y 37 38 CONFIG_ARCH_HAS_ILOG2_U32=y ··· 104 103 CONFIG_TIMERFD=y 105 104 CONFIG_EVENTFD=y 106 105 CONFIG_SHMEM=y 106 + CONFIG_AIO=y 107 107 CONFIG_VM_EVENT_COUNTERS=y 108 + CONFIG_PCI_QUIRKS=y 108 109 CONFIG_SLUB_DEBUG=y 109 110 # CONFIG_SLAB is not set 110 111 CONFIG_SLUB=y ··· 114 111 # CONFIG_PROFILING is not set 115 112 # CONFIG_MARKERS is not set 116 113 CONFIG_HAVE_OPROFILE=y 114 + CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y 115 + CONFIG_HAVE_IOREMAP_PROT=y 117 116 CONFIG_HAVE_KPROBES=y 118 117 CONFIG_HAVE_KRETPROBES=y 119 - CONFIG_PROC_PAGE_MONITOR=y 118 + CONFIG_HAVE_ARCH_TRACEHOOK=y 119 + CONFIG_HAVE_CLK=y 120 + # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set 120 121 CONFIG_SLABINFO=y 121 122 CONFIG_RT_MUTEXES=y 122 123 # CONFIG_TINY_SHMEM is not set 123 124 CONFIG_BASE_SMALL=0 124 125 CONFIG_MODULES=y 126 + # CONFIG_MODULE_FORCE_LOAD is not set 125 127 CONFIG_MODULE_UNLOAD=y 126 128 # CONFIG_MODULE_FORCE_UNLOAD is not set 127 129 # CONFIG_MODVERSIONS is not set 128 130 # CONFIG_MODULE_SRCVERSION_ALL is not set 129 - # CONFIG_KMOD is not set 131 + CONFIG_KMOD=y 130 132 CONFIG_BLOCK=y 131 133 # CONFIG_LBD is not set 132 134 # CONFIG_BLK_DEV_IO_TRACE is not set 133 135 # CONFIG_LSF is not set 134 136 # CONFIG_BLK_DEV_BSG is not set 137 + # CONFIG_BLK_DEV_INTEGRITY is not set 135 138 136 139 # 137 140 # IO Schedulers ··· 152 143 # CONFIG_DEFAULT_NOOP is not set 153 144 CONFIG_DEFAULT_IOSCHED="anticipatory" 154 145 CONFIG_CLASSIC_RCU=y 146 + CONFIG_FREEZER=y 155 147 156 148 # 157 149 # Platform support 158 150 # 159 151 CONFIG_PPC_MULTIPLATFORM=y 160 - # CONFIG_PPC_82xx is not set 161 - # CONFIG_PPC_83xx is not set 162 - # CONFIG_PPC_86xx is not set 163 152 CONFIG_CLASSIC32=y 164 153 # CONFIG_PPC_CHRP is not set 165 - # CONFIG_PPC_MPC512x is not set 166 - # CONFIG_PPC_MPC5121 is not set 167 154 # CONFIG_MPC5121_ADS is not set 155 + # CONFIG_MPC5121_GENERIC is not set 168 156 CONFIG_PPC_MPC52xx=y 169 157 CONFIG_PPC_MPC5200_SIMPLE=y 170 158 # CONFIG_PPC_EFIKA is not set ··· 171 165 # CONFIG_PPC_PMAC is not set 172 166 # CONFIG_PPC_CELL is not set 173 167 # CONFIG_PPC_CELL_NATIVE is not set 168 + # CONFIG_PPC_82xx is not set 174 169 # CONFIG_PQ2ADS is not set 170 + # CONFIG_PPC_83xx is not set 171 + # CONFIG_PPC_86xx is not set 175 172 # CONFIG_EMBEDDED6xx is not set 176 173 # CONFIG_IPIC is not set 177 174 # CONFIG_MPIC is not set ··· 207 198 # CONFIG_HZ_300 is not set 208 199 # CONFIG_HZ_1000 is not set 209 200 CONFIG_HZ=250 210 - # CONFIG_SCHED_HRTICK is not set 201 + CONFIG_SCHED_HRTICK=y 211 202 CONFIG_PREEMPT_NONE=y 212 203 # CONFIG_PREEMPT_VOLUNTARY is not set 213 204 # CONFIG_PREEMPT is not set 214 205 CONFIG_BINFMT_ELF=y 206 + # CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set 207 + # CONFIG_HAVE_AOUT is not set 215 208 # CONFIG_BINFMT_MISC is not set 216 209 # CONFIG_IOMMU_HELPER is not set 217 210 CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y ··· 228 217 # CONFIG_SPARSEMEM_MANUAL is not set 229 218 CONFIG_FLATMEM=y 230 219 CONFIG_FLAT_NODE_MEM_MAP=y 231 - # CONFIG_SPARSEMEM_STATIC is not set 232 - # CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set 233 220 CONFIG_PAGEFLAGS_EXTENDED=y 234 221 CONFIG_SPLIT_PTLOCK_CPUS=4 222 + CONFIG_MIGRATION=y 235 223 # CONFIG_RESOURCES_64BIT is not set 224 + # CONFIG_PHYS_ADDR_T_64BIT is not set 236 225 CONFIG_ZONE_DMA_FLAG=1 237 226 CONFIG_BOUNCE=y 238 227 CONFIG_VIRT_TO_BUS=y 228 + CONFIG_UNEVICTABLE_LRU=y 239 229 CONFIG_FORCE_MAX_ZONEORDER=11 240 230 CONFIG_PROC_DEVICETREE=y 241 231 # CONFIG_CMDLINE_BOOL is not set 232 + CONFIG_EXTRA_TARGETS="" 242 233 CONFIG_PM=y 243 - # CONFIG_PM_LEGACY is not set 244 234 # CONFIG_PM_DEBUG is not set 245 235 CONFIG_PM_SLEEP=y 246 236 CONFIG_SUSPEND=y ··· 255 243 CONFIG_ZONE_DMA=y 256 244 CONFIG_GENERIC_ISA_DMA=y 257 245 # CONFIG_PPC_INDIRECT_PCI is not set 258 - CONFIG_FSL_SOC=y 246 + CONFIG_PPC_PCI_CHOICE=y 259 247 CONFIG_PCI=y 260 248 CONFIG_PCI_DOMAINS=y 261 249 CONFIG_PCI_SYSCALL=y ··· 281 269 CONFIG_KERNEL_START=0xc0000000 282 270 CONFIG_PHYSICAL_START=0x00000000 283 271 CONFIG_TASK_SIZE=0xc0000000 284 - 285 - # 286 - # Networking 287 - # 288 272 CONFIG_NET=y 289 273 290 274 # ··· 331 323 # CONFIG_TIPC is not set 332 324 # CONFIG_ATM is not set 333 325 # CONFIG_BRIDGE is not set 326 + # CONFIG_NET_DSA is not set 334 327 # CONFIG_VLAN_8021Q is not set 335 328 # CONFIG_DECNET is not set 336 329 # CONFIG_LLC2 is not set ··· 352 343 # CONFIG_IRDA is not set 353 344 # CONFIG_BT is not set 354 345 # CONFIG_AF_RXRPC is not set 355 - 356 - # 357 - # Wireless 358 - # 359 - # CONFIG_CFG80211 is not set 360 - # CONFIG_WIRELESS_EXT is not set 361 - # CONFIG_MAC80211 is not set 362 - # CONFIG_IEEE80211 is not set 346 + # CONFIG_PHONET is not set 347 + # CONFIG_WIRELESS is not set 363 348 # CONFIG_RFKILL is not set 364 349 # CONFIG_NET_9P is not set 365 350 ··· 393 390 # CONFIG_BLK_DEV_XIP is not set 394 391 # CONFIG_CDROM_PKTCDVD is not set 395 392 # CONFIG_ATA_OVER_ETH is not set 393 + # CONFIG_BLK_DEV_HD is not set 396 394 CONFIG_MISC_DEVICES=y 397 395 # CONFIG_PHANTOM is not set 398 396 # CONFIG_EEPROM_93CX6 is not set 399 397 # CONFIG_SGI_IOC4 is not set 400 398 # CONFIG_TIFM_CORE is not set 399 + # CONFIG_ICS932S401 is not set 401 400 # CONFIG_ENCLOSURE_SERVICES is not set 401 + # CONFIG_HP_ILO is not set 402 + # CONFIG_C2PORT is not set 402 403 CONFIG_HAVE_IDE=y 403 404 # CONFIG_IDE is not set 404 405 ··· 419 412 # 420 413 # SCSI support type (disk, tape, CD-ROM) 421 414 # 422 - # CONFIG_BLK_DEV_SD is not set 415 + CONFIG_BLK_DEV_SD=y 423 416 # CONFIG_CHR_DEV_ST is not set 424 417 # CONFIG_CHR_DEV_OSST is not set 425 418 # CONFIG_BLK_DEV_SR is not set ··· 481 474 # CONFIG_SCSI_NSP32 is not set 482 475 # CONFIG_SCSI_DEBUG is not set 483 476 # CONFIG_SCSI_SRP is not set 477 + # CONFIG_SCSI_DH is not set 484 478 CONFIG_ATA=y 485 479 # CONFIG_ATA_NONSTANDARD is not set 486 480 CONFIG_SATA_PMP=y 487 481 # CONFIG_SATA_AHCI is not set 488 482 # CONFIG_SATA_SIL24 is not set 489 - # CONFIG_SATA_FSL is not set 490 483 CONFIG_ATA_SFF=y 491 484 # CONFIG_SATA_SVW is not set 492 485 # CONFIG_ATA_PIIX is not set ··· 542 535 # CONFIG_PATA_VIA is not set 543 536 # CONFIG_PATA_WINBOND is not set 544 537 # CONFIG_PATA_PLATFORM is not set 538 + # CONFIG_PATA_SCH is not set 545 539 # CONFIG_MD is not set 546 540 # CONFIG_FUSION is not set 547 541 548 542 # 549 543 # IEEE 1394 (FireWire) support 550 544 # 545 + 546 + # 547 + # Enable only one of the two stacks, unless you know what you are doing 548 + # 551 549 # CONFIG_FIREWIRE is not set 552 550 # CONFIG_IEEE1394 is not set 553 551 # CONFIG_I2O is not set 554 552 # CONFIG_MACINTOSH_DRIVERS is not set 555 553 CONFIG_NETDEVICES=y 556 - # CONFIG_NETDEVICES_MULTIQUEUE is not set 557 554 # CONFIG_DUMMY is not set 558 555 # CONFIG_BONDING is not set 559 556 # CONFIG_MACVLAN is not set ··· 594 583 # CONFIG_IBM_NEW_EMAC_RGMII is not set 595 584 # CONFIG_IBM_NEW_EMAC_TAH is not set 596 585 # CONFIG_IBM_NEW_EMAC_EMAC4 is not set 586 + # CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set 587 + # CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set 588 + # CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set 597 589 # CONFIG_NET_PCI is not set 598 590 # CONFIG_B44 is not set 599 591 CONFIG_FEC_MPC52xx=y 600 592 CONFIG_FEC_MPC52xx_MDIO=y 593 + # CONFIG_ATL2 is not set 601 594 CONFIG_NETDEV_1000=y 602 595 # CONFIG_ACENIC is not set 603 596 # CONFIG_DL2K is not set 604 597 # CONFIG_E1000 is not set 605 598 # CONFIG_E1000E is not set 606 - # CONFIG_E1000E_ENABLED is not set 607 599 # CONFIG_IP1000 is not set 608 600 # CONFIG_IGB is not set 609 601 # CONFIG_NS83820 is not set ··· 619 605 # CONFIG_VIA_VELOCITY is not set 620 606 # CONFIG_TIGON3 is not set 621 607 # CONFIG_BNX2 is not set 622 - # CONFIG_GIANFAR is not set 623 608 # CONFIG_MV643XX_ETH is not set 624 609 # CONFIG_QLA3XXX is not set 625 610 # CONFIG_ATL1 is not set 611 + # CONFIG_ATL1E is not set 612 + # CONFIG_JME is not set 626 613 CONFIG_NETDEV_10000=y 627 614 # CONFIG_CHELSIO_T1 is not set 628 615 # CONFIG_CHELSIO_T3 is not set 616 + # CONFIG_ENIC is not set 629 617 # CONFIG_IXGBE is not set 630 618 # CONFIG_IXGB is not set 631 619 # CONFIG_S2IO is not set 632 620 # CONFIG_MYRI10GE is not set 633 621 # CONFIG_NETXEN_NIC is not set 634 622 # CONFIG_NIU is not set 623 + # CONFIG_MLX4_EN is not set 635 624 # CONFIG_MLX4_CORE is not set 636 625 # CONFIG_TEHUTI is not set 637 626 # CONFIG_BNX2X is not set 627 + # CONFIG_QLGE is not set 628 + # CONFIG_SFC is not set 638 629 # CONFIG_TR is not set 639 630 640 631 # ··· 647 628 # 648 629 # CONFIG_WLAN_PRE80211 is not set 649 630 # CONFIG_WLAN_80211 is not set 650 - # CONFIG_IWLWIFI is not set 651 631 # CONFIG_IWLWIFI_LEDS is not set 652 632 # CONFIG_WAN is not set 653 633 # CONFIG_FDDI is not set ··· 675 657 # Character devices 676 658 # 677 659 # CONFIG_VT is not set 660 + CONFIG_DEVKMEM=y 678 661 # CONFIG_SERIAL_NONSTANDARD is not set 679 662 # CONFIG_NOZOMI is not set 680 663 ··· 710 691 CONFIG_I2C=y 711 692 CONFIG_I2C_BOARDINFO=y 712 693 CONFIG_I2C_CHARDEV=y 694 + CONFIG_I2C_HELPER_AUTO=y 713 695 714 696 # 715 697 # I2C Hardware Bus support 698 + # 699 + 700 + # 701 + # PC SMBus host controller drivers 716 702 # 717 703 # CONFIG_I2C_ALI1535 is not set 718 704 # CONFIG_I2C_ALI1563 is not set ··· 725 701 # CONFIG_I2C_AMD756 is not set 726 702 # CONFIG_I2C_AMD8111 is not set 727 703 # CONFIG_I2C_I801 is not set 728 - # CONFIG_I2C_I810 is not set 704 + # CONFIG_I2C_ISCH is not set 729 705 # CONFIG_I2C_PIIX4 is not set 730 - CONFIG_I2C_MPC=y 731 706 # CONFIG_I2C_NFORCE2 is not set 732 - # CONFIG_I2C_OCORES is not set 733 - # CONFIG_I2C_PARPORT_LIGHT is not set 734 - # CONFIG_I2C_PROSAVAGE is not set 735 - # CONFIG_I2C_SAVAGE4 is not set 736 - # CONFIG_I2C_SIMTEC is not set 737 707 # CONFIG_I2C_SIS5595 is not set 738 708 # CONFIG_I2C_SIS630 is not set 739 709 # CONFIG_I2C_SIS96X is not set 740 - # CONFIG_I2C_TAOS_EVM is not set 741 - # CONFIG_I2C_STUB is not set 742 710 # CONFIG_I2C_VIA is not set 743 711 # CONFIG_I2C_VIAPRO is not set 712 + 713 + # 714 + # I2C system bus drivers (mostly embedded / system-on-chip) 715 + # 716 + CONFIG_I2C_MPC=y 717 + # CONFIG_I2C_OCORES is not set 718 + # CONFIG_I2C_SIMTEC is not set 719 + 720 + # 721 + # External I2C/SMBus adapter drivers 722 + # 723 + # CONFIG_I2C_PARPORT_LIGHT is not set 724 + # CONFIG_I2C_TAOS_EVM is not set 725 + 726 + # 727 + # Graphics adapter I2C/DDC channel drivers 728 + # 744 729 # CONFIG_I2C_VOODOO3 is not set 730 + 731 + # 732 + # Other I2C/SMBus bus drivers 733 + # 745 734 # CONFIG_I2C_PCA_PLATFORM is not set 735 + # CONFIG_I2C_STUB is not set 746 736 747 737 # 748 738 # Miscellaneous I2C Chip support 749 739 # 750 740 # CONFIG_DS1682 is not set 741 + # CONFIG_AT24 is not set 751 742 # CONFIG_SENSORS_EEPROM is not set 752 743 # CONFIG_SENSORS_PCF8574 is not set 753 744 # CONFIG_PCF8575 is not set 745 + # CONFIG_SENSORS_PCA9539 is not set 754 746 # CONFIG_SENSORS_PCF8591 is not set 755 747 # CONFIG_SENSORS_MAX6875 is not set 756 748 # CONFIG_SENSORS_TSL2550 is not set ··· 775 735 # CONFIG_I2C_DEBUG_BUS is not set 776 736 # CONFIG_I2C_DEBUG_CHIP is not set 777 737 # CONFIG_SPI is not set 738 + CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y 739 + # CONFIG_GPIOLIB is not set 778 740 # CONFIG_W1 is not set 779 741 # CONFIG_POWER_SUPPLY is not set 780 742 # CONFIG_HWMON is not set 781 743 # CONFIG_THERMAL is not set 744 + # CONFIG_THERMAL_HWMON is not set 782 745 # CONFIG_WATCHDOG is not set 746 + CONFIG_SSB_POSSIBLE=y 783 747 784 748 # 785 749 # Sonics Silicon Backplane 786 750 # 787 - CONFIG_SSB_POSSIBLE=y 788 751 # CONFIG_SSB is not set 789 752 790 753 # 791 754 # Multifunction device drivers 792 755 # 756 + # CONFIG_MFD_CORE is not set 793 757 # CONFIG_MFD_SM501 is not set 794 758 # CONFIG_HTC_PASIC3 is not set 759 + # CONFIG_MFD_TMIO is not set 760 + # CONFIG_PMIC_DA903X is not set 761 + # CONFIG_MFD_WM8400 is not set 762 + # CONFIG_MFD_WM8350_I2C is not set 763 + # CONFIG_REGULATOR is not set 795 764 796 765 # 797 766 # Multimedia devices 798 767 # 768 + 769 + # 770 + # Multimedia core support 771 + # 799 772 # CONFIG_VIDEO_DEV is not set 800 773 # CONFIG_DVB_CORE is not set 774 + # CONFIG_VIDEO_MEDIA is not set 775 + 776 + # 777 + # Multimedia drivers 778 + # 801 779 # CONFIG_DAB is not set 802 780 803 781 # ··· 832 774 # Display device support 833 775 # 834 776 # CONFIG_DISPLAY_SUPPORT is not set 835 - 836 - # 837 - # Sound 838 - # 839 777 # CONFIG_SOUND is not set 840 778 CONFIG_USB_SUPPORT=y 841 779 CONFIG_USB_ARCH_HAS_HCD=y ··· 842 788 # CONFIG_USB_OTG_BLACKLIST_HUB is not set 843 789 844 790 # 791 + # Enable Host or Gadget support to see Inventra options 792 + # 793 + 794 + # 845 795 # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' 846 796 # 847 797 # CONFIG_USB_GADGET is not set 798 + # CONFIG_UWB is not set 848 799 # CONFIG_MMC is not set 849 800 # CONFIG_MEMSTICK is not set 850 801 # CONFIG_NEW_LEDS is not set 802 + # CONFIG_ACCESSIBILITY is not set 851 803 # CONFIG_INFINIBAND is not set 852 804 # CONFIG_EDAC is not set 853 805 # CONFIG_RTC_CLASS is not set 854 806 # CONFIG_DMADEVICES is not set 855 807 # CONFIG_UIO is not set 808 + # CONFIG_STAGING is not set 809 + CONFIG_STAGING_EXCLUDE_BUILD=y 856 810 857 811 # 858 812 # File systems ··· 872 810 CONFIG_EXT3_FS_XATTR=y 873 811 # CONFIG_EXT3_FS_POSIX_ACL is not set 874 812 # CONFIG_EXT3_FS_SECURITY is not set 875 - # CONFIG_EXT4DEV_FS is not set 813 + # CONFIG_EXT4_FS is not set 876 814 CONFIG_JBD=y 877 815 CONFIG_FS_MBCACHE=y 878 816 # CONFIG_REISERFS_FS is not set 879 817 # CONFIG_JFS_FS is not set 880 818 # CONFIG_FS_POSIX_ACL is not set 819 + CONFIG_FILE_LOCKING=y 881 820 # CONFIG_XFS_FS is not set 882 821 # CONFIG_OCFS2_FS is not set 883 822 CONFIG_DNOTIFY=y ··· 908 845 CONFIG_PROC_FS=y 909 846 CONFIG_PROC_KCORE=y 910 847 CONFIG_PROC_SYSCTL=y 848 + CONFIG_PROC_PAGE_MONITOR=y 911 849 CONFIG_SYSFS=y 912 850 CONFIG_TMPFS=y 913 851 # CONFIG_TMPFS_POSIX_ACL is not set ··· 928 864 # CONFIG_CRAMFS is not set 929 865 # CONFIG_VXFS_FS is not set 930 866 # CONFIG_MINIX_FS is not set 867 + # CONFIG_OMFS_FS is not set 931 868 # CONFIG_HPFS_FS is not set 932 869 # CONFIG_QNX4FS_FS is not set 933 870 # CONFIG_ROMFS_FS is not set ··· 939 874 CONFIG_NFS_V3=y 940 875 # CONFIG_NFS_V3_ACL is not set 941 876 CONFIG_NFS_V4=y 942 - # CONFIG_NFSD is not set 943 877 CONFIG_ROOT_NFS=y 878 + # CONFIG_NFSD is not set 944 879 CONFIG_LOCKD=y 945 880 CONFIG_LOCKD_V4=y 946 881 CONFIG_NFS_COMMON=y 947 882 CONFIG_SUNRPC=y 948 883 CONFIG_SUNRPC_GSS=y 949 - # CONFIG_SUNRPC_BIND34 is not set 884 + # CONFIG_SUNRPC_REGISTER_V4 is not set 950 885 CONFIG_RPCSEC_GSS_KRB5=y 951 886 # CONFIG_RPCSEC_GSS_SPKM3 is not set 952 887 # CONFIG_SMB_FS is not set ··· 967 902 # Library routines 968 903 # 969 904 CONFIG_BITREVERSE=y 970 - # CONFIG_GENERIC_FIND_FIRST_BIT is not set 971 905 # CONFIG_CRC_CCITT is not set 972 906 # CONFIG_CRC16 is not set 907 + # CONFIG_CRC_T10DIF is not set 973 908 # CONFIG_CRC_ITU_T is not set 974 909 CONFIG_CRC32=y 975 910 # CONFIG_CRC7 is not set ··· 994 929 CONFIG_DEBUG_KERNEL=y 995 930 # CONFIG_DEBUG_SHIRQ is not set 996 931 CONFIG_DETECT_SOFTLOCKUP=y 932 + # CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set 933 + CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0 997 934 CONFIG_SCHED_DEBUG=y 998 935 # CONFIG_SCHEDSTATS is not set 999 936 # CONFIG_TIMER_STATS is not set 937 + # CONFIG_DEBUG_OBJECTS is not set 1000 938 # CONFIG_SLUB_DEBUG_ON is not set 1001 939 # CONFIG_SLUB_STATS is not set 1002 940 # CONFIG_DEBUG_RT_MUTEXES is not set ··· 1013 945 CONFIG_DEBUG_INFO=y 1014 946 # CONFIG_DEBUG_VM is not set 1015 947 # CONFIG_DEBUG_WRITECOUNT is not set 948 + # CONFIG_DEBUG_MEMORY_INIT is not set 1016 949 # CONFIG_DEBUG_LIST is not set 1017 950 # CONFIG_DEBUG_SG is not set 1018 951 # CONFIG_BOOT_PRINTK_DELAY is not set 1019 952 # CONFIG_RCU_TORTURE_TEST is not set 953 + # CONFIG_RCU_CPU_STALL_DETECTOR is not set 1020 954 # CONFIG_BACKTRACE_SELF_TEST is not set 955 + # CONFIG_DEBUG_BLOCK_EXT_DEVT is not set 1021 956 # CONFIG_FAULT_INJECTION is not set 957 + # CONFIG_LATENCYTOP is not set 958 + CONFIG_HAVE_FUNCTION_TRACER=y 959 + 960 + # 961 + # Tracers 962 + # 963 + # CONFIG_FUNCTION_TRACER is not set 964 + # CONFIG_SCHED_TRACER is not set 965 + # CONFIG_CONTEXT_SWITCH_TRACER is not set 966 + # CONFIG_BOOT_TRACER is not set 967 + # CONFIG_STACK_TRACER is not set 968 + # CONFIG_DYNAMIC_PRINTK_DEBUG is not set 1022 969 # CONFIG_SAMPLES is not set 970 + CONFIG_HAVE_ARCH_KGDB=y 971 + # CONFIG_KGDB is not set 1023 972 # CONFIG_DEBUG_STACKOVERFLOW is not set 1024 973 # CONFIG_DEBUG_STACK_USAGE is not set 1025 974 # CONFIG_DEBUG_PAGEALLOC is not set 1026 - # CONFIG_DEBUGGER is not set 975 + # CONFIG_CODE_PATCHING_SELFTEST is not set 976 + # CONFIG_FTR_FIXUP_SELFTEST is not set 977 + # CONFIG_MSI_BITMAP_SELFTEST is not set 978 + # CONFIG_XMON is not set 1027 979 # CONFIG_IRQSTACKS is not set 1028 980 # CONFIG_BDI_SWITCH is not set 1029 981 # CONFIG_BOOTX_TEXT is not set ··· 1054 966 # 1055 967 # CONFIG_KEYS is not set 1056 968 # CONFIG_SECURITY is not set 969 + # CONFIG_SECURITYFS is not set 1057 970 # CONFIG_SECURITY_FILE_CAPABILITIES is not set 1058 971 CONFIG_CRYPTO=y 1059 972 1060 973 # 1061 974 # Crypto core or helper 1062 975 # 976 + # CONFIG_CRYPTO_FIPS is not set 1063 977 CONFIG_CRYPTO_ALGAPI=y 978 + CONFIG_CRYPTO_AEAD=y 1064 979 CONFIG_CRYPTO_BLKCIPHER=y 980 + CONFIG_CRYPTO_HASH=y 981 + CONFIG_CRYPTO_RNG=y 1065 982 CONFIG_CRYPTO_MANAGER=y 1066 983 # CONFIG_CRYPTO_GF128MUL is not set 1067 984 # CONFIG_CRYPTO_NULL is not set ··· 1105 1012 # CONFIG_CRYPTO_MD4 is not set 1106 1013 CONFIG_CRYPTO_MD5=y 1107 1014 # CONFIG_CRYPTO_MICHAEL_MIC is not set 1015 + # CONFIG_CRYPTO_RMD128 is not set 1016 + # CONFIG_CRYPTO_RMD160 is not set 1017 + # CONFIG_CRYPTO_RMD256 is not set 1018 + # CONFIG_CRYPTO_RMD320 is not set 1108 1019 # CONFIG_CRYPTO_SHA1 is not set 1109 1020 # CONFIG_CRYPTO_SHA256 is not set 1110 1021 # CONFIG_CRYPTO_SHA512 is not set ··· 1139 1042 # 1140 1043 # CONFIG_CRYPTO_DEFLATE is not set 1141 1044 # CONFIG_CRYPTO_LZO is not set 1045 + 1046 + # 1047 + # Random Number Generation 1048 + # 1049 + # CONFIG_CRYPTO_ANSI_CPRNG is not set 1142 1050 CONFIG_CRYPTO_HW=y 1143 1051 # CONFIG_CRYPTO_DEV_HIFN_795X is not set 1144 1052 CONFIG_PPC_CLOCK=y
+128 -40
arch/powerpc/configs/52xx/motionpro_defconfig
··· 1 1 # 2 2 # Automatically generated make config: don't edit 3 - # Linux kernel version: 2.6.25 4 - # Tue Apr 29 07:12:22 2008 3 + # Linux kernel version: 2.6.28-rc4 4 + # Thu Nov 13 02:11:02 2008 5 5 # 6 6 # CONFIG_PPC64 is not set 7 7 ··· 22 22 # CONFIG_SMP is not set 23 23 CONFIG_PPC32=y 24 24 CONFIG_WORD_SIZE=32 25 - CONFIG_PPC_MERGE=y 25 + # CONFIG_ARCH_PHYS_ADDR_T_64BIT is not set 26 26 CONFIG_MMU=y 27 27 CONFIG_GENERIC_CMOS_UPDATE=y 28 28 CONFIG_GENERIC_TIME=y ··· 32 32 # CONFIG_HAVE_SETUP_PER_CPU_AREA is not set 33 33 CONFIG_IRQ_PER_CPU=y 34 34 CONFIG_STACKTRACE_SUPPORT=y 35 + CONFIG_HAVE_LATENCYTOP_SUPPORT=y 35 36 CONFIG_LOCKDEP_SUPPORT=y 36 37 CONFIG_RWSEM_XCHGADD_ALGORITHM=y 37 38 CONFIG_ARCH_HAS_ILOG2_U32=y ··· 103 102 CONFIG_TIMERFD=y 104 103 CONFIG_EVENTFD=y 105 104 CONFIG_SHMEM=y 105 + CONFIG_AIO=y 106 106 CONFIG_VM_EVENT_COUNTERS=y 107 107 CONFIG_SLUB_DEBUG=y 108 108 # CONFIG_SLAB is not set ··· 112 110 # CONFIG_PROFILING is not set 113 111 # CONFIG_MARKERS is not set 114 112 CONFIG_HAVE_OPROFILE=y 113 + CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y 114 + CONFIG_HAVE_IOREMAP_PROT=y 115 115 CONFIG_HAVE_KPROBES=y 116 116 CONFIG_HAVE_KRETPROBES=y 117 - CONFIG_PROC_PAGE_MONITOR=y 117 + CONFIG_HAVE_ARCH_TRACEHOOK=y 118 + CONFIG_HAVE_CLK=y 119 + # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set 118 120 CONFIG_SLABINFO=y 119 121 CONFIG_RT_MUTEXES=y 120 122 # CONFIG_TINY_SHMEM is not set ··· 129 123 # CONFIG_BLK_DEV_IO_TRACE is not set 130 124 # CONFIG_LSF is not set 131 125 # CONFIG_BLK_DEV_BSG is not set 126 + # CONFIG_BLK_DEV_INTEGRITY is not set 132 127 133 128 # 134 129 # IO Schedulers ··· 144 137 # CONFIG_DEFAULT_NOOP is not set 145 138 CONFIG_DEFAULT_IOSCHED="anticipatory" 146 139 CONFIG_CLASSIC_RCU=y 140 + # CONFIG_FREEZER is not set 147 141 148 142 # 149 143 # Platform support 150 144 # 151 145 CONFIG_PPC_MULTIPLATFORM=y 152 - # CONFIG_PPC_82xx is not set 153 - # CONFIG_PPC_83xx is not set 154 - # CONFIG_PPC_86xx is not set 155 146 CONFIG_CLASSIC32=y 156 147 # CONFIG_PPC_CHRP is not set 157 - # CONFIG_PPC_MPC512x is not set 158 - # CONFIG_PPC_MPC5121 is not set 159 148 # CONFIG_MPC5121_ADS is not set 149 + # CONFIG_MPC5121_GENERIC is not set 160 150 CONFIG_PPC_MPC52xx=y 161 151 CONFIG_PPC_MPC5200_SIMPLE=y 162 152 # CONFIG_PPC_EFIKA is not set ··· 163 159 # CONFIG_PPC_PMAC is not set 164 160 # CONFIG_PPC_CELL is not set 165 161 # CONFIG_PPC_CELL_NATIVE is not set 162 + # CONFIG_PPC_82xx is not set 166 163 # CONFIG_PQ2ADS is not set 164 + # CONFIG_PPC_83xx is not set 165 + # CONFIG_PPC_86xx is not set 167 166 # CONFIG_EMBEDDED6xx is not set 168 167 # CONFIG_IPIC is not set 169 168 # CONFIG_MPIC is not set ··· 190 183 # Kernel options 191 184 # 192 185 # CONFIG_HIGHMEM is not set 193 - # CONFIG_TICK_ONESHOT is not set 194 186 # CONFIG_NO_HZ is not set 195 187 # CONFIG_HIGH_RES_TIMERS is not set 196 188 CONFIG_GENERIC_CLOCKEVENTS_BUILD=y ··· 203 197 # CONFIG_PREEMPT_VOLUNTARY is not set 204 198 # CONFIG_PREEMPT is not set 205 199 CONFIG_BINFMT_ELF=y 200 + # CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set 201 + # CONFIG_HAVE_AOUT is not set 206 202 # CONFIG_BINFMT_MISC is not set 207 203 # CONFIG_IOMMU_HELPER is not set 208 204 CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y ··· 219 211 # CONFIG_SPARSEMEM_MANUAL is not set 220 212 CONFIG_FLATMEM=y 221 213 CONFIG_FLAT_NODE_MEM_MAP=y 222 - # CONFIG_SPARSEMEM_STATIC is not set 223 - # CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set 224 214 CONFIG_PAGEFLAGS_EXTENDED=y 225 215 CONFIG_SPLIT_PTLOCK_CPUS=4 216 + CONFIG_MIGRATION=y 226 217 # CONFIG_RESOURCES_64BIT is not set 218 + # CONFIG_PHYS_ADDR_T_64BIT is not set 227 219 CONFIG_ZONE_DMA_FLAG=1 228 220 CONFIG_BOUNCE=y 229 221 CONFIG_VIRT_TO_BUS=y 222 + CONFIG_UNEVICTABLE_LRU=y 230 223 CONFIG_FORCE_MAX_ZONEORDER=11 231 224 CONFIG_PROC_DEVICETREE=y 232 225 # CONFIG_CMDLINE_BOOL is not set 226 + CONFIG_EXTRA_TARGETS="" 233 227 CONFIG_PM=y 234 - # CONFIG_PM_LEGACY is not set 235 228 # CONFIG_PM_DEBUG is not set 236 229 CONFIG_SECCOMP=y 237 230 CONFIG_ISA_DMA_API=y ··· 242 233 # 243 234 CONFIG_ZONE_DMA=y 244 235 CONFIG_GENERIC_ISA_DMA=y 245 - CONFIG_FSL_SOC=y 236 + CONFIG_PPC_PCI_CHOICE=y 246 237 # CONFIG_PCI is not set 247 238 # CONFIG_PCI_DOMAINS is not set 248 239 # CONFIG_PCI_SYSCALL is not set ··· 263 254 CONFIG_KERNEL_START=0xc0000000 264 255 CONFIG_PHYSICAL_START=0x00000000 265 256 CONFIG_TASK_SIZE=0xc0000000 266 - 267 - # 268 - # Networking 269 - # 270 257 CONFIG_NET=y 271 258 272 259 # ··· 313 308 # CONFIG_TIPC is not set 314 309 # CONFIG_ATM is not set 315 310 # CONFIG_BRIDGE is not set 311 + # CONFIG_NET_DSA is not set 316 312 # CONFIG_VLAN_8021Q is not set 317 313 # CONFIG_DECNET is not set 318 314 # CONFIG_LLC2 is not set ··· 334 328 # CONFIG_IRDA is not set 335 329 # CONFIG_BT is not set 336 330 # CONFIG_AF_RXRPC is not set 337 - 338 - # 339 - # Wireless 340 - # 341 - # CONFIG_CFG80211 is not set 342 - # CONFIG_WIRELESS_EXT is not set 343 - # CONFIG_MAC80211 is not set 344 - # CONFIG_IEEE80211 is not set 331 + # CONFIG_PHONET is not set 332 + # CONFIG_WIRELESS is not set 345 333 # CONFIG_RFKILL is not set 346 334 # CONFIG_NET_9P is not set 347 335 ··· 445 445 # CONFIG_BLK_DEV_XIP is not set 446 446 # CONFIG_CDROM_PKTCDVD is not set 447 447 # CONFIG_ATA_OVER_ETH is not set 448 + # CONFIG_BLK_DEV_HD is not set 448 449 CONFIG_MISC_DEVICES=y 449 450 # CONFIG_EEPROM_93CX6 is not set 451 + # CONFIG_ICS932S401 is not set 450 452 # CONFIG_ENCLOSURE_SERVICES is not set 453 + # CONFIG_C2PORT is not set 451 454 CONFIG_HAVE_IDE=y 452 455 # CONFIG_IDE is not set 453 456 ··· 493 490 CONFIG_SCSI_LOWLEVEL=y 494 491 # CONFIG_ISCSI_TCP is not set 495 492 # CONFIG_SCSI_DEBUG is not set 493 + # CONFIG_SCSI_DH is not set 496 494 CONFIG_ATA=y 497 495 # CONFIG_ATA_NONSTANDARD is not set 498 496 CONFIG_SATA_PMP=y 499 - # CONFIG_SATA_FSL is not set 500 497 CONFIG_ATA_SFF=y 501 498 # CONFIG_SATA_MV is not set 502 499 CONFIG_PATA_MPC52xx=y ··· 504 501 # CONFIG_MD is not set 505 502 # CONFIG_MACINTOSH_DRIVERS is not set 506 503 CONFIG_NETDEVICES=y 507 - # CONFIG_NETDEVICES_MULTIQUEUE is not set 508 504 # CONFIG_DUMMY is not set 509 505 # CONFIG_BONDING is not set 510 506 # CONFIG_MACVLAN is not set ··· 533 531 # CONFIG_IBM_NEW_EMAC_RGMII is not set 534 532 # CONFIG_IBM_NEW_EMAC_TAH is not set 535 533 # CONFIG_IBM_NEW_EMAC_EMAC4 is not set 534 + # CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set 535 + # CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set 536 + # CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set 536 537 # CONFIG_B44 is not set 537 538 CONFIG_FEC_MPC52xx=y 538 539 CONFIG_FEC_MPC52xx_MDIO=y ··· 547 542 # 548 543 # CONFIG_WLAN_PRE80211 is not set 549 544 # CONFIG_WLAN_80211 is not set 550 - # CONFIG_IWLWIFI is not set 551 545 # CONFIG_IWLWIFI_LEDS is not set 552 546 # CONFIG_WAN is not set 553 547 # CONFIG_PPP is not set ··· 572 568 # Character devices 573 569 # 574 570 # CONFIG_VT is not set 571 + CONFIG_DEVKMEM=y 575 572 # CONFIG_SERIAL_NONSTANDARD is not set 576 573 577 574 # ··· 601 596 CONFIG_I2C=y 602 597 CONFIG_I2C_BOARDINFO=y 603 598 CONFIG_I2C_CHARDEV=y 599 + CONFIG_I2C_HELPER_AUTO=y 604 600 605 601 # 606 602 # I2C Hardware Bus support 607 603 # 604 + 605 + # 606 + # I2C system bus drivers (mostly embedded / system-on-chip) 607 + # 608 608 CONFIG_I2C_MPC=y 609 609 # CONFIG_I2C_OCORES is not set 610 - # CONFIG_I2C_PARPORT_LIGHT is not set 611 610 # CONFIG_I2C_SIMTEC is not set 611 + 612 + # 613 + # External I2C/SMBus adapter drivers 614 + # 615 + # CONFIG_I2C_PARPORT_LIGHT is not set 612 616 # CONFIG_I2C_TAOS_EVM is not set 617 + 618 + # 619 + # Other I2C/SMBus bus drivers 620 + # 613 621 # CONFIG_I2C_PCA_PLATFORM is not set 614 622 615 623 # 616 624 # Miscellaneous I2C Chip support 617 625 # 618 626 # CONFIG_DS1682 is not set 627 + # CONFIG_AT24 is not set 619 628 CONFIG_SENSORS_EEPROM=y 620 629 # CONFIG_SENSORS_PCF8574 is not set 621 630 # CONFIG_PCF8575 is not set 631 + # CONFIG_SENSORS_PCA9539 is not set 622 632 # CONFIG_SENSORS_PCF8591 is not set 623 633 # CONFIG_SENSORS_MAX6875 is not set 624 634 # CONFIG_SENSORS_TSL2550 is not set ··· 642 622 # CONFIG_I2C_DEBUG_BUS is not set 643 623 # CONFIG_I2C_DEBUG_CHIP is not set 644 624 # CONFIG_SPI is not set 625 + CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y 626 + # CONFIG_GPIOLIB is not set 645 627 # CONFIG_W1 is not set 646 628 # CONFIG_POWER_SUPPLY is not set 647 629 CONFIG_HWMON=y 648 630 # CONFIG_HWMON_VID is not set 631 + # CONFIG_SENSORS_AD7414 is not set 649 632 # CONFIG_SENSORS_AD7418 is not set 650 633 # CONFIG_SENSORS_ADM1021 is not set 651 634 # CONFIG_SENSORS_ADM1025 is not set ··· 656 633 # CONFIG_SENSORS_ADM1029 is not set 657 634 # CONFIG_SENSORS_ADM1031 is not set 658 635 # CONFIG_SENSORS_ADM9240 is not set 636 + # CONFIG_SENSORS_ADT7462 is not set 659 637 # CONFIG_SENSORS_ADT7470 is not set 660 638 # CONFIG_SENSORS_ADT7473 is not set 661 639 # CONFIG_SENSORS_ATXP1 is not set ··· 699 675 # CONFIG_SENSORS_W83627EHF is not set 700 676 # CONFIG_HWMON_DEBUG_CHIP is not set 701 677 # CONFIG_THERMAL is not set 678 + # CONFIG_THERMAL_HWMON is not set 702 679 CONFIG_WATCHDOG=y 703 680 # CONFIG_WATCHDOG_NOWAYOUT is not set 704 681 ··· 708 683 # 709 684 # CONFIG_SOFT_WATCHDOG is not set 710 685 # CONFIG_MPC5200_WDT is not set 686 + CONFIG_SSB_POSSIBLE=y 711 687 712 688 # 713 689 # Sonics Silicon Backplane 714 690 # 715 - CONFIG_SSB_POSSIBLE=y 716 691 # CONFIG_SSB is not set 717 692 718 693 # 719 694 # Multifunction device drivers 720 695 # 696 + # CONFIG_MFD_CORE is not set 721 697 # CONFIG_MFD_SM501 is not set 722 698 # CONFIG_HTC_PASIC3 is not set 699 + # CONFIG_MFD_TMIO is not set 700 + # CONFIG_PMIC_DA903X is not set 701 + # CONFIG_MFD_WM8400 is not set 702 + # CONFIG_MFD_WM8350_I2C is not set 703 + # CONFIG_REGULATOR is not set 723 704 724 705 # 725 706 # Multimedia devices 726 707 # 708 + 709 + # 710 + # Multimedia core support 711 + # 727 712 # CONFIG_VIDEO_DEV is not set 728 713 # CONFIG_DVB_CORE is not set 714 + # CONFIG_VIDEO_MEDIA is not set 715 + 716 + # 717 + # Multimedia drivers 718 + # 729 719 CONFIG_DAB=y 730 720 731 721 # ··· 755 715 # Display device support 756 716 # 757 717 # CONFIG_DISPLAY_SUPPORT is not set 758 - 759 - # 760 - # Sound 761 - # 762 718 # CONFIG_SOUND is not set 763 719 # CONFIG_USB_SUPPORT is not set 764 720 # CONFIG_MMC is not set ··· 765 729 # 766 730 # LED drivers 767 731 # 732 + # CONFIG_LEDS_PCA955X is not set 768 733 769 734 # 770 735 # LED Triggers ··· 773 736 CONFIG_LEDS_TRIGGERS=y 774 737 CONFIG_LEDS_TRIGGER_TIMER=y 775 738 # CONFIG_LEDS_TRIGGER_HEARTBEAT is not set 739 + # CONFIG_LEDS_TRIGGER_BACKLIGHT is not set 776 740 # CONFIG_LEDS_TRIGGER_DEFAULT_ON is not set 741 + # CONFIG_ACCESSIBILITY is not set 777 742 # CONFIG_EDAC is not set 778 743 CONFIG_RTC_LIB=y 779 744 CONFIG_RTC_CLASS=y ··· 806 767 # CONFIG_RTC_DRV_PCF8583 is not set 807 768 # CONFIG_RTC_DRV_M41T80 is not set 808 769 # CONFIG_RTC_DRV_S35390A is not set 770 + # CONFIG_RTC_DRV_FM3130 is not set 771 + # CONFIG_RTC_DRV_RX8581 is not set 809 772 810 773 # 811 774 # SPI RTC drivers ··· 817 776 # Platform RTC drivers 818 777 # 819 778 # CONFIG_RTC_DRV_CMOS is not set 779 + # CONFIG_RTC_DRV_DS1286 is not set 820 780 # CONFIG_RTC_DRV_DS1511 is not set 821 781 # CONFIG_RTC_DRV_DS1553 is not set 822 782 # CONFIG_RTC_DRV_DS1742 is not set 823 783 # CONFIG_RTC_DRV_STK17TA8 is not set 824 784 # CONFIG_RTC_DRV_M48T86 is not set 785 + # CONFIG_RTC_DRV_M48T35 is not set 825 786 # CONFIG_RTC_DRV_M48T59 is not set 787 + # CONFIG_RTC_DRV_BQ4802 is not set 826 788 # CONFIG_RTC_DRV_V3020 is not set 827 789 828 790 # 829 791 # on-CPU RTC drivers 830 792 # 793 + # CONFIG_RTC_DRV_PPC is not set 831 794 # CONFIG_DMADEVICES is not set 832 795 # CONFIG_UIO is not set 796 + # CONFIG_STAGING is not set 797 + CONFIG_STAGING_EXCLUDE_BUILD=y 833 798 834 799 # 835 800 # File systems ··· 847 800 CONFIG_EXT3_FS_XATTR=y 848 801 # CONFIG_EXT3_FS_POSIX_ACL is not set 849 802 # CONFIG_EXT3_FS_SECURITY is not set 850 - # CONFIG_EXT4DEV_FS is not set 803 + # CONFIG_EXT4_FS is not set 851 804 CONFIG_JBD=y 852 805 CONFIG_FS_MBCACHE=y 853 806 # CONFIG_REISERFS_FS is not set 854 807 # CONFIG_JFS_FS is not set 855 808 # CONFIG_FS_POSIX_ACL is not set 809 + CONFIG_FILE_LOCKING=y 856 810 # CONFIG_XFS_FS is not set 857 811 # CONFIG_OCFS2_FS is not set 858 812 CONFIG_DNOTIFY=y ··· 886 838 CONFIG_PROC_FS=y 887 839 CONFIG_PROC_KCORE=y 888 840 CONFIG_PROC_SYSCTL=y 841 + CONFIG_PROC_PAGE_MONITOR=y 889 842 CONFIG_SYSFS=y 890 843 CONFIG_TMPFS=y 891 844 # CONFIG_TMPFS_POSIX_ACL is not set ··· 917 868 CONFIG_CRAMFS=y 918 869 # CONFIG_VXFS_FS is not set 919 870 # CONFIG_MINIX_FS is not set 871 + # CONFIG_OMFS_FS is not set 920 872 # CONFIG_HPFS_FS is not set 921 873 # CONFIG_QNX4FS_FS is not set 922 874 # CONFIG_ROMFS_FS is not set ··· 928 878 CONFIG_NFS_V3=y 929 879 # CONFIG_NFS_V3_ACL is not set 930 880 CONFIG_NFS_V4=y 931 - # CONFIG_NFSD is not set 932 881 CONFIG_ROOT_NFS=y 882 + # CONFIG_NFSD is not set 933 883 CONFIG_LOCKD=y 934 884 CONFIG_LOCKD_V4=y 935 885 CONFIG_NFS_COMMON=y 936 886 CONFIG_SUNRPC=y 937 887 CONFIG_SUNRPC_GSS=y 938 - # CONFIG_SUNRPC_BIND34 is not set 888 + # CONFIG_SUNRPC_REGISTER_V4 is not set 939 889 CONFIG_RPCSEC_GSS_KRB5=y 940 890 # CONFIG_RPCSEC_GSS_SPKM3 is not set 941 891 # CONFIG_SMB_FS is not set ··· 1011 961 # Library routines 1012 962 # 1013 963 CONFIG_BITREVERSE=y 1014 - # CONFIG_GENERIC_FIND_FIRST_BIT is not set 1015 964 # CONFIG_CRC_CCITT is not set 1016 965 # CONFIG_CRC16 is not set 966 + # CONFIG_CRC_T10DIF is not set 1017 967 # CONFIG_CRC_ITU_T is not set 1018 968 CONFIG_CRC32=y 1019 969 # CONFIG_CRC7 is not set ··· 1040 990 CONFIG_DEBUG_KERNEL=y 1041 991 # CONFIG_DEBUG_SHIRQ is not set 1042 992 CONFIG_DETECT_SOFTLOCKUP=y 993 + # CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set 994 + CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0 1043 995 CONFIG_SCHED_DEBUG=y 1044 996 # CONFIG_SCHEDSTATS is not set 1045 997 # CONFIG_TIMER_STATS is not set 998 + # CONFIG_DEBUG_OBJECTS is not set 1046 999 # CONFIG_SLUB_DEBUG_ON is not set 1047 1000 # CONFIG_SLUB_STATS is not set 1048 1001 # CONFIG_DEBUG_RT_MUTEXES is not set ··· 1059 1006 CONFIG_DEBUG_INFO=y 1060 1007 # CONFIG_DEBUG_VM is not set 1061 1008 # CONFIG_DEBUG_WRITECOUNT is not set 1009 + # CONFIG_DEBUG_MEMORY_INIT is not set 1062 1010 # CONFIG_DEBUG_LIST is not set 1063 1011 # CONFIG_DEBUG_SG is not set 1064 1012 # CONFIG_BOOT_PRINTK_DELAY is not set 1013 + # CONFIG_RCU_TORTURE_TEST is not set 1014 + # CONFIG_RCU_CPU_STALL_DETECTOR is not set 1065 1015 # CONFIG_BACKTRACE_SELF_TEST is not set 1016 + # CONFIG_DEBUG_BLOCK_EXT_DEVT is not set 1066 1017 # CONFIG_FAULT_INJECTION is not set 1018 + # CONFIG_LATENCYTOP is not set 1019 + CONFIG_HAVE_FUNCTION_TRACER=y 1020 + 1021 + # 1022 + # Tracers 1023 + # 1024 + # CONFIG_FUNCTION_TRACER is not set 1025 + # CONFIG_SCHED_TRACER is not set 1026 + # CONFIG_CONTEXT_SWITCH_TRACER is not set 1027 + # CONFIG_BOOT_TRACER is not set 1028 + # CONFIG_STACK_TRACER is not set 1029 + # CONFIG_DYNAMIC_PRINTK_DEBUG is not set 1067 1030 # CONFIG_SAMPLES is not set 1031 + CONFIG_HAVE_ARCH_KGDB=y 1032 + # CONFIG_KGDB is not set 1068 1033 # CONFIG_DEBUG_STACKOVERFLOW is not set 1069 1034 # CONFIG_DEBUG_STACK_USAGE is not set 1070 1035 # CONFIG_DEBUG_PAGEALLOC is not set 1071 - # CONFIG_DEBUGGER is not set 1036 + # CONFIG_CODE_PATCHING_SELFTEST is not set 1037 + # CONFIG_FTR_FIXUP_SELFTEST is not set 1038 + # CONFIG_MSI_BITMAP_SELFTEST is not set 1039 + # CONFIG_XMON is not set 1072 1040 # CONFIG_IRQSTACKS is not set 1073 1041 # CONFIG_BDI_SWITCH is not set 1074 1042 # CONFIG_BOOTX_TEXT is not set ··· 1100 1026 # 1101 1027 # CONFIG_KEYS is not set 1102 1028 # CONFIG_SECURITY is not set 1029 + # CONFIG_SECURITYFS is not set 1103 1030 # CONFIG_SECURITY_FILE_CAPABILITIES is not set 1104 1031 CONFIG_CRYPTO=y 1105 1032 1106 1033 # 1107 1034 # Crypto core or helper 1108 1035 # 1036 + # CONFIG_CRYPTO_FIPS is not set 1109 1037 CONFIG_CRYPTO_ALGAPI=y 1038 + CONFIG_CRYPTO_AEAD=y 1110 1039 CONFIG_CRYPTO_BLKCIPHER=y 1040 + CONFIG_CRYPTO_HASH=y 1041 + CONFIG_CRYPTO_RNG=y 1111 1042 CONFIG_CRYPTO_MANAGER=y 1112 1043 # CONFIG_CRYPTO_GF128MUL is not set 1113 1044 # CONFIG_CRYPTO_NULL is not set ··· 1150 1071 # CONFIG_CRYPTO_MD4 is not set 1151 1072 CONFIG_CRYPTO_MD5=y 1152 1073 # CONFIG_CRYPTO_MICHAEL_MIC is not set 1074 + # CONFIG_CRYPTO_RMD128 is not set 1075 + # CONFIG_CRYPTO_RMD160 is not set 1076 + # CONFIG_CRYPTO_RMD256 is not set 1077 + # CONFIG_CRYPTO_RMD320 is not set 1153 1078 # CONFIG_CRYPTO_SHA1 is not set 1154 1079 # CONFIG_CRYPTO_SHA256 is not set 1155 1080 # CONFIG_CRYPTO_SHA512 is not set ··· 1184 1101 # 1185 1102 # CONFIG_CRYPTO_DEFLATE is not set 1186 1103 # CONFIG_CRYPTO_LZO is not set 1104 + 1105 + # 1106 + # Random Number Generation 1107 + # 1108 + # CONFIG_CRYPTO_ANSI_CPRNG is not set 1187 1109 CONFIG_CRYPTO_HW=y 1188 1110 CONFIG_PPC_CLOCK=y 1189 1111 CONFIG_PPC_LIB_RHEAP=y
+132 -50
arch/powerpc/configs/52xx/pcm030_defconfig
··· 1 1 # 2 2 # Automatically generated make config: don't edit 3 - # Linux kernel version: 2.6.25 4 - # Tue Apr 29 07:13:19 2008 3 + # Linux kernel version: 2.6.28-rc4 4 + # Thu Nov 13 02:13:16 2008 5 5 # 6 6 # CONFIG_PPC64 is not set 7 7 ··· 22 22 # CONFIG_SMP is not set 23 23 CONFIG_PPC32=y 24 24 CONFIG_WORD_SIZE=32 25 - CONFIG_PPC_MERGE=y 25 + # CONFIG_ARCH_PHYS_ADDR_T_64BIT is not set 26 26 CONFIG_MMU=y 27 27 CONFIG_GENERIC_CMOS_UPDATE=y 28 28 CONFIG_GENERIC_TIME=y ··· 32 32 # CONFIG_HAVE_SETUP_PER_CPU_AREA is not set 33 33 CONFIG_IRQ_PER_CPU=y 34 34 CONFIG_STACKTRACE_SUPPORT=y 35 + CONFIG_HAVE_LATENCYTOP_SUPPORT=y 35 36 CONFIG_LOCKDEP_SUPPORT=y 36 37 CONFIG_RWSEM_XCHGADD_ALGORITHM=y 37 38 CONFIG_ARCH_HAS_ILOG2_U32=y ··· 105 104 CONFIG_TIMERFD=y 106 105 CONFIG_EVENTFD=y 107 106 CONFIG_SHMEM=y 107 + CONFIG_AIO=y 108 108 # CONFIG_VM_EVENT_COUNTERS is not set 109 + CONFIG_PCI_QUIRKS=y 109 110 CONFIG_SLAB=y 110 111 # CONFIG_SLUB is not set 111 112 # CONFIG_SLOB is not set ··· 115 112 # CONFIG_MARKERS is not set 116 113 CONFIG_HAVE_OPROFILE=y 117 114 # CONFIG_KPROBES is not set 115 + CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y 116 + CONFIG_HAVE_IOREMAP_PROT=y 118 117 CONFIG_HAVE_KPROBES=y 119 118 CONFIG_HAVE_KRETPROBES=y 120 - CONFIG_PROC_PAGE_MONITOR=y 119 + CONFIG_HAVE_ARCH_TRACEHOOK=y 120 + CONFIG_HAVE_CLK=y 121 + # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set 121 122 CONFIG_SLABINFO=y 122 123 CONFIG_RT_MUTEXES=y 123 124 # CONFIG_TINY_SHMEM is not set 124 125 CONFIG_BASE_SMALL=0 125 126 CONFIG_MODULES=y 127 + # CONFIG_MODULE_FORCE_LOAD is not set 126 128 CONFIG_MODULE_UNLOAD=y 127 129 # CONFIG_MODULE_FORCE_UNLOAD is not set 128 130 # CONFIG_MODVERSIONS is not set 129 131 # CONFIG_MODULE_SRCVERSION_ALL is not set 130 - # CONFIG_KMOD is not set 132 + CONFIG_KMOD=y 131 133 CONFIG_BLOCK=y 132 134 # CONFIG_LBD is not set 133 135 # CONFIG_BLK_DEV_IO_TRACE is not set 134 136 # CONFIG_LSF is not set 135 137 # CONFIG_BLK_DEV_BSG is not set 138 + # CONFIG_BLK_DEV_INTEGRITY is not set 136 139 137 140 # 138 141 # IO Schedulers ··· 153 144 CONFIG_DEFAULT_NOOP=y 154 145 CONFIG_DEFAULT_IOSCHED="noop" 155 146 CONFIG_CLASSIC_RCU=y 147 + # CONFIG_FREEZER is not set 156 148 157 149 # 158 150 # Platform support 159 151 # 160 152 CONFIG_PPC_MULTIPLATFORM=y 161 - # CONFIG_PPC_82xx is not set 162 - # CONFIG_PPC_83xx is not set 163 - # CONFIG_PPC_86xx is not set 164 153 CONFIG_CLASSIC32=y 165 154 # CONFIG_PPC_CHRP is not set 166 - # CONFIG_PPC_MPC512x is not set 167 - # CONFIG_PPC_MPC5121 is not set 168 155 # CONFIG_MPC5121_ADS is not set 156 + # CONFIG_MPC5121_GENERIC is not set 169 157 CONFIG_PPC_MPC52xx=y 170 158 CONFIG_PPC_MPC5200_SIMPLE=y 171 159 # CONFIG_PPC_EFIKA is not set ··· 172 166 # CONFIG_PPC_PMAC is not set 173 167 # CONFIG_PPC_CELL is not set 174 168 # CONFIG_PPC_CELL_NATIVE is not set 169 + # CONFIG_PPC_82xx is not set 175 170 # CONFIG_PQ2ADS is not set 171 + # CONFIG_PPC_83xx is not set 172 + # CONFIG_PPC_86xx is not set 176 173 # CONFIG_EMBEDDED6xx is not set 177 174 # CONFIG_IPIC is not set 178 175 # CONFIG_MPIC is not set ··· 208 199 # CONFIG_HZ_300 is not set 209 200 # CONFIG_HZ_1000 is not set 210 201 CONFIG_HZ=100 211 - # CONFIG_SCHED_HRTICK is not set 202 + CONFIG_SCHED_HRTICK=y 212 203 # CONFIG_PREEMPT_NONE is not set 213 204 # CONFIG_PREEMPT_VOLUNTARY is not set 214 205 CONFIG_PREEMPT=y 215 206 # CONFIG_PREEMPT_RCU is not set 216 207 CONFIG_BINFMT_ELF=y 208 + # CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set 209 + # CONFIG_HAVE_AOUT is not set 217 210 # CONFIG_BINFMT_MISC is not set 218 211 # CONFIG_IOMMU_HELPER is not set 219 212 CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y ··· 230 219 # CONFIG_SPARSEMEM_MANUAL is not set 231 220 CONFIG_FLATMEM=y 232 221 CONFIG_FLAT_NODE_MEM_MAP=y 233 - # CONFIG_SPARSEMEM_STATIC is not set 234 - # CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set 235 222 CONFIG_PAGEFLAGS_EXTENDED=y 236 223 CONFIG_SPLIT_PTLOCK_CPUS=4 224 + CONFIG_MIGRATION=y 237 225 # CONFIG_RESOURCES_64BIT is not set 226 + # CONFIG_PHYS_ADDR_T_64BIT is not set 238 227 CONFIG_ZONE_DMA_FLAG=1 239 228 CONFIG_BOUNCE=y 240 229 CONFIG_VIRT_TO_BUS=y 230 + CONFIG_UNEVICTABLE_LRU=y 241 231 CONFIG_FORCE_MAX_ZONEORDER=11 242 232 CONFIG_PROC_DEVICETREE=y 243 233 # CONFIG_CMDLINE_BOOL is not set 234 + CONFIG_EXTRA_TARGETS="" 244 235 # CONFIG_PM is not set 245 236 # CONFIG_SECCOMP is not set 246 237 CONFIG_ISA_DMA_API=y ··· 253 240 CONFIG_ZONE_DMA=y 254 241 CONFIG_GENERIC_ISA_DMA=y 255 242 # CONFIG_PPC_INDIRECT_PCI is not set 256 - CONFIG_FSL_SOC=y 243 + CONFIG_PPC_PCI_CHOICE=y 257 244 CONFIG_PCI=y 258 245 CONFIG_PCI_DOMAINS=y 259 246 CONFIG_PCI_SYSCALL=y ··· 278 265 CONFIG_KERNEL_START=0xc0000000 279 266 CONFIG_PHYSICAL_START=0x00000000 280 267 CONFIG_TASK_SIZE=0xc0000000 281 - 282 - # 283 - # Networking 284 - # 285 268 CONFIG_NET=y 286 269 287 270 # ··· 322 313 # CONFIG_TIPC is not set 323 314 # CONFIG_ATM is not set 324 315 # CONFIG_BRIDGE is not set 316 + # CONFIG_NET_DSA is not set 325 317 # CONFIG_VLAN_8021Q is not set 326 318 # CONFIG_DECNET is not set 327 319 # CONFIG_LLC2 is not set ··· 343 333 # CONFIG_IRDA is not set 344 334 # CONFIG_BT is not set 345 335 # CONFIG_AF_RXRPC is not set 346 - 347 - # 348 - # Wireless 349 - # 350 - # CONFIG_CFG80211 is not set 351 - # CONFIG_WIRELESS_EXT is not set 352 - # CONFIG_MAC80211 is not set 353 - # CONFIG_IEEE80211 is not set 336 + # CONFIG_PHONET is not set 337 + # CONFIG_WIRELESS is not set 354 338 # CONFIG_RFKILL is not set 355 339 # CONFIG_NET_9P is not set 356 340 ··· 488 484 # CONFIG_SCSI_SAS_LIBSAS is not set 489 485 # CONFIG_SCSI_SRP_ATTRS is not set 490 486 # CONFIG_SCSI_LOWLEVEL is not set 487 + # CONFIG_SCSI_DH is not set 491 488 CONFIG_ATA=m 492 489 # CONFIG_ATA_NONSTANDARD is not set 493 490 CONFIG_SATA_PMP=y 494 491 # CONFIG_SATA_AHCI is not set 495 492 # CONFIG_SATA_SIL24 is not set 496 - # CONFIG_SATA_FSL is not set 497 493 CONFIG_ATA_SFF=y 498 494 # CONFIG_SATA_SVW is not set 499 495 # CONFIG_ATA_PIIX is not set ··· 549 545 # CONFIG_PATA_VIA is not set 550 546 # CONFIG_PATA_WINBOND is not set 551 547 # CONFIG_PATA_PLATFORM is not set 548 + # CONFIG_PATA_SCH is not set 552 549 # CONFIG_MD is not set 553 550 # CONFIG_FUSION is not set 554 551 555 552 # 556 553 # IEEE 1394 (FireWire) support 557 554 # 555 + 556 + # 557 + # Enable only one of the two stacks, unless you know what you are doing 558 + # 558 559 # CONFIG_FIREWIRE is not set 559 560 # CONFIG_IEEE1394 is not set 560 561 # CONFIG_I2O is not set 561 562 # CONFIG_MACINTOSH_DRIVERS is not set 562 563 CONFIG_NETDEVICES=y 563 - # CONFIG_NETDEVICES_MULTIQUEUE is not set 564 564 # CONFIG_DUMMY is not set 565 565 # CONFIG_BONDING is not set 566 566 # CONFIG_MACVLAN is not set ··· 601 593 # CONFIG_IBM_NEW_EMAC_RGMII is not set 602 594 # CONFIG_IBM_NEW_EMAC_TAH is not set 603 595 # CONFIG_IBM_NEW_EMAC_EMAC4 is not set 596 + # CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set 597 + # CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set 598 + # CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set 604 599 # CONFIG_NET_PCI is not set 605 600 # CONFIG_B44 is not set 606 601 CONFIG_FEC_MPC52xx=y 607 602 CONFIG_FEC_MPC52xx_MDIO=y 603 + # CONFIG_ATL2 is not set 608 604 # CONFIG_NETDEV_1000 is not set 609 605 # CONFIG_NETDEV_10000 is not set 610 606 # CONFIG_TR is not set ··· 618 606 # 619 607 # CONFIG_WLAN_PRE80211 is not set 620 608 # CONFIG_WLAN_80211 is not set 621 - # CONFIG_IWLWIFI is not set 622 609 # CONFIG_IWLWIFI_LEDS is not set 623 610 624 611 # ··· 655 644 # Character devices 656 645 # 657 646 # CONFIG_VT is not set 647 + CONFIG_DEVKMEM=y 658 648 # CONFIG_SERIAL_NONSTANDARD is not set 659 649 # CONFIG_NOZOMI is not set 660 650 ··· 687 675 CONFIG_I2C=y 688 676 CONFIG_I2C_BOARDINFO=y 689 677 CONFIG_I2C_CHARDEV=y 678 + CONFIG_I2C_HELPER_AUTO=y 690 679 691 680 # 692 681 # I2C Hardware Bus support 682 + # 683 + 684 + # 685 + # PC SMBus host controller drivers 693 686 # 694 687 # CONFIG_I2C_ALI1535 is not set 695 688 # CONFIG_I2C_ALI1563 is not set ··· 702 685 # CONFIG_I2C_AMD756 is not set 703 686 # CONFIG_I2C_AMD8111 is not set 704 687 # CONFIG_I2C_I801 is not set 705 - # CONFIG_I2C_I810 is not set 688 + # CONFIG_I2C_ISCH is not set 706 689 # CONFIG_I2C_PIIX4 is not set 707 - CONFIG_I2C_MPC=y 708 690 # CONFIG_I2C_NFORCE2 is not set 709 - # CONFIG_I2C_OCORES is not set 710 - # CONFIG_I2C_PARPORT_LIGHT is not set 711 - # CONFIG_I2C_PROSAVAGE is not set 712 - # CONFIG_I2C_SAVAGE4 is not set 713 - # CONFIG_I2C_SIMTEC is not set 714 691 # CONFIG_I2C_SIS5595 is not set 715 692 # CONFIG_I2C_SIS630 is not set 716 693 # CONFIG_I2C_SIS96X is not set 717 - # CONFIG_I2C_TAOS_EVM is not set 718 - # CONFIG_I2C_STUB is not set 719 - # CONFIG_I2C_TINY_USB is not set 720 694 # CONFIG_I2C_VIA is not set 721 695 # CONFIG_I2C_VIAPRO is not set 696 + 697 + # 698 + # I2C system bus drivers (mostly embedded / system-on-chip) 699 + # 700 + CONFIG_I2C_MPC=y 701 + # CONFIG_I2C_OCORES is not set 702 + # CONFIG_I2C_SIMTEC is not set 703 + 704 + # 705 + # External I2C/SMBus adapter drivers 706 + # 707 + # CONFIG_I2C_PARPORT_LIGHT is not set 708 + # CONFIG_I2C_TAOS_EVM is not set 709 + # CONFIG_I2C_TINY_USB is not set 710 + 711 + # 712 + # Graphics adapter I2C/DDC channel drivers 713 + # 722 714 # CONFIG_I2C_VOODOO3 is not set 715 + 716 + # 717 + # Other I2C/SMBus bus drivers 718 + # 723 719 # CONFIG_I2C_PCA_PLATFORM is not set 720 + # CONFIG_I2C_STUB is not set 724 721 725 722 # 726 723 # Miscellaneous I2C Chip support 727 724 # 728 725 # CONFIG_DS1682 is not set 726 + # CONFIG_AT24 is not set 729 727 CONFIG_SENSORS_EEPROM=m 730 728 # CONFIG_SENSORS_PCF8574 is not set 731 729 # CONFIG_PCF8575 is not set 730 + # CONFIG_SENSORS_PCA9539 is not set 732 731 # CONFIG_SENSORS_PCF8591 is not set 733 732 # CONFIG_SENSORS_MAX6875 is not set 734 733 # CONFIG_SENSORS_TSL2550 is not set ··· 753 720 # CONFIG_I2C_DEBUG_BUS is not set 754 721 # CONFIG_I2C_DEBUG_CHIP is not set 755 722 # CONFIG_SPI is not set 723 + CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y 724 + # CONFIG_GPIOLIB is not set 756 725 # CONFIG_W1 is not set 757 726 # CONFIG_POWER_SUPPLY is not set 758 727 # CONFIG_HWMON is not set 759 728 # CONFIG_THERMAL is not set 729 + # CONFIG_THERMAL_HWMON is not set 760 730 # CONFIG_WATCHDOG is not set 731 + CONFIG_SSB_POSSIBLE=y 761 732 762 733 # 763 734 # Sonics Silicon Backplane 764 735 # 765 - CONFIG_SSB_POSSIBLE=y 766 736 # CONFIG_SSB is not set 767 737 768 738 # 769 739 # Multifunction device drivers 770 740 # 741 + # CONFIG_MFD_CORE is not set 771 742 # CONFIG_MFD_SM501 is not set 772 743 # CONFIG_HTC_PASIC3 is not set 744 + # CONFIG_MFD_TMIO is not set 745 + # CONFIG_PMIC_DA903X is not set 746 + # CONFIG_MFD_WM8400 is not set 747 + # CONFIG_MFD_WM8350_I2C is not set 748 + # CONFIG_REGULATOR is not set 773 749 774 750 # 775 751 # Multimedia devices 776 752 # 753 + 754 + # 755 + # Multimedia core support 756 + # 777 757 # CONFIG_VIDEO_DEV is not set 778 758 # CONFIG_DVB_CORE is not set 759 + # CONFIG_VIDEO_MEDIA is not set 760 + 761 + # 762 + # Multimedia drivers 763 + # 779 764 # CONFIG_DAB is not set 780 765 781 766 # ··· 810 759 # Display device support 811 760 # 812 761 # CONFIG_DISPLAY_SUPPORT is not set 813 - 814 - # 815 - # Sound 816 - # 817 762 # CONFIG_SOUND is not set 818 763 CONFIG_USB_SUPPORT=y 819 764 CONFIG_USB_ARCH_HAS_HCD=y ··· 828 781 # CONFIG_USB_OTG is not set 829 782 # CONFIG_USB_OTG_WHITELIST is not set 830 783 # CONFIG_USB_OTG_BLACKLIST_HUB is not set 784 + # CONFIG_USB_MON is not set 785 + # CONFIG_USB_WUSB is not set 786 + # CONFIG_USB_WUSB_CBAF is not set 831 787 832 788 # 833 789 # USB Host Controller Drivers 834 790 # 791 + # CONFIG_USB_C67X00_HCD is not set 835 792 # CONFIG_USB_EHCI_HCD is not set 836 793 # CONFIG_USB_ISP116X_HCD is not set 794 + # CONFIG_USB_ISP1760_HCD is not set 837 795 CONFIG_USB_OHCI_HCD=m 838 796 # CONFIG_USB_OHCI_HCD_PPC_SOC is not set 839 797 CONFIG_USB_OHCI_HCD_PPC_OF=y ··· 851 799 # CONFIG_USB_UHCI_HCD is not set 852 800 # CONFIG_USB_SL811_HCD is not set 853 801 # CONFIG_USB_R8A66597_HCD is not set 802 + # CONFIG_USB_WHCI_HCD is not set 803 + # CONFIG_USB_HWA_HCD is not set 804 + # CONFIG_USB_MUSB_HDRC is not set 854 805 855 806 # 856 807 # USB Device Class drivers 857 808 # 858 809 # CONFIG_USB_ACM is not set 859 810 # CONFIG_USB_PRINTER is not set 811 + # CONFIG_USB_WDM is not set 812 + # CONFIG_USB_TMC is not set 860 813 861 814 # 862 815 # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' ··· 890 833 # 891 834 # CONFIG_USB_MDC800 is not set 892 835 # CONFIG_USB_MICROTEK is not set 893 - # CONFIG_USB_MON is not set 894 836 895 837 # 896 838 # USB port drivers ··· 902 846 # CONFIG_USB_EMI62 is not set 903 847 # CONFIG_USB_EMI26 is not set 904 848 # CONFIG_USB_ADUTUX is not set 905 - # CONFIG_USB_AUERSWALD is not set 849 + # CONFIG_USB_SEVSEG is not set 906 850 # CONFIG_USB_RIO500 is not set 907 851 # CONFIG_USB_LEGOTOWER is not set 908 852 # CONFIG_USB_LCD is not set ··· 918 862 # CONFIG_USB_TRANCEVIBRATOR is not set 919 863 # CONFIG_USB_IOWARRIOR is not set 920 864 # CONFIG_USB_TEST is not set 865 + # CONFIG_USB_ISIGHTFW is not set 866 + # CONFIG_USB_VST is not set 921 867 # CONFIG_USB_GADGET is not set 868 + # CONFIG_UWB is not set 922 869 # CONFIG_MMC is not set 923 870 # CONFIG_MEMSTICK is not set 924 871 # CONFIG_NEW_LEDS is not set 872 + # CONFIG_ACCESSIBILITY is not set 925 873 # CONFIG_INFINIBAND is not set 926 874 # CONFIG_EDAC is not set 927 875 CONFIG_RTC_LIB=m ··· 954 894 # CONFIG_RTC_DRV_PCF8583 is not set 955 895 # CONFIG_RTC_DRV_M41T80 is not set 956 896 # CONFIG_RTC_DRV_S35390A is not set 897 + # CONFIG_RTC_DRV_FM3130 is not set 898 + # CONFIG_RTC_DRV_RX8581 is not set 957 899 958 900 # 959 901 # SPI RTC drivers ··· 965 903 # Platform RTC drivers 966 904 # 967 905 # CONFIG_RTC_DRV_CMOS is not set 906 + # CONFIG_RTC_DRV_DS1286 is not set 968 907 # CONFIG_RTC_DRV_DS1511 is not set 969 908 # CONFIG_RTC_DRV_DS1553 is not set 970 909 # CONFIG_RTC_DRV_DS1742 is not set 971 910 # CONFIG_RTC_DRV_STK17TA8 is not set 972 911 # CONFIG_RTC_DRV_M48T86 is not set 912 + # CONFIG_RTC_DRV_M48T35 is not set 973 913 # CONFIG_RTC_DRV_M48T59 is not set 914 + # CONFIG_RTC_DRV_BQ4802 is not set 974 915 # CONFIG_RTC_DRV_V3020 is not set 975 916 976 917 # 977 918 # on-CPU RTC drivers 978 919 # 920 + # CONFIG_RTC_DRV_PPC is not set 979 921 # CONFIG_DMADEVICES is not set 980 922 # CONFIG_UIO is not set 923 + # CONFIG_STAGING is not set 924 + CONFIG_STAGING_EXCLUDE_BUILD=y 981 925 982 926 # 983 927 # File systems ··· 995 927 CONFIG_EXT3_FS_XATTR=y 996 928 # CONFIG_EXT3_FS_POSIX_ACL is not set 997 929 # CONFIG_EXT3_FS_SECURITY is not set 998 - # CONFIG_EXT4DEV_FS is not set 930 + # CONFIG_EXT4_FS is not set 999 931 CONFIG_JBD=m 1000 932 CONFIG_FS_MBCACHE=m 1001 933 # CONFIG_REISERFS_FS is not set 1002 934 # CONFIG_JFS_FS is not set 1003 935 # CONFIG_FS_POSIX_ACL is not set 936 + CONFIG_FILE_LOCKING=y 1004 937 # CONFIG_XFS_FS is not set 1005 938 # CONFIG_OCFS2_FS is not set 1006 939 # CONFIG_DNOTIFY is not set ··· 1033 964 CONFIG_PROC_FS=y 1034 965 # CONFIG_PROC_KCORE is not set 1035 966 CONFIG_PROC_SYSCTL=y 967 + CONFIG_PROC_PAGE_MONITOR=y 1036 968 CONFIG_SYSFS=y 1037 969 CONFIG_TMPFS=y 1038 970 # CONFIG_TMPFS_POSIX_ACL is not set ··· 1064 994 # CONFIG_CRAMFS is not set 1065 995 # CONFIG_VXFS_FS is not set 1066 996 # CONFIG_MINIX_FS is not set 997 + # CONFIG_OMFS_FS is not set 1067 998 # CONFIG_HPFS_FS is not set 1068 999 # CONFIG_QNX4FS_FS is not set 1069 1000 # CONFIG_ROMFS_FS is not set ··· 1075 1004 CONFIG_NFS_V3=y 1076 1005 # CONFIG_NFS_V3_ACL is not set 1077 1006 # CONFIG_NFS_V4 is not set 1078 - # CONFIG_NFSD is not set 1079 1007 CONFIG_ROOT_NFS=y 1008 + # CONFIG_NFSD is not set 1080 1009 CONFIG_LOCKD=y 1081 1010 CONFIG_LOCKD_V4=y 1082 1011 CONFIG_NFS_COMMON=y 1083 1012 CONFIG_SUNRPC=y 1084 - # CONFIG_SUNRPC_BIND34 is not set 1013 + # CONFIG_SUNRPC_REGISTER_V4 is not set 1085 1014 # CONFIG_RPCSEC_GSS_KRB5 is not set 1086 1015 # CONFIG_RPCSEC_GSS_SPKM3 is not set 1087 1016 # CONFIG_SMB_FS is not set ··· 1141 1070 # Library routines 1142 1071 # 1143 1072 CONFIG_BITREVERSE=y 1144 - # CONFIG_GENERIC_FIND_FIRST_BIT is not set 1145 1073 # CONFIG_CRC_CCITT is not set 1146 1074 # CONFIG_CRC16 is not set 1075 + # CONFIG_CRC_T10DIF is not set 1147 1076 # CONFIG_CRC_ITU_T is not set 1148 1077 CONFIG_CRC32=y 1149 1078 # CONFIG_CRC7 is not set ··· 1169 1098 # CONFIG_HEADERS_CHECK is not set 1170 1099 # CONFIG_DEBUG_KERNEL is not set 1171 1100 # CONFIG_DEBUG_BUGVERBOSE is not set 1101 + # CONFIG_DEBUG_MEMORY_INIT is not set 1102 + # CONFIG_RCU_CPU_STALL_DETECTOR is not set 1103 + # CONFIG_LATENCYTOP is not set 1104 + CONFIG_HAVE_FUNCTION_TRACER=y 1105 + 1106 + # 1107 + # Tracers 1108 + # 1109 + # CONFIG_DYNAMIC_PRINTK_DEBUG is not set 1172 1110 # CONFIG_SAMPLES is not set 1111 + CONFIG_HAVE_ARCH_KGDB=y 1173 1112 # CONFIG_IRQSTACKS is not set 1174 1113 # CONFIG_BOOTX_TEXT is not set 1175 1114 # CONFIG_PPC_EARLY_DEBUG is not set ··· 1189 1108 # 1190 1109 # CONFIG_KEYS is not set 1191 1110 # CONFIG_SECURITY is not set 1111 + # CONFIG_SECURITYFS is not set 1192 1112 # CONFIG_SECURITY_FILE_CAPABILITIES is not set 1193 1113 # CONFIG_CRYPTO is not set 1194 1114 CONFIG_PPC_CLOCK=y
+137 -43
arch/powerpc/configs/52xx/tqm5200_defconfig
··· 1 1 # 2 2 # Automatically generated make config: don't edit 3 - # Linux kernel version: 2.6.25 4 - # Tue Apr 29 07:12:39 2008 3 + # Linux kernel version: 2.6.28-rc4 4 + # Thu Nov 13 02:09:30 2008 5 5 # 6 6 # CONFIG_PPC64 is not set 7 7 ··· 22 22 # CONFIG_SMP is not set 23 23 CONFIG_PPC32=y 24 24 CONFIG_WORD_SIZE=32 25 - CONFIG_PPC_MERGE=y 25 + # CONFIG_ARCH_PHYS_ADDR_T_64BIT is not set 26 26 CONFIG_MMU=y 27 27 CONFIG_GENERIC_CMOS_UPDATE=y 28 28 CONFIG_GENERIC_TIME=y ··· 32 32 # CONFIG_HAVE_SETUP_PER_CPU_AREA is not set 33 33 CONFIG_IRQ_PER_CPU=y 34 34 CONFIG_STACKTRACE_SUPPORT=y 35 + CONFIG_HAVE_LATENCYTOP_SUPPORT=y 35 36 CONFIG_LOCKDEP_SUPPORT=y 36 37 CONFIG_RWSEM_XCHGADD_ALGORITHM=y 37 38 CONFIG_ARCH_HAS_ILOG2_U32=y ··· 103 102 CONFIG_TIMERFD=y 104 103 CONFIG_EVENTFD=y 105 104 CONFIG_SHMEM=y 105 + CONFIG_AIO=y 106 106 CONFIG_VM_EVENT_COUNTERS=y 107 107 CONFIG_SLUB_DEBUG=y 108 108 # CONFIG_SLAB is not set ··· 112 110 # CONFIG_PROFILING is not set 113 111 # CONFIG_MARKERS is not set 114 112 CONFIG_HAVE_OPROFILE=y 113 + CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y 114 + CONFIG_HAVE_IOREMAP_PROT=y 115 115 CONFIG_HAVE_KPROBES=y 116 116 CONFIG_HAVE_KRETPROBES=y 117 - CONFIG_PROC_PAGE_MONITOR=y 117 + CONFIG_HAVE_ARCH_TRACEHOOK=y 118 + CONFIG_HAVE_CLK=y 119 + # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set 118 120 CONFIG_SLABINFO=y 119 121 CONFIG_RT_MUTEXES=y 120 122 # CONFIG_TINY_SHMEM is not set 121 123 CONFIG_BASE_SMALL=0 122 124 CONFIG_MODULES=y 125 + # CONFIG_MODULE_FORCE_LOAD is not set 123 126 CONFIG_MODULE_UNLOAD=y 124 127 # CONFIG_MODULE_FORCE_UNLOAD is not set 125 128 CONFIG_MODVERSIONS=y ··· 135 128 # CONFIG_BLK_DEV_IO_TRACE is not set 136 129 # CONFIG_LSF is not set 137 130 # CONFIG_BLK_DEV_BSG is not set 131 + # CONFIG_BLK_DEV_INTEGRITY is not set 138 132 139 133 # 140 134 # IO Schedulers ··· 150 142 # CONFIG_DEFAULT_NOOP is not set 151 143 CONFIG_DEFAULT_IOSCHED="anticipatory" 152 144 CONFIG_CLASSIC_RCU=y 145 + # CONFIG_FREEZER is not set 153 146 154 147 # 155 148 # Platform support 156 149 # 157 150 CONFIG_PPC_MULTIPLATFORM=y 158 - # CONFIG_PPC_82xx is not set 159 - # CONFIG_PPC_83xx is not set 160 - # CONFIG_PPC_86xx is not set 161 151 CONFIG_CLASSIC32=y 162 152 # CONFIG_PPC_CHRP is not set 163 - # CONFIG_PPC_MPC512x is not set 164 - # CONFIG_PPC_MPC5121 is not set 165 153 # CONFIG_MPC5121_ADS is not set 154 + # CONFIG_MPC5121_GENERIC is not set 166 155 CONFIG_PPC_MPC52xx=y 167 156 CONFIG_PPC_MPC5200_SIMPLE=y 168 157 # CONFIG_PPC_EFIKA is not set ··· 169 164 # CONFIG_PPC_PMAC is not set 170 165 # CONFIG_PPC_CELL is not set 171 166 # CONFIG_PPC_CELL_NATIVE is not set 167 + # CONFIG_PPC_82xx is not set 172 168 # CONFIG_PQ2ADS is not set 169 + # CONFIG_PPC_83xx is not set 170 + # CONFIG_PPC_86xx is not set 173 171 # CONFIG_EMBEDDED6xx is not set 174 172 # CONFIG_IPIC is not set 175 173 # CONFIG_MPIC is not set ··· 196 188 # Kernel options 197 189 # 198 190 # CONFIG_HIGHMEM is not set 199 - # CONFIG_TICK_ONESHOT is not set 200 191 # CONFIG_NO_HZ is not set 201 192 # CONFIG_HIGH_RES_TIMERS is not set 202 193 CONFIG_GENERIC_CLOCKEVENTS_BUILD=y ··· 209 202 # CONFIG_PREEMPT_VOLUNTARY is not set 210 203 # CONFIG_PREEMPT is not set 211 204 CONFIG_BINFMT_ELF=y 205 + # CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set 206 + # CONFIG_HAVE_AOUT is not set 212 207 # CONFIG_BINFMT_MISC is not set 213 208 # CONFIG_IOMMU_HELPER is not set 214 209 CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y ··· 225 216 # CONFIG_SPARSEMEM_MANUAL is not set 226 217 CONFIG_FLATMEM=y 227 218 CONFIG_FLAT_NODE_MEM_MAP=y 228 - # CONFIG_SPARSEMEM_STATIC is not set 229 - # CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set 230 219 CONFIG_PAGEFLAGS_EXTENDED=y 231 220 CONFIG_SPLIT_PTLOCK_CPUS=4 221 + CONFIG_MIGRATION=y 232 222 # CONFIG_RESOURCES_64BIT is not set 223 + # CONFIG_PHYS_ADDR_T_64BIT is not set 233 224 CONFIG_ZONE_DMA_FLAG=1 234 225 CONFIG_BOUNCE=y 235 226 CONFIG_VIRT_TO_BUS=y 227 + CONFIG_UNEVICTABLE_LRU=y 236 228 CONFIG_FORCE_MAX_ZONEORDER=11 237 229 CONFIG_PROC_DEVICETREE=y 238 230 # CONFIG_CMDLINE_BOOL is not set 231 + CONFIG_EXTRA_TARGETS="" 239 232 CONFIG_PM=y 240 - # CONFIG_PM_LEGACY is not set 241 233 # CONFIG_PM_DEBUG is not set 242 234 CONFIG_SECCOMP=y 243 235 CONFIG_ISA_DMA_API=y ··· 248 238 # 249 239 CONFIG_ZONE_DMA=y 250 240 CONFIG_GENERIC_ISA_DMA=y 251 - CONFIG_FSL_SOC=y 241 + CONFIG_PPC_PCI_CHOICE=y 252 242 # CONFIG_PCI is not set 253 243 # CONFIG_PCI_DOMAINS is not set 254 244 # CONFIG_PCI_SYSCALL is not set ··· 269 259 CONFIG_KERNEL_START=0xc0000000 270 260 CONFIG_PHYSICAL_START=0x00000000 271 261 CONFIG_TASK_SIZE=0xc0000000 272 - 273 - # 274 - # Networking 275 - # 276 262 CONFIG_NET=y 277 263 278 264 # ··· 319 313 # CONFIG_TIPC is not set 320 314 # CONFIG_ATM is not set 321 315 # CONFIG_BRIDGE is not set 316 + # CONFIG_NET_DSA is not set 322 317 # CONFIG_VLAN_8021Q is not set 323 318 # CONFIG_DECNET is not set 324 319 # CONFIG_LLC2 is not set ··· 340 333 # CONFIG_IRDA is not set 341 334 # CONFIG_BT is not set 342 335 # CONFIG_AF_RXRPC is not set 343 - 344 - # 345 - # Wireless 346 - # 347 - # CONFIG_CFG80211 is not set 348 - # CONFIG_WIRELESS_EXT is not set 349 - # CONFIG_MAC80211 is not set 350 - # CONFIG_IEEE80211 is not set 336 + # CONFIG_PHONET is not set 337 + # CONFIG_WIRELESS is not set 351 338 # CONFIG_RFKILL is not set 352 339 # CONFIG_NET_9P is not set 353 340 ··· 452 451 # CONFIG_BLK_DEV_XIP is not set 453 452 # CONFIG_CDROM_PKTCDVD is not set 454 453 # CONFIG_ATA_OVER_ETH is not set 454 + # CONFIG_BLK_DEV_HD is not set 455 455 # CONFIG_MISC_DEVICES is not set 456 456 CONFIG_HAVE_IDE=y 457 457 # CONFIG_IDE is not set ··· 497 495 CONFIG_SCSI_LOWLEVEL=y 498 496 # CONFIG_ISCSI_TCP is not set 499 497 # CONFIG_SCSI_DEBUG is not set 498 + # CONFIG_SCSI_DH is not set 500 499 CONFIG_ATA=y 501 500 # CONFIG_ATA_NONSTANDARD is not set 502 501 CONFIG_SATA_PMP=y 503 - # CONFIG_SATA_FSL is not set 504 502 CONFIG_ATA_SFF=y 505 503 # CONFIG_SATA_MV is not set 506 504 CONFIG_PATA_MPC52xx=y ··· 509 507 # CONFIG_MD is not set 510 508 # CONFIG_MACINTOSH_DRIVERS is not set 511 509 CONFIG_NETDEVICES=y 512 - # CONFIG_NETDEVICES_MULTIQUEUE is not set 513 510 # CONFIG_DUMMY is not set 514 511 # CONFIG_BONDING is not set 515 512 # CONFIG_MACVLAN is not set ··· 538 537 # CONFIG_IBM_NEW_EMAC_RGMII is not set 539 538 # CONFIG_IBM_NEW_EMAC_TAH is not set 540 539 # CONFIG_IBM_NEW_EMAC_EMAC4 is not set 540 + # CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set 541 + # CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set 542 + # CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set 541 543 # CONFIG_B44 is not set 542 544 CONFIG_FEC_MPC52xx=y 543 545 CONFIG_FEC_MPC52xx_MDIO=y ··· 552 548 # 553 549 # CONFIG_WLAN_PRE80211 is not set 554 550 # CONFIG_WLAN_80211 is not set 555 - # CONFIG_IWLWIFI is not set 556 551 # CONFIG_IWLWIFI_LEDS is not set 557 552 558 553 # ··· 586 583 # Character devices 587 584 # 588 585 # CONFIG_VT is not set 586 + CONFIG_DEVKMEM=y 589 587 # CONFIG_SERIAL_NONSTANDARD is not set 590 588 591 589 # ··· 615 611 CONFIG_I2C=y 616 612 CONFIG_I2C_BOARDINFO=y 617 613 CONFIG_I2C_CHARDEV=y 614 + CONFIG_I2C_HELPER_AUTO=y 618 615 619 616 # 620 617 # I2C Hardware Bus support 621 618 # 619 + 620 + # 621 + # I2C system bus drivers (mostly embedded / system-on-chip) 622 + # 622 623 CONFIG_I2C_MPC=y 623 624 # CONFIG_I2C_OCORES is not set 624 - # CONFIG_I2C_PARPORT_LIGHT is not set 625 625 # CONFIG_I2C_SIMTEC is not set 626 + 627 + # 628 + # External I2C/SMBus adapter drivers 629 + # 630 + # CONFIG_I2C_PARPORT_LIGHT is not set 626 631 # CONFIG_I2C_TAOS_EVM is not set 627 - # CONFIG_I2C_STUB is not set 628 632 # CONFIG_I2C_TINY_USB is not set 633 + 634 + # 635 + # Other I2C/SMBus bus drivers 636 + # 629 637 # CONFIG_I2C_PCA_PLATFORM is not set 638 + # CONFIG_I2C_STUB is not set 630 639 631 640 # 632 641 # Miscellaneous I2C Chip support 633 642 # 634 643 # CONFIG_DS1682 is not set 644 + # CONFIG_AT24 is not set 635 645 # CONFIG_SENSORS_EEPROM is not set 636 646 # CONFIG_SENSORS_PCF8574 is not set 637 647 # CONFIG_PCF8575 is not set 648 + # CONFIG_SENSORS_PCA9539 is not set 638 649 # CONFIG_SENSORS_PCF8591 is not set 639 650 # CONFIG_SENSORS_MAX6875 is not set 640 651 # CONFIG_SENSORS_TSL2550 is not set ··· 658 639 # CONFIG_I2C_DEBUG_BUS is not set 659 640 # CONFIG_I2C_DEBUG_CHIP is not set 660 641 # CONFIG_SPI is not set 642 + CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y 643 + # CONFIG_GPIOLIB is not set 661 644 # CONFIG_W1 is not set 662 645 # CONFIG_POWER_SUPPLY is not set 663 646 CONFIG_HWMON=y 664 647 # CONFIG_HWMON_VID is not set 648 + # CONFIG_SENSORS_AD7414 is not set 665 649 # CONFIG_SENSORS_AD7418 is not set 666 650 # CONFIG_SENSORS_ADM1021 is not set 667 651 # CONFIG_SENSORS_ADM1025 is not set ··· 672 650 # CONFIG_SENSORS_ADM1029 is not set 673 651 # CONFIG_SENSORS_ADM1031 is not set 674 652 # CONFIG_SENSORS_ADM9240 is not set 653 + # CONFIG_SENSORS_ADT7462 is not set 675 654 # CONFIG_SENSORS_ADT7470 is not set 676 655 # CONFIG_SENSORS_ADT7473 is not set 677 656 # CONFIG_SENSORS_ATXP1 is not set ··· 715 692 # CONFIG_SENSORS_W83627EHF is not set 716 693 # CONFIG_HWMON_DEBUG_CHIP is not set 717 694 # CONFIG_THERMAL is not set 695 + # CONFIG_THERMAL_HWMON is not set 718 696 CONFIG_WATCHDOG=y 719 697 # CONFIG_WATCHDOG_NOWAYOUT is not set 720 698 ··· 729 705 # USB-based Watchdog Cards 730 706 # 731 707 # CONFIG_USBPCWATCHDOG is not set 708 + CONFIG_SSB_POSSIBLE=y 732 709 733 710 # 734 711 # Sonics Silicon Backplane 735 712 # 736 - CONFIG_SSB_POSSIBLE=y 737 713 # CONFIG_SSB is not set 738 714 739 715 # 740 716 # Multifunction device drivers 741 717 # 718 + # CONFIG_MFD_CORE is not set 742 719 # CONFIG_MFD_SM501 is not set 743 720 # CONFIG_HTC_PASIC3 is not set 721 + # CONFIG_MFD_TMIO is not set 722 + # CONFIG_PMIC_DA903X is not set 723 + # CONFIG_MFD_WM8400 is not set 724 + # CONFIG_MFD_WM8350_I2C is not set 725 + # CONFIG_REGULATOR is not set 744 726 745 727 # 746 728 # Multimedia devices 747 729 # 730 + 731 + # 732 + # Multimedia core support 733 + # 748 734 # CONFIG_VIDEO_DEV is not set 749 735 # CONFIG_DVB_CORE is not set 736 + # CONFIG_VIDEO_MEDIA is not set 737 + 738 + # 739 + # Multimedia drivers 740 + # 750 741 # CONFIG_DAB is not set 751 742 752 743 # ··· 776 737 # Display device support 777 738 # 778 739 # CONFIG_DISPLAY_SUPPORT is not set 779 - 780 - # 781 - # Sound 782 - # 783 740 # CONFIG_SOUND is not set 784 741 CONFIG_USB_SUPPORT=y 785 742 CONFIG_USB_ARCH_HAS_HCD=y ··· 795 760 # CONFIG_USB_OTG is not set 796 761 # CONFIG_USB_OTG_WHITELIST is not set 797 762 # CONFIG_USB_OTG_BLACKLIST_HUB is not set 763 + CONFIG_USB_MON=y 764 + # CONFIG_USB_WUSB is not set 765 + # CONFIG_USB_WUSB_CBAF is not set 798 766 799 767 # 800 768 # USB Host Controller Drivers 801 769 # 770 + # CONFIG_USB_C67X00_HCD is not set 802 771 # CONFIG_USB_ISP116X_HCD is not set 772 + # CONFIG_USB_ISP1760_HCD is not set 803 773 CONFIG_USB_OHCI_HCD=y 804 774 CONFIG_USB_OHCI_HCD_PPC_SOC=y 805 775 CONFIG_USB_OHCI_HCD_PPC_OF=y ··· 815 775 # CONFIG_USB_OHCI_LITTLE_ENDIAN is not set 816 776 # CONFIG_USB_SL811_HCD is not set 817 777 # CONFIG_USB_R8A66597_HCD is not set 778 + # CONFIG_USB_HWA_HCD is not set 779 + # CONFIG_USB_MUSB_HDRC is not set 818 780 819 781 # 820 782 # USB Device Class drivers 821 783 # 822 784 # CONFIG_USB_ACM is not set 823 785 # CONFIG_USB_PRINTER is not set 786 + # CONFIG_USB_WDM is not set 787 + # CONFIG_USB_TMC is not set 824 788 825 789 # 826 790 # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' ··· 853 809 # 854 810 # CONFIG_USB_MDC800 is not set 855 811 # CONFIG_USB_MICROTEK is not set 856 - CONFIG_USB_MON=y 857 812 858 813 # 859 814 # USB port drivers ··· 865 822 # CONFIG_USB_EMI62 is not set 866 823 # CONFIG_USB_EMI26 is not set 867 824 # CONFIG_USB_ADUTUX is not set 868 - # CONFIG_USB_AUERSWALD is not set 825 + # CONFIG_USB_SEVSEG is not set 869 826 # CONFIG_USB_RIO500 is not set 870 827 # CONFIG_USB_LEGOTOWER is not set 871 828 # CONFIG_USB_LCD is not set ··· 881 838 # CONFIG_USB_TRANCEVIBRATOR is not set 882 839 # CONFIG_USB_IOWARRIOR is not set 883 840 # CONFIG_USB_TEST is not set 841 + # CONFIG_USB_ISIGHTFW is not set 842 + # CONFIG_USB_VST is not set 884 843 # CONFIG_USB_GADGET is not set 885 844 # CONFIG_MMC is not set 886 845 # CONFIG_MEMSTICK is not set 887 846 # CONFIG_NEW_LEDS is not set 847 + # CONFIG_ACCESSIBILITY is not set 888 848 # CONFIG_EDAC is not set 889 849 CONFIG_RTC_LIB=y 890 850 CONFIG_RTC_CLASS=y ··· 918 872 # CONFIG_RTC_DRV_PCF8583 is not set 919 873 # CONFIG_RTC_DRV_M41T80 is not set 920 874 # CONFIG_RTC_DRV_S35390A is not set 875 + # CONFIG_RTC_DRV_FM3130 is not set 876 + # CONFIG_RTC_DRV_RX8581 is not set 921 877 922 878 # 923 879 # SPI RTC drivers ··· 929 881 # Platform RTC drivers 930 882 # 931 883 # CONFIG_RTC_DRV_CMOS is not set 884 + # CONFIG_RTC_DRV_DS1286 is not set 932 885 # CONFIG_RTC_DRV_DS1511 is not set 933 886 # CONFIG_RTC_DRV_DS1553 is not set 934 887 # CONFIG_RTC_DRV_DS1742 is not set 935 888 # CONFIG_RTC_DRV_STK17TA8 is not set 936 889 # CONFIG_RTC_DRV_M48T86 is not set 890 + # CONFIG_RTC_DRV_M48T35 is not set 937 891 # CONFIG_RTC_DRV_M48T59 is not set 892 + # CONFIG_RTC_DRV_BQ4802 is not set 938 893 # CONFIG_RTC_DRV_V3020 is not set 939 894 940 895 # 941 896 # on-CPU RTC drivers 942 897 # 898 + # CONFIG_RTC_DRV_PPC is not set 943 899 # CONFIG_DMADEVICES is not set 944 900 # CONFIG_UIO is not set 901 + # CONFIG_STAGING is not set 902 + CONFIG_STAGING_EXCLUDE_BUILD=y 945 903 946 904 # 947 905 # File systems ··· 959 905 CONFIG_EXT3_FS_XATTR=y 960 906 # CONFIG_EXT3_FS_POSIX_ACL is not set 961 907 # CONFIG_EXT3_FS_SECURITY is not set 962 - # CONFIG_EXT4DEV_FS is not set 908 + # CONFIG_EXT4_FS is not set 963 909 CONFIG_JBD=y 964 910 CONFIG_FS_MBCACHE=y 965 911 # CONFIG_REISERFS_FS is not set 966 912 # CONFIG_JFS_FS is not set 967 913 # CONFIG_FS_POSIX_ACL is not set 914 + CONFIG_FILE_LOCKING=y 968 915 # CONFIG_XFS_FS is not set 969 916 # CONFIG_OCFS2_FS is not set 970 917 CONFIG_DNOTIFY=y ··· 998 943 CONFIG_PROC_FS=y 999 944 CONFIG_PROC_KCORE=y 1000 945 CONFIG_PROC_SYSCTL=y 946 + CONFIG_PROC_PAGE_MONITOR=y 1001 947 CONFIG_SYSFS=y 1002 948 CONFIG_TMPFS=y 1003 949 # CONFIG_TMPFS_POSIX_ACL is not set ··· 1029 973 CONFIG_CRAMFS=y 1030 974 # CONFIG_VXFS_FS is not set 1031 975 # CONFIG_MINIX_FS is not set 976 + # CONFIG_OMFS_FS is not set 1032 977 # CONFIG_HPFS_FS is not set 1033 978 # CONFIG_QNX4FS_FS is not set 1034 979 # CONFIG_ROMFS_FS is not set ··· 1040 983 CONFIG_NFS_V3=y 1041 984 # CONFIG_NFS_V3_ACL is not set 1042 985 CONFIG_NFS_V4=y 1043 - # CONFIG_NFSD is not set 1044 986 CONFIG_ROOT_NFS=y 987 + # CONFIG_NFSD is not set 1045 988 CONFIG_LOCKD=y 1046 989 CONFIG_LOCKD_V4=y 1047 990 CONFIG_NFS_COMMON=y 1048 991 CONFIG_SUNRPC=y 1049 992 CONFIG_SUNRPC_GSS=y 1050 - # CONFIG_SUNRPC_BIND34 is not set 993 + # CONFIG_SUNRPC_REGISTER_V4 is not set 1051 994 CONFIG_RPCSEC_GSS_KRB5=y 1052 995 # CONFIG_RPCSEC_GSS_SPKM3 is not set 1053 996 # CONFIG_SMB_FS is not set ··· 1123 1066 # Library routines 1124 1067 # 1125 1068 CONFIG_BITREVERSE=y 1126 - # CONFIG_GENERIC_FIND_FIRST_BIT is not set 1127 1069 # CONFIG_CRC_CCITT is not set 1128 1070 # CONFIG_CRC16 is not set 1071 + # CONFIG_CRC_T10DIF is not set 1129 1072 # CONFIG_CRC_ITU_T is not set 1130 1073 CONFIG_CRC32=y 1131 1074 # CONFIG_CRC7 is not set ··· 1152 1095 CONFIG_DEBUG_KERNEL=y 1153 1096 # CONFIG_DEBUG_SHIRQ is not set 1154 1097 CONFIG_DETECT_SOFTLOCKUP=y 1098 + # CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set 1099 + CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0 1155 1100 CONFIG_SCHED_DEBUG=y 1156 1101 # CONFIG_SCHEDSTATS is not set 1157 1102 # CONFIG_TIMER_STATS is not set 1103 + # CONFIG_DEBUG_OBJECTS is not set 1158 1104 # CONFIG_SLUB_DEBUG_ON is not set 1159 1105 # CONFIG_SLUB_STATS is not set 1160 1106 # CONFIG_DEBUG_RT_MUTEXES is not set ··· 1171 1111 CONFIG_DEBUG_INFO=y 1172 1112 # CONFIG_DEBUG_VM is not set 1173 1113 # CONFIG_DEBUG_WRITECOUNT is not set 1114 + # CONFIG_DEBUG_MEMORY_INIT is not set 1174 1115 # CONFIG_DEBUG_LIST is not set 1175 1116 # CONFIG_DEBUG_SG is not set 1176 1117 # CONFIG_BOOT_PRINTK_DELAY is not set 1177 1118 # CONFIG_RCU_TORTURE_TEST is not set 1119 + # CONFIG_RCU_CPU_STALL_DETECTOR is not set 1178 1120 # CONFIG_BACKTRACE_SELF_TEST is not set 1121 + # CONFIG_DEBUG_BLOCK_EXT_DEVT is not set 1179 1122 # CONFIG_FAULT_INJECTION is not set 1123 + # CONFIG_LATENCYTOP is not set 1124 + CONFIG_HAVE_FUNCTION_TRACER=y 1125 + 1126 + # 1127 + # Tracers 1128 + # 1129 + # CONFIG_FUNCTION_TRACER is not set 1130 + # CONFIG_SCHED_TRACER is not set 1131 + # CONFIG_CONTEXT_SWITCH_TRACER is not set 1132 + # CONFIG_BOOT_TRACER is not set 1133 + # CONFIG_STACK_TRACER is not set 1134 + # CONFIG_DYNAMIC_PRINTK_DEBUG is not set 1180 1135 # CONFIG_SAMPLES is not set 1136 + CONFIG_HAVE_ARCH_KGDB=y 1137 + # CONFIG_KGDB is not set 1181 1138 # CONFIG_DEBUG_STACKOVERFLOW is not set 1182 1139 # CONFIG_DEBUG_STACK_USAGE is not set 1183 1140 # CONFIG_DEBUG_PAGEALLOC is not set 1184 - # CONFIG_DEBUGGER is not set 1141 + # CONFIG_CODE_PATCHING_SELFTEST is not set 1142 + # CONFIG_FTR_FIXUP_SELFTEST is not set 1143 + # CONFIG_MSI_BITMAP_SELFTEST is not set 1144 + # CONFIG_XMON is not set 1185 1145 # CONFIG_IRQSTACKS is not set 1186 1146 # CONFIG_BDI_SWITCH is not set 1187 1147 # CONFIG_BOOTX_TEXT is not set ··· 1212 1132 # 1213 1133 # CONFIG_KEYS is not set 1214 1134 # CONFIG_SECURITY is not set 1135 + # CONFIG_SECURITYFS is not set 1215 1136 # CONFIG_SECURITY_FILE_CAPABILITIES is not set 1216 1137 CONFIG_CRYPTO=y 1217 1138 1218 1139 # 1219 1140 # Crypto core or helper 1220 1141 # 1142 + # CONFIG_CRYPTO_FIPS is not set 1221 1143 CONFIG_CRYPTO_ALGAPI=y 1144 + CONFIG_CRYPTO_AEAD=y 1222 1145 CONFIG_CRYPTO_BLKCIPHER=y 1146 + CONFIG_CRYPTO_HASH=y 1147 + CONFIG_CRYPTO_RNG=y 1223 1148 CONFIG_CRYPTO_MANAGER=y 1224 1149 # CONFIG_CRYPTO_GF128MUL is not set 1225 1150 # CONFIG_CRYPTO_NULL is not set ··· 1263 1178 # CONFIG_CRYPTO_MD4 is not set 1264 1179 CONFIG_CRYPTO_MD5=y 1265 1180 # CONFIG_CRYPTO_MICHAEL_MIC is not set 1181 + # CONFIG_CRYPTO_RMD128 is not set 1182 + # CONFIG_CRYPTO_RMD160 is not set 1183 + # CONFIG_CRYPTO_RMD256 is not set 1184 + # CONFIG_CRYPTO_RMD320 is not set 1266 1185 # CONFIG_CRYPTO_SHA1 is not set 1267 1186 # CONFIG_CRYPTO_SHA256 is not set 1268 1187 # CONFIG_CRYPTO_SHA512 is not set ··· 1297 1208 # 1298 1209 # CONFIG_CRYPTO_DEFLATE is not set 1299 1210 # CONFIG_CRYPTO_LZO is not set 1211 + 1212 + # 1213 + # Random Number Generation 1214 + # 1215 + # CONFIG_CRYPTO_ANSI_CPRNG is not set 1300 1216 CONFIG_CRYPTO_HW=y 1301 1217 CONFIG_PPC_CLOCK=y 1302 1218 CONFIG_PPC_LIB_RHEAP=y
+1 -1
arch/powerpc/configs/86xx/gef_sbc610_defconfig
··· 838 838 # 839 839 # MII PHY device drivers 840 840 # 841 - CONFIG_MARVELL_PHY=y 841 + # CONFIG_MARVELL_PHY is not set 842 842 # CONFIG_DAVICOM_PHY is not set 843 843 # CONFIG_QSEMI_PHY is not set 844 844 # CONFIG_LXT_PHY is not set
+439 -136
arch/powerpc/configs/mpc5200_defconfig
··· 1 1 # 2 2 # Automatically generated make config: don't edit 3 - # Linux kernel version: 2.6.24-rc6 4 - # Fri Jan 18 14:19:54 2008 3 + # Linux kernel version: 2.6.28-rc4 4 + # Thu Nov 13 02:09:07 2008 5 5 # 6 6 # CONFIG_PPC64 is not set 7 7 ··· 22 22 # CONFIG_SMP is not set 23 23 CONFIG_PPC32=y 24 24 CONFIG_WORD_SIZE=32 25 - CONFIG_PPC_MERGE=y 25 + # CONFIG_ARCH_PHYS_ADDR_T_64BIT is not set 26 26 CONFIG_MMU=y 27 27 CONFIG_GENERIC_CMOS_UPDATE=y 28 28 CONFIG_GENERIC_TIME=y 29 29 CONFIG_GENERIC_TIME_VSYSCALL=y 30 30 CONFIG_GENERIC_CLOCKEVENTS=y 31 31 CONFIG_GENERIC_HARDIRQS=y 32 + # CONFIG_HAVE_SETUP_PER_CPU_AREA is not set 32 33 CONFIG_IRQ_PER_CPU=y 34 + CONFIG_STACKTRACE_SUPPORT=y 35 + CONFIG_HAVE_LATENCYTOP_SUPPORT=y 36 + CONFIG_LOCKDEP_SUPPORT=y 33 37 CONFIG_RWSEM_XCHGADD_ALGORITHM=y 34 38 CONFIG_ARCH_HAS_ILOG2_U32=y 35 39 CONFIG_GENERIC_HWEIGHT=y ··· 51 47 # CONFIG_GENERIC_TBSYNC is not set 52 48 CONFIG_AUDIT_ARCH=y 53 49 CONFIG_GENERIC_BUG=y 54 - # CONFIG_DEFAULT_UIMAGE is not set 50 + CONFIG_DEFAULT_UIMAGE=y 51 + CONFIG_ARCH_SUSPEND_POSSIBLE=y 55 52 # CONFIG_PPC_DCR_NATIVE is not set 56 53 # CONFIG_PPC_DCR_MMIO is not set 57 54 CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" ··· 71 66 # CONFIG_POSIX_MQUEUE is not set 72 67 # CONFIG_BSD_PROCESS_ACCT is not set 73 68 # CONFIG_TASKSTATS is not set 74 - # CONFIG_USER_NS is not set 75 - # CONFIG_PID_NS is not set 76 69 # CONFIG_AUDIT is not set 77 70 # CONFIG_IKCONFIG is not set 78 71 CONFIG_LOG_BUF_SHIFT=14 79 72 # CONFIG_CGROUPS is not set 80 - CONFIG_FAIR_GROUP_SCHED=y 81 - CONFIG_FAIR_USER_SCHED=y 82 - # CONFIG_FAIR_CGROUP_SCHED is not set 73 + # CONFIG_GROUP_SCHED is not set 83 74 CONFIG_SYSFS_DEPRECATED=y 75 + CONFIG_SYSFS_DEPRECATED_V2=y 84 76 # CONFIG_RELAY is not set 77 + # CONFIG_NAMESPACES is not set 85 78 CONFIG_BLK_DEV_INITRD=y 86 79 CONFIG_INITRAMFS_SOURCE="" 87 80 # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set ··· 91 88 CONFIG_PRINTK=y 92 89 CONFIG_BUG=y 93 90 CONFIG_ELF_CORE=y 91 + CONFIG_COMPAT_BRK=y 94 92 CONFIG_BASE_FULL=y 95 93 CONFIG_FUTEX=y 96 94 CONFIG_ANON_INODES=y 97 95 # CONFIG_EPOLL is not set 98 96 CONFIG_SIGNALFD=y 97 + CONFIG_TIMERFD=y 99 98 CONFIG_EVENTFD=y 100 99 CONFIG_SHMEM=y 100 + CONFIG_AIO=y 101 101 CONFIG_VM_EVENT_COUNTERS=y 102 + CONFIG_PCI_QUIRKS=y 102 103 CONFIG_SLUB_DEBUG=y 103 104 # CONFIG_SLAB is not set 104 105 CONFIG_SLUB=y 105 106 # CONFIG_SLOB is not set 107 + # CONFIG_PROFILING is not set 108 + # CONFIG_MARKERS is not set 109 + CONFIG_HAVE_OPROFILE=y 110 + CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y 111 + CONFIG_HAVE_IOREMAP_PROT=y 112 + CONFIG_HAVE_KPROBES=y 113 + CONFIG_HAVE_KRETPROBES=y 114 + CONFIG_HAVE_ARCH_TRACEHOOK=y 115 + CONFIG_HAVE_CLK=y 116 + # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set 117 + CONFIG_SLABINFO=y 106 118 CONFIG_RT_MUTEXES=y 107 119 # CONFIG_TINY_SHMEM is not set 108 120 CONFIG_BASE_SMALL=0 109 121 CONFIG_MODULES=y 122 + # CONFIG_MODULE_FORCE_LOAD is not set 110 123 CONFIG_MODULE_UNLOAD=y 111 124 # CONFIG_MODULE_FORCE_UNLOAD is not set 112 125 # CONFIG_MODVERSIONS is not set 113 126 # CONFIG_MODULE_SRCVERSION_ALL is not set 114 - # CONFIG_KMOD is not set 127 + CONFIG_KMOD=y 115 128 CONFIG_BLOCK=y 116 129 # CONFIG_LBD is not set 117 130 # CONFIG_BLK_DEV_IO_TRACE is not set 118 131 # CONFIG_LSF is not set 119 132 # CONFIG_BLK_DEV_BSG is not set 133 + # CONFIG_BLK_DEV_INTEGRITY is not set 120 134 121 135 # 122 136 # IO Schedulers ··· 147 127 # CONFIG_DEFAULT_CFQ is not set 148 128 # CONFIG_DEFAULT_NOOP is not set 149 129 CONFIG_DEFAULT_IOSCHED="anticipatory" 130 + CONFIG_CLASSIC_RCU=y 131 + CONFIG_FREEZER=y 150 132 151 133 # 152 134 # Platform support 153 135 # 154 136 CONFIG_PPC_MULTIPLATFORM=y 155 - # CONFIG_PPC_82xx is not set 156 - # CONFIG_PPC_83xx is not set 157 - # CONFIG_PPC_86xx is not set 158 137 CONFIG_CLASSIC32=y 159 138 # CONFIG_PPC_CHRP is not set 139 + # CONFIG_MPC5121_ADS is not set 140 + # CONFIG_MPC5121_GENERIC is not set 160 141 CONFIG_PPC_MPC52xx=y 161 - CONFIG_PPC_MPC5200=y 162 - CONFIG_PPC_MPC5200_BUGFIX=y 163 142 CONFIG_PPC_MPC5200_SIMPLE=y 164 143 CONFIG_PPC_EFIKA=y 165 144 CONFIG_PPC_LITE5200=y 145 + CONFIG_PPC_MPC5200_BUGFIX=y 146 + # CONFIG_PPC_MPC5200_GPIO is not set 166 147 # CONFIG_PPC_PMAC is not set 167 148 # CONFIG_PPC_CELL is not set 168 149 # CONFIG_PPC_CELL_NATIVE is not set 150 + # CONFIG_PPC_82xx is not set 169 151 # CONFIG_PQ2ADS is not set 152 + # CONFIG_PPC_83xx is not set 153 + # CONFIG_PPC_86xx is not set 170 154 # CONFIG_EMBEDDED6xx is not set 171 155 CONFIG_PPC_NATIVE=y 172 156 # CONFIG_UDBG_RTAS_CONSOLE is not set 157 + # CONFIG_IPIC is not set 173 158 # CONFIG_MPIC is not set 174 159 # CONFIG_MPIC_WEIRD is not set 175 160 # CONFIG_PPC_I8259 is not set ··· 188 163 # CONFIG_GENERIC_IOMAP is not set 189 164 # CONFIG_CPU_FREQ is not set 190 165 # CONFIG_TAU is not set 191 - # CONFIG_CPM2 is not set 192 166 # CONFIG_FSL_ULI1575 is not set 193 167 CONFIG_PPC_BESTCOMM=y 194 168 CONFIG_PPC_BESTCOMM_ATA=y ··· 207 183 # CONFIG_HZ_300 is not set 208 184 # CONFIG_HZ_1000 is not set 209 185 CONFIG_HZ=250 186 + CONFIG_SCHED_HRTICK=y 210 187 CONFIG_PREEMPT_NONE=y 211 188 # CONFIG_PREEMPT_VOLUNTARY is not set 212 189 # CONFIG_PREEMPT is not set 213 190 CONFIG_BINFMT_ELF=y 191 + # CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set 192 + # CONFIG_HAVE_AOUT is not set 214 193 # CONFIG_BINFMT_MISC is not set 194 + # CONFIG_IOMMU_HELPER is not set 215 195 CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y 196 + CONFIG_ARCH_HAS_WALK_MEMORY=y 197 + CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y 216 198 # CONFIG_KEXEC is not set 217 199 CONFIG_ARCH_FLATMEM_ENABLE=y 218 200 CONFIG_ARCH_POPULATES_NODE_MAP=y ··· 228 198 # CONFIG_SPARSEMEM_MANUAL is not set 229 199 CONFIG_FLATMEM=y 230 200 CONFIG_FLAT_NODE_MEM_MAP=y 231 - # CONFIG_SPARSEMEM_STATIC is not set 232 - # CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set 201 + CONFIG_PAGEFLAGS_EXTENDED=y 233 202 CONFIG_SPLIT_PTLOCK_CPUS=4 203 + CONFIG_MIGRATION=y 234 204 # CONFIG_RESOURCES_64BIT is not set 205 + # CONFIG_PHYS_ADDR_T_64BIT is not set 235 206 CONFIG_ZONE_DMA_FLAG=1 236 207 CONFIG_BOUNCE=y 237 208 CONFIG_VIRT_TO_BUS=y 209 + CONFIG_UNEVICTABLE_LRU=y 210 + CONFIG_FORCE_MAX_ZONEORDER=11 238 211 CONFIG_PROC_DEVICETREE=y 239 212 # CONFIG_CMDLINE_BOOL is not set 213 + CONFIG_EXTRA_TARGETS="" 240 214 CONFIG_PM=y 241 - # CONFIG_PM_LEGACY is not set 242 215 # CONFIG_PM_DEBUG is not set 243 216 CONFIG_PM_SLEEP=y 244 - CONFIG_SUSPEND_UP_POSSIBLE=y 245 217 CONFIG_SUSPEND=y 246 - CONFIG_HIBERNATION_UP_POSSIBLE=y 247 - # CONFIG_HIBERNATION is not set 218 + CONFIG_SUSPEND_FREEZER=y 248 219 CONFIG_SECCOMP=y 249 - CONFIG_WANT_DEVICE_TREE=y 250 - CONFIG_DEVICE_TREE="" 251 220 CONFIG_ISA_DMA_API=y 252 221 253 222 # ··· 255 226 CONFIG_ZONE_DMA=y 256 227 CONFIG_GENERIC_ISA_DMA=y 257 228 # CONFIG_PPC_INDIRECT_PCI is not set 258 - CONFIG_FSL_SOC=y 229 + CONFIG_PPC_PCI_CHOICE=y 259 230 CONFIG_PCI=y 260 231 CONFIG_PCI_DOMAINS=y 261 232 CONFIG_PCI_SYSCALL=y ··· 266 237 # CONFIG_PCI_DEBUG is not set 267 238 # CONFIG_PCCARD is not set 268 239 # CONFIG_HOTPLUG_PCI is not set 240 + # CONFIG_HAS_RAPIDIO is not set 269 241 270 242 # 271 243 # Advanced setup ··· 276 246 # 277 247 # Default settings for advanced configuration options are used 278 248 # 279 - CONFIG_HIGHMEM_START=0xfe000000 280 249 CONFIG_LOWMEM_SIZE=0x30000000 250 + CONFIG_PAGE_OFFSET=0xc0000000 281 251 CONFIG_KERNEL_START=0xc0000000 252 + CONFIG_PHYSICAL_START=0x00000000 282 253 CONFIG_TASK_SIZE=0xc0000000 283 - CONFIG_BOOT_LOAD=0x00800000 284 - 285 - # 286 - # Networking 287 - # 288 254 CONFIG_NET=y 289 255 290 256 # ··· 293 267 CONFIG_XFRM_USER=m 294 268 # CONFIG_XFRM_SUB_POLICY is not set 295 269 # CONFIG_XFRM_MIGRATE is not set 270 + # CONFIG_XFRM_STATISTICS is not set 296 271 # CONFIG_NET_KEY is not set 297 272 CONFIG_INET=y 298 273 CONFIG_IP_MULTICAST=y ··· 324 297 CONFIG_DEFAULT_TCP_CONG="cubic" 325 298 # CONFIG_TCP_MD5SIG is not set 326 299 # CONFIG_IPV6 is not set 327 - # CONFIG_INET6_XFRM_TUNNEL is not set 328 - # CONFIG_INET6_TUNNEL is not set 329 300 # CONFIG_NETWORK_SECMARK is not set 330 301 # CONFIG_NETFILTER is not set 331 302 # CONFIG_IP_DCCP is not set ··· 331 306 # CONFIG_TIPC is not set 332 307 # CONFIG_ATM is not set 333 308 # CONFIG_BRIDGE is not set 309 + # CONFIG_NET_DSA is not set 334 310 # CONFIG_VLAN_8021Q is not set 335 311 # CONFIG_DECNET is not set 336 312 # CONFIG_LLC2 is not set ··· 348 322 # 349 323 # CONFIG_NET_PKTGEN is not set 350 324 # CONFIG_HAMRADIO is not set 325 + # CONFIG_CAN is not set 351 326 # CONFIG_IRDA is not set 352 327 # CONFIG_BT is not set 353 328 # CONFIG_AF_RXRPC is not set 354 - 355 - # 356 - # Wireless 357 - # 358 - # CONFIG_CFG80211 is not set 359 - # CONFIG_WIRELESS_EXT is not set 360 - # CONFIG_MAC80211 is not set 361 - # CONFIG_IEEE80211 is not set 329 + # CONFIG_PHONET is not set 330 + # CONFIG_WIRELESS is not set 362 331 # CONFIG_RFKILL is not set 363 332 # CONFIG_NET_9P is not set 364 333 ··· 378 357 CONFIG_MTD_PARTITIONS=y 379 358 # CONFIG_MTD_REDBOOT_PARTS is not set 380 359 CONFIG_MTD_CMDLINE_PARTS=y 360 + # CONFIG_MTD_OF_PARTS is not set 361 + # CONFIG_MTD_AR7_PARTS is not set 381 362 382 363 # 383 364 # User Modules And Translation Layers ··· 451 428 # 452 429 # CONFIG_MTD_UBI is not set 453 430 CONFIG_OF_DEVICE=y 431 + CONFIG_OF_I2C=y 454 432 # CONFIG_PARPORT is not set 455 433 CONFIG_BLK_DEV=y 456 434 # CONFIG_BLK_DEV_FD is not set ··· 468 444 CONFIG_BLK_DEV_RAM=y 469 445 CONFIG_BLK_DEV_RAM_COUNT=16 470 446 CONFIG_BLK_DEV_RAM_SIZE=32768 471 - CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024 447 + # CONFIG_BLK_DEV_XIP is not set 472 448 # CONFIG_CDROM_PKTCDVD is not set 473 449 # CONFIG_ATA_OVER_ETH is not set 450 + # CONFIG_BLK_DEV_HD is not set 474 451 CONFIG_MISC_DEVICES=y 475 452 # CONFIG_PHANTOM is not set 476 453 # CONFIG_EEPROM_93CX6 is not set 477 454 # CONFIG_SGI_IOC4 is not set 478 455 # CONFIG_TIFM_CORE is not set 456 + # CONFIG_ICS932S401 is not set 457 + # CONFIG_ENCLOSURE_SERVICES is not set 458 + # CONFIG_HP_ILO is not set 459 + # CONFIG_C2PORT is not set 460 + CONFIG_HAVE_IDE=y 479 461 # CONFIG_IDE is not set 480 462 481 463 # ··· 546 516 # CONFIG_SCSI_IPS is not set 547 517 # CONFIG_SCSI_INITIO is not set 548 518 # CONFIG_SCSI_INIA100 is not set 519 + # CONFIG_SCSI_MVSAS is not set 549 520 # CONFIG_SCSI_STEX is not set 550 521 # CONFIG_SCSI_SYM53C8XX_2 is not set 551 522 # CONFIG_SCSI_IPR is not set ··· 559 528 # CONFIG_SCSI_NSP32 is not set 560 529 # CONFIG_SCSI_DEBUG is not set 561 530 # CONFIG_SCSI_SRP is not set 531 + # CONFIG_SCSI_DH is not set 562 532 CONFIG_ATA=y 563 533 # CONFIG_ATA_NONSTANDARD is not set 534 + CONFIG_SATA_PMP=y 564 535 # CONFIG_SATA_AHCI is not set 536 + # CONFIG_SATA_SIL24 is not set 537 + CONFIG_ATA_SFF=y 565 538 # CONFIG_SATA_SVW is not set 566 539 # CONFIG_ATA_PIIX is not set 567 540 # CONFIG_SATA_MV is not set ··· 575 540 # CONFIG_SATA_PROMISE is not set 576 541 # CONFIG_SATA_SX4 is not set 577 542 # CONFIG_SATA_SIL is not set 578 - # CONFIG_SATA_SIL24 is not set 579 543 # CONFIG_SATA_SIS is not set 580 544 # CONFIG_SATA_ULI is not set 581 545 # CONFIG_SATA_VIA is not set ··· 604 570 # CONFIG_PATA_MPIIX is not set 605 571 # CONFIG_PATA_OLDPIIX is not set 606 572 # CONFIG_PATA_NETCELL is not set 573 + # CONFIG_PATA_NINJA32 is not set 607 574 # CONFIG_PATA_NS87410 is not set 608 575 # CONFIG_PATA_NS87415 is not set 609 576 # CONFIG_PATA_OPTI is not set ··· 621 586 # CONFIG_PATA_WINBOND is not set 622 587 CONFIG_PATA_PLATFORM=y 623 588 # CONFIG_PATA_OF_PLATFORM is not set 589 + # CONFIG_PATA_SCH is not set 624 590 # CONFIG_MD is not set 625 591 # CONFIG_FUSION is not set 626 592 627 593 # 628 594 # IEEE 1394 (FireWire) support 629 595 # 596 + 597 + # 598 + # Enable only one of the two stacks, unless you know what you are doing 599 + # 630 600 # CONFIG_FIREWIRE is not set 631 601 # CONFIG_IEEE1394 is not set 632 602 # CONFIG_I2O is not set 633 603 # CONFIG_MACINTOSH_DRIVERS is not set 634 604 CONFIG_NETDEVICES=y 635 - # CONFIG_NETDEVICES_MULTIQUEUE is not set 636 605 # CONFIG_DUMMY is not set 637 606 # CONFIG_BONDING is not set 638 607 # CONFIG_MACVLAN is not set 639 608 # CONFIG_EQUALIZER is not set 640 609 # CONFIG_TUN is not set 641 610 # CONFIG_VETH is not set 642 - # CONFIG_IP1000 is not set 643 611 # CONFIG_ARCNET is not set 644 612 CONFIG_PHYLIB=y 645 613 ··· 658 620 # CONFIG_SMSC_PHY is not set 659 621 # CONFIG_BROADCOM_PHY is not set 660 622 # CONFIG_ICPLUS_PHY is not set 623 + # CONFIG_REALTEK_PHY is not set 661 624 # CONFIG_FIXED_PHY is not set 662 625 # CONFIG_MDIO_BITBANG is not set 663 626 CONFIG_NET_ETHERNET=y ··· 673 634 # CONFIG_IBM_NEW_EMAC_RGMII is not set 674 635 # CONFIG_IBM_NEW_EMAC_TAH is not set 675 636 # CONFIG_IBM_NEW_EMAC_EMAC4 is not set 637 + # CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set 638 + # CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set 639 + # CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set 676 640 # CONFIG_NET_PCI is not set 677 641 # CONFIG_B44 is not set 678 642 CONFIG_FEC_MPC52xx=y 679 643 CONFIG_FEC_MPC52xx_MDIO=y 644 + # CONFIG_ATL2 is not set 680 645 # CONFIG_NETDEV_1000 is not set 681 646 # CONFIG_NETDEV_10000 is not set 682 647 # CONFIG_TR is not set ··· 690 647 # 691 648 # CONFIG_WLAN_PRE80211 is not set 692 649 # CONFIG_WLAN_80211 is not set 650 + # CONFIG_IWLWIFI_LEDS is not set 693 651 694 652 # 695 653 # USB Network Adapters ··· 706 662 # CONFIG_PPP is not set 707 663 # CONFIG_SLIP is not set 708 664 # CONFIG_NET_FC is not set 709 - # CONFIG_SHAPER is not set 710 665 # CONFIG_NETCONSOLE is not set 711 666 # CONFIG_NETPOLL is not set 712 667 # CONFIG_NET_POLL_CONTROLLER is not set ··· 715 672 # 716 673 # Input device support 717 674 # 718 - # CONFIG_INPUT is not set 675 + CONFIG_INPUT=y 676 + # CONFIG_INPUT_FF_MEMLESS is not set 677 + # CONFIG_INPUT_POLLDEV is not set 678 + 679 + # 680 + # Userland interfaces 681 + # 682 + CONFIG_INPUT_MOUSEDEV=y 683 + CONFIG_INPUT_MOUSEDEV_PSAUX=y 684 + CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024 685 + CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 686 + # CONFIG_INPUT_JOYDEV is not set 687 + # CONFIG_INPUT_EVDEV is not set 688 + # CONFIG_INPUT_EVBUG is not set 689 + 690 + # 691 + # Input Device Drivers 692 + # 693 + # CONFIG_INPUT_KEYBOARD is not set 694 + # CONFIG_INPUT_MOUSE is not set 695 + # CONFIG_INPUT_JOYSTICK is not set 696 + # CONFIG_INPUT_TABLET is not set 697 + # CONFIG_INPUT_TOUCHSCREEN is not set 698 + # CONFIG_INPUT_MISC is not set 719 699 720 700 # 721 701 # Hardware I/O ports ··· 749 683 # 750 684 # Character devices 751 685 # 752 - # CONFIG_VT is not set 686 + CONFIG_VT=y 687 + CONFIG_CONSOLE_TRANSLATIONS=y 688 + CONFIG_VT_CONSOLE=y 689 + CONFIG_HW_CONSOLE=y 690 + # CONFIG_VT_HW_CONSOLE_BINDING is not set 691 + CONFIG_DEVKMEM=y 753 692 # CONFIG_SERIAL_NONSTANDARD is not set 693 + # CONFIG_NOZOMI is not set 754 694 755 695 # 756 696 # Serial drivers ··· 790 718 CONFIG_I2C=y 791 719 CONFIG_I2C_BOARDINFO=y 792 720 CONFIG_I2C_CHARDEV=y 793 - 794 - # 795 - # I2C Algorithms 796 - # 797 - # CONFIG_I2C_ALGOBIT is not set 798 - # CONFIG_I2C_ALGOPCF is not set 799 - # CONFIG_I2C_ALGOPCA is not set 721 + CONFIG_I2C_HELPER_AUTO=y 722 + CONFIG_I2C_ALGOBIT=y 800 723 801 724 # 802 725 # I2C Hardware Bus support 726 + # 727 + 728 + # 729 + # PC SMBus host controller drivers 803 730 # 804 731 # CONFIG_I2C_ALI1535 is not set 805 732 # CONFIG_I2C_ALI1563 is not set ··· 806 735 # CONFIG_I2C_AMD756 is not set 807 736 # CONFIG_I2C_AMD8111 is not set 808 737 # CONFIG_I2C_I801 is not set 809 - # CONFIG_I2C_I810 is not set 738 + # CONFIG_I2C_ISCH is not set 810 739 # CONFIG_I2C_PIIX4 is not set 811 - CONFIG_I2C_MPC=y 812 740 # CONFIG_I2C_NFORCE2 is not set 813 - # CONFIG_I2C_OCORES is not set 814 - # CONFIG_I2C_PARPORT_LIGHT is not set 815 - # CONFIG_I2C_PROSAVAGE is not set 816 - # CONFIG_I2C_SAVAGE4 is not set 817 - # CONFIG_I2C_SIMTEC is not set 818 741 # CONFIG_I2C_SIS5595 is not set 819 742 # CONFIG_I2C_SIS630 is not set 820 743 # CONFIG_I2C_SIS96X is not set 821 - # CONFIG_I2C_TAOS_EVM is not set 822 - # CONFIG_I2C_STUB is not set 823 - # CONFIG_I2C_TINY_USB is not set 824 744 # CONFIG_I2C_VIA is not set 825 745 # CONFIG_I2C_VIAPRO is not set 746 + 747 + # 748 + # I2C system bus drivers (mostly embedded / system-on-chip) 749 + # 750 + CONFIG_I2C_MPC=y 751 + # CONFIG_I2C_OCORES is not set 752 + # CONFIG_I2C_SIMTEC is not set 753 + 754 + # 755 + # External I2C/SMBus adapter drivers 756 + # 757 + # CONFIG_I2C_PARPORT_LIGHT is not set 758 + # CONFIG_I2C_TAOS_EVM is not set 759 + # CONFIG_I2C_TINY_USB is not set 760 + 761 + # 762 + # Graphics adapter I2C/DDC channel drivers 763 + # 826 764 # CONFIG_I2C_VOODOO3 is not set 765 + 766 + # 767 + # Other I2C/SMBus bus drivers 768 + # 769 + # CONFIG_I2C_PCA_PLATFORM is not set 770 + # CONFIG_I2C_STUB is not set 827 771 828 772 # 829 773 # Miscellaneous I2C Chip support 830 774 # 831 - # CONFIG_SENSORS_DS1337 is not set 832 - # CONFIG_SENSORS_DS1374 is not set 833 775 # CONFIG_DS1682 is not set 776 + # CONFIG_AT24 is not set 834 777 # CONFIG_SENSORS_EEPROM is not set 835 778 # CONFIG_SENSORS_PCF8574 is not set 779 + # CONFIG_PCF8575 is not set 836 780 # CONFIG_SENSORS_PCA9539 is not set 837 781 # CONFIG_SENSORS_PCF8591 is not set 838 - # CONFIG_SENSORS_M41T00 is not set 839 782 # CONFIG_SENSORS_MAX6875 is not set 840 783 # CONFIG_SENSORS_TSL2550 is not set 841 784 # CONFIG_I2C_DEBUG_CORE is not set 842 785 # CONFIG_I2C_DEBUG_ALGO is not set 843 786 # CONFIG_I2C_DEBUG_BUS is not set 844 787 # CONFIG_I2C_DEBUG_CHIP is not set 845 - 846 - # 847 - # SPI support 848 - # 849 788 # CONFIG_SPI is not set 850 - # CONFIG_SPI_MASTER is not set 789 + CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y 790 + # CONFIG_GPIOLIB is not set 851 791 # CONFIG_W1 is not set 852 792 # CONFIG_POWER_SUPPLY is not set 853 793 CONFIG_HWMON=y 854 794 # CONFIG_HWMON_VID is not set 795 + # CONFIG_SENSORS_AD7414 is not set 855 796 # CONFIG_SENSORS_AD7418 is not set 856 797 # CONFIG_SENSORS_ADM1021 is not set 857 798 # CONFIG_SENSORS_ADM1025 is not set ··· 871 788 # CONFIG_SENSORS_ADM1029 is not set 872 789 # CONFIG_SENSORS_ADM1031 is not set 873 790 # CONFIG_SENSORS_ADM9240 is not set 791 + # CONFIG_SENSORS_ADT7462 is not set 874 792 # CONFIG_SENSORS_ADT7470 is not set 793 + # CONFIG_SENSORS_ADT7473 is not set 875 794 # CONFIG_SENSORS_ATXP1 is not set 876 795 # CONFIG_SENSORS_DS1621 is not set 877 796 # CONFIG_SENSORS_I5K_AMB is not set ··· 903 818 # CONFIG_SENSORS_SMSC47M1 is not set 904 819 # CONFIG_SENSORS_SMSC47M192 is not set 905 820 # CONFIG_SENSORS_SMSC47B397 is not set 821 + # CONFIG_SENSORS_ADS7828 is not set 906 822 # CONFIG_SENSORS_THMC50 is not set 907 823 # CONFIG_SENSORS_VIA686A is not set 908 824 # CONFIG_SENSORS_VT1211 is not set ··· 913 827 # CONFIG_SENSORS_W83792D is not set 914 828 # CONFIG_SENSORS_W83793 is not set 915 829 # CONFIG_SENSORS_W83L785TS is not set 830 + # CONFIG_SENSORS_W83L786NG is not set 916 831 # CONFIG_SENSORS_W83627HF is not set 917 832 # CONFIG_SENSORS_W83627EHF is not set 918 833 # CONFIG_HWMON_DEBUG_CHIP is not set 834 + # CONFIG_THERMAL is not set 835 + # CONFIG_THERMAL_HWMON is not set 919 836 CONFIG_WATCHDOG=y 920 837 # CONFIG_WATCHDOG_NOWAYOUT is not set 921 838 ··· 926 837 # Watchdog Device Drivers 927 838 # 928 839 # CONFIG_SOFT_WATCHDOG is not set 840 + # CONFIG_ALIM7101_WDT is not set 929 841 # CONFIG_MPC5200_WDT is not set 930 842 # CONFIG_WATCHDOG_RTAS is not set 931 843 ··· 940 850 # USB-based Watchdog Cards 941 851 # 942 852 # CONFIG_USBPCWATCHDOG is not set 853 + CONFIG_SSB_POSSIBLE=y 943 854 944 855 # 945 856 # Sonics Silicon Backplane 946 857 # 947 - CONFIG_SSB_POSSIBLE=y 948 858 # CONFIG_SSB is not set 949 859 950 860 # 951 861 # Multifunction device drivers 952 862 # 863 + # CONFIG_MFD_CORE is not set 953 864 # CONFIG_MFD_SM501 is not set 865 + # CONFIG_HTC_PASIC3 is not set 866 + # CONFIG_MFD_TMIO is not set 867 + # CONFIG_PMIC_DA903X is not set 868 + # CONFIG_MFD_WM8400 is not set 869 + # CONFIG_MFD_WM8350_I2C is not set 870 + # CONFIG_REGULATOR is not set 954 871 955 872 # 956 873 # Multimedia devices 957 874 # 875 + 876 + # 877 + # Multimedia core support 878 + # 958 879 # CONFIG_VIDEO_DEV is not set 959 880 # CONFIG_DVB_CORE is not set 881 + # CONFIG_VIDEO_MEDIA is not set 882 + 883 + # 884 + # Multimedia drivers 885 + # 960 886 CONFIG_DAB=y 961 887 # CONFIG_USB_DABUSB is not set 962 888 ··· 980 874 # Graphics support 981 875 # 982 876 # CONFIG_AGP is not set 983 - # CONFIG_DRM is not set 877 + CONFIG_DRM=y 878 + # CONFIG_DRM_TDFX is not set 879 + # CONFIG_DRM_R128 is not set 880 + # CONFIG_DRM_RADEON is not set 881 + # CONFIG_DRM_MGA is not set 882 + # CONFIG_DRM_VIA is not set 883 + # CONFIG_DRM_SAVAGE is not set 984 884 # CONFIG_VGASTATE is not set 985 - CONFIG_VIDEO_OUTPUT_CONTROL=m 986 - # CONFIG_FB is not set 987 - # CONFIG_BACKLIGHT_LCD_SUPPORT is not set 885 + CONFIG_VIDEO_OUTPUT_CONTROL=y 886 + CONFIG_FB=y 887 + # CONFIG_FIRMWARE_EDID is not set 888 + CONFIG_FB_DDC=y 889 + # CONFIG_FB_BOOT_VESA_SUPPORT is not set 890 + CONFIG_FB_CFB_FILLRECT=y 891 + CONFIG_FB_CFB_COPYAREA=y 892 + CONFIG_FB_CFB_IMAGEBLIT=y 893 + # CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set 894 + # CONFIG_FB_SYS_FILLRECT is not set 895 + # CONFIG_FB_SYS_COPYAREA is not set 896 + # CONFIG_FB_SYS_IMAGEBLIT is not set 897 + # CONFIG_FB_FOREIGN_ENDIAN is not set 898 + # CONFIG_FB_SYS_FOPS is not set 899 + # CONFIG_FB_SVGALIB is not set 900 + CONFIG_FB_MACMODES=y 901 + CONFIG_FB_BACKLIGHT=y 902 + CONFIG_FB_MODE_HELPERS=y 903 + # CONFIG_FB_TILEBLITTING is not set 904 + 905 + # 906 + # Frame buffer hardware drivers 907 + # 908 + # CONFIG_FB_CIRRUS is not set 909 + # CONFIG_FB_PM2 is not set 910 + # CONFIG_FB_CYBER2000 is not set 911 + # CONFIG_FB_OF is not set 912 + # CONFIG_FB_CT65550 is not set 913 + # CONFIG_FB_ASILIANT is not set 914 + # CONFIG_FB_IMSTT is not set 915 + # CONFIG_FB_VGA16 is not set 916 + # CONFIG_FB_S1D13XXX is not set 917 + # CONFIG_FB_NVIDIA is not set 918 + # CONFIG_FB_RIVA is not set 919 + # CONFIG_FB_MATROX is not set 920 + CONFIG_FB_RADEON=y 921 + CONFIG_FB_RADEON_I2C=y 922 + CONFIG_FB_RADEON_BACKLIGHT=y 923 + # CONFIG_FB_RADEON_DEBUG is not set 924 + # CONFIG_FB_ATY128 is not set 925 + # CONFIG_FB_ATY is not set 926 + # CONFIG_FB_S3 is not set 927 + # CONFIG_FB_SAVAGE is not set 928 + # CONFIG_FB_SIS is not set 929 + # CONFIG_FB_VIA is not set 930 + # CONFIG_FB_NEOMAGIC is not set 931 + # CONFIG_FB_KYRO is not set 932 + # CONFIG_FB_3DFX is not set 933 + # CONFIG_FB_VOODOO1 is not set 934 + # CONFIG_FB_VT8623 is not set 935 + # CONFIG_FB_TRIDENT is not set 936 + # CONFIG_FB_ARK is not set 937 + # CONFIG_FB_PM3 is not set 938 + # CONFIG_FB_CARMINE is not set 939 + # CONFIG_FB_IBM_GXT4500 is not set 940 + # CONFIG_FB_VIRTUAL is not set 941 + # CONFIG_FB_METRONOME is not set 942 + # CONFIG_FB_MB862XX is not set 943 + CONFIG_BACKLIGHT_LCD_SUPPORT=y 944 + CONFIG_LCD_CLASS_DEVICE=m 945 + # CONFIG_LCD_ILI9320 is not set 946 + # CONFIG_LCD_PLATFORM is not set 947 + CONFIG_BACKLIGHT_CLASS_DEVICE=y 948 + # CONFIG_BACKLIGHT_CORGI is not set 988 949 989 950 # 990 951 # Display device support ··· 1059 886 # CONFIG_DISPLAY_SUPPORT is not set 1060 887 1061 888 # 1062 - # Sound 889 + # Console display driver support 1063 890 # 891 + # CONFIG_VGA_CONSOLE is not set 892 + CONFIG_DUMMY_CONSOLE=y 893 + CONFIG_FRAMEBUFFER_CONSOLE=y 894 + # CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY is not set 895 + # CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set 896 + # CONFIG_FONTS is not set 897 + CONFIG_FONT_8x8=y 898 + CONFIG_FONT_8x16=y 899 + CONFIG_LOGO=y 900 + CONFIG_LOGO_LINUX_MONO=y 901 + CONFIG_LOGO_LINUX_VGA16=y 902 + CONFIG_LOGO_LINUX_CLUT224=y 1064 903 # CONFIG_SOUND is not set 904 + CONFIG_HID_SUPPORT=y 905 + CONFIG_HID=y 906 + # CONFIG_HID_DEBUG is not set 907 + # CONFIG_HIDRAW is not set 908 + 909 + # 910 + # USB Input Devices 911 + # 912 + CONFIG_USB_HID=y 913 + # CONFIG_HID_PID is not set 914 + # CONFIG_USB_HIDDEV is not set 915 + 916 + # 917 + # Special HID drivers 918 + # 919 + CONFIG_HID_COMPAT=y 920 + CONFIG_HID_A4TECH=y 921 + # CONFIG_HID_APPLE is not set 922 + CONFIG_HID_BELKIN=y 923 + CONFIG_HID_BRIGHT=y 924 + CONFIG_HID_CHERRY=y 925 + # CONFIG_HID_CHICONY is not set 926 + CONFIG_HID_CYPRESS=y 927 + CONFIG_HID_DELL=y 928 + CONFIG_HID_EZKEY=y 929 + # CONFIG_HID_GYRATION is not set 930 + # CONFIG_HID_LOGITECH is not set 931 + # CONFIG_HID_MICROSOFT is not set 932 + # CONFIG_HID_MONTEREY is not set 933 + # CONFIG_HID_PANTHERLORD is not set 934 + # CONFIG_HID_PETALYNX is not set 935 + # CONFIG_HID_SAMSUNG is not set 936 + # CONFIG_HID_SONY is not set 937 + # CONFIG_HID_SUNPLUS is not set 938 + # CONFIG_THRUSTMASTER_FF is not set 939 + # CONFIG_ZEROPLUS_FF is not set 1065 940 CONFIG_USB_SUPPORT=y 1066 941 CONFIG_USB_ARCH_HAS_HCD=y 1067 942 CONFIG_USB_ARCH_HAS_OHCI=y 1068 943 CONFIG_USB_ARCH_HAS_EHCI=y 1069 944 CONFIG_USB=y 1070 945 # CONFIG_USB_DEBUG is not set 946 + # CONFIG_USB_ANNOUNCE_NEW_DEVICES is not set 1071 947 1072 948 # 1073 949 # Miscellaneous USB options ··· 1125 903 # CONFIG_USB_DEVICE_CLASS is not set 1126 904 # CONFIG_USB_DYNAMIC_MINORS is not set 1127 905 # CONFIG_USB_SUSPEND is not set 1128 - # CONFIG_USB_PERSIST is not set 1129 906 # CONFIG_USB_OTG is not set 907 + # CONFIG_USB_OTG_WHITELIST is not set 908 + # CONFIG_USB_OTG_BLACKLIST_HUB is not set 909 + CONFIG_USB_MON=y 910 + # CONFIG_USB_WUSB is not set 911 + # CONFIG_USB_WUSB_CBAF is not set 1130 912 1131 913 # 1132 914 # USB Host Controller Drivers 1133 915 # 916 + # CONFIG_USB_C67X00_HCD is not set 1134 917 # CONFIG_USB_EHCI_HCD is not set 1135 918 # CONFIG_USB_ISP116X_HCD is not set 919 + # CONFIG_USB_ISP1760_HCD is not set 1136 920 CONFIG_USB_OHCI_HCD=y 1137 921 CONFIG_USB_OHCI_HCD_PPC_SOC=y 1138 922 CONFIG_USB_OHCI_HCD_PPC_OF=y ··· 1151 923 # CONFIG_USB_UHCI_HCD is not set 1152 924 # CONFIG_USB_SL811_HCD is not set 1153 925 # CONFIG_USB_R8A66597_HCD is not set 926 + # CONFIG_USB_WHCI_HCD is not set 927 + # CONFIG_USB_HWA_HCD is not set 928 + # CONFIG_USB_MUSB_HDRC is not set 1154 929 1155 930 # 1156 931 # USB Device Class drivers 1157 932 # 1158 933 # CONFIG_USB_ACM is not set 1159 934 # CONFIG_USB_PRINTER is not set 935 + # CONFIG_USB_WDM is not set 936 + # CONFIG_USB_TMC is not set 1160 937 1161 938 # 1162 939 # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' ··· 1181 948 # CONFIG_USB_STORAGE_SDDR55 is not set 1182 949 # CONFIG_USB_STORAGE_JUMPSHOT is not set 1183 950 # CONFIG_USB_STORAGE_ALAUDA is not set 951 + # CONFIG_USB_STORAGE_ONETOUCH is not set 1184 952 # CONFIG_USB_STORAGE_KARMA is not set 953 + # CONFIG_USB_STORAGE_CYPRESS_ATACB is not set 1185 954 # CONFIG_USB_LIBUSUAL is not set 1186 955 1187 956 # ··· 1191 956 # 1192 957 # CONFIG_USB_MDC800 is not set 1193 958 # CONFIG_USB_MICROTEK is not set 1194 - CONFIG_USB_MON=y 1195 959 1196 960 # 1197 961 # USB port drivers 1198 - # 1199 - 1200 - # 1201 - # USB Serial Converter support 1202 962 # 1203 963 # CONFIG_USB_SERIAL is not set 1204 964 ··· 1203 973 # CONFIG_USB_EMI62 is not set 1204 974 # CONFIG_USB_EMI26 is not set 1205 975 # CONFIG_USB_ADUTUX is not set 1206 - # CONFIG_USB_AUERSWALD is not set 976 + # CONFIG_USB_SEVSEG is not set 1207 977 # CONFIG_USB_RIO500 is not set 1208 978 # CONFIG_USB_LEGOTOWER is not set 1209 979 # CONFIG_USB_LCD is not set ··· 1219 989 # CONFIG_USB_TRANCEVIBRATOR is not set 1220 990 # CONFIG_USB_IOWARRIOR is not set 1221 991 # CONFIG_USB_TEST is not set 1222 - 1223 - # 1224 - # USB DSL modem support 1225 - # 1226 - 1227 - # 1228 - # USB Gadget Support 1229 - # 992 + # CONFIG_USB_ISIGHTFW is not set 993 + # CONFIG_USB_VST is not set 1230 994 # CONFIG_USB_GADGET is not set 995 + # CONFIG_UWB is not set 1231 996 # CONFIG_MMC is not set 997 + # CONFIG_MEMSTICK is not set 1232 998 CONFIG_NEW_LEDS=y 1233 - CONFIG_LEDS_CLASS=y 999 + # CONFIG_LEDS_CLASS is not set 1234 1000 1235 1001 # 1236 1002 # LED drivers ··· 1235 1009 # 1236 1010 # LED Triggers 1237 1011 # 1238 - CONFIG_LEDS_TRIGGERS=y 1239 - CONFIG_LEDS_TRIGGER_TIMER=y 1240 - # CONFIG_LEDS_TRIGGER_HEARTBEAT is not set 1012 + # CONFIG_LEDS_TRIGGERS is not set 1013 + # CONFIG_ACCESSIBILITY is not set 1241 1014 # CONFIG_INFINIBAND is not set 1242 1015 # CONFIG_EDAC is not set 1243 1016 # CONFIG_RTC_CLASS is not set 1244 - 1245 - # 1246 - # Userspace I/O 1247 - # 1017 + # CONFIG_DMADEVICES is not set 1248 1018 # CONFIG_UIO is not set 1019 + # CONFIG_STAGING is not set 1020 + CONFIG_STAGING_EXCLUDE_BUILD=y 1249 1021 1250 1022 # 1251 1023 # File systems ··· 1255 1031 CONFIG_EXT3_FS_XATTR=y 1256 1032 # CONFIG_EXT3_FS_POSIX_ACL is not set 1257 1033 # CONFIG_EXT3_FS_SECURITY is not set 1258 - # CONFIG_EXT4DEV_FS is not set 1034 + # CONFIG_EXT4_FS is not set 1259 1035 CONFIG_JBD=y 1260 1036 CONFIG_FS_MBCACHE=y 1261 1037 # CONFIG_REISERFS_FS is not set 1262 1038 # CONFIG_JFS_FS is not set 1263 1039 # CONFIG_FS_POSIX_ACL is not set 1040 + CONFIG_FILE_LOCKING=y 1264 1041 # CONFIG_XFS_FS is not set 1265 - # CONFIG_GFS2_FS is not set 1266 1042 # CONFIG_OCFS2_FS is not set 1267 - # CONFIG_MINIX_FS is not set 1268 - # CONFIG_ROMFS_FS is not set 1043 + CONFIG_DNOTIFY=y 1269 1044 CONFIG_INOTIFY=y 1270 1045 CONFIG_INOTIFY_USER=y 1271 1046 # CONFIG_QUOTA is not set 1272 - CONFIG_DNOTIFY=y 1273 1047 # CONFIG_AUTOFS_FS is not set 1274 1048 # CONFIG_AUTOFS4_FS is not set 1275 1049 # CONFIG_FUSE_FS is not set ··· 1294 1072 CONFIG_PROC_FS=y 1295 1073 CONFIG_PROC_KCORE=y 1296 1074 CONFIG_PROC_SYSCTL=y 1075 + CONFIG_PROC_PAGE_MONITOR=y 1297 1076 CONFIG_SYSFS=y 1298 1077 CONFIG_TMPFS=y 1299 1078 # CONFIG_TMPFS_POSIX_ACL is not set ··· 1324 1101 # CONFIG_JFFS2_RUBIN is not set 1325 1102 CONFIG_CRAMFS=y 1326 1103 # CONFIG_VXFS_FS is not set 1104 + # CONFIG_MINIX_FS is not set 1105 + # CONFIG_OMFS_FS is not set 1327 1106 # CONFIG_HPFS_FS is not set 1328 1107 # CONFIG_QNX4FS_FS is not set 1108 + # CONFIG_ROMFS_FS is not set 1329 1109 # CONFIG_SYSV_FS is not set 1330 1110 # CONFIG_UFS_FS is not set 1331 1111 CONFIG_NETWORK_FILESYSTEMS=y ··· 1336 1110 CONFIG_NFS_V3=y 1337 1111 # CONFIG_NFS_V3_ACL is not set 1338 1112 CONFIG_NFS_V4=y 1339 - # CONFIG_NFS_DIRECTIO is not set 1340 - # CONFIG_NFSD is not set 1341 1113 CONFIG_ROOT_NFS=y 1114 + # CONFIG_NFSD is not set 1342 1115 CONFIG_LOCKD=y 1343 1116 CONFIG_LOCKD_V4=y 1344 1117 CONFIG_NFS_COMMON=y 1345 1118 CONFIG_SUNRPC=y 1346 1119 CONFIG_SUNRPC_GSS=y 1347 - # CONFIG_SUNRPC_BIND34 is not set 1120 + # CONFIG_SUNRPC_REGISTER_V4 is not set 1348 1121 CONFIG_RPCSEC_GSS_KRB5=y 1349 1122 # CONFIG_RPCSEC_GSS_SPKM3 is not set 1350 1123 # CONFIG_SMB_FS is not set ··· 1398 1173 # CONFIG_NLS_KOI8_U is not set 1399 1174 # CONFIG_NLS_UTF8 is not set 1400 1175 # CONFIG_DLM is not set 1401 - # CONFIG_UCC_SLOW is not set 1402 1176 1403 1177 # 1404 1178 # Library routines ··· 1405 1181 CONFIG_BITREVERSE=y 1406 1182 # CONFIG_CRC_CCITT is not set 1407 1183 # CONFIG_CRC16 is not set 1184 + # CONFIG_CRC_T10DIF is not set 1408 1185 # CONFIG_CRC_ITU_T is not set 1409 1186 CONFIG_CRC32=y 1410 1187 # CONFIG_CRC7 is not set ··· 1416 1191 CONFIG_HAS_IOMEM=y 1417 1192 CONFIG_HAS_IOPORT=y 1418 1193 CONFIG_HAS_DMA=y 1419 - # CONFIG_INSTRUMENTATION is not set 1194 + CONFIG_HAVE_LMB=y 1420 1195 1421 1196 # 1422 1197 # Kernel hacking ··· 1424 1199 CONFIG_PRINTK_TIME=y 1425 1200 CONFIG_ENABLE_WARN_DEPRECATED=y 1426 1201 CONFIG_ENABLE_MUST_CHECK=y 1202 + CONFIG_FRAME_WARN=1024 1427 1203 # CONFIG_MAGIC_SYSRQ is not set 1428 1204 # CONFIG_UNUSED_SYMBOLS is not set 1429 1205 # CONFIG_DEBUG_FS is not set ··· 1432 1206 CONFIG_DEBUG_KERNEL=y 1433 1207 # CONFIG_DEBUG_SHIRQ is not set 1434 1208 CONFIG_DETECT_SOFTLOCKUP=y 1209 + # CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set 1210 + CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0 1435 1211 CONFIG_SCHED_DEBUG=y 1436 1212 # CONFIG_SCHEDSTATS is not set 1437 1213 # CONFIG_TIMER_STATS is not set 1214 + # CONFIG_DEBUG_OBJECTS is not set 1438 1215 # CONFIG_SLUB_DEBUG_ON is not set 1216 + # CONFIG_SLUB_STATS is not set 1439 1217 # CONFIG_DEBUG_RT_MUTEXES is not set 1440 1218 # CONFIG_RT_MUTEX_TESTER is not set 1441 1219 # CONFIG_DEBUG_SPINLOCK is not set ··· 1450 1220 # CONFIG_DEBUG_BUGVERBOSE is not set 1451 1221 CONFIG_DEBUG_INFO=y 1452 1222 # CONFIG_DEBUG_VM is not set 1223 + # CONFIG_DEBUG_WRITECOUNT is not set 1224 + # CONFIG_DEBUG_MEMORY_INIT is not set 1453 1225 # CONFIG_DEBUG_LIST is not set 1454 1226 # CONFIG_DEBUG_SG is not set 1455 - CONFIG_FORCED_INLINING=y 1456 1227 # CONFIG_BOOT_PRINTK_DELAY is not set 1457 1228 # CONFIG_RCU_TORTURE_TEST is not set 1229 + # CONFIG_RCU_CPU_STALL_DETECTOR is not set 1230 + # CONFIG_BACKTRACE_SELF_TEST is not set 1231 + # CONFIG_DEBUG_BLOCK_EXT_DEVT is not set 1458 1232 # CONFIG_FAULT_INJECTION is not set 1233 + # CONFIG_LATENCYTOP is not set 1234 + CONFIG_HAVE_FUNCTION_TRACER=y 1235 + 1236 + # 1237 + # Tracers 1238 + # 1239 + # CONFIG_FUNCTION_TRACER is not set 1240 + # CONFIG_SCHED_TRACER is not set 1241 + # CONFIG_CONTEXT_SWITCH_TRACER is not set 1242 + # CONFIG_BOOT_TRACER is not set 1243 + # CONFIG_STACK_TRACER is not set 1244 + # CONFIG_DYNAMIC_PRINTK_DEBUG is not set 1459 1245 # CONFIG_SAMPLES is not set 1246 + CONFIG_HAVE_ARCH_KGDB=y 1247 + # CONFIG_KGDB is not set 1460 1248 # CONFIG_DEBUG_STACKOVERFLOW is not set 1461 1249 # CONFIG_DEBUG_STACK_USAGE is not set 1462 1250 # CONFIG_DEBUG_PAGEALLOC is not set 1463 - # CONFIG_DEBUGGER is not set 1251 + # CONFIG_CODE_PATCHING_SELFTEST is not set 1252 + # CONFIG_FTR_FIXUP_SELFTEST is not set 1253 + # CONFIG_MSI_BITMAP_SELFTEST is not set 1254 + # CONFIG_XMON is not set 1255 + # CONFIG_IRQSTACKS is not set 1464 1256 # CONFIG_BDI_SWITCH is not set 1465 1257 # CONFIG_BOOTX_TEXT is not set 1466 1258 # CONFIG_PPC_EARLY_DEBUG is not set ··· 1492 1240 # 1493 1241 # CONFIG_KEYS is not set 1494 1242 # CONFIG_SECURITY is not set 1243 + # CONFIG_SECURITYFS is not set 1495 1244 # CONFIG_SECURITY_FILE_CAPABILITIES is not set 1496 1245 CONFIG_CRYPTO=y 1246 + 1247 + # 1248 + # Crypto core or helper 1249 + # 1250 + # CONFIG_CRYPTO_FIPS is not set 1497 1251 CONFIG_CRYPTO_ALGAPI=y 1252 + CONFIG_CRYPTO_AEAD=y 1498 1253 CONFIG_CRYPTO_BLKCIPHER=y 1254 + CONFIG_CRYPTO_HASH=y 1255 + CONFIG_CRYPTO_RNG=y 1499 1256 CONFIG_CRYPTO_MANAGER=y 1257 + # CONFIG_CRYPTO_GF128MUL is not set 1258 + # CONFIG_CRYPTO_NULL is not set 1259 + # CONFIG_CRYPTO_CRYPTD is not set 1260 + # CONFIG_CRYPTO_AUTHENC is not set 1261 + # CONFIG_CRYPTO_TEST is not set 1262 + 1263 + # 1264 + # Authenticated Encryption with Associated Data 1265 + # 1266 + # CONFIG_CRYPTO_CCM is not set 1267 + # CONFIG_CRYPTO_GCM is not set 1268 + # CONFIG_CRYPTO_SEQIV is not set 1269 + 1270 + # 1271 + # Block modes 1272 + # 1273 + CONFIG_CRYPTO_CBC=y 1274 + # CONFIG_CRYPTO_CTR is not set 1275 + # CONFIG_CRYPTO_CTS is not set 1276 + # CONFIG_CRYPTO_ECB is not set 1277 + # CONFIG_CRYPTO_LRW is not set 1278 + # CONFIG_CRYPTO_PCBC is not set 1279 + # CONFIG_CRYPTO_XTS is not set 1280 + 1281 + # 1282 + # Hash modes 1283 + # 1500 1284 # CONFIG_CRYPTO_HMAC is not set 1501 1285 # CONFIG_CRYPTO_XCBC is not set 1502 - # CONFIG_CRYPTO_NULL is not set 1286 + 1287 + # 1288 + # Digest 1289 + # 1290 + # CONFIG_CRYPTO_CRC32C is not set 1503 1291 # CONFIG_CRYPTO_MD4 is not set 1504 1292 CONFIG_CRYPTO_MD5=y 1293 + # CONFIG_CRYPTO_MICHAEL_MIC is not set 1294 + # CONFIG_CRYPTO_RMD128 is not set 1295 + # CONFIG_CRYPTO_RMD160 is not set 1296 + # CONFIG_CRYPTO_RMD256 is not set 1297 + # CONFIG_CRYPTO_RMD320 is not set 1505 1298 # CONFIG_CRYPTO_SHA1 is not set 1506 1299 # CONFIG_CRYPTO_SHA256 is not set 1507 1300 # CONFIG_CRYPTO_SHA512 is not set 1508 - # CONFIG_CRYPTO_WP512 is not set 1509 1301 # CONFIG_CRYPTO_TGR192 is not set 1510 - # CONFIG_CRYPTO_GF128MUL is not set 1511 - # CONFIG_CRYPTO_ECB is not set 1512 - CONFIG_CRYPTO_CBC=y 1513 - # CONFIG_CRYPTO_PCBC is not set 1514 - # CONFIG_CRYPTO_LRW is not set 1515 - # CONFIG_CRYPTO_XTS is not set 1516 - # CONFIG_CRYPTO_CRYPTD is not set 1517 - CONFIG_CRYPTO_DES=y 1518 - # CONFIG_CRYPTO_FCRYPT is not set 1519 - # CONFIG_CRYPTO_BLOWFISH is not set 1520 - # CONFIG_CRYPTO_TWOFISH is not set 1521 - # CONFIG_CRYPTO_SERPENT is not set 1302 + # CONFIG_CRYPTO_WP512 is not set 1303 + 1304 + # 1305 + # Ciphers 1306 + # 1522 1307 # CONFIG_CRYPTO_AES is not set 1308 + # CONFIG_CRYPTO_ANUBIS is not set 1309 + # CONFIG_CRYPTO_ARC4 is not set 1310 + # CONFIG_CRYPTO_BLOWFISH is not set 1311 + # CONFIG_CRYPTO_CAMELLIA is not set 1523 1312 # CONFIG_CRYPTO_CAST5 is not set 1524 1313 # CONFIG_CRYPTO_CAST6 is not set 1525 - # CONFIG_CRYPTO_TEA is not set 1526 - # CONFIG_CRYPTO_ARC4 is not set 1314 + CONFIG_CRYPTO_DES=y 1315 + # CONFIG_CRYPTO_FCRYPT is not set 1527 1316 # CONFIG_CRYPTO_KHAZAD is not set 1528 - # CONFIG_CRYPTO_ANUBIS is not set 1317 + # CONFIG_CRYPTO_SALSA20 is not set 1529 1318 # CONFIG_CRYPTO_SEED is not set 1319 + # CONFIG_CRYPTO_SERPENT is not set 1320 + # CONFIG_CRYPTO_TEA is not set 1321 + # CONFIG_CRYPTO_TWOFISH is not set 1322 + 1323 + # 1324 + # Compression 1325 + # 1530 1326 # CONFIG_CRYPTO_DEFLATE is not set 1531 - # CONFIG_CRYPTO_MICHAEL_MIC is not set 1532 - # CONFIG_CRYPTO_CRC32C is not set 1533 - # CONFIG_CRYPTO_CAMELLIA is not set 1534 - # CONFIG_CRYPTO_TEST is not set 1535 - # CONFIG_CRYPTO_AUTHENC is not set 1327 + # CONFIG_CRYPTO_LZO is not set 1328 + 1329 + # 1330 + # Random Number Generation 1331 + # 1332 + # CONFIG_CRYPTO_ANSI_CPRNG is not set 1536 1333 CONFIG_CRYPTO_HW=y 1334 + # CONFIG_CRYPTO_DEV_HIFN_795X is not set 1537 1335 CONFIG_PPC_CLOCK=y 1538 1336 CONFIG_PPC_LIB_RHEAP=y 1337 + # CONFIG_VIRTUALIZATION is not set
+81 -11
arch/powerpc/configs/ppc40x_defconfig
··· 1 1 # 2 2 # Automatically generated make config: don't edit 3 - # Linux kernel version: 2.6.28-rc2 4 - # Tue Oct 28 08:56:44 2008 3 + # Linux kernel version: 2.6.28-rc4 4 + # Fri Nov 14 09:54:44 2008 5 5 # 6 6 # CONFIG_PPC64 is not set 7 7 ··· 500 500 # CONFIG_BLK_DEV_XIP is not set 501 501 # CONFIG_CDROM_PKTCDVD is not set 502 502 # CONFIG_ATA_OVER_ETH is not set 503 - # CONFIG_XILINX_SYSACE is not set 503 + CONFIG_XILINX_SYSACE=m 504 504 # CONFIG_BLK_DEV_HD is not set 505 505 CONFIG_MISC_DEVICES=y 506 506 # CONFIG_PHANTOM is not set 507 507 # CONFIG_EEPROM_93CX6 is not set 508 508 # CONFIG_SGI_IOC4 is not set 509 509 # CONFIG_TIFM_CORE is not set 510 + # CONFIG_ICS932S401 is not set 510 511 # CONFIG_ENCLOSURE_SERVICES is not set 511 512 # CONFIG_HP_ILO is not set 513 + # CONFIG_C2PORT is not set 512 514 CONFIG_HAVE_IDE=y 513 515 # CONFIG_IDE is not set 514 516 ··· 634 632 # 635 633 # Hardware I/O ports 636 634 # 637 - # CONFIG_SERIO is not set 635 + CONFIG_SERIO=m 636 + # CONFIG_SERIO_I8042 is not set 637 + # CONFIG_SERIO_SERPORT is not set 638 + # CONFIG_SERIO_PCIPS2 is not set 639 + # CONFIG_SERIO_LIBPS2 is not set 640 + # CONFIG_SERIO_RAW is not set 641 + CONFIG_SERIO_XILINX_XPS_PS2=m 638 642 # CONFIG_GAMEPORT is not set 639 643 640 644 # ··· 668 660 # 669 661 # Non-8250 serial port support 670 662 # 671 - # CONFIG_SERIAL_UARTLITE is not set 663 + CONFIG_SERIAL_UARTLITE=y 664 + CONFIG_SERIAL_UARTLITE_CONSOLE=y 672 665 CONFIG_SERIAL_CORE=y 673 666 CONFIG_SERIAL_CORE_CONSOLE=y 674 667 # CONFIG_SERIAL_JSM is not set ··· 766 757 # CONFIG_GPIO_SYSFS is not set 767 758 768 759 # 760 + # Memory mapped GPIO expanders: 761 + # 762 + CONFIG_GPIO_XILINX=y 763 + 764 + # 769 765 # I2C GPIO expanders: 770 766 # 771 767 # CONFIG_GPIO_MAX732X is not set ··· 790 776 # CONFIG_HWMON is not set 791 777 CONFIG_THERMAL=y 792 778 # CONFIG_WATCHDOG is not set 779 + CONFIG_SSB_POSSIBLE=y 793 780 794 781 # 795 782 # Sonics Silicon Backplane 796 783 # 797 - CONFIG_SSB_POSSIBLE=y 798 784 # CONFIG_SSB is not set 799 785 800 786 # ··· 806 792 # CONFIG_MFD_TMIO is not set 807 793 # CONFIG_MFD_WM8400 is not set 808 794 # CONFIG_MFD_WM8350_I2C is not set 795 + # CONFIG_REGULATOR is not set 809 796 810 797 # 811 798 # Multimedia devices ··· 831 816 # CONFIG_DRM is not set 832 817 # CONFIG_VGASTATE is not set 833 818 CONFIG_VIDEO_OUTPUT_CONTROL=m 834 - # CONFIG_FB is not set 819 + CONFIG_FB=m 820 + # CONFIG_FIRMWARE_EDID is not set 821 + # CONFIG_FB_DDC is not set 822 + # CONFIG_FB_BOOT_VESA_SUPPORT is not set 823 + CONFIG_FB_CFB_FILLRECT=m 824 + CONFIG_FB_CFB_COPYAREA=m 825 + CONFIG_FB_CFB_IMAGEBLIT=m 826 + # CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set 827 + # CONFIG_FB_SYS_FILLRECT is not set 828 + # CONFIG_FB_SYS_COPYAREA is not set 829 + # CONFIG_FB_SYS_IMAGEBLIT is not set 830 + # CONFIG_FB_FOREIGN_ENDIAN is not set 831 + # CONFIG_FB_SYS_FOPS is not set 832 + # CONFIG_FB_SVGALIB is not set 833 + # CONFIG_FB_MACMODES is not set 834 + # CONFIG_FB_BACKLIGHT is not set 835 + # CONFIG_FB_MODE_HELPERS is not set 836 + # CONFIG_FB_TILEBLITTING is not set 837 + 838 + # 839 + # Frame buffer hardware drivers 840 + # 841 + # CONFIG_FB_CIRRUS is not set 842 + # CONFIG_FB_PM2 is not set 843 + # CONFIG_FB_CYBER2000 is not set 844 + # CONFIG_FB_VGA16 is not set 845 + # CONFIG_FB_UVESA is not set 846 + # CONFIG_FB_S1D13XXX is not set 847 + # CONFIG_FB_NVIDIA is not set 848 + # CONFIG_FB_RIVA is not set 849 + # CONFIG_FB_MATROX is not set 850 + # CONFIG_FB_RADEON is not set 851 + # CONFIG_FB_ATY128 is not set 852 + # CONFIG_FB_ATY is not set 853 + # CONFIG_FB_S3 is not set 854 + # CONFIG_FB_SAVAGE is not set 855 + # CONFIG_FB_SIS is not set 856 + # CONFIG_FB_VIA is not set 857 + # CONFIG_FB_NEOMAGIC is not set 858 + # CONFIG_FB_KYRO is not set 859 + # CONFIG_FB_3DFX is not set 860 + # CONFIG_FB_VOODOO1 is not set 861 + # CONFIG_FB_VT8623 is not set 862 + # CONFIG_FB_TRIDENT is not set 863 + # CONFIG_FB_ARK is not set 864 + # CONFIG_FB_PM3 is not set 865 + # CONFIG_FB_CARMINE is not set 866 + # CONFIG_FB_IBM_GXT4500 is not set 867 + CONFIG_FB_XILINX=m 868 + # CONFIG_FB_VIRTUAL is not set 869 + # CONFIG_FB_METRONOME is not set 870 + # CONFIG_FB_MB862XX is not set 835 871 # CONFIG_BACKLIGHT_LCD_SUPPORT is not set 836 872 837 873 # 838 874 # Display device support 839 875 # 840 876 # CONFIG_DISPLAY_SUPPORT is not set 877 + # CONFIG_LOGO is not set 841 878 # CONFIG_SOUND is not set 842 879 CONFIG_USB_SUPPORT=y 843 880 CONFIG_USB_ARCH_HAS_HCD=y ··· 918 851 # CONFIG_DMADEVICES is not set 919 852 # CONFIG_UIO is not set 920 853 # CONFIG_STAGING is not set 854 + CONFIG_STAGING_EXCLUDE_BUILD=y 921 855 922 856 # 923 857 # File systems ··· 1145 1077 # CONFIG_FAULT_INJECTION is not set 1146 1078 # CONFIG_LATENCYTOP is not set 1147 1079 CONFIG_SYSCTL_SYSCALL_CHECK=y 1148 - CONFIG_NOP_TRACER=y 1149 - CONFIG_HAVE_FTRACE=y 1150 - CONFIG_HAVE_DYNAMIC_FTRACE=y 1151 - # CONFIG_FTRACE is not set 1080 + CONFIG_HAVE_FUNCTION_TRACER=y 1081 + 1082 + # 1083 + # Tracers 1084 + # 1085 + # CONFIG_FUNCTION_TRACER is not set 1152 1086 # CONFIG_SCHED_TRACER is not set 1153 1087 # CONFIG_CONTEXT_SWITCH_TRACER is not set 1154 1088 # CONFIG_BOOT_TRACER is not set
+81 -11
arch/powerpc/configs/ppc44x_defconfig
··· 1 1 # 2 2 # Automatically generated make config: don't edit 3 - # Linux kernel version: 2.6.28-rc2 4 - # Tue Oct 28 09:28:58 2008 3 + # Linux kernel version: 2.6.28-rc4 4 + # Fri Nov 14 10:06:19 2008 5 5 # 6 6 # CONFIG_PPC64 is not set 7 7 ··· 506 506 # CONFIG_BLK_DEV_XIP is not set 507 507 # CONFIG_CDROM_PKTCDVD is not set 508 508 # CONFIG_ATA_OVER_ETH is not set 509 - # CONFIG_XILINX_SYSACE is not set 509 + CONFIG_XILINX_SYSACE=m 510 510 # CONFIG_BLK_DEV_HD is not set 511 511 CONFIG_MISC_DEVICES=y 512 512 # CONFIG_PHANTOM is not set 513 513 # CONFIG_EEPROM_93CX6 is not set 514 514 # CONFIG_SGI_IOC4 is not set 515 515 # CONFIG_TIFM_CORE is not set 516 + # CONFIG_ICS932S401 is not set 516 517 # CONFIG_ENCLOSURE_SERVICES is not set 517 518 # CONFIG_HP_ILO is not set 519 + # CONFIG_C2PORT is not set 518 520 CONFIG_HAVE_IDE=y 519 521 # CONFIG_IDE is not set 520 522 ··· 682 680 # 683 681 # Hardware I/O ports 684 682 # 685 - # CONFIG_SERIO is not set 683 + CONFIG_SERIO=m 684 + # CONFIG_SERIO_I8042 is not set 685 + # CONFIG_SERIO_SERPORT is not set 686 + # CONFIG_SERIO_PCIPS2 is not set 687 + # CONFIG_SERIO_LIBPS2 is not set 688 + # CONFIG_SERIO_RAW is not set 689 + CONFIG_SERIO_XILINX_XPS_PS2=m 686 690 # CONFIG_GAMEPORT is not set 687 691 688 692 # ··· 716 708 # 717 709 # Non-8250 serial port support 718 710 # 719 - # CONFIG_SERIAL_UARTLITE is not set 711 + CONFIG_SERIAL_UARTLITE=y 712 + CONFIG_SERIAL_UARTLITE_CONSOLE=y 720 713 CONFIG_SERIAL_CORE=y 721 714 CONFIG_SERIAL_CORE_CONSOLE=y 722 715 # CONFIG_SERIAL_JSM is not set ··· 815 806 # CONFIG_GPIO_SYSFS is not set 816 807 817 808 # 809 + # Memory mapped GPIO expanders: 810 + # 811 + CONFIG_GPIO_XILINX=y 812 + 813 + # 818 814 # I2C GPIO expanders: 819 815 # 820 816 # CONFIG_GPIO_MAX732X is not set ··· 840 826 # CONFIG_THERMAL is not set 841 827 # CONFIG_THERMAL_HWMON is not set 842 828 # CONFIG_WATCHDOG is not set 829 + CONFIG_SSB_POSSIBLE=y 843 830 844 831 # 845 832 # Sonics Silicon Backplane 846 833 # 847 - CONFIG_SSB_POSSIBLE=y 848 834 # CONFIG_SSB is not set 849 835 850 836 # ··· 856 842 # CONFIG_MFD_TMIO is not set 857 843 # CONFIG_MFD_WM8400 is not set 858 844 # CONFIG_MFD_WM8350_I2C is not set 845 + # CONFIG_REGULATOR is not set 859 846 860 847 # 861 848 # Multimedia devices ··· 881 866 # CONFIG_DRM is not set 882 867 # CONFIG_VGASTATE is not set 883 868 # CONFIG_VIDEO_OUTPUT_CONTROL is not set 884 - # CONFIG_FB is not set 869 + CONFIG_FB=m 870 + # CONFIG_FIRMWARE_EDID is not set 871 + # CONFIG_FB_DDC is not set 872 + # CONFIG_FB_BOOT_VESA_SUPPORT is not set 873 + CONFIG_FB_CFB_FILLRECT=m 874 + CONFIG_FB_CFB_COPYAREA=m 875 + CONFIG_FB_CFB_IMAGEBLIT=m 876 + # CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set 877 + # CONFIG_FB_SYS_FILLRECT is not set 878 + # CONFIG_FB_SYS_COPYAREA is not set 879 + # CONFIG_FB_SYS_IMAGEBLIT is not set 880 + # CONFIG_FB_FOREIGN_ENDIAN is not set 881 + # CONFIG_FB_SYS_FOPS is not set 882 + # CONFIG_FB_SVGALIB is not set 883 + # CONFIG_FB_MACMODES is not set 884 + # CONFIG_FB_BACKLIGHT is not set 885 + # CONFIG_FB_MODE_HELPERS is not set 886 + # CONFIG_FB_TILEBLITTING is not set 887 + 888 + # 889 + # Frame buffer hardware drivers 890 + # 891 + # CONFIG_FB_CIRRUS is not set 892 + # CONFIG_FB_PM2 is not set 893 + # CONFIG_FB_CYBER2000 is not set 894 + # CONFIG_FB_VGA16 is not set 895 + # CONFIG_FB_UVESA is not set 896 + # CONFIG_FB_S1D13XXX is not set 897 + # CONFIG_FB_NVIDIA is not set 898 + # CONFIG_FB_RIVA is not set 899 + # CONFIG_FB_MATROX is not set 900 + # CONFIG_FB_RADEON is not set 901 + # CONFIG_FB_ATY128 is not set 902 + # CONFIG_FB_ATY is not set 903 + # CONFIG_FB_S3 is not set 904 + # CONFIG_FB_SAVAGE is not set 905 + # CONFIG_FB_SIS is not set 906 + # CONFIG_FB_VIA is not set 907 + # CONFIG_FB_NEOMAGIC is not set 908 + # CONFIG_FB_KYRO is not set 909 + # CONFIG_FB_3DFX is not set 910 + # CONFIG_FB_VOODOO1 is not set 911 + # CONFIG_FB_VT8623 is not set 912 + # CONFIG_FB_TRIDENT is not set 913 + # CONFIG_FB_ARK is not set 914 + # CONFIG_FB_PM3 is not set 915 + # CONFIG_FB_CARMINE is not set 916 + # CONFIG_FB_IBM_GXT4500 is not set 917 + CONFIG_FB_XILINX=m 918 + # CONFIG_FB_VIRTUAL is not set 919 + # CONFIG_FB_METRONOME is not set 920 + # CONFIG_FB_MB862XX is not set 885 921 # CONFIG_BACKLIGHT_LCD_SUPPORT is not set 886 922 887 923 # 888 924 # Display device support 889 925 # 890 926 # CONFIG_DISPLAY_SUPPORT is not set 927 + # CONFIG_LOGO is not set 891 928 # CONFIG_SOUND is not set 892 929 CONFIG_USB_SUPPORT=y 893 930 CONFIG_USB_ARCH_HAS_HCD=y ··· 1069 1002 # CONFIG_DMADEVICES is not set 1070 1003 # CONFIG_UIO is not set 1071 1004 # CONFIG_STAGING is not set 1005 + CONFIG_STAGING_EXCLUDE_BUILD=y 1072 1006 1073 1007 # 1074 1008 # File systems ··· 1295 1227 # CONFIG_FAULT_INJECTION is not set 1296 1228 # CONFIG_LATENCYTOP is not set 1297 1229 CONFIG_SYSCTL_SYSCALL_CHECK=y 1298 - CONFIG_NOP_TRACER=y 1299 - CONFIG_HAVE_FTRACE=y 1300 - CONFIG_HAVE_DYNAMIC_FTRACE=y 1301 - # CONFIG_FTRACE is not set 1230 + CONFIG_HAVE_FUNCTION_TRACER=y 1231 + 1232 + # 1233 + # Tracers 1234 + # 1235 + # CONFIG_FUNCTION_TRACER is not set 1302 1236 # CONFIG_SCHED_TRACER is not set 1303 1237 # CONFIG_CONTEXT_SWITCH_TRACER is not set 1304 1238 # CONFIG_BOOT_TRACER is not set
-1
arch/powerpc/include/asm/mmu-hash64.h
··· 280 280 extern int htab_bolt_mapping(unsigned long vstart, unsigned long vend, 281 281 unsigned long pstart, unsigned long prot, 282 282 int psize, int ssize); 283 - extern void set_huge_psize(int psize); 284 283 extern void add_gpage(unsigned long addr, unsigned long page_size, 285 284 unsigned long number_of_pages); 286 285 extern void demote_segment_4k(struct mm_struct *mm, unsigned long addr);
-2
arch/powerpc/include/asm/ptrace.h
··· 55 55 56 56 #ifdef __powerpc64__ 57 57 58 - #define __ARCH_WANT_COMPAT_SYS_PTRACE 59 - 60 58 #define STACK_FRAME_OVERHEAD 112 /* size of minimum stack frame */ 61 59 #define STACK_FRAME_LR_SAVE 2 /* Location of LR in stack frame */ 62 60 #define STACK_FRAME_REGS_MARKER ASM_CONST(0x7265677368657265)
+6 -1
arch/powerpc/kernel/cpu_setup_44x.S
··· 34 34 blr 35 35 _GLOBAL(__setup_cpu_460ex) 36 36 _GLOBAL(__setup_cpu_460gt) 37 - b __init_fpu_44x 37 + mflr r4 38 + bl __init_fpu_44x 39 + bl __fixup_440A_mcheck 40 + mtlr r4 41 + blr 42 + 38 43 _GLOBAL(__setup_cpu_440gx) 39 44 _GLOBAL(__setup_cpu_440spe) 40 45 b __fixup_440A_mcheck
+7 -1
arch/powerpc/kernel/entry_64.S
··· 57 57 beq- 1f 58 58 ld r1,PACAKSAVE(r13) 59 59 1: std r10,0(r1) 60 - crclr so 61 60 std r11,_NIP(r1) 62 61 std r12,_MSR(r1) 63 62 std r0,GPR0(r1) 64 63 std r10,GPR1(r1) 65 64 ACCOUNT_CPU_USER_ENTRY(r10, r11) 65 + /* 66 + * This "crclr so" clears CR0.SO, which is the error indication on 67 + * return from this system call. There must be no cmp instruction 68 + * between it and the "mfcr r9" below, otherwise if XER.SO is set, 69 + * CR0.SO will get set, causing all system calls to appear to fail. 70 + */ 71 + crclr so 66 72 std r2,GPR2(r1) 67 73 std r3,GPR3(r1) 68 74 std r4,GPR4(r1)
+5 -2
arch/powerpc/kernel/prom_parse.c
··· 250 250 * parsing 251 251 */ 252 252 dn = pci_device_to_OF_node(pdev); 253 - if (dn) 254 - return of_irq_map_one(dn, 0, out_irq); 253 + if (dn) { 254 + rc = of_irq_map_one(dn, 0, out_irq); 255 + if (!rc) 256 + return rc; 257 + } 255 258 256 259 /* Ok, we don't, time to have fun. Let's start by building up an 257 260 * interrupt spec. we assume #interrupt-cells is 1, which is standard
+2
arch/powerpc/kernel/sysfs.c
··· 717 717 718 718 BUG_ON(!c->hotpluggable); 719 719 720 + #ifdef CONFIG_PPC64 720 721 if (!firmware_has_feature(FW_FEATURE_ISERIES) && 721 722 cpu_has_feature(CPU_FTR_SMT)) 722 723 sysdev_remove_file(s, &attr_smt_snooze_delay); 724 + #endif 723 725 724 726 /* PMC stuff */ 725 727 switch (cur_cpu_spec->pmc_type) {
+14 -2
arch/powerpc/mm/40x_mmu.c
··· 93 93 94 94 unsigned long __init mmu_mapin_ram(void) 95 95 { 96 - unsigned long v, s; 96 + unsigned long v, s, mapped; 97 97 phys_addr_t p; 98 98 99 99 v = KERNELBASE; ··· 130 130 s -= LARGE_PAGE_SIZE_4M; 131 131 } 132 132 133 - return total_lowmem - s; 133 + mapped = total_lowmem - s; 134 + 135 + /* If the size of RAM is not an exact power of two, we may not 136 + * have covered RAM in its entirety with 16 and 4 MiB 137 + * pages. Consequently, restrict the top end of RAM currently 138 + * allocable so that calls to the LMB to allocate PTEs for "tail" 139 + * coverage with normal-sized pages (or other reasons) do not 140 + * attempt to allocate outside the allowed range. 141 + */ 142 + 143 + __initial_memory_limit_addr = memstart_addr + mapped; 144 + 145 + return mapped; 134 146 }
+1 -1
arch/powerpc/mm/hugetlbpage.c
··· 677 677 return err; 678 678 } 679 679 680 - void set_huge_psize(int psize) 680 + static void __init set_huge_psize(int psize) 681 681 { 682 682 /* Check that it is a page size supported by the hardware and 683 683 * that it fits within pagetable limits. */
+88 -60
arch/powerpc/mm/numa.c
··· 865 865 .priority = 1 /* Must run before sched domains notifier. */ 866 866 }; 867 867 868 - void __init do_init_bootmem(void) 868 + static void mark_reserved_regions_for_nid(int nid) 869 869 { 870 - int nid; 871 - unsigned int i; 870 + struct pglist_data *node = NODE_DATA(nid); 871 + int i; 872 872 873 - min_low_pfn = 0; 874 - max_low_pfn = lmb_end_of_DRAM() >> PAGE_SHIFT; 875 - max_pfn = max_low_pfn; 876 - 877 - if (parse_numa_properties()) 878 - setup_nonnuma(); 879 - else 880 - dump_numa_memory_topology(); 881 - 882 - register_cpu_notifier(&ppc64_numa_nb); 883 - cpu_numa_callback(&ppc64_numa_nb, CPU_UP_PREPARE, 884 - (void *)(unsigned long)boot_cpuid); 885 - 886 - for_each_online_node(nid) { 887 - unsigned long start_pfn, end_pfn; 888 - unsigned long bootmem_paddr; 889 - unsigned long bootmap_pages; 890 - 891 - get_pfn_range_for_nid(nid, &start_pfn, &end_pfn); 892 - 893 - /* Allocate the node structure node local if possible */ 894 - NODE_DATA(nid) = careful_allocation(nid, 895 - sizeof(struct pglist_data), 896 - SMP_CACHE_BYTES, end_pfn); 897 - NODE_DATA(nid) = __va(NODE_DATA(nid)); 898 - memset(NODE_DATA(nid), 0, sizeof(struct pglist_data)); 899 - 900 - dbg("node %d\n", nid); 901 - dbg("NODE_DATA() = %p\n", NODE_DATA(nid)); 902 - 903 - NODE_DATA(nid)->bdata = &bootmem_node_data[nid]; 904 - NODE_DATA(nid)->node_start_pfn = start_pfn; 905 - NODE_DATA(nid)->node_spanned_pages = end_pfn - start_pfn; 906 - 907 - if (NODE_DATA(nid)->node_spanned_pages == 0) 908 - continue; 909 - 910 - dbg("start_paddr = %lx\n", start_pfn << PAGE_SHIFT); 911 - dbg("end_paddr = %lx\n", end_pfn << PAGE_SHIFT); 912 - 913 - bootmap_pages = bootmem_bootmap_pages(end_pfn - start_pfn); 914 - bootmem_paddr = (unsigned long)careful_allocation(nid, 915 - bootmap_pages << PAGE_SHIFT, 916 - PAGE_SIZE, end_pfn); 917 - memset(__va(bootmem_paddr), 0, bootmap_pages << PAGE_SHIFT); 918 - 919 - dbg("bootmap_paddr = %lx\n", bootmem_paddr); 920 - 921 - init_bootmem_node(NODE_DATA(nid), bootmem_paddr >> PAGE_SHIFT, 922 - start_pfn, end_pfn); 923 - 924 - free_bootmem_with_active_regions(nid, end_pfn); 925 - } 926 - 927 - /* Mark reserved regions */ 928 873 for (i = 0; i < lmb.reserved.cnt; i++) { 929 874 unsigned long physbase = lmb.reserved.region[i].base; 930 875 unsigned long size = lmb.reserved.region[i].size; 931 876 unsigned long start_pfn = physbase >> PAGE_SHIFT; 932 877 unsigned long end_pfn = ((physbase + size) >> PAGE_SHIFT); 933 878 struct node_active_region node_ar; 879 + unsigned long node_end_pfn = node->node_start_pfn + 880 + node->node_spanned_pages; 881 + 882 + /* 883 + * Check to make sure that this lmb.reserved area is 884 + * within the bounds of the node that we care about. 885 + * Checking the nid of the start and end points is not 886 + * sufficient because the reserved area could span the 887 + * entire node. 888 + */ 889 + if (end_pfn <= node->node_start_pfn || 890 + start_pfn >= node_end_pfn) 891 + continue; 934 892 935 893 get_node_active_region(start_pfn, &node_ar); 936 894 while (start_pfn < end_pfn && ··· 922 964 size = size - reserve_size; 923 965 get_node_active_region(start_pfn, &node_ar); 924 966 } 925 - 926 967 } 968 + } 927 969 928 - for_each_online_node(nid) 970 + 971 + void __init do_init_bootmem(void) 972 + { 973 + int nid; 974 + unsigned int i; 975 + 976 + min_low_pfn = 0; 977 + max_low_pfn = lmb_end_of_DRAM() >> PAGE_SHIFT; 978 + max_pfn = max_low_pfn; 979 + 980 + if (parse_numa_properties()) 981 + setup_nonnuma(); 982 + else 983 + dump_numa_memory_topology(); 984 + 985 + register_cpu_notifier(&ppc64_numa_nb); 986 + cpu_numa_callback(&ppc64_numa_nb, CPU_UP_PREPARE, 987 + (void *)(unsigned long)boot_cpuid); 988 + 989 + for_each_online_node(nid) { 990 + unsigned long start_pfn, end_pfn; 991 + unsigned long bootmem_paddr; 992 + unsigned long bootmap_pages; 993 + 994 + get_pfn_range_for_nid(nid, &start_pfn, &end_pfn); 995 + 996 + /* 997 + * Allocate the node structure node local if possible 998 + * 999 + * Be careful moving this around, as it relies on all 1000 + * previous nodes' bootmem to be initialized and have 1001 + * all reserved areas marked. 1002 + */ 1003 + NODE_DATA(nid) = careful_allocation(nid, 1004 + sizeof(struct pglist_data), 1005 + SMP_CACHE_BYTES, end_pfn); 1006 + NODE_DATA(nid) = __va(NODE_DATA(nid)); 1007 + memset(NODE_DATA(nid), 0, sizeof(struct pglist_data)); 1008 + 1009 + dbg("node %d\n", nid); 1010 + dbg("NODE_DATA() = %p\n", NODE_DATA(nid)); 1011 + 1012 + NODE_DATA(nid)->bdata = &bootmem_node_data[nid]; 1013 + NODE_DATA(nid)->node_start_pfn = start_pfn; 1014 + NODE_DATA(nid)->node_spanned_pages = end_pfn - start_pfn; 1015 + 1016 + if (NODE_DATA(nid)->node_spanned_pages == 0) 1017 + continue; 1018 + 1019 + dbg("start_paddr = %lx\n", start_pfn << PAGE_SHIFT); 1020 + dbg("end_paddr = %lx\n", end_pfn << PAGE_SHIFT); 1021 + 1022 + bootmap_pages = bootmem_bootmap_pages(end_pfn - start_pfn); 1023 + bootmem_paddr = (unsigned long)careful_allocation(nid, 1024 + bootmap_pages << PAGE_SHIFT, 1025 + PAGE_SIZE, end_pfn); 1026 + memset(__va(bootmem_paddr), 0, bootmap_pages << PAGE_SHIFT); 1027 + 1028 + dbg("bootmap_paddr = %lx\n", bootmem_paddr); 1029 + 1030 + init_bootmem_node(NODE_DATA(nid), bootmem_paddr >> PAGE_SHIFT, 1031 + start_pfn, end_pfn); 1032 + 1033 + free_bootmem_with_active_regions(nid, end_pfn); 1034 + /* 1035 + * Be very careful about moving this around. Future 1036 + * calls to careful_allocation() depend on this getting 1037 + * done correctly. 1038 + */ 1039 + mark_reserved_regions_for_nid(nid); 929 1040 sparse_memory_present_with_active_regions(nid); 1041 + } 930 1042 } 931 1043 932 1044 void __init paging_init(void)
+31 -5
arch/powerpc/platforms/cell/axon_msi.c
··· 95 95 struct axon_msic *msic = get_irq_data(irq); 96 96 u32 write_offset, msi; 97 97 int idx; 98 + int retry = 0; 98 99 99 100 write_offset = dcr_read(msic->dcr_host, MSIC_WRITE_OFFSET_REG); 100 101 pr_debug("axon_msi: original write_offset 0x%x\n", write_offset); ··· 103 102 /* write_offset doesn't wrap properly, so we have to mask it */ 104 103 write_offset &= MSIC_FIFO_SIZE_MASK; 105 104 106 - while (msic->read_offset != write_offset) { 105 + while (msic->read_offset != write_offset && retry < 100) { 107 106 idx = msic->read_offset / sizeof(__le32); 108 107 msi = le32_to_cpu(msic->fifo_virt[idx]); 109 108 msi &= 0xFFFF; ··· 111 110 pr_debug("axon_msi: woff %x roff %x msi %x\n", 112 111 write_offset, msic->read_offset, msi); 113 112 113 + if (msi < NR_IRQS && irq_map[msi].host == msic->irq_host) { 114 + generic_handle_irq(msi); 115 + msic->fifo_virt[idx] = cpu_to_le32(0xffffffff); 116 + } else { 117 + /* 118 + * Reading the MSIC_WRITE_OFFSET_REG does not 119 + * reliably flush the outstanding DMA to the 120 + * FIFO buffer. Here we were reading stale 121 + * data, so we need to retry. 122 + */ 123 + udelay(1); 124 + retry++; 125 + pr_debug("axon_msi: invalid irq 0x%x!\n", msi); 126 + continue; 127 + } 128 + 129 + if (retry) { 130 + pr_debug("axon_msi: late irq 0x%x, retry %d\n", 131 + msi, retry); 132 + retry = 0; 133 + } 134 + 114 135 msic->read_offset += MSIC_FIFO_ENTRY_SIZE; 115 136 msic->read_offset &= MSIC_FIFO_SIZE_MASK; 137 + } 116 138 117 - if (msi < NR_IRQS && irq_map[msi].host == msic->irq_host) 118 - generic_handle_irq(msi); 119 - else 120 - pr_debug("axon_msi: invalid irq 0x%x!\n", msi); 139 + if (retry) { 140 + printk(KERN_WARNING "axon_msi: irq timed out\n"); 141 + 142 + msic->read_offset += MSIC_FIFO_ENTRY_SIZE; 143 + msic->read_offset &= MSIC_FIFO_SIZE_MASK; 121 144 } 122 145 123 146 desc->chip->eoi(irq); ··· 389 364 dn->full_name); 390 365 goto out_free_fifo; 391 366 } 367 + memset(msic->fifo_virt, 0xff, MSIC_FIFO_SIZE_BYTES); 392 368 393 369 msic->irq_host = irq_alloc_host(dn, IRQ_HOST_MAP_NOMAP, 394 370 NR_IRQS, &msic_host_ops, 0);
+7 -2
arch/powerpc/platforms/cell/smp.c
··· 129 129 return cpus_weight(cpu_possible_map); 130 130 } 131 131 132 - static void __devinit smp_iic_setup_cpu(int cpu) 132 + static void __devinit smp_cell_setup_cpu(int cpu) 133 133 { 134 134 if (cpu != boot_cpuid) 135 135 iic_setup_cpu(); 136 + 137 + /* 138 + * change default DABRX to allow user watchpoints 139 + */ 140 + mtspr(SPRN_DABRX, DABRX_KERNEL | DABRX_USER); 136 141 } 137 142 138 143 static DEFINE_SPINLOCK(timebase_lock); ··· 197 192 .message_pass = smp_iic_message_pass, 198 193 .probe = smp_iic_probe, 199 194 .kick_cpu = smp_cell_kick_cpu, 200 - .setup_cpu = smp_iic_setup_cpu, 195 + .setup_cpu = smp_cell_setup_cpu, 201 196 .cpu_bootable = smp_cell_cpu_bootable, 202 197 }; 203 198
+3
arch/powerpc/platforms/cell/spufs/file.c
··· 390 390 if (offset >= ps_size) 391 391 return VM_FAULT_SIGBUS; 392 392 393 + if (fatal_signal_pending(current)) 394 + return VM_FAULT_SIGBUS; 395 + 393 396 /* 394 397 * Because we release the mmap_sem, the context may be destroyed while 395 398 * we're in spu_wait. Grab an extra reference so it isn't destroyed
+3 -6
arch/powerpc/sysdev/bestcomm/Kconfig
··· 17 17 answer Y or M. Otherwise say N. 18 18 19 19 config PPC_BESTCOMM_ATA 20 - tristate "Bestcomm ATA task support" 20 + tristate 21 21 depends on PPC_BESTCOMM 22 - default n 23 22 help 24 23 This option enables the support for the ATA task. 25 24 26 25 config PPC_BESTCOMM_FEC 27 - tristate "Bestcomm FEC tasks support" 26 + tristate 28 27 depends on PPC_BESTCOMM 29 - default n 30 28 help 31 29 This option enables the support for the FEC tasks. 32 30 33 31 config PPC_BESTCOMM_GEN_BD 34 - tristate "Bestcomm GenBD tasks support" 32 + tristate 35 33 depends on PPC_BESTCOMM 36 - default n 37 34 help 38 35 This option enables the support for the GenBD tasks. 39 36
+7 -2
arch/powerpc/sysdev/mpic.c
··· 1271 1271 void __init mpic_init(struct mpic *mpic) 1272 1272 { 1273 1273 int i; 1274 + int cpu; 1274 1275 1275 1276 BUG_ON(mpic->num_sources == 0); 1276 1277 ··· 1314 1313 1315 1314 mpic_pasemi_msi_init(mpic); 1316 1315 1316 + if (mpic->flags & MPIC_PRIMARY) 1317 + cpu = hard_smp_processor_id(); 1318 + else 1319 + cpu = 0; 1320 + 1317 1321 for (i = 0; i < mpic->num_sources; i++) { 1318 1322 /* start with vector = source number, and masked */ 1319 1323 u32 vecpri = MPIC_VECPRI_MASK | i | ··· 1329 1323 continue; 1330 1324 /* init hw */ 1331 1325 mpic_irq_write(i, MPIC_INFO(IRQ_VECTOR_PRI), vecpri); 1332 - mpic_irq_write(i, MPIC_INFO(IRQ_DESTINATION), 1333 - 1 << hard_smp_processor_id()); 1326 + mpic_irq_write(i, MPIC_INFO(IRQ_DESTINATION), 1 << cpu); 1334 1327 } 1335 1328 1336 1329 /* Init spurious vector */
+2 -2
arch/powerpc/sysdev/xilinx_intc.c
··· 107 107 } 108 108 regs = ioremap(res.start, 32); 109 109 110 - printk(KERN_INFO "Xilinx intc at 0x%08LX mapped to 0x%p\n", 111 - res.start, regs); 110 + printk(KERN_INFO "Xilinx intc at 0x%08llx mapped to 0x%p\n", 111 + (unsigned long long) res.start, regs); 112 112 113 113 /* Setup interrupt controller */ 114 114 out_be32(regs + XINTC_IER, 0); /* disable all irqs */
+51 -23
arch/s390/defconfig
··· 1 1 # 2 2 # Automatically generated make config: don't edit 3 - # Linux kernel version: 2.6.27-rc4 4 - # Thu Aug 21 19:43:29 2008 3 + # Linux kernel version: 2.6.28-rc6 4 + # Thu Nov 27 11:00:49 2008 5 5 # 6 6 CONFIG_SCHED_MC=y 7 7 CONFIG_MMU=y ··· 45 45 CONFIG_CGROUPS=y 46 46 # CONFIG_CGROUP_DEBUG is not set 47 47 CONFIG_CGROUP_NS=y 48 + # CONFIG_CGROUP_FREEZER is not set 48 49 # CONFIG_CGROUP_DEVICE is not set 49 50 # CONFIG_CPUSETS is not set 50 51 CONFIG_GROUP_SCHED=y ··· 85 84 CONFIG_TIMERFD=y 86 85 CONFIG_EVENTFD=y 87 86 CONFIG_SHMEM=y 87 + CONFIG_AIO=y 88 88 CONFIG_VM_EVENT_COUNTERS=y 89 89 CONFIG_SLAB=y 90 90 # CONFIG_SLUB is not set ··· 94 92 # CONFIG_MARKERS is not set 95 93 CONFIG_HAVE_OPROFILE=y 96 94 CONFIG_KPROBES=y 97 - # CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS is not set 98 95 CONFIG_KRETPROBES=y 99 - # CONFIG_HAVE_IOREMAP_PROT is not set 100 96 CONFIG_HAVE_KPROBES=y 101 97 CONFIG_HAVE_KRETPROBES=y 102 - # CONFIG_HAVE_ARCH_TRACEHOOK is not set 103 - # CONFIG_HAVE_DMA_ATTRS is not set 104 - # CONFIG_USE_GENERIC_SMP_HELPERS is not set 105 - # CONFIG_HAVE_CLK is not set 106 - CONFIG_PROC_PAGE_MONITOR=y 98 + CONFIG_HAVE_ARCH_TRACEHOOK=y 107 99 # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set 108 100 CONFIG_SLABINFO=y 109 101 CONFIG_RT_MUTEXES=y ··· 131 135 CONFIG_DEFAULT_IOSCHED="deadline" 132 136 CONFIG_PREEMPT_NOTIFIERS=y 133 137 CONFIG_CLASSIC_RCU=y 138 + # CONFIG_FREEZER is not set 134 139 135 140 # 136 141 # Base setup ··· 186 189 CONFIG_SPARSEMEM_MANUAL=y 187 190 CONFIG_SPARSEMEM=y 188 191 CONFIG_HAVE_MEMORY_PRESENT=y 189 - # CONFIG_SPARSEMEM_STATIC is not set 190 192 CONFIG_SPARSEMEM_EXTREME=y 191 193 CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y 192 194 CONFIG_SPARSEMEM_VMEMMAP=y ··· 196 200 CONFIG_SPLIT_PTLOCK_CPUS=4 197 201 CONFIG_MIGRATION=y 198 202 CONFIG_RESOURCES_64BIT=y 203 + CONFIG_PHYS_ADDR_T_64BIT=y 199 204 CONFIG_ZONE_DMA_FLAG=1 200 205 CONFIG_BOUNCE=y 201 206 CONFIG_VIRT_TO_BUS=y 207 + CONFIG_UNEVICTABLE_LRU=y 202 208 203 209 # 204 210 # I/O subsystem configuration ··· 218 220 CONFIG_IPL_VM=y 219 221 CONFIG_BINFMT_ELF=y 220 222 CONFIG_COMPAT_BINFMT_ELF=y 223 + # CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set 224 + # CONFIG_HAVE_AOUT is not set 221 225 CONFIG_BINFMT_MISC=m 222 226 CONFIG_FORCE_MAX_ZONEORDER=9 223 227 # CONFIG_PROCESS_DEBUG is not set ··· 255 255 # CONFIG_XFRM_STATISTICS is not set 256 256 CONFIG_NET_KEY=y 257 257 # CONFIG_NET_KEY_MIGRATE is not set 258 - CONFIG_IUCV=m 258 + CONFIG_IUCV=y 259 259 CONFIG_AFIUCV=m 260 260 CONFIG_INET=y 261 261 CONFIG_IP_MULTICAST=y ··· 282 282 CONFIG_TCP_CONG_CUBIC=y 283 283 CONFIG_DEFAULT_TCP_CONG="cubic" 284 284 # CONFIG_TCP_MD5SIG is not set 285 - # CONFIG_IP_VS is not set 286 285 CONFIG_IPV6=y 287 286 # CONFIG_IPV6_PRIVACY is not set 288 287 # CONFIG_IPV6_ROUTER_PREF is not set ··· 330 331 # CONFIG_NF_CONNTRACK_TFTP is not set 331 332 # CONFIG_NF_CT_NETLINK is not set 332 333 # CONFIG_NETFILTER_XTABLES is not set 334 + # CONFIG_IP_VS is not set 333 335 334 336 # 335 337 # IP: Netfilter Configuration 336 338 # 339 + # CONFIG_NF_DEFRAG_IPV4 is not set 337 340 # CONFIG_NF_CONNTRACK_IPV4 is not set 338 341 # CONFIG_IP_NF_QUEUE is not set 339 342 # CONFIG_IP_NF_IPTABLES is not set ··· 375 374 # CONFIG_NET_SCH_HTB is not set 376 375 # CONFIG_NET_SCH_HFSC is not set 377 376 CONFIG_NET_SCH_PRIO=m 377 + CONFIG_NET_SCH_MULTIQ=y 378 378 CONFIG_NET_SCH_RED=m 379 379 CONFIG_NET_SCH_SFQ=m 380 380 CONFIG_NET_SCH_TEQL=m ··· 408 406 CONFIG_NET_ACT_NAT=m 409 407 # CONFIG_NET_ACT_PEDIT is not set 410 408 # CONFIG_NET_ACT_SIMP is not set 409 + # CONFIG_NET_ACT_SKBEDIT is not set 411 410 # CONFIG_NET_CLS_IND is not set 412 411 CONFIG_NET_SCH_FIFO=y 413 412 ··· 427 424 CONFIG_CAN_VCAN=m 428 425 # CONFIG_CAN_DEBUG_DEVICES is not set 429 426 # CONFIG_AF_RXRPC is not set 427 + # CONFIG_PHONET is not set 430 428 # CONFIG_RFKILL is not set 431 429 # CONFIG_NET_9P is not set 432 430 # CONFIG_PCMCIA is not set ··· 477 473 CONFIG_MISC_DEVICES=y 478 474 # CONFIG_EEPROM_93CX6 is not set 479 475 # CONFIG_ENCLOSURE_SERVICES is not set 480 - # CONFIG_HAVE_IDE is not set 476 + # CONFIG_C2PORT is not set 481 477 482 478 # 483 479 # SCSI device support ··· 529 525 CONFIG_SCSI_DH_ALUA=m 530 526 CONFIG_MD=y 531 527 CONFIG_BLK_DEV_MD=y 528 + CONFIG_MD_AUTODETECT=y 532 529 CONFIG_MD_LINEAR=m 533 530 CONFIG_MD_RAID0=m 534 531 CONFIG_MD_RAID1=m ··· 560 555 # CONFIG_IBM_NEW_EMAC_RGMII is not set 561 556 # CONFIG_IBM_NEW_EMAC_TAH is not set 562 557 # CONFIG_IBM_NEW_EMAC_EMAC4 is not set 558 + # CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set 559 + # CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set 560 + # CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set 563 561 CONFIG_NETDEV_1000=y 564 562 CONFIG_NETDEV_10000=y 565 563 # CONFIG_TR is not set ··· 640 632 # CONFIG_THERMAL is not set 641 633 # CONFIG_THERMAL_HWMON is not set 642 634 # CONFIG_WATCHDOG is not set 643 - 644 - # 645 - # Sonics Silicon Backplane 646 - # 635 + # CONFIG_REGULATOR is not set 647 636 # CONFIG_MEMSTICK is not set 648 637 # CONFIG_NEW_LEDS is not set 649 638 CONFIG_ACCESSIBILITY=y 639 + # CONFIG_STAGING is not set 640 + CONFIG_STAGING_EXCLUDE_BUILD=y 650 641 651 642 # 652 643 # File systems ··· 657 650 CONFIG_EXT3_FS_XATTR=y 658 651 # CONFIG_EXT3_FS_POSIX_ACL is not set 659 652 # CONFIG_EXT3_FS_SECURITY is not set 660 - # CONFIG_EXT4DEV_FS is not set 653 + # CONFIG_EXT4_FS is not set 661 654 CONFIG_JBD=y 662 655 # CONFIG_JBD_DEBUG is not set 663 656 CONFIG_FS_MBCACHE=y 664 657 # CONFIG_REISERFS_FS is not set 665 658 # CONFIG_JFS_FS is not set 666 659 CONFIG_FS_POSIX_ACL=y 660 + CONFIG_FILE_LOCKING=y 667 661 # CONFIG_XFS_FS is not set 668 662 # CONFIG_GFS2_FS is not set 669 663 # CONFIG_OCFS2_FS is not set ··· 696 688 CONFIG_PROC_FS=y 697 689 CONFIG_PROC_KCORE=y 698 690 CONFIG_PROC_SYSCTL=y 691 + CONFIG_PROC_PAGE_MONITOR=y 699 692 CONFIG_SYSFS=y 700 693 CONFIG_TMPFS=y 701 694 CONFIG_TMPFS_POSIX_ACL=y ··· 737 728 CONFIG_EXPORTFS=y 738 729 CONFIG_NFS_COMMON=y 739 730 CONFIG_SUNRPC=y 731 + # CONFIG_SUNRPC_REGISTER_V4 is not set 740 732 # CONFIG_RPCSEC_GSS_KRB5 is not set 741 733 # CONFIG_RPCSEC_GSS_SPKM3 is not set 742 734 # CONFIG_SMB_FS is not set ··· 810 800 # CONFIG_DEBUG_SG is not set 811 801 # CONFIG_FRAME_POINTER is not set 812 802 # CONFIG_RCU_TORTURE_TEST is not set 803 + # CONFIG_RCU_CPU_STALL_DETECTOR is not set 813 804 # CONFIG_KPROBES_SANITY_TEST is not set 814 805 # CONFIG_BACKTRACE_SELF_TEST is not set 806 + # CONFIG_DEBUG_BLOCK_EXT_DEVT is not set 815 807 # CONFIG_LKDTM is not set 816 808 # CONFIG_FAULT_INJECTION is not set 817 809 # CONFIG_LATENCYTOP is not set 818 810 CONFIG_SYSCTL_SYSCALL_CHECK=y 811 + 812 + # 813 + # Tracers 814 + # 815 + # CONFIG_IRQSOFF_TRACER is not set 816 + # CONFIG_PREEMPT_TRACER is not set 817 + # CONFIG_SCHED_TRACER is not set 818 + # CONFIG_CONTEXT_SWITCH_TRACER is not set 819 + # CONFIG_BOOT_TRACER is not set 820 + # CONFIG_DYNAMIC_PRINTK_DEBUG is not set 819 821 CONFIG_SAMPLES=y 820 822 # CONFIG_SAMPLE_KOBJECT is not set 821 823 # CONFIG_SAMPLE_KPROBES is not set ··· 838 816 # 839 817 # CONFIG_KEYS is not set 840 818 # CONFIG_SECURITY is not set 819 + # CONFIG_SECURITYFS is not set 841 820 # CONFIG_SECURITY_FILE_CAPABILITIES is not set 842 821 CONFIG_CRYPTO=y 843 822 844 823 # 845 824 # Crypto core or helper 846 825 # 826 + CONFIG_CRYPTO_FIPS=y 847 827 CONFIG_CRYPTO_ALGAPI=y 848 - CONFIG_CRYPTO_AEAD=m 828 + CONFIG_CRYPTO_AEAD=y 849 829 CONFIG_CRYPTO_BLKCIPHER=y 850 - CONFIG_CRYPTO_HASH=m 830 + CONFIG_CRYPTO_HASH=y 831 + CONFIG_CRYPTO_RNG=y 851 832 CONFIG_CRYPTO_MANAGER=y 852 833 CONFIG_CRYPTO_GF128MUL=m 853 834 # CONFIG_CRYPTO_NULL is not set ··· 902 877 # 903 878 # Ciphers 904 879 # 905 - # CONFIG_CRYPTO_AES is not set 880 + CONFIG_CRYPTO_AES=m 906 881 # CONFIG_CRYPTO_ANUBIS is not set 907 882 # CONFIG_CRYPTO_ARC4 is not set 908 883 # CONFIG_CRYPTO_BLOWFISH is not set ··· 923 898 # 924 899 # CONFIG_CRYPTO_DEFLATE is not set 925 900 CONFIG_CRYPTO_LZO=m 901 + 902 + # 903 + # Random Number Generation 904 + # 905 + CONFIG_CRYPTO_ANSI_CPRNG=m 926 906 CONFIG_CRYPTO_HW=y 927 907 CONFIG_ZCRYPT=m 928 908 # CONFIG_ZCRYPT_MONOLITHIC is not set ··· 942 912 # Library routines 943 913 # 944 914 CONFIG_BITREVERSE=m 945 - # CONFIG_GENERIC_FIND_FIRST_BIT is not set 946 - # CONFIG_GENERIC_FIND_NEXT_BIT is not set 947 915 # CONFIG_CRC_CCITT is not set 948 916 # CONFIG_CRC16 is not set 949 917 CONFIG_CRC_T10DIF=y
-2
arch/s390/include/asm/pgtable.h
··· 679 679 680 680 static inline void pte_clear(struct mm_struct *mm, unsigned long addr, pte_t *ptep) 681 681 { 682 - if (mm->context.has_pgste) 683 - ptep_rcp_copy(ptep); 684 682 pte_val(*ptep) = _PAGE_TYPE_EMPTY; 685 683 if (mm->context.noexec) 686 684 pte_val(ptep[PTRS_PER_PTE]) = _PAGE_TYPE_EMPTY;
+1 -3
arch/s390/include/asm/ptrace.h
··· 321 321 psw_t psw; 322 322 unsigned long gprs[NUM_GPRS]; 323 323 unsigned long orig_gpr2; 324 + unsigned short svcnr; 324 325 unsigned short ilc; 325 - unsigned short trap; 326 326 }; 327 327 #endif 328 328 ··· 485 485 struct task_struct; 486 486 extern void user_enable_single_step(struct task_struct *); 487 487 extern void user_disable_single_step(struct task_struct *); 488 - 489 - #define __ARCH_WANT_COMPAT_SYS_PTRACE 490 488 491 489 #define user_mode(regs) (((regs)->psw.mask & PSW_MASK_PSTATE) != 0) 492 490 #define instruction_pointer(regs) ((regs)->psw.addr & PSW_ADDR_INSN)
+16 -12
arch/s390/include/asm/syscall.h
··· 17 17 static inline long syscall_get_nr(struct task_struct *task, 18 18 struct pt_regs *regs) 19 19 { 20 - if (regs->trap != __LC_SVC_OLD_PSW) 21 - return -1; 22 - return regs->gprs[2]; 20 + return regs->svcnr ? regs->svcnr : -1; 23 21 } 24 22 25 23 static inline void syscall_rollback(struct task_struct *task, ··· 50 52 unsigned int i, unsigned int n, 51 53 unsigned long *args) 52 54 { 55 + unsigned long mask = -1UL; 56 + 53 57 BUG_ON(i + n > 6); 54 58 #ifdef CONFIG_COMPAT 55 - if (test_tsk_thread_flag(task, TIF_31BIT)) { 56 - if (i + n == 6) 57 - args[--n] = (u32) regs->args[0]; 58 - while (n-- > 0) 59 - args[n] = (u32) regs->gprs[2 + i + n]; 60 - } 59 + if (test_tsk_thread_flag(task, TIF_31BIT)) 60 + mask = 0xffffffff; 61 61 #endif 62 62 if (i + n == 6) 63 - args[--n] = regs->args[0]; 64 - memcpy(args, &regs->gprs[2 + i], n * sizeof(args[0])); 63 + args[--n] = regs->args[0] & mask; 64 + while (n-- > 0) 65 + if (i + n > 0) 66 + args[n] = regs->gprs[2 + i + n] & mask; 67 + if (i == 0) 68 + args[0] = regs->orig_gpr2 & mask; 65 69 } 66 70 67 71 static inline void syscall_set_arguments(struct task_struct *task, ··· 74 74 BUG_ON(i + n > 6); 75 75 if (i + n == 6) 76 76 regs->args[0] = args[--n]; 77 - memcpy(&regs->gprs[2 + i], args, n * sizeof(args[0])); 77 + while (n-- > 0) 78 + if (i + n > 0) 79 + regs->gprs[2 + i + n] = args[n]; 80 + if (i == 0) 81 + regs->orig_gpr2 = args[0]; 78 82 } 79 83 80 84 #endif /* _ASM_SYSCALL_H */
+1 -1
arch/s390/kernel/asm-offsets.c
··· 32 32 DEFINE(__PT_GPRS, offsetof(struct pt_regs, gprs)); 33 33 DEFINE(__PT_ORIG_GPR2, offsetof(struct pt_regs, orig_gpr2)); 34 34 DEFINE(__PT_ILC, offsetof(struct pt_regs, ilc)); 35 - DEFINE(__PT_TRAP, offsetof(struct pt_regs, trap)); 35 + DEFINE(__PT_SVCNR, offsetof(struct pt_regs, svcnr)); 36 36 DEFINE(__PT_SIZE, sizeof(struct pt_regs)); 37 37 BLANK(); 38 38 DEFINE(__SF_BACKCHAIN, offsetof(struct stack_frame, back_chain));
+1 -1
arch/s390/kernel/compat_signal.c
··· 340 340 return err; 341 341 342 342 restore_fp_regs(&current->thread.fp_regs); 343 - regs->trap = -1; /* disable syscall checks */ 343 + regs->svcnr = 0; /* disable syscall checks */ 344 344 return 0; 345 345 } 346 346
+11 -10
arch/s390/kernel/entry.S
··· 46 46 SP_R15 = STACK_FRAME_OVERHEAD + __PT_GPRS + 60 47 47 SP_ORIG_R2 = STACK_FRAME_OVERHEAD + __PT_ORIG_GPR2 48 48 SP_ILC = STACK_FRAME_OVERHEAD + __PT_ILC 49 - SP_TRAP = STACK_FRAME_OVERHEAD + __PT_TRAP 49 + SP_SVCNR = STACK_FRAME_OVERHEAD + __PT_SVCNR 50 50 SP_SIZE = STACK_FRAME_OVERHEAD + __PT_SIZE 51 51 52 52 _TIF_WORK_SVC = (_TIF_SIGPENDING | _TIF_NOTIFY_RESUME | _TIF_NEED_RESCHED | \ ··· 183 183 .macro CREATE_STACK_FRAME psworg,savearea 184 184 s %r15,BASED(.Lc_spsize) # make room for registers & psw 185 185 mvc SP_PSW(8,%r15),0(%r12) # move user PSW to stack 186 - la %r12,\psworg 187 186 st %r2,SP_ORIG_R2(%r15) # store original content of gpr 2 188 - icm %r12,12,__LC_SVC_ILC 187 + icm %r12,3,__LC_SVC_ILC 189 188 stm %r0,%r11,SP_R0(%r15) # store gprs %r0-%r11 to kernel stack 190 - st %r12,SP_ILC(%r15) 189 + st %r12,SP_SVCNR(%r15) 191 190 mvc SP_R12(16,%r15),\savearea # move %r12-%r15 to stack 192 191 la %r12,0 193 192 st %r12,__SF_BACKCHAIN(%r15) # clear back chain ··· 263 264 #endif 264 265 sysc_do_svc: 265 266 l %r9,__LC_THREAD_INFO # load pointer to thread_info struct 266 - sla %r7,2 # *4 and test for svc 0 267 + ltr %r7,%r7 # test for svc 0 267 268 bnz BASED(sysc_nr_ok) # svc number > 0 268 269 # svc 0: system call number in %r1 269 270 cl %r1,BASED(.Lnr_syscalls) 270 271 bnl BASED(sysc_nr_ok) 271 272 lr %r7,%r1 # copy svc number to %r7 272 - sla %r7,2 # *4 273 273 sysc_nr_ok: 274 274 mvc SP_ARGS(4,%r15),SP_R7(%r15) 275 275 sysc_do_restart: 276 + sth %r7,SP_SVCNR(%r15) 277 + sll %r7,2 # svc number *4 276 278 l %r8,BASED(.Lsysc_table) 277 279 tm __TI_flags+3(%r9),(_TIF_SYSCALL_TRACE|_TIF_SYSCALL_AUDIT) 278 280 l %r8,0(%r7,%r8) # get system call addr. ··· 376 376 sysc_restart: 377 377 ni __TI_flags+3(%r9),255-_TIF_RESTART_SVC # clear TIF_RESTART_SVC 378 378 l %r7,SP_R2(%r15) # load new svc number 379 - sla %r7,2 380 379 mvc SP_R2(4,%r15),SP_ORIG_R2(%r15) # restore first argument 381 380 lm %r2,%r6,SP_R2(%r15) # load svc arguments 382 381 b BASED(sysc_do_restart) # restart svc ··· 385 386 # 386 387 sysc_singlestep: 387 388 ni __TI_flags+3(%r9),255-_TIF_SINGLE_STEP # clear TIF_SINGLE_STEP 388 - mvi SP_TRAP+1(%r15),0x28 # set trap indication to pgm check 389 + mvi SP_SVCNR(%r15),0xff # set trap indication to pgm check 390 + mvi SP_SVCNR+1(%r15),0xff 389 391 la %r2,SP_PTREGS(%r15) # address of register-save area 390 392 l %r1,BASED(.Lhandle_per) # load adr. of per handler 391 393 la %r14,BASED(sysc_return) # load adr. of system return ··· 407 407 bnl BASED(sysc_tracenogo) 408 408 l %r8,BASED(.Lsysc_table) 409 409 lr %r7,%r2 410 - sll %r7,2 # *4 410 + sll %r7,2 # svc number *4 411 411 l %r8,0(%r7,%r8) 412 412 sysc_tracego: 413 413 lm %r3,%r6,SP_R3(%r15) ··· 586 586 # per was called from kernel, must be kprobes 587 587 # 588 588 kernel_per: 589 - mvi SP_TRAP+1(%r15),0x28 # set trap indication to pgm check 589 + mvi SP_SVCNR(%r15),0xff # set trap indication to pgm check 590 + mvi SP_SVCNR+1(%r15),0xff 590 591 la %r2,SP_PTREGS(%r15) # address of register-save area 591 592 l %r1,BASED(.Lhandle_per) # load adr. of per handler 592 593 la %r14,BASED(sysc_restore)# load adr. of system return
+10 -13
arch/s390/kernel/entry64.S
··· 46 46 SP_R15 = STACK_FRAME_OVERHEAD + __PT_GPRS + 120 47 47 SP_ORIG_R2 = STACK_FRAME_OVERHEAD + __PT_ORIG_GPR2 48 48 SP_ILC = STACK_FRAME_OVERHEAD + __PT_ILC 49 - SP_TRAP = STACK_FRAME_OVERHEAD + __PT_TRAP 49 + SP_SVCNR = STACK_FRAME_OVERHEAD + __PT_SVCNR 50 50 SP_SIZE = STACK_FRAME_OVERHEAD + __PT_SIZE 51 51 52 52 STACK_SHIFT = PAGE_SHIFT + THREAD_ORDER ··· 171 171 .macro CREATE_STACK_FRAME psworg,savearea 172 172 aghi %r15,-SP_SIZE # make room for registers & psw 173 173 mvc SP_PSW(16,%r15),0(%r12) # move user PSW to stack 174 - la %r12,\psworg 175 174 stg %r2,SP_ORIG_R2(%r15) # store original content of gpr 2 176 - icm %r12,12,__LC_SVC_ILC 175 + icm %r12,3,__LC_SVC_ILC 177 176 stmg %r0,%r11,SP_R0(%r15) # store gprs %r0-%r11 to kernel stack 178 - st %r12,SP_ILC(%r15) 177 + st %r12,SP_SVCNR(%r15) 179 178 mvc SP_R12(32,%r15),\savearea # move %r12-%r15 to stack 180 179 la %r12,0 181 180 stg %r12,__SF_BACKCHAIN(%r15) ··· 249 250 #endif 250 251 sysc_do_svc: 251 252 lg %r9,__LC_THREAD_INFO # load pointer to thread_info struct 252 - slag %r7,%r7,2 # *4 and test for svc 0 253 + ltgr %r7,%r7 # test for svc 0 253 254 jnz sysc_nr_ok 254 255 # svc 0: system call number in %r1 255 256 cl %r1,BASED(.Lnr_syscalls) 256 257 jnl sysc_nr_ok 257 258 lgfr %r7,%r1 # clear high word in r1 258 - slag %r7,%r7,2 # svc 0: system call number in %r1 259 259 sysc_nr_ok: 260 260 mvc SP_ARGS(8,%r15),SP_R7(%r15) 261 261 sysc_do_restart: 262 + sth %r7,SP_SVCNR(%r15) 263 + sllg %r7,%r7,2 # svc number * 4 262 264 larl %r10,sys_call_table 263 265 #ifdef CONFIG_COMPAT 264 266 tm __TI_flags+5(%r9),(_TIF_31BIT>>16) # running in 31 bit mode ? ··· 363 363 sysc_restart: 364 364 ni __TI_flags+7(%r9),255-_TIF_RESTART_SVC # clear TIF_RESTART_SVC 365 365 lg %r7,SP_R2(%r15) # load new svc number 366 - slag %r7,%r7,2 # *4 367 366 mvc SP_R2(8,%r15),SP_ORIG_R2(%r15) # restore first argument 368 367 lmg %r2,%r6,SP_R2(%r15) # load svc arguments 369 368 j sysc_do_restart # restart svc ··· 371 372 # _TIF_SINGLE_STEP is set, call do_single_step 372 373 # 373 374 sysc_singlestep: 374 - ni __TI_flags+7(%r9),255-_TIF_SINGLE_STEP # clear TIF_SINGLE_STEP 375 - lhi %r0,__LC_PGM_OLD_PSW 376 - sth %r0,SP_TRAP(%r15) # set trap indication to pgm check 375 + ni __TI_flags+7(%r9),255-_TIF_SINGLE_STEP # clear TIF_SINGLE_STEP 376 + xc SP_SVCNR(2,%r15),SP_SVCNR(%r15) # clear svc number 377 377 la %r2,SP_PTREGS(%r15) # address of register-save area 378 378 larl %r14,sysc_return # load adr. of system return 379 379 jg do_single_step # branch to do_sigtrap ··· 390 392 lghi %r0,NR_syscalls 391 393 clgr %r0,%r2 392 394 jnh sysc_tracenogo 393 - slag %r7,%r2,2 # *4 395 + sllg %r7,%r2,2 # svc number *4 394 396 lgf %r8,0(%r7,%r10) 395 397 sysc_tracego: 396 398 lmg %r3,%r6,SP_R3(%r15) ··· 565 567 # per was called from kernel, must be kprobes 566 568 # 567 569 kernel_per: 568 - lhi %r0,__LC_PGM_OLD_PSW 569 - sth %r0,SP_TRAP(%r15) # set trap indication to pgm check 570 + xc SP_SVCNR(2,%r15),SP_SVCNR(%r15) # clear svc number 570 571 la %r2,SP_PTREGS(%r15) # address of register-save area 571 572 larl %r14,sysc_restore # load adr. of system ret, no work 572 573 jg do_single_step # branch to do_single_step
+1 -1
arch/s390/kernel/init_task.c
··· 26 26 /* 27 27 * Initial thread structure. 28 28 * 29 - * We need to make sure that this is 8192-byte aligned due to the 29 + * We need to make sure that this is THREAD_SIZE aligned due to the 30 30 * way process stacks are handled. This is done by having a special 31 31 * "init_task" linker map entry.. 32 32 */
+1 -1
arch/s390/kernel/ptrace.c
··· 657 657 * debugger stored an invalid system call number. Skip 658 658 * the system call and the system call restart handling. 659 659 */ 660 - regs->trap = -1; 660 + regs->svcnr = 0; 661 661 ret = -1; 662 662 } 663 663
+3 -3
arch/s390/kernel/signal.c
··· 160 160 current->thread.fp_regs.fpc &= FPC_VALID_MASK; 161 161 162 162 restore_fp_regs(&current->thread.fp_regs); 163 - regs->trap = -1; /* disable syscall checks */ 163 + regs->svcnr = 0; /* disable syscall checks */ 164 164 return 0; 165 165 } 166 166 ··· 445 445 oldset = &current->blocked; 446 446 447 447 /* Are we from a system call? */ 448 - if (regs->trap == __LC_SVC_OLD_PSW) { 448 + if (regs->svcnr) { 449 449 continue_addr = regs->psw.addr; 450 450 restart_addr = continue_addr - regs->ilc; 451 451 retval = regs->gprs[2]; ··· 462 462 case -ERESTART_RESTARTBLOCK: 463 463 regs->gprs[2] = -EINTR; 464 464 } 465 - regs->trap = -1; /* Don't deal with this again. */ 465 + regs->svcnr = 0; /* Don't deal with this again. */ 466 466 } 467 467 468 468 /* Get signal to deliver. When running under ptrace, at this point
+5 -8
arch/s390/kernel/time.c
··· 59 59 60 60 static ext_int_info_t ext_int_info_cc; 61 61 static ext_int_info_t ext_int_etr_cc; 62 - static u64 jiffies_timer_cc; 62 + static u64 sched_clock_base_cc; 63 63 64 64 static DEFINE_PER_CPU(struct clock_event_device, comparators); 65 65 ··· 68 68 */ 69 69 unsigned long long sched_clock(void) 70 70 { 71 - return ((get_clock_xt() - jiffies_timer_cc) * 125) >> 9; 71 + return ((get_clock_xt() - sched_clock_base_cc) * 125) >> 9; 72 72 } 73 73 74 74 /* ··· 229 229 */ 230 230 void __init time_init(void) 231 231 { 232 - u64 init_timer_cc; 233 - 234 - init_timer_cc = reset_tod_clock(); 235 - jiffies_timer_cc = init_timer_cc - jiffies_64 * CLK_TICKS_PER_JIFFY; 232 + sched_clock_base_cc = reset_tod_clock(); 236 233 237 234 /* set xtime */ 238 - tod_to_timeval(init_timer_cc - TOD_UNIX_EPOCH, &xtime); 235 + tod_to_timeval(sched_clock_base_cc - TOD_UNIX_EPOCH, &xtime); 239 236 set_normalized_timespec(&wall_to_monotonic, 240 237 -xtime.tv_sec, -xtime.tv_nsec); 241 238 ··· 286 289 delta = -delta; 287 290 adjust.offset = -ticks * (1000000 / HZ); 288 291 } 289 - jiffies_timer_cc += delta; 292 + sched_clock_base_cc += delta; 290 293 if (adjust.offset != 0) { 291 294 printk(KERN_NOTICE "etr: time adjusted by %li micro-seconds\n", 292 295 adjust.offset);
+2 -1
arch/s390/kernel/vmlinux.lds.S
··· 2 2 * Written by Martin Schwidefsky (schwidefsky@de.ibm.com) 3 3 */ 4 4 5 + #include <asm/thread_info.h> 5 6 #include <asm/page.h> 6 7 #include <asm-generic/vmlinux.lds.h> 7 8 ··· 87 86 } 88 87 _edata = .; /* End of data section */ 89 88 90 - . = ALIGN(2 * PAGE_SIZE); /* init_task */ 89 + . = ALIGN(THREAD_SIZE); /* init_task */ 91 90 .data.init_task : { 92 91 *(.data.init_task) 93 92 }
-2
arch/sparc/include/asm/ptrace_64.h
··· 142 142 }; 143 143 extern struct global_reg_snapshot global_reg_snapshot[NR_CPUS]; 144 144 145 - #define __ARCH_WANT_COMPAT_SYS_PTRACE 146 - 147 145 #define force_successful_syscall_return() \ 148 146 do { current_thread_info()->syscall_noerror = 1; \ 149 147 } while (0)
+1 -1
arch/sparc/kernel/cpu.c
··· 126 126 127 127 unsigned int fsr_storage; 128 128 129 - void __init cpu_probe(void) 129 + void __cpuinit cpu_probe(void) 130 130 { 131 131 int psr_impl, psr_vers, fpu_vers; 132 132 int i, psr;
+1 -1
arch/sparc/kernel/head.S
··· 72 72 .align 4 73 73 74 74 /* The Sparc trap table, bootloader gives us control at _start. */ 75 - .text 75 + .section .text.head,"ax" 76 76 .globl start, _stext, _start, __stext 77 77 .globl trapbase 78 78 _start: /* danger danger */
+2 -2
arch/sparc/kernel/smp.c
··· 35 35 36 36 #include "irq.h" 37 37 38 - volatile unsigned long cpu_callin_map[NR_CPUS] __initdata = {0,}; 38 + volatile unsigned long cpu_callin_map[NR_CPUS] __cpuinitdata = {0,}; 39 39 unsigned char boot_cpu_id = 0; 40 40 unsigned char boot_cpu_id4 = 0; /* boot_cpu_id << 2 */ 41 41 ··· 120 120 panic("SMP bolixed\n"); 121 121 } 122 122 123 - struct linux_prom_registers smp_penguin_ctable __initdata = { 0 }; 123 + struct linux_prom_registers smp_penguin_ctable __cpuinitdata = { 0 }; 124 124 125 125 void smp_send_reschedule(int cpu) 126 126 {
+2 -2
arch/sparc/kernel/sun4d_smp.c
··· 83 83 "i" (ASI_M_CTL)); 84 84 } 85 85 86 - void __init smp4d_callin(void) 86 + void __cpuinit smp4d_callin(void) 87 87 { 88 88 int cpuid = hard_smp4d_processor_id(); 89 89 extern spinlock_t sun4d_imsk_lock; ··· 386 386 387 387 extern unsigned int lvl14_resolution; 388 388 389 - static void __init smp_setup_percpu_timer(void) 389 + static void __cpuinit smp_setup_percpu_timer(void) 390 390 { 391 391 int cpu = hard_smp4d_processor_id(); 392 392
+1 -1
arch/sparc/kernel/sun4m_smp.c
··· 343 343 344 344 extern unsigned int lvl14_resolution; 345 345 346 - static void __init smp_setup_percpu_timer(void) 346 + static void __cpuinit smp_setup_percpu_timer(void) 347 347 { 348 348 int cpu = smp_processor_id(); 349 349
+2 -2
arch/sparc/kernel/trampoline.S
··· 18 18 .globl sun4m_cpu_startup, __smp4m_processor_id 19 19 .globl sun4d_cpu_startup, __smp4d_processor_id 20 20 21 - __INIT 21 + __CPUINIT 22 22 .align 4 23 23 24 24 /* When we start up a cpu for the first time it enters this routine. ··· 109 109 /* CPUID in bootbus can be found at PA 0xff0140000 */ 110 110 #define SUN4D_BOOTBUS_CPUID 0xf0140000 111 111 112 - __INIT 112 + __CPUINIT 113 113 .align 4 114 114 115 115 sun4d_cpu_startup:
+1
arch/sparc/kernel/vmlinux.lds.S
··· 13 13 .text 0xf0004000 : 14 14 { 15 15 _text = .; 16 + *(.text.head) 16 17 TEXT_TEXT 17 18 SCHED_TEXT 18 19 LOCK_TEXT
+7 -7
arch/sparc/mm/srmmu.c
··· 1251 1251 /* Paging initialization on the Sparc Reference MMU. */ 1252 1252 extern void sparc_context_init(int); 1253 1253 1254 - void (*poke_srmmu)(void) __initdata = NULL; 1254 + void (*poke_srmmu)(void) __cpuinitdata = NULL; 1255 1255 1256 1256 extern unsigned long bootmem_init(unsigned long *pages_avail); 1257 1257 ··· 1446 1446 (int)vac_cache_size, (int)vac_line_size); 1447 1447 } 1448 1448 1449 - static void __init poke_hypersparc(void) 1449 + static void __cpuinit poke_hypersparc(void) 1450 1450 { 1451 1451 volatile unsigned long clear; 1452 1452 unsigned long mreg = srmmu_get_mmureg(); ··· 1501 1501 hypersparc_setup_blockops(); 1502 1502 } 1503 1503 1504 - static void __init poke_cypress(void) 1504 + static void __cpuinit poke_cypress(void) 1505 1505 { 1506 1506 unsigned long mreg = srmmu_get_mmureg(); 1507 1507 unsigned long faddr, tagval; ··· 1589 1589 init_cypress_common(); 1590 1590 } 1591 1591 1592 - static void __init poke_swift(void) 1592 + static void __cpuinit poke_swift(void) 1593 1593 { 1594 1594 unsigned long mreg; 1595 1595 ··· 1771 1771 } 1772 1772 1773 1773 1774 - static void __init poke_turbosparc(void) 1774 + static void __cpuinit poke_turbosparc(void) 1775 1775 { 1776 1776 unsigned long mreg = srmmu_get_mmureg(); 1777 1777 unsigned long ccreg; ··· 1834 1834 poke_srmmu = poke_turbosparc; 1835 1835 } 1836 1836 1837 - static void __init poke_tsunami(void) 1837 + static void __cpuinit poke_tsunami(void) 1838 1838 { 1839 1839 unsigned long mreg = srmmu_get_mmureg(); 1840 1840 ··· 1876 1876 tsunami_setup_blockops(); 1877 1877 } 1878 1878 1879 - static void __init poke_viking(void) 1879 + static void __cpuinit poke_viking(void) 1880 1880 { 1881 1881 unsigned long mreg = srmmu_get_mmureg(); 1882 1882 static int smp_catch;
+2 -2
arch/sparc64/kernel/smp.c
··· 282 282 return kern_base + (val - KERNBASE); 283 283 } 284 284 285 - static void ldom_startcpu_cpuid(unsigned int cpu, unsigned long thread_reg) 285 + static void __cpuinit ldom_startcpu_cpuid(unsigned int cpu, unsigned long thread_reg) 286 286 { 287 287 extern unsigned long sparc64_ttable_tl0; 288 288 extern unsigned long kern_locked_tte_data; ··· 343 343 */ 344 344 static struct thread_info *cpu_new_thread = NULL; 345 345 346 - static int __devinit smp_boot_one_cpu(unsigned int cpu) 346 + static int __cpuinit smp_boot_one_cpu(unsigned int cpu) 347 347 { 348 348 struct trap_per_cpu *tb = &trap_block[cpu]; 349 349 unsigned long entry =
+1 -1
arch/sparc64/mm/init.c
··· 956 956 return nid; 957 957 } 958 958 959 - static void add_node_ranges(void) 959 + static void __init add_node_ranges(void) 960 960 { 961 961 int i; 962 962
+12 -12
arch/x86/include/asm/amd_iommu_types.h
··· 251 251 /* Pointer to PCI device of this IOMMU */ 252 252 struct pci_dev *dev; 253 253 254 - /* 255 - * Capability pointer. There could be more than one IOMMU per PCI 256 - * device function if there are more than one AMD IOMMU capability 257 - * pointers. 258 - */ 259 - u16 cap_ptr; 260 - 261 254 /* physical address of MMIO space */ 262 255 u64 mmio_phys; 263 256 /* virtual address of MMIO space */ ··· 258 265 259 266 /* capabilities of that IOMMU read from ACPI */ 260 267 u32 cap; 268 + 269 + /* 270 + * Capability pointer. There could be more than one IOMMU per PCI 271 + * device function if there are more than one AMD IOMMU capability 272 + * pointers. 273 + */ 274 + u16 cap_ptr; 261 275 262 276 /* pci domain of this IOMMU */ 263 277 u16 pci_seg; ··· 284 284 /* size of command buffer */ 285 285 u32 cmd_buf_size; 286 286 287 - /* event buffer virtual address */ 288 - u8 *evt_buf; 289 287 /* size of event buffer */ 290 288 u32 evt_buf_size; 289 + /* event buffer virtual address */ 290 + u8 *evt_buf; 291 291 /* MSI number for event interrupt */ 292 292 u16 evt_msi_num; 293 293 294 - /* if one, we need to send a completion wait command */ 295 - int need_sync; 296 - 297 294 /* true if interrupts for this IOMMU are already enabled */ 298 295 bool int_enabled; 296 + 297 + /* if one, we need to send a completion wait command */ 298 + int need_sync; 299 299 300 300 /* default dma_ops domain for that IOMMU */ 301 301 struct dma_ops_domain *default_dom;
-2
arch/x86/include/asm/ptrace.h
··· 271 271 extern int do_set_thread_area(struct task_struct *p, int idx, 272 272 struct user_desc __user *info, int can_allocate); 273 273 274 - #define __ARCH_WANT_COMPAT_SYS_PTRACE 275 - 276 274 #endif /* __KERNEL__ */ 277 275 278 276 #endif /* !__ASSEMBLY__ */
+16 -20
arch/x86/kernel/amd_iommu.c
··· 187 187 188 188 spin_lock_irqsave(&iommu->lock, flags); 189 189 ret = __iommu_queue_command(iommu, cmd); 190 + if (!ret) 191 + iommu->need_sync = 1; 190 192 spin_unlock_irqrestore(&iommu->lock, flags); 191 193 192 194 return ret; ··· 212 210 cmd.data[0] = CMD_COMPL_WAIT_INT_MASK; 213 211 CMD_SET_TYPE(&cmd, CMD_COMPL_WAIT); 214 212 215 - iommu->need_sync = 0; 216 - 217 213 spin_lock_irqsave(&iommu->lock, flags); 214 + 215 + if (!iommu->need_sync) 216 + goto out; 217 + 218 + iommu->need_sync = 0; 218 219 219 220 ret = __iommu_queue_command(iommu, &cmd); 220 221 ··· 259 254 260 255 ret = iommu_queue_command(iommu, &cmd); 261 256 262 - iommu->need_sync = 1; 263 - 264 257 return ret; 265 258 } 266 259 ··· 283 280 cmd.data[2] |= CMD_INV_IOMMU_PAGES_PDE_MASK; 284 281 285 282 ret = iommu_queue_command(iommu, &cmd); 286 - 287 - iommu->need_sync = 1; 288 283 289 284 return ret; 290 285 } ··· 763 762 write_unlock_irqrestore(&amd_iommu_devtable_lock, flags); 764 763 765 764 iommu_queue_inv_dev_entry(iommu, devid); 766 - 767 - iommu->need_sync = 1; 768 765 } 769 766 770 767 /***************************************************************************** ··· 856 857 "device ", (*domain)->id); 857 858 print_devid(_bdf, 1); 858 859 } 860 + 861 + if (domain_for_device(_bdf) == NULL) 862 + set_device_domain(*iommu, *domain, _bdf); 859 863 860 864 return 1; 861 865 } ··· 1033 1031 if (addr == bad_dma_address) 1034 1032 goto out; 1035 1033 1036 - if (unlikely(iommu->need_sync)) 1037 - iommu_completion_wait(iommu); 1034 + iommu_completion_wait(iommu); 1038 1035 1039 1036 out: 1040 1037 spin_unlock_irqrestore(&domain->lock, flags); ··· 1061 1060 1062 1061 __unmap_single(iommu, domain->priv, dma_addr, size, dir); 1063 1062 1064 - if (unlikely(iommu->need_sync)) 1065 - iommu_completion_wait(iommu); 1063 + iommu_completion_wait(iommu); 1066 1064 1067 1065 spin_unlock_irqrestore(&domain->lock, flags); 1068 1066 } ··· 1127 1127 goto unmap; 1128 1128 } 1129 1129 1130 - if (unlikely(iommu->need_sync)) 1131 - iommu_completion_wait(iommu); 1130 + iommu_completion_wait(iommu); 1132 1131 1133 1132 out: 1134 1133 spin_unlock_irqrestore(&domain->lock, flags); ··· 1172 1173 s->dma_address = s->dma_length = 0; 1173 1174 } 1174 1175 1175 - if (unlikely(iommu->need_sync)) 1176 - iommu_completion_wait(iommu); 1176 + iommu_completion_wait(iommu); 1177 1177 1178 1178 spin_unlock_irqrestore(&domain->lock, flags); 1179 1179 } ··· 1223 1225 goto out; 1224 1226 } 1225 1227 1226 - if (unlikely(iommu->need_sync)) 1227 - iommu_completion_wait(iommu); 1228 + iommu_completion_wait(iommu); 1228 1229 1229 1230 out: 1230 1231 spin_unlock_irqrestore(&domain->lock, flags); ··· 1254 1257 1255 1258 __unmap_single(iommu, domain->priv, dma_addr, size, DMA_BIDIRECTIONAL); 1256 1259 1257 - if (unlikely(iommu->need_sync)) 1258 - iommu_completion_wait(iommu); 1260 + iommu_completion_wait(iommu); 1259 1261 1260 1262 spin_unlock_irqrestore(&domain->lock, flags); 1261 1263
+1 -1
arch/x86/kernel/apic.c
··· 1315 1315 } 1316 1316 } 1317 1317 1318 - void enable_IR_x2apic(void) 1318 + void __init enable_IR_x2apic(void) 1319 1319 { 1320 1320 #ifdef CONFIG_INTR_REMAP 1321 1321 int ret;
+15 -3
arch/x86/kernel/cpu/cpufreq/powernow-k8.c
··· 115 115 u32 i = 0; 116 116 117 117 if (cpu_family == CPU_HW_PSTATE) { 118 - rdmsr(MSR_PSTATE_STATUS, lo, hi); 119 - i = lo & HW_PSTATE_MASK; 120 - data->currpstate = i; 118 + if (data->currpstate == HW_PSTATE_INVALID) { 119 + /* read (initial) hw pstate if not yet set */ 120 + rdmsr(MSR_PSTATE_STATUS, lo, hi); 121 + i = lo & HW_PSTATE_MASK; 122 + 123 + /* 124 + * a workaround for family 11h erratum 311 might cause 125 + * an "out-of-range Pstate if the core is in Pstate-0 126 + */ 127 + if (i >= data->numps) 128 + data->currpstate = HW_PSTATE_0; 129 + else 130 + data->currpstate = i; 131 + } 121 132 return 0; 122 133 } 123 134 do { ··· 1132 1121 } 1133 1122 1134 1123 data->cpu = pol->cpu; 1124 + data->currpstate = HW_PSTATE_INVALID; 1135 1125 1136 1126 if (powernow_k8_cpu_init_acpi(data)) { 1137 1127 /*
+16 -1
arch/x86/kernel/cpu/cpufreq/powernow-k8.h
··· 5 5 * http://www.gnu.org/licenses/gpl.html 6 6 */ 7 7 8 + 9 + enum pstate { 10 + HW_PSTATE_INVALID = 0xff, 11 + HW_PSTATE_0 = 0, 12 + HW_PSTATE_1 = 1, 13 + HW_PSTATE_2 = 2, 14 + HW_PSTATE_3 = 3, 15 + HW_PSTATE_4 = 4, 16 + HW_PSTATE_5 = 5, 17 + HW_PSTATE_6 = 6, 18 + HW_PSTATE_7 = 7, 19 + }; 20 + 8 21 struct powernow_k8_data { 9 22 unsigned int cpu; 10 23 ··· 36 23 u32 exttype; /* extended interface = 1 */ 37 24 38 25 /* keep track of the current fid / vid or pstate */ 39 - u32 currvid, currfid, currpstate; 26 + u32 currvid; 27 + u32 currfid; 28 + enum pstate currpstate; 40 29 41 30 /* the powernow_table includes all frequency and vid/fid pairings: 42 31 * fid are the lower 8 bits of the index, vid are the upper 8 bits.
+22 -6
arch/x86/kernel/io_apic.c
··· 3755 3755 void __init setup_ioapic_dest(void) 3756 3756 { 3757 3757 int pin, ioapic, irq, irq_entry; 3758 + struct irq_desc *desc; 3758 3759 struct irq_cfg *cfg; 3760 + cpumask_t mask; 3759 3761 3760 3762 if (skip_ioapic_setup == 1) 3761 3763 return; ··· 3774 3772 * cpu is online. 3775 3773 */ 3776 3774 cfg = irq_cfg(irq); 3777 - if (!cfg->vector) 3775 + if (!cfg->vector) { 3778 3776 setup_IO_APIC_irq(ioapic, pin, irq, 3779 3777 irq_trigger(irq_entry), 3780 3778 irq_polarity(irq_entry)); 3781 - #ifdef CONFIG_INTR_REMAP 3782 - else if (intr_remapping_enabled) 3783 - set_ir_ioapic_affinity_irq(irq, TARGET_CPUS); 3784 - #endif 3779 + continue; 3780 + 3781 + } 3782 + 3783 + /* 3784 + * Honour affinities which have been set in early boot 3785 + */ 3786 + desc = irq_to_desc(irq); 3787 + if (desc->status & 3788 + (IRQ_NO_BALANCING | IRQ_AFFINITY_SET)) 3789 + mask = desc->affinity; 3785 3790 else 3786 - set_ioapic_affinity_irq(irq, TARGET_CPUS); 3791 + mask = TARGET_CPUS; 3792 + 3793 + #ifdef CONFIG_INTR_REMAP 3794 + if (intr_remapping_enabled) 3795 + set_ir_ioapic_affinity_irq(irq, mask); 3796 + else 3797 + #endif 3798 + set_ioapic_affinity_irq(irq, mask); 3787 3799 } 3788 3800 3789 3801 }
+1 -1
arch/x86/kernel/kvmclock.c
··· 128 128 } 129 129 130 130 #ifdef CONFIG_X86_LOCAL_APIC 131 - static void __devinit kvm_setup_secondary_clock(void) 131 + static void __cpuinit kvm_setup_secondary_clock(void) 132 132 { 133 133 /* 134 134 * Now that the first cpu already had this clocksource initialized,
+1 -1
arch/x86/xen/smp.c
··· 362 362 alternatives_smp_switch(0); 363 363 } 364 364 365 - static void xen_play_dead(void) 365 + static void __cpuinit xen_play_dead(void) /* used only with CPU_HOTPLUG */ 366 366 { 367 367 play_dead_common(); 368 368 HYPERVISOR_vcpu_op(VCPUOP_down, smp_processor_id(), NULL);
+1 -1
arch/x86/xen/xen-ops.h
··· 49 49 50 50 void xen_mark_init_mm_pinned(void); 51 51 52 - void __init xen_setup_vcpu_info_placement(void); 52 + void xen_setup_vcpu_info_placement(void); 53 53 54 54 #ifdef CONFIG_SMP 55 55 void xen_smp_init(void);
+9
drivers/acpi/battery.c
··· 174 174 break; 175 175 case POWER_SUPPLY_PROP_CURRENT_NOW: 176 176 val->intval = battery->current_now * 1000; 177 + /* if power units are mW, convert to mA by 178 + dividing by current voltage (mV/1000) */ 179 + if (!battery->power_unit) { 180 + if (battery->voltage_now) { 181 + val->intval /= battery->voltage_now; 182 + val->intval *= 1000; 183 + } else 184 + val->intval = -1; 185 + } 177 186 break; 178 187 case POWER_SUPPLY_PROP_CHARGE_FULL_DESIGN: 179 188 case POWER_SUPPLY_PROP_ENERGY_FULL_DESIGN:
+5 -396
drivers/acpi/blacklist.c
··· 176 176 acpi_dmi_osi_linux(1, d); /* enable */ 177 177 return 0; 178 178 } 179 - static int __init dmi_disable_osi_linux(const struct dmi_system_id *d) 180 - { 181 - acpi_dmi_osi_linux(0, d); /* disable */ 182 - return 0; 183 - } 184 - static int __init dmi_unknown_osi_linux(const struct dmi_system_id *d) 185 - { 186 - acpi_dmi_osi_linux(-1, d); /* unknown */ 187 - return 0; 188 - } 189 179 static int __init dmi_disable_osi_vista(const struct dmi_system_id *d) 190 180 { 191 181 printk(KERN_NOTICE PREFIX "DMI detected: %s\n", d->ident); ··· 183 193 return 0; 184 194 } 185 195 186 - /* 187 - * Most BIOS that invoke OSI(Linux) do nothing with it. 188 - * But some cause Linux to break. 189 - * Only a couple use it to make Linux run better. 190 - * 191 - * Thus, Linux should continue to disable OSI(Linux) by default, 192 - * should continue to discourage BIOS writers from using it, and 193 - * should whitelist the few existing systems that require it. 194 - * 195 - * If it appears clear a vendor isn't using OSI(Linux) 196 - * for anything constructive, blacklist them by name to disable 197 - * unnecessary dmesg warnings on all of their products. 198 - */ 199 - 200 196 static struct dmi_system_id acpi_osi_dmi_table[] __initdata = { 201 - /* 202 - * Disable OSI(Linux) warnings on all "Acer, inc." 203 - * 204 - * _OSI(Linux) disables the latest Windows BIOS code: 205 - * DMI_MATCH(DMI_PRODUCT_NAME, "Aspire 3100"), 206 - * DMI_MATCH(DMI_PRODUCT_NAME, "Aspire 5050"), 207 - * DMI_MATCH(DMI_PRODUCT_NAME, "Aspire 5100"), 208 - * DMI_MATCH(DMI_PRODUCT_NAME, "Aspire 5580"), 209 - * DMI_MATCH(DMI_PRODUCT_NAME, "TravelMate 3010"), 210 - * _OSI(Linux) effect unknown: 211 - * DMI_MATCH(DMI_PRODUCT_NAME, "Ferrari 5000"), 212 - */ 213 - /* 214 - * note that dmi_check_system() uses strstr() 215 - * to match sub-strings rather than !strcmp(), 216 - * so "Acer" below matches "Acer, inc." above. 217 - */ 218 - /* 219 - * Disable OSI(Linux) warnings on all "Acer" 220 - * 221 - * _OSI(Linux) effect unknown: 222 - * DMI_MATCH(DMI_PRODUCT_NAME, "Aspire 5610"), 223 - * DMI_MATCH(DMI_PRODUCT_NAME, "Aspire 7720Z"), 224 - * DMI_MATCH(DMI_PRODUCT_NAME, "TravelMate 5520"), 225 - * DMI_MATCH(DMI_PRODUCT_NAME, "TravelMate 6460"), 226 - * DMI_MATCH(DMI_PRODUCT_NAME, "TravelMate 7510"), 227 - * 228 - * _OSI(Linux) is a NOP: 229 - * DMI_MATCH(DMI_PRODUCT_NAME, "Aspire 5315"), 230 - * DMI_MATCH(DMI_PRODUCT_NAME, "Extensa 5220"), 231 - */ 232 - { 233 - .callback = dmi_disable_osi_linux, 234 - .ident = "Acer", 235 - .matches = { 236 - DMI_MATCH(DMI_SYS_VENDOR, "Acer"), 237 - }, 238 - }, 239 - /* 240 - * Disable OSI(Linux) warnings on all "Apple Computer, Inc." 241 - * Disable OSI(Linux) warnings on all "Apple Inc." 242 - * 243 - * _OSI(Linux) confirmed to be a NOP: 244 - * DMI_MATCH(DMI_PRODUCT_NAME, "MacBook1,1"), 245 - * DMI_MATCH(DMI_PRODUCT_NAME, "MacBook2,1"), 246 - * DMI_MATCH(DMI_PRODUCT_NAME, "MacBookPro2,2"), 247 - * DMI_MATCH(DMI_PRODUCT_NAME, "MacBookPro3,1"), 248 - * _OSI(Linux) effect unknown: 249 - * DMI_MATCH(DMI_PRODUCT_NAME, "MacPro2,1"), 250 - * DMI_MATCH(DMI_PRODUCT_NAME, "MacBookPro1,1"), 251 - */ 252 - { 253 - .callback = dmi_disable_osi_linux, 254 - .ident = "Apple", 255 - .matches = { 256 - DMI_MATCH(DMI_SYS_VENDOR, "Apple"), 257 - }, 258 - }, 259 - /* 260 - * Disable OSI(Linux) warnings on all "BenQ" 261 - * 262 - * _OSI(Linux) confirmed to be a NOP: 263 - * DMI_MATCH(DMI_PRODUCT_NAME, "Joybook S31"), 264 - */ 265 - { 266 - .callback = dmi_disable_osi_linux, 267 - .ident = "BenQ", 268 - .matches = { 269 - DMI_MATCH(DMI_SYS_VENDOR, "BenQ"), 270 - }, 271 - }, 272 - /* 273 - * Disable OSI(Linux) warnings on all "Clevo Co." 274 - * 275 - * _OSI(Linux) confirmed to be a NOP: 276 - * DMI_MATCH(DMI_PRODUCT_NAME, "M570RU"), 277 - */ 278 - { 279 - .callback = dmi_disable_osi_linux, 280 - .ident = "Clevo", 281 - .matches = { 282 - DMI_MATCH(DMI_SYS_VENDOR, "Clevo Co."), 283 - }, 284 - }, 285 - /* 286 - * Disable OSI(Linux) warnings on all "COMPAL" 287 - * 288 - * _OSI(Linux) confirmed to be a NOP: 289 - * DMI_MATCH(DMI_BOARD_NAME, "HEL8X"), 290 - * _OSI(Linux) unknown effect: 291 - * DMI_MATCH(DMI_BOARD_NAME, "IFL91"), 292 - */ 293 - { 294 - .callback = dmi_disable_osi_linux, 295 - .ident = "Compal", 296 - .matches = { 297 - DMI_MATCH(DMI_BIOS_VENDOR, "COMPAL"), 298 - }, 299 - }, 300 - { /* OSI(Linux) touches USB, unknown side-effect */ 301 - .callback = dmi_disable_osi_linux, 302 - .ident = "Dell Dimension 5150", 303 - .matches = { 304 - DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."), 305 - DMI_MATCH(DMI_PRODUCT_NAME, "Dell DM051"), 306 - }, 307 - }, 308 - { /* OSI(Linux) is a NOP */ 309 - .callback = dmi_disable_osi_linux, 310 - .ident = "Dell i1501", 311 - .matches = { 312 - DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."), 313 - DMI_MATCH(DMI_PRODUCT_NAME, "Inspiron 1501"), 314 - }, 315 - }, 316 - { /* OSI(Linux) effect unknown */ 317 - .callback = dmi_unknown_osi_linux, 318 - .ident = "Dell Latitude D830", 319 - .matches = { 320 - DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."), 321 - DMI_MATCH(DMI_PRODUCT_NAME, "Latitude D830"), 322 - }, 323 - }, 324 - { /* OSI(Linux) effect unknown */ 325 - .callback = dmi_unknown_osi_linux, 326 - .ident = "Dell OptiPlex GX620", 327 - .matches = { 328 - DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."), 329 - DMI_MATCH(DMI_PRODUCT_NAME, "OptiPlex GX620"), 330 - }, 331 - }, 332 - { /* OSI(Linux) causes some USB initialization to not run */ 333 - .callback = dmi_unknown_osi_linux, 334 - .ident = "Dell OptiPlex 755", 335 - .matches = { 336 - DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."), 337 - DMI_MATCH(DMI_PRODUCT_NAME, "OptiPlex 755"), 338 - }, 339 - }, 340 - { /* OSI(Linux) effect unknown */ 341 - .callback = dmi_unknown_osi_linux, 342 - .ident = "Dell PE 1900", 343 - .matches = { 344 - DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."), 345 - DMI_MATCH(DMI_PRODUCT_NAME, "PowerEdge 1900"), 346 - }, 347 - }, 348 - { /* OSI(Linux) is a NOP */ 349 - .callback = dmi_unknown_osi_linux, 350 - .ident = "Dell PE 1950", 351 - .matches = { 352 - DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."), 353 - DMI_MATCH(DMI_PRODUCT_NAME, "PowerEdge 1950"), 354 - }, 355 - }, 356 - { /* OSI(Linux) is a NOP */ 357 - .callback = dmi_disable_osi_linux, 358 - .ident = "Dell PE R200", 359 - .matches = { 360 - DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."), 361 - DMI_MATCH(DMI_PRODUCT_NAME, "PowerEdge R200"), 362 - }, 363 - }, 364 - { /* OSI(Linux) touches USB */ 365 - .callback = dmi_disable_osi_linux, 366 - .ident = "Dell PR 390", 367 - .matches = { 368 - DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."), 369 - DMI_MATCH(DMI_PRODUCT_NAME, "Precision WorkStation 390"), 370 - }, 371 - }, 372 - { /* OSI(Linux) touches USB */ 373 - .callback = dmi_unknown_osi_linux, 374 - .ident = "Dell PR 390", 375 - .matches = { 376 - DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."), 377 - DMI_MATCH(DMI_PRODUCT_NAME, "Precision WorkStation 690"), 378 - }, 379 - }, 380 - { /* OSI(Linux) unknown - ASL looks benign, but may effect dock/SMM */ 381 - .callback = dmi_unknown_osi_linux, 382 - .ident = "Dell PR M4300", 383 - .matches = { 384 - DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."), 385 - DMI_MATCH(DMI_PRODUCT_NAME, "Precision M4300"), 386 - }, 387 - }, 388 - { /* OSI(Linux) is a NOP */ 389 - .callback = dmi_disable_osi_linux, 390 - .ident = "Dell Vostro 1000", 391 - .matches = { 392 - DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."), 393 - DMI_MATCH(DMI_PRODUCT_NAME, "Vostro 1000"), 394 - }, 395 - }, 396 - { /* OSI(Linux) effect unknown */ 397 - .callback = dmi_unknown_osi_linux, 398 - .ident = "Dell PE SC440", 399 - .matches = { 400 - DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."), 401 - DMI_MATCH(DMI_PRODUCT_NAME, "PowerEdge SC440"), 402 - }, 403 - }, 404 - { /* OSI(Linux) effect unknown */ 405 - .callback = dmi_unknown_osi_linux, 406 - .ident = "Dialogue Flybook V5", 407 - .matches = { 408 - DMI_MATCH(DMI_SYS_VENDOR, "Dialogue Technology Corporation"), 409 - DMI_MATCH(DMI_PRODUCT_NAME, "Flybook V5"), 410 - }, 411 - }, 412 - /* 413 - * Disable OSI(Linux) warnings on all "FUJITSU SIEMENS" 414 - * 415 - * _OSI(Linux) disables latest Windows BIOS code: 416 - * DMI_MATCH(DMI_PRODUCT_NAME, "AMILO Pa 2510"), 417 - * _OSI(Linux) confirmed to be a NOP: 418 - * DMI_MATCH(DMI_PRODUCT_NAME, "AMILO Pi 1536"), 419 - * DMI_MATCH(DMI_PRODUCT_NAME, "AMILO Pi 1556"), 420 - * DMI_MATCH(DMI_PRODUCT_NAME, "AMILO Xi 1546"), 421 - * DMI_MATCH(DMI_PRODUCT_NAME, "ESPRIMO Mobile V5505"), 422 - * _OSI(Linux) unknown effect: 423 - * DMI_MATCH(DMI_PRODUCT_NAME, "Amilo M1425"), 424 - * DMI_MATCH(DMI_PRODUCT_NAME, "Amilo Si 1520"), 425 - */ 426 - { 427 - .callback = dmi_disable_osi_linux, 428 - .ident = "Fujitsu Siemens", 429 - .matches = { 430 - DMI_MATCH(DMI_SYS_VENDOR, "FUJITSU SIEMENS"), 431 - }, 432 - }, 433 197 { 434 198 .callback = dmi_disable_osi_vista, 435 199 .ident = "Fujitsu Siemens", 436 200 .matches = { 437 201 DMI_MATCH(DMI_SYS_VENDOR, "FUJITSU SIEMENS"), 438 - DMI_MATCH(DMI_PRODUCT_NAME, "ESPRIMO Mobile V5505"), 202 + DMI_MATCH(DMI_PRODUCT_NAME, "ESPRIMO Mobile V5505"), 439 203 }, 440 204 }, 205 + 441 206 /* 442 - * Disable OSI(Linux) warnings on all "Hewlett-Packard" 443 - * 444 - * _OSI(Linux) confirmed to be a NOP: 445 - * .ident = "HP Pavilion tx 1000" 446 - * DMI_MATCH(DMI_BOARD_NAME, "30BF"), 447 - * .ident = "HP Pavilion dv2000" 448 - * DMI_MATCH(DMI_BOARD_NAME, "30B5"), 449 - * .ident = "HP Pavilion dv5000", 450 - * DMI_MATCH(DMI_BOARD_NAME, "30A7"), 451 - * .ident = "HP Pavilion dv6300 30BC", 452 - * DMI_MATCH(DMI_BOARD_NAME, "30BC"), 453 - * .ident = "HP Pavilion dv6000", 454 - * DMI_MATCH(DMI_BOARD_NAME, "30B7"), 455 - * DMI_MATCH(DMI_BOARD_NAME, "30B8"), 456 - * .ident = "HP Pavilion dv9000", 457 - * DMI_MATCH(DMI_BOARD_NAME, "30B9"), 458 - * .ident = "HP Pavilion dv9500", 459 - * DMI_MATCH(DMI_BOARD_NAME, "30CB"), 460 - * .ident = "HP/Compaq Presario C500", 461 - * DMI_MATCH(DMI_BOARD_NAME, "30C6"), 462 - * .ident = "HP/Compaq Presario F500", 463 - * DMI_MATCH(DMI_BOARD_NAME, "30D3"), 464 - * _OSI(Linux) unknown effect: 465 - * .ident = "HP Pavilion dv6500", 466 - * DMI_MATCH(DMI_BOARD_NAME, "30D0"), 207 + * BIOS invocation of _OSI(Linux) is almost always a BIOS bug. 208 + * Linux ignores it, except for the machines enumerated below. 467 209 */ 468 - { 469 - .callback = dmi_disable_osi_linux, 470 - .ident = "Hewlett-Packard", 471 - .matches = { 472 - DMI_MATCH(DMI_SYS_VENDOR, "Hewlett-Packard"), 473 - }, 474 - }, 210 + 475 211 /* 476 212 * Lenovo has a mix of systems OSI(Linux) situations 477 213 * and thus we can not wildcard the vendor. ··· 233 517 .matches = { 234 518 DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"), 235 519 DMI_MATCH(DMI_PRODUCT_VERSION, "ThinkPad X61"), 236 - }, 237 - }, 238 - { 239 - .callback = dmi_disable_osi_linux, 240 - .ident = "Lenovo 3000 V100", 241 - .matches = { 242 - DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"), 243 - DMI_MATCH(DMI_PRODUCT_VERSION, "LENOVO3000 V100"), 244 - }, 245 - }, 246 - { 247 - .callback = dmi_disable_osi_linux, 248 - .ident = "Lenovo 3000 N100", 249 - .matches = { 250 - DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"), 251 - DMI_MATCH(DMI_PRODUCT_VERSION, "3000 N100"), 252 - }, 253 - }, 254 - /* 255 - * Disable OSI(Linux) warnings on all "LG Electronics" 256 - * 257 - * _OSI(Linux) confirmed to be a NOP: 258 - * DMI_MATCH(DMI_PRODUCT_NAME, "P1-J150B"), 259 - * with DMI_MATCH(DMI_BOARD_NAME, "ROCKY"), 260 - * 261 - * unknown: 262 - * DMI_MATCH(DMI_PRODUCT_NAME, "S1-MDGDG"), 263 - * with DMI_MATCH(DMI_BOARD_NAME, "ROCKY"), 264 - */ 265 - { 266 - .callback = dmi_disable_osi_linux, 267 - .ident = "LG", 268 - .matches = { 269 - DMI_MATCH(DMI_SYS_VENDOR, "LG Electronics"), 270 - }, 271 - }, 272 - /* NEC - OSI(Linux) effect unknown */ 273 - { 274 - .callback = dmi_unknown_osi_linux, 275 - .ident = "NEC VERSA M360", 276 - .matches = { 277 - DMI_MATCH(DMI_SYS_VENDOR, "NEC Computers SAS"), 278 - DMI_MATCH(DMI_PRODUCT_NAME, "NEC VERSA M360"), 279 - }, 280 - }, 281 - /* Panasonic */ 282 - { 283 - .callback = dmi_unknown_osi_linux, 284 - .ident = "Panasonic", 285 - .matches = { 286 - DMI_MATCH(DMI_SYS_VENDOR, "Matsushita"), 287 - /* Toughbook CF-52 */ 288 - DMI_MATCH(DMI_PRODUCT_NAME, "CF-52CCABVBG"), 289 - }, 290 - }, 291 - /* 292 - * Disable OSI(Linux) warnings on all "Samsung Electronics" 293 - * 294 - * OSI(Linux) disables PNP0C32 and other BIOS code for Windows: 295 - * DMI_MATCH(DMI_PRODUCT_NAME, "R40P/R41P"), 296 - * DMI_MATCH(DMI_PRODUCT_NAME, "R59P/R60P/R61P"), 297 - */ 298 - { 299 - .callback = dmi_disable_osi_linux, 300 - .ident = "Samsung", 301 - .matches = { 302 - DMI_MATCH(DMI_SYS_VENDOR, "SAMSUNG ELECTRONICS CO., LTD."), 303 - }, 304 - }, 305 - /* 306 - * Disable OSI(Linux) warnings on all "Sony Corporation" 307 - * 308 - * _OSI(Linux) is a NOP: 309 - * DMI_MATCH(DMI_PRODUCT_NAME, "VGN-NR11S_S"), 310 - * DMI_MATCH(DMI_PRODUCT_NAME, "VGN-SZ38GP_C"), 311 - * DMI_MATCH(DMI_PRODUCT_NAME, "VGN-SZ650N"), 312 - * DMI_MATCH(DMI_PRODUCT_NAME, "VGN-TZ21MN_N"), 313 - * _OSI(Linux) unknown effect: 314 - * DMI_MATCH(DMI_PRODUCT_NAME, "VGN-FZ11M"), 315 - */ 316 - { 317 - .callback = dmi_disable_osi_linux, 318 - .ident = "Sony", 319 - .matches = { 320 - DMI_MATCH(DMI_SYS_VENDOR, "Sony Corporation"), 321 - }, 322 - }, 323 - /* 324 - * Disable OSI(Linux) warnings on all "TOSHIBA" 325 - * 326 - * _OSI(Linux) breaks sound (bugzilla 7787): 327 - * DMI_MATCH(DMI_PRODUCT_NAME, "Satellite P100"), 328 - * DMI_MATCH(DMI_PRODUCT_NAME, "Satellite P105"), 329 - * _OSI(Linux) is a NOP: 330 - * DMI_MATCH(DMI_PRODUCT_NAME, "Satellite A100"), 331 - * DMI_MATCH(DMI_PRODUCT_NAME, "Satellite A210"), 332 - * _OSI(Linux) unknown effect: 333 - * DMI_MATCH(DMI_PRODUCT_NAME, "Satellite A135"), 334 - * DMI_MATCH(DMI_PRODUCT_NAME, "Satellite A200"), 335 - * DMI_MATCH(DMI_PRODUCT_NAME, "Satellite P205"), 336 - * DMI_MATCH(DMI_PRODUCT_NAME, "Satellite U305"), 337 - */ 338 - { 339 - .callback = dmi_disable_osi_linux, 340 - .ident = "Toshiba", 341 - .matches = { 342 - DMI_MATCH(DMI_SYS_VENDOR, "TOSHIBA"), 343 520 }, 344 521 }, 345 522 {}
+2 -1
drivers/acpi/ec.c
··· 219 219 goto unlock; 220 220 err: 221 221 /* false interrupt, state didn't change */ 222 - ++ec->curr->irq_count; 222 + if (in_interrupt()) 223 + ++ec->curr->irq_count; 223 224 unlock: 224 225 spin_unlock_irqrestore(&ec->curr_lock, flags); 225 226 }
+25 -79
drivers/acpi/osl.c
··· 35 35 #include <linux/interrupt.h> 36 36 #include <linux/kmod.h> 37 37 #include <linux/delay.h> 38 - #include <linux/dmi.h> 39 38 #include <linux/workqueue.h> 40 39 #include <linux/nmi.h> 41 40 #include <linux/acpi.h> ··· 96 97 static char osi_additional_string[OSI_STRING_LENGTH_MAX]; 97 98 98 99 /* 99 - * "Ode to _OSI(Linux)" 100 + * The story of _OSI(Linux) 100 101 * 101 - * osi_linux -- Control response to BIOS _OSI(Linux) query. 102 + * From pre-history through Linux-2.6.22, 103 + * Linux responded TRUE upon a BIOS OSI(Linux) query. 102 104 * 103 - * As Linux evolves, the features that it supports change. 104 - * So an OSI string such as "Linux" is not specific enough 105 - * to be useful across multiple versions of Linux. It 106 - * doesn't identify any particular feature, interface, 107 - * or even any particular version of Linux... 105 + * Unfortunately, reference BIOS writers got wind of this 106 + * and put OSI(Linux) in their example code, quickly exposing 107 + * this string as ill-conceived and opening the door to 108 + * an un-bounded number of BIOS incompatibilities. 108 109 * 109 - * Unfortunately, Linux-2.6.22 and earlier responded "yes" 110 - * to a BIOS _OSI(Linux) query. When 111 - * a reference mobile BIOS started using it, its use 112 - * started to spread to many vendor platforms. 113 - * As it is not supportable, we need to halt that spread. 110 + * For example, OSI(Linux) was used on resume to re-POST a 111 + * video card on one system, because Linux at that time 112 + * could not do a speedy restore in its native driver. 113 + * But then upon gaining quick native restore capability, 114 + * Linux has no way to tell the BIOS to skip the time-consuming 115 + * POST -- putting Linux at a permanent performance disadvantage. 116 + * On another system, the BIOS writer used OSI(Linux) 117 + * to infer native OS support for IPMI! On other systems, 118 + * OSI(Linux) simply got in the way of Linux claiming to 119 + * be compatible with other operating systems, exposing 120 + * BIOS issues such as skipped device initialization. 114 121 * 115 - * Today, most BIOS references to _OSI(Linux) are noise -- 116 - * they have no functional effect and are just dead code 117 - * carried over from the reference BIOS. 118 - * 119 - * The next most common case is that _OSI(Linux) harms Linux, 120 - * usually by causing the BIOS to follow paths that are 121 - * not tested during Windows validation. 122 - * 123 - * Finally, there is a short list of platforms 124 - * where OSI(Linux) benefits Linux. 125 - * 126 - * In Linux-2.6.23, OSI(Linux) is first disabled by default. 127 - * DMI is used to disable the dmesg warning about OSI(Linux) 128 - * on platforms where it is known to have no effect. 129 - * But a dmesg warning remains for systems where 130 - * we do not know if OSI(Linux) is good or bad for the system. 131 - * DMI is also used to enable OSI(Linux) for the machines 132 - * that are known to need it. 122 + * So "Linux" turned out to be a really poor chose of 123 + * OSI string, and from Linux-2.6.23 onward we respond FALSE. 133 124 * 134 125 * BIOS writers should NOT query _OSI(Linux) on future systems. 135 - * It will be ignored by default, and to get Linux to 136 - * not ignore it will require a kernel source update to 137 - * add a DMI entry, or a boot-time "acpi_osi=Linux" invocation. 126 + * Linux will complain on the console when it sees it, and return FALSE. 127 + * To get Linux to return TRUE for your system will require 128 + * a kernel source update to add a DMI entry, 129 + * or boot with "acpi_osi=Linux" 138 130 */ 139 - #define OSI_LINUX_ENABLE 0 140 131 141 132 static struct osi_linux { 142 133 unsigned int enable:1; 143 134 unsigned int dmi:1; 144 135 unsigned int cmdline:1; 145 136 unsigned int known:1; 146 - } osi_linux = { OSI_LINUX_ENABLE, 0, 0, 0}; 137 + } osi_linux = { 0, 0, 0, 0}; 147 138 148 139 static void __init acpi_request_region (struct acpi_generic_address *addr, 149 140 unsigned int length, char *desc) ··· 1285 1296 return (AE_OK); 1286 1297 } 1287 1298 1288 - /** 1289 - * acpi_dmi_dump - dump DMI slots needed for blacklist entry 1290 - * 1291 - * Returns 0 on success 1292 - */ 1293 - static int acpi_dmi_dump(void) 1294 - { 1295 - 1296 - if (!dmi_available) 1297 - return -1; 1298 - 1299 - printk(KERN_NOTICE PREFIX "DMI System Vendor: %s\n", 1300 - dmi_get_system_info(DMI_SYS_VENDOR)); 1301 - printk(KERN_NOTICE PREFIX "DMI Product Name: %s\n", 1302 - dmi_get_system_info(DMI_PRODUCT_NAME)); 1303 - printk(KERN_NOTICE PREFIX "DMI Product Version: %s\n", 1304 - dmi_get_system_info(DMI_PRODUCT_VERSION)); 1305 - printk(KERN_NOTICE PREFIX "DMI Board Name: %s\n", 1306 - dmi_get_system_info(DMI_BOARD_NAME)); 1307 - printk(KERN_NOTICE PREFIX "DMI BIOS Vendor: %s\n", 1308 - dmi_get_system_info(DMI_BIOS_VENDOR)); 1309 - printk(KERN_NOTICE PREFIX "DMI BIOS Date: %s\n", 1310 - dmi_get_system_info(DMI_BIOS_DATE)); 1311 - 1312 - return 0; 1313 - } 1314 - 1315 - 1316 1299 /****************************************************************************** 1317 1300 * 1318 1301 * FUNCTION: acpi_os_validate_interface ··· 1310 1349 osi_linux.enable ? "honored" : "ignored", 1311 1350 osi_linux.cmdline ? " via cmdline" : 1312 1351 osi_linux.dmi ? " via DMI" : ""); 1313 - 1314 - if (!osi_linux.dmi) { 1315 - if (acpi_dmi_dump()) 1316 - printk(KERN_NOTICE PREFIX 1317 - "[please extract dmidecode output]\n"); 1318 - printk(KERN_NOTICE PREFIX 1319 - "Please send DMI info above to " 1320 - "linux-acpi@vger.kernel.org\n"); 1321 - } 1322 - if (!osi_linux.known && !osi_linux.cmdline) { 1323 - printk(KERN_NOTICE PREFIX 1324 - "If \"acpi_osi=%sLinux\" works better, " 1325 - "please notify linux-acpi@vger.kernel.org\n", 1326 - osi_linux.enable ? "!" : ""); 1327 - } 1328 1352 1329 1353 if (osi_linux.enable) 1330 1354 return AE_OK;
-10
drivers/acpi/scan.c
··· 751 751 if (!acpi_match_device_ids(device, button_device_ids)) 752 752 device->wakeup.flags.run_wake = 1; 753 753 754 - /* 755 - * Don't set Power button GPE as run_wake 756 - * if Fixed Power button is used 757 - */ 758 - if (!strcmp(device->pnp.hardware_id, "PNP0C0C") && 759 - !(acpi_gbl_FADT.flags & ACPI_FADT_POWER_BUTTON)) { 760 - device->wakeup.flags.run_wake = 0; 761 - device->wakeup.flags.valid = 0; 762 - } 763 - 764 754 end: 765 755 if (ACPI_FAILURE(status)) 766 756 device->flags.wake_capable = 0;
+39 -1
drivers/acpi/sleep/main.c
··· 90 90 old_suspend_ordering = true; 91 91 } 92 92 93 + /* 94 + * According to the ACPI specification the BIOS should make sure that ACPI is 95 + * enabled and SCI_EN bit is set on wake-up from S1 - S3 sleep states. Still, 96 + * some BIOSes don't do that and therefore we use acpi_enable() to enable ACPI 97 + * on such systems during resume. Unfortunately that doesn't help in 98 + * particularly pathological cases in which SCI_EN has to be set directly on 99 + * resume, although the specification states very clearly that this flag is 100 + * owned by the hardware. The set_sci_en_on_resume variable will be set in such 101 + * cases. 102 + */ 103 + static bool set_sci_en_on_resume; 104 + 93 105 /** 94 106 * acpi_pm_disable_gpes - Disable the GPEs. 95 107 */ ··· 247 235 } 248 236 249 237 /* If ACPI is not enabled by the BIOS, we need to enable it here. */ 250 - acpi_enable(); 238 + if (set_sci_en_on_resume) 239 + acpi_set_register(ACPI_BITREG_SCI_ENABLE, 1); 240 + else 241 + acpi_enable(); 242 + 251 243 /* Reprogram control registers and execute _BFS */ 252 244 acpi_leave_sleep_state_prep(acpi_state); 253 245 ··· 339 323 return 0; 340 324 } 341 325 326 + static int __init init_set_sci_en_on_resume(const struct dmi_system_id *d) 327 + { 328 + set_sci_en_on_resume = true; 329 + return 0; 330 + } 331 + 342 332 static struct dmi_system_id __initdata acpisleep_dmi_table[] = { 343 333 { 344 334 .callback = init_old_suspend_ordering, ··· 360 338 .matches = { 361 339 DMI_MATCH(DMI_SYS_VENDOR, "Hewlett-Packard"), 362 340 DMI_MATCH(DMI_PRODUCT_NAME, "HP xw4600 Workstation"), 341 + }, 342 + }, 343 + { 344 + .callback = init_set_sci_en_on_resume, 345 + .ident = "Apple MacBook 1,1", 346 + .matches = { 347 + DMI_MATCH(DMI_SYS_VENDOR, "Apple Computer, Inc."), 348 + DMI_MATCH(DMI_PRODUCT_NAME, "MacBook1,1"), 349 + }, 350 + }, 351 + { 352 + .callback = init_set_sci_en_on_resume, 353 + .ident = "Apple MacMini 1,1", 354 + .matches = { 355 + DMI_MATCH(DMI_SYS_VENDOR, "Apple Computer, Inc."), 356 + DMI_MATCH(DMI_PRODUCT_NAME, "Macmini1,1"), 363 357 }, 364 358 }, 365 359 {},
-2
drivers/acpi/toshiba_acpi.c
··· 848 848 ret = input_register_polled_device(toshiba_acpi.poll_dev); 849 849 if (ret) { 850 850 printk(MY_ERR "unable to register kill-switch input device\n"); 851 - rfkill_free(toshiba_acpi.rfk_dev); 852 - toshiba_acpi.rfk_dev = NULL; 853 851 toshiba_acpi_exit(); 854 852 return ret; 855 853 }
+4 -12
drivers/acpi/utils.c
··· 259 259 struct acpi_object_list *arguments, unsigned long long *data) 260 260 { 261 261 acpi_status status = AE_OK; 262 - union acpi_object *element; 262 + union acpi_object element; 263 263 struct acpi_buffer buffer = { 0, NULL }; 264 - 265 264 266 265 if (!data) 267 266 return AE_BAD_PARAMETER; 268 267 269 - element = kzalloc(sizeof(union acpi_object), irqs_disabled() ? GFP_ATOMIC: GFP_KERNEL); 270 - if (!element) 271 - return AE_NO_MEMORY; 272 - 273 268 buffer.length = sizeof(union acpi_object); 274 - buffer.pointer = element; 269 + buffer.pointer = &element; 275 270 status = acpi_evaluate_object(handle, pathname, arguments, &buffer); 276 271 if (ACPI_FAILURE(status)) { 277 272 acpi_util_eval_error(handle, pathname, status); 278 - kfree(element); 279 273 return status; 280 274 } 281 275 282 - if (element->type != ACPI_TYPE_INTEGER) { 276 + if (element.type != ACPI_TYPE_INTEGER) { 283 277 acpi_util_eval_error(handle, pathname, AE_BAD_DATA); 284 - kfree(element); 285 278 return AE_BAD_DATA; 286 279 } 287 280 288 - *data = element->integer.value; 289 - kfree(element); 281 + *data = element.integer.value; 290 282 291 283 ACPI_DEBUG_PRINT((ACPI_DB_INFO, "Return value [%llu]\n", *data)); 292 284
+15
drivers/ata/ata_piix.c
··· 1066 1066 if (dmi_find_device(DMI_DEV_TYPE_OEM_STRING, oemstrs[i], NULL)) 1067 1067 return 1; 1068 1068 1069 + /* TECRA M4 sometimes forgets its identify and reports bogus 1070 + * DMI information. As the bogus information is a bit 1071 + * generic, match as many entries as possible. This manual 1072 + * matching is necessary because dmi_system_id.matches is 1073 + * limited to four entries. 1074 + */ 1075 + if (!strcmp(dmi_get_system_info(DMI_SYS_VENDOR), "TOSHIBA") && 1076 + !strcmp(dmi_get_system_info(DMI_PRODUCT_NAME), "000000") && 1077 + !strcmp(dmi_get_system_info(DMI_PRODUCT_VERSION), "000000") && 1078 + !strcmp(dmi_get_system_info(DMI_PRODUCT_SERIAL), "000000") && 1079 + !strcmp(dmi_get_system_info(DMI_BOARD_VENDOR), "TOSHIBA") && 1080 + !strcmp(dmi_get_system_info(DMI_BOARD_NAME), "Portable PC") && 1081 + !strcmp(dmi_get_system_info(DMI_BOARD_VERSION), "Version A0")) 1082 + return 1; 1083 + 1069 1084 return 0; 1070 1085 } 1071 1086
+21
drivers/ata/libata-core.c
··· 2492 2492 } 2493 2493 } 2494 2494 2495 + if ((dev->horkage & ATA_HORKAGE_FIRMWARE_WARN) && print_info) { 2496 + ata_dev_printk(dev, KERN_WARNING, "WARNING: device requires " 2497 + "firmware update to be fully functional.\n"); 2498 + ata_dev_printk(dev, KERN_WARNING, " contact the vendor " 2499 + "or visit http://ata.wiki.kernel.org.\n"); 2500 + } 2501 + 2495 2502 return 0; 2496 2503 2497 2504 err_out_nosup: ··· 4048 4041 { "Maxtor 7V300F0", "VA111630", ATA_HORKAGE_NONCQ }, 4049 4042 { "ST380817AS", "3.42", ATA_HORKAGE_NONCQ }, 4050 4043 { "ST3160023AS", "3.42", ATA_HORKAGE_NONCQ }, 4044 + 4045 + /* Seagate NCQ + FLUSH CACHE firmware bug */ 4046 + { "ST31500341AS", "9JU138", ATA_HORKAGE_NONCQ | 4047 + ATA_HORKAGE_FIRMWARE_WARN }, 4048 + { "ST31000333AS", "9FZ136", ATA_HORKAGE_NONCQ | 4049 + ATA_HORKAGE_FIRMWARE_WARN }, 4050 + { "ST3640623AS", "9FZ164", ATA_HORKAGE_NONCQ | 4051 + ATA_HORKAGE_FIRMWARE_WARN }, 4052 + { "ST3640323AS", "9FZ134", ATA_HORKAGE_NONCQ | 4053 + ATA_HORKAGE_FIRMWARE_WARN }, 4054 + { "ST3320813AS", "9FZ182", ATA_HORKAGE_NONCQ | 4055 + ATA_HORKAGE_FIRMWARE_WARN }, 4056 + { "ST3320613AS", "9FZ162", ATA_HORKAGE_NONCQ | 4057 + ATA_HORKAGE_FIRMWARE_WARN }, 4051 4058 4052 4059 /* Blacklist entries taken from Silicon Image 3124/3132 4053 4060 Windows driver .inf file - also several Linux problem reports */
+10 -5
drivers/ata/pata_rb532_cf.c
··· 39 39 #define RB500_CF_MAXPORTS 1 40 40 #define RB500_CF_IO_DELAY 400 41 41 42 - #define RB500_CF_REG_CMD 0x0800 42 + #define RB500_CF_REG_BASE 0x0800 43 + #define RB500_CF_REG_ERR 0x080D 43 44 #define RB500_CF_REG_CTRL 0x080E 44 - #define RB500_CF_REG_DATA 0x0C00 45 + /* 32bit buffered data register offset */ 46 + #define RB500_CF_REG_DBUF32 0x0C00 45 47 46 48 struct rb532_cf_info { 47 49 void __iomem *iobase; ··· 74 72 rb532_pata_finish_io(ap); 75 73 } 76 74 77 - static void rb532_pata_data_xfer(struct ata_device *adev, unsigned char *buf, 75 + static unsigned int rb532_pata_data_xfer(struct ata_device *adev, unsigned char *buf, 78 76 unsigned int buflen, int write_data) 79 77 { 80 78 struct ata_port *ap = adev->link->ap; 81 79 void __iomem *ioaddr = ap->ioaddr.data_addr; 80 + int retlen = buflen; 82 81 83 82 if (write_data) { 84 83 for (; buflen > 0; buflen--, buf++) ··· 90 87 } 91 88 92 89 rb532_pata_finish_io(adev->link->ap); 90 + return retlen; 93 91 } 94 92 95 93 static void rb532_pata_freeze(struct ata_port *ap) ··· 150 146 ap->pio_mask = 0x1f; /* PIO4 */ 151 147 ap->flags = ATA_FLAG_NO_LEGACY | ATA_FLAG_MMIO; 152 148 153 - ap->ioaddr.cmd_addr = info->iobase + RB500_CF_REG_CMD; 149 + ap->ioaddr.cmd_addr = info->iobase + RB500_CF_REG_BASE; 154 150 ap->ioaddr.ctl_addr = info->iobase + RB500_CF_REG_CTRL; 155 151 ap->ioaddr.altstatus_addr = info->iobase + RB500_CF_REG_CTRL; 156 152 157 153 ata_sff_std_ports(&ap->ioaddr); 158 154 159 - ap->ioaddr.data_addr = info->iobase + RB500_CF_REG_DATA; 155 + ap->ioaddr.data_addr = info->iobase + RB500_CF_REG_DBUF32; 156 + ap->ioaddr.error_addr = info->iobase + RB500_CF_REG_ERR; 160 157 } 161 158 162 159 static __devinit int rb532_pata_driver_probe(struct platform_device *pdev)
+12 -11
drivers/block/xsysace.c
··· 194 194 int in_irq; 195 195 196 196 /* Details of hardware device */ 197 - unsigned long physaddr; 197 + resource_size_t physaddr; 198 198 void __iomem *baseaddr; 199 199 int irq; 200 200 int bus_width; /* 0 := 8 bit; 1 := 16 bit */ ··· 628 628 629 629 /* Okay, it's a data request, set it up for transfer */ 630 630 dev_dbg(ace->dev, 631 - "request: sec=%lx hcnt=%lx, ccnt=%x, dir=%i\n", 632 - req->sector, req->hard_nr_sectors, 631 + "request: sec=%llx hcnt=%lx, ccnt=%x, dir=%i\n", 632 + (unsigned long long) req->sector, req->hard_nr_sectors, 633 633 req->current_nr_sectors, rq_data_dir(req)); 634 634 635 635 ace->req = req; ··· 935 935 int rc; 936 936 937 937 dev_dbg(ace->dev, "ace_setup(ace=0x%p)\n", ace); 938 - dev_dbg(ace->dev, "physaddr=0x%lx irq=%i\n", ace->physaddr, ace->irq); 938 + dev_dbg(ace->dev, "physaddr=0x%llx irq=%i\n", 939 + (unsigned long long)ace->physaddr, ace->irq); 939 940 940 941 spin_lock_init(&ace->lock); 941 942 init_completion(&ace->id_completion); ··· 1018 1017 /* Print the identification */ 1019 1018 dev_info(ace->dev, "Xilinx SystemACE revision %i.%i.%i\n", 1020 1019 (version >> 12) & 0xf, (version >> 8) & 0x0f, version & 0xff); 1021 - dev_dbg(ace->dev, "physaddr 0x%lx, mapped to 0x%p, irq=%i\n", 1022 - ace->physaddr, ace->baseaddr, ace->irq); 1020 + dev_dbg(ace->dev, "physaddr 0x%llx, mapped to 0x%p, irq=%i\n", 1021 + (unsigned long long) ace->physaddr, ace->baseaddr, ace->irq); 1023 1022 1024 1023 ace->media_change = 1; 1025 1024 ace_revalidate_disk(ace->gd); ··· 1036 1035 err_blk_initq: 1037 1036 iounmap(ace->baseaddr); 1038 1037 err_ioremap: 1039 - dev_info(ace->dev, "xsysace: error initializing device at 0x%lx\n", 1040 - ace->physaddr); 1038 + dev_info(ace->dev, "xsysace: error initializing device at 0x%llx\n", 1039 + (unsigned long long) ace->physaddr); 1041 1040 return -ENOMEM; 1042 1041 } 1043 1042 ··· 1060 1059 } 1061 1060 1062 1061 static int __devinit 1063 - ace_alloc(struct device *dev, int id, unsigned long physaddr, 1062 + ace_alloc(struct device *dev, int id, resource_size_t physaddr, 1064 1063 int irq, int bus_width) 1065 1064 { 1066 1065 struct ace_device *ace; ··· 1120 1119 1121 1120 static int __devinit ace_probe(struct platform_device *dev) 1122 1121 { 1123 - unsigned long physaddr = 0; 1122 + resource_size_t physaddr = 0; 1124 1123 int bus_width = ACE_BUS_WIDTH_16; /* FIXME: should not be hard coded */ 1125 1124 int id = dev->id; 1126 1125 int irq = NO_IRQ; ··· 1166 1165 ace_of_probe(struct of_device *op, const struct of_device_id *match) 1167 1166 { 1168 1167 struct resource res; 1169 - unsigned long physaddr; 1168 + resource_size_t physaddr; 1170 1169 const u32 *id; 1171 1170 int irq, bus_width, rc; 1172 1171
+1 -1
drivers/char/agp/uninorth-agp.c
··· 27 27 static int uninorth_rev; 28 28 static int is_u3; 29 29 30 - static char __devinitdata *aperture = NULL; 30 + static char *aperture = NULL; 31 31 32 32 static int uninorth_fetch_size(void) 33 33 {
+2 -2
drivers/char/istallion.c
··· 3739 3739 * do is go probing around in the usual places hoping we can find it. 3740 3740 */ 3741 3741 3742 - static int stli_findeisabrds(void) 3742 + static int __init stli_findeisabrds(void) 3743 3743 { 3744 3744 struct stlibrd *brdp; 3745 3745 unsigned int iobase, eid, i; ··· 3935 3935 * can find. 3936 3936 */ 3937 3937 3938 - static int stli_initbrds(void) 3938 + static int __init stli_initbrds(void) 3939 3939 { 3940 3940 struct stlibrd *brdp, *nxtbrdp; 3941 3941 struct stlconf conf;
+9 -6
drivers/char/tty_io.c
··· 1795 1795 } 1796 1796 #endif 1797 1797 if (device == MKDEV(TTYAUX_MAJOR, 1)) { 1798 - driver = tty_driver_kref_get(console_device(&index)); 1799 - if (driver) { 1800 - /* Don't let /dev/console block */ 1801 - filp->f_flags |= O_NONBLOCK; 1802 - noctty = 1; 1803 - goto got_driver; 1798 + struct tty_driver *console_driver = console_device(&index); 1799 + if (console_driver) { 1800 + driver = tty_driver_kref_get(console_driver); 1801 + if (driver) { 1802 + /* Don't let /dev/console block */ 1803 + filp->f_flags |= O_NONBLOCK; 1804 + noctty = 1; 1805 + goto got_driver; 1806 + } 1804 1807 } 1805 1808 mutex_unlock(&tty_mutex); 1806 1809 return -ENODEV;
+5 -4
drivers/char/xilinx_hwicap/xilinx_hwicap.c
··· 626 626 if (!request_mem_region(drvdata->mem_start, 627 627 drvdata->mem_size, DRIVER_NAME)) { 628 628 dev_err(dev, "Couldn't lock memory region at %Lx\n", 629 - regs_res->start); 629 + (unsigned long long) regs_res->start); 630 630 retval = -EBUSY; 631 631 goto failed1; 632 632 } ··· 645 645 mutex_init(&drvdata->sem); 646 646 drvdata->is_open = 0; 647 647 648 - dev_info(dev, "ioremap %lx to %p with size %Lx\n", 649 - (unsigned long int)drvdata->mem_start, 650 - drvdata->base_address, drvdata->mem_size); 648 + dev_info(dev, "ioremap %llx to %p with size %llx\n", 649 + (unsigned long long) drvdata->mem_start, 650 + drvdata->base_address, 651 + (unsigned long long) drvdata->mem_size); 651 652 652 653 cdev_init(&drvdata->cdev, &hwicap_fops); 653 654 drvdata->cdev.owner = THIS_MODULE;
+2 -2
drivers/crypto/talitos.c
··· 1357 1357 return ret; 1358 1358 } 1359 1359 1360 - static int __devexit talitos_remove(struct of_device *ofdev) 1360 + static int talitos_remove(struct of_device *ofdev) 1361 1361 { 1362 1362 struct device *dev = &ofdev->dev; 1363 1363 struct talitos_private *priv = dev_get_drvdata(dev); ··· 1622 1622 .name = "talitos", 1623 1623 .match_table = talitos_match, 1624 1624 .probe = talitos_probe, 1625 - .remove = __devexit_p(talitos_remove), 1625 + .remove = talitos_remove, 1626 1626 }; 1627 1627 1628 1628 static int __init talitos_init(void)
+8 -6
drivers/edac/i82875p_edac.c
··· 182 182 * already registered driver 183 183 */ 184 184 185 - static int i82875p_registered = 1; 186 - 187 185 static struct edac_pci_ctl_info *i82875p_pci; 188 186 189 187 static void i82875p_get_error_info(struct mem_ctl_info *mci, ··· 293 295 "%s(): pci_bus_add_device() Failed\n", 294 296 __func__); 295 297 } 298 + pci_bus_assign_resources(dev->bus); 296 299 } 297 300 298 301 *ovrfl_pdev = dev; ··· 408 409 goto fail0; 409 410 } 410 411 412 + /* Keeps mci available after edac_mc_del_mc() till edac_mc_free() */ 413 + kobject_get(&mci->edac_mci_kobj); 414 + 411 415 debugf3("%s(): init mci\n", __func__); 412 416 mci->dev = &pdev->dev; 413 417 mci->mtype_cap = MEM_FLAG_DDR; ··· 453 451 return 0; 454 452 455 453 fail1: 454 + kobject_put(&mci->edac_mci_kobj); 456 455 edac_mc_free(mci); 457 456 458 457 fail0: ··· 581 578 { 582 579 debugf3("%s()\n", __func__); 583 580 581 + i82875p_remove_one(mci_pdev); 582 + pci_dev_put(mci_pdev); 583 + 584 584 pci_unregister_driver(&i82875p_driver); 585 585 586 - if (!i82875p_registered) { 587 - i82875p_remove_one(mci_pdev); 588 - pci_dev_put(mci_pdev); 589 - } 590 586 } 591 587 592 588 module_init(i82875p_init);
+5
drivers/firewire/fw-sbp2.c
··· 372 372 }, 373 373 /* iPod mini */ { 374 374 .firmware_revision = 0x0a2700, 375 + .model = 0x000022, 376 + .workarounds = SBP2_WORKAROUND_FIX_CAPACITY, 377 + }, 378 + /* iPod mini */ { 379 + .firmware_revision = 0x0a2700, 375 380 .model = 0x000023, 376 381 .workarounds = SBP2_WORKAROUND_FIX_CAPACITY, 377 382 },
+2
drivers/gpu/drm/drm_drv.c
··· 305 305 return; 306 306 } 307 307 308 + drm_vblank_cleanup(dev); 309 + 308 310 drm_lastclose(dev); 309 311 310 312 if (drm_core_has_MTRR(dev) && drm_core_has_AGP(dev) &&
+1 -3
drivers/gpu/drm/drm_irq.c
··· 94 94 } 95 95 } 96 96 97 - static void drm_vblank_cleanup(struct drm_device *dev) 97 + void drm_vblank_cleanup(struct drm_device *dev) 98 98 { 99 99 /* Bail if the driver didn't call drm_vblank_init() */ 100 100 if (dev->num_crtcs == 0) ··· 277 277 dev->driver->irq_uninstall(dev); 278 278 279 279 free_irq(dev->pdev->irq, dev); 280 - 281 - drm_vblank_cleanup(dev); 282 280 283 281 return 0; 284 282 }
+7
drivers/gpu/drm/i915/i915_dma.c
··· 856 856 857 857 spin_lock_init(&dev_priv->user_irq_lock); 858 858 859 + ret = drm_vblank_init(dev, I915_NUM_PIPE); 860 + 861 + if (ret) { 862 + (void) i915_driver_unload(dev); 863 + return ret; 864 + } 865 + 859 866 return ret; 860 867 } 861 868
+11
drivers/gpu/drm/i915/i915_drv.h
··· 47 47 PIPE_B, 48 48 }; 49 49 50 + #define I915_NUM_PIPE 2 51 + 50 52 /* Interface history: 51 53 * 52 54 * 1.1: Original. ··· 134 132 int user_irq_refcount; 135 133 /** Cached value of IMR to avoid reads in updating the bitfield */ 136 134 u32 irq_mask_reg; 135 + u32 pipestat[2]; 137 136 138 137 int tex_lru_log_granularity; 139 138 int allow_batchbuffer; ··· 150 147 u32 saveDSPBCNTR; 151 148 u32 saveDSPARB; 152 149 u32 saveRENDERSTANDBY; 150 + u32 saveHWS; 153 151 u32 savePIPEACONF; 154 152 u32 savePIPEBCONF; 155 153 u32 savePIPEASRC; ··· 449 445 extern int i915_vblank_swap(struct drm_device *dev, void *data, 450 446 struct drm_file *file_priv); 451 447 extern void i915_enable_irq(drm_i915_private_t *dev_priv, u32 mask); 448 + 449 + void 450 + i915_enable_pipestat(drm_i915_private_t *dev_priv, int pipe, u32 mask); 451 + 452 + void 453 + i915_disable_pipestat(drm_i915_private_t *dev_priv, int pipe, u32 mask); 454 + 452 455 453 456 /* i915_mem.c */ 454 457 extern int i915_mem_alloc(struct drm_device *dev, void *data,
+41 -33
drivers/gpu/drm/i915/i915_gem.c
··· 31 31 #include "i915_drv.h" 32 32 #include <linux/swap.h> 33 33 34 + #define I915_GEM_GPU_DOMAINS (~(I915_GEM_DOMAIN_CPU | I915_GEM_DOMAIN_GTT)) 35 + 34 36 static int 35 37 i915_gem_object_set_domain(struct drm_gem_object *obj, 36 38 uint32_t read_domains, ··· 85 83 i915_gem_get_aperture_ioctl(struct drm_device *dev, void *data, 86 84 struct drm_file *file_priv) 87 85 { 88 - drm_i915_private_t *dev_priv = dev->dev_private; 89 86 struct drm_i915_gem_get_aperture *args = data; 90 - struct drm_i915_gem_object *obj_priv; 91 87 92 88 if (!(dev->driver->driver_features & DRIVER_GEM)) 93 89 return -ENODEV; 94 90 95 91 args->aper_size = dev->gtt_total; 96 - args->aper_available_size = args->aper_size; 97 - 98 - list_for_each_entry(obj_priv, &dev_priv->mm.active_list, list) { 99 - if (obj_priv->pin_count > 0) 100 - args->aper_available_size -= obj_priv->obj->size; 101 - } 92 + args->aper_available_size = (args->aper_size - 93 + atomic_read(&dev->pin_memory)); 102 94 103 95 return 0; 104 96 } ··· 1866 1870 1867 1871 for (i = 0; i < args->buffer_count; i++) { 1868 1872 struct drm_gem_object *obj = object_list[i]; 1869 - struct drm_i915_gem_object *obj_priv = obj->driver_private; 1870 - 1871 - if (obj_priv->gtt_space == NULL) { 1872 - /* We evicted the buffer in the process of validating 1873 - * our set of buffers in. We could try to recover by 1874 - * kicking them everything out and trying again from 1875 - * the start. 1876 - */ 1877 - ret = -ENOMEM; 1878 - goto err; 1879 - } 1880 1873 1881 1874 /* make sure all previous memory operations have passed */ 1882 1875 ret = i915_gem_object_set_domain(obj, ··· 2284 2299 2285 2300 i915_gem_retire_requests(dev); 2286 2301 2287 - /* Active and flushing should now be empty as we've 2288 - * waited for a sequence higher than any pending execbuffer 2289 - */ 2290 - BUG_ON(!list_empty(&dev_priv->mm.active_list)); 2291 - BUG_ON(!list_empty(&dev_priv->mm.flushing_list)); 2302 + if (!dev_priv->mm.wedged) { 2303 + /* Active and flushing should now be empty as we've 2304 + * waited for a sequence higher than any pending execbuffer 2305 + */ 2306 + WARN_ON(!list_empty(&dev_priv->mm.active_list)); 2307 + WARN_ON(!list_empty(&dev_priv->mm.flushing_list)); 2308 + /* Request should now be empty as we've also waited 2309 + * for the last request in the list 2310 + */ 2311 + WARN_ON(!list_empty(&dev_priv->mm.request_list)); 2312 + } 2292 2313 2293 - /* Request should now be empty as we've also waited 2294 - * for the last request in the list 2314 + /* Empty the active and flushing lists to inactive. If there's 2315 + * anything left at this point, it means that we're wedged and 2316 + * nothing good's going to happen by leaving them there. So strip 2317 + * the GPU domains and just stuff them onto inactive. 2295 2318 */ 2296 - BUG_ON(!list_empty(&dev_priv->mm.request_list)); 2319 + while (!list_empty(&dev_priv->mm.active_list)) { 2320 + struct drm_i915_gem_object *obj_priv; 2297 2321 2298 - /* Move all buffers out of the GTT. */ 2322 + obj_priv = list_first_entry(&dev_priv->mm.active_list, 2323 + struct drm_i915_gem_object, 2324 + list); 2325 + obj_priv->obj->write_domain &= ~I915_GEM_GPU_DOMAINS; 2326 + i915_gem_object_move_to_inactive(obj_priv->obj); 2327 + } 2328 + 2329 + while (!list_empty(&dev_priv->mm.flushing_list)) { 2330 + struct drm_i915_gem_object *obj_priv; 2331 + 2332 + obj_priv = list_first_entry(&dev_priv->mm.flushing_list, 2333 + struct drm_i915_gem_object, 2334 + list); 2335 + obj_priv->obj->write_domain &= ~I915_GEM_GPU_DOMAINS; 2336 + i915_gem_object_move_to_inactive(obj_priv->obj); 2337 + } 2338 + 2339 + 2340 + /* Move all inactive buffers out of the GTT. */ 2299 2341 ret = i915_gem_evict_from_list(dev, &dev_priv->mm.inactive_list); 2342 + WARN_ON(!list_empty(&dev_priv->mm.inactive_list)); 2300 2343 if (ret) { 2301 2344 mutex_unlock(&dev->struct_mutex); 2302 2345 return ret; 2303 2346 } 2304 - 2305 - BUG_ON(!list_empty(&dev_priv->mm.active_list)); 2306 - BUG_ON(!list_empty(&dev_priv->mm.flushing_list)); 2307 - BUG_ON(!list_empty(&dev_priv->mm.inactive_list)); 2308 - BUG_ON(!list_empty(&dev_priv->mm.request_list)); 2309 2347 2310 2348 i915_gem_cleanup_ringbuffer(dev); 2311 2349 mutex_unlock(&dev->struct_mutex);
+154 -141
drivers/gpu/drm/i915/i915_irq.c
··· 33 33 34 34 #define MAX_NOPID ((u32)~0) 35 35 36 - /** These are the interrupts used by the driver */ 37 - #define I915_INTERRUPT_ENABLE_MASK (I915_USER_INTERRUPT | \ 38 - I915_ASLE_INTERRUPT | \ 39 - I915_DISPLAY_PIPE_A_EVENT_INTERRUPT | \ 40 - I915_DISPLAY_PIPE_B_EVENT_INTERRUPT) 36 + /** 37 + * Interrupts that are always left unmasked. 38 + * 39 + * Since pipe events are edge-triggered from the PIPESTAT register to IIR, 40 + * we leave them always unmasked in IMR and then control enabling them through 41 + * PIPESTAT alone. 42 + */ 43 + #define I915_INTERRUPT_ENABLE_FIX (I915_ASLE_INTERRUPT | \ 44 + I915_DISPLAY_PIPE_A_EVENT_INTERRUPT | \ 45 + I915_DISPLAY_PIPE_B_EVENT_INTERRUPT) 46 + 47 + /** Interrupts that we mask and unmask at runtime. */ 48 + #define I915_INTERRUPT_ENABLE_VAR (I915_USER_INTERRUPT) 49 + 50 + /** These are all of the interrupts used by the driver */ 51 + #define I915_INTERRUPT_ENABLE_MASK (I915_INTERRUPT_ENABLE_FIX | \ 52 + I915_INTERRUPT_ENABLE_VAR) 41 53 42 54 void 43 55 i915_enable_irq(drm_i915_private_t *dev_priv, u32 mask) ··· 68 56 dev_priv->irq_mask_reg |= mask; 69 57 I915_WRITE(IMR, dev_priv->irq_mask_reg); 70 58 (void) I915_READ(IMR); 59 + } 60 + } 61 + 62 + static inline u32 63 + i915_pipestat(int pipe) 64 + { 65 + if (pipe == 0) 66 + return PIPEASTAT; 67 + if (pipe == 1) 68 + return PIPEBSTAT; 69 + BUG(); 70 + } 71 + 72 + void 73 + i915_enable_pipestat(drm_i915_private_t *dev_priv, int pipe, u32 mask) 74 + { 75 + if ((dev_priv->pipestat[pipe] & mask) != mask) { 76 + u32 reg = i915_pipestat(pipe); 77 + 78 + dev_priv->pipestat[pipe] |= mask; 79 + /* Enable the interrupt, clear any pending status */ 80 + I915_WRITE(reg, dev_priv->pipestat[pipe] | (mask >> 16)); 81 + (void) I915_READ(reg); 82 + } 83 + } 84 + 85 + void 86 + i915_disable_pipestat(drm_i915_private_t *dev_priv, int pipe, u32 mask) 87 + { 88 + if ((dev_priv->pipestat[pipe] & mask) != 0) { 89 + u32 reg = i915_pipestat(pipe); 90 + 91 + dev_priv->pipestat[pipe] &= ~mask; 92 + I915_WRITE(reg, dev_priv->pipestat[pipe]); 93 + (void) I915_READ(reg); 71 94 } 72 95 } 73 96 ··· 168 121 { 169 122 struct drm_device *dev = (struct drm_device *) arg; 170 123 drm_i915_private_t *dev_priv = (drm_i915_private_t *) dev->dev_private; 171 - u32 iir; 124 + u32 iir, new_iir; 172 125 u32 pipea_stats, pipeb_stats; 126 + u32 vblank_status; 127 + u32 vblank_enable; 173 128 int vblank = 0; 129 + unsigned long irqflags; 130 + int irq_received; 131 + int ret = IRQ_NONE; 174 132 175 133 atomic_inc(&dev_priv->irq_received); 176 134 177 - if (dev->pdev->msi_enabled) 178 - I915_WRITE(IMR, ~0); 179 135 iir = I915_READ(IIR); 180 136 181 - if (iir == 0) { 182 - if (dev->pdev->msi_enabled) { 183 - I915_WRITE(IMR, dev_priv->irq_mask_reg); 184 - (void) I915_READ(IMR); 185 - } 186 - return IRQ_NONE; 137 + if (IS_I965G(dev)) { 138 + vblank_status = I915_START_VBLANK_INTERRUPT_STATUS; 139 + vblank_enable = PIPE_START_VBLANK_INTERRUPT_ENABLE; 140 + } else { 141 + vblank_status = I915_VBLANK_INTERRUPT_STATUS; 142 + vblank_enable = I915_VBLANK_INTERRUPT_ENABLE; 187 143 } 188 144 189 - /* 190 - * Clear the PIPE(A|B)STAT regs before the IIR otherwise 191 - * we may get extra interrupts. 192 - */ 193 - if (iir & I915_DISPLAY_PIPE_A_EVENT_INTERRUPT) { 145 + for (;;) { 146 + irq_received = iir != 0; 147 + 148 + /* Can't rely on pipestat interrupt bit in iir as it might 149 + * have been cleared after the pipestat interrupt was received. 150 + * It doesn't set the bit in iir again, but it still produces 151 + * interrupts (for non-MSI). 152 + */ 153 + spin_lock_irqsave(&dev_priv->user_irq_lock, irqflags); 194 154 pipea_stats = I915_READ(PIPEASTAT); 195 - if (!(dev_priv->vblank_pipe & DRM_I915_VBLANK_PIPE_A)) 196 - pipea_stats &= ~(PIPE_START_VBLANK_INTERRUPT_ENABLE | 197 - PIPE_VBLANK_INTERRUPT_ENABLE); 198 - else if (pipea_stats & (PIPE_START_VBLANK_INTERRUPT_STATUS| 199 - PIPE_VBLANK_INTERRUPT_STATUS)) { 155 + pipeb_stats = I915_READ(PIPEBSTAT); 156 + /* 157 + * Clear the PIPE(A|B)STAT regs before the IIR 158 + */ 159 + if (pipea_stats & 0x8000ffff) { 160 + I915_WRITE(PIPEASTAT, pipea_stats); 161 + irq_received = 1; 162 + } 163 + 164 + if (pipeb_stats & 0x8000ffff) { 165 + I915_WRITE(PIPEBSTAT, pipeb_stats); 166 + irq_received = 1; 167 + } 168 + spin_unlock_irqrestore(&dev_priv->user_irq_lock, irqflags); 169 + 170 + if (!irq_received) 171 + break; 172 + 173 + ret = IRQ_HANDLED; 174 + 175 + I915_WRITE(IIR, iir); 176 + new_iir = I915_READ(IIR); /* Flush posted writes */ 177 + 178 + if (dev_priv->sarea_priv) 179 + dev_priv->sarea_priv->last_dispatch = 180 + READ_BREADCRUMB(dev_priv); 181 + 182 + if (iir & I915_USER_INTERRUPT) { 183 + dev_priv->mm.irq_gem_seqno = i915_get_gem_seqno(dev); 184 + DRM_WAKEUP(&dev_priv->irq_queue); 185 + } 186 + 187 + if (pipea_stats & vblank_status) { 200 188 vblank++; 201 189 drm_handle_vblank(dev, 0); 202 190 } 203 191 204 - I915_WRITE(PIPEASTAT, pipea_stats); 205 - } 206 - if (iir & I915_DISPLAY_PIPE_B_EVENT_INTERRUPT) { 207 - pipeb_stats = I915_READ(PIPEBSTAT); 208 - /* Ack the event */ 209 - I915_WRITE(PIPEBSTAT, pipeb_stats); 210 - 211 - /* The vblank interrupt gets enabled even if we didn't ask for 212 - it, so make sure it's shut down again */ 213 - if (!(dev_priv->vblank_pipe & DRM_I915_VBLANK_PIPE_B)) 214 - pipeb_stats &= ~(PIPE_START_VBLANK_INTERRUPT_ENABLE | 215 - PIPE_VBLANK_INTERRUPT_ENABLE); 216 - else if (pipeb_stats & (PIPE_START_VBLANK_INTERRUPT_STATUS| 217 - PIPE_VBLANK_INTERRUPT_STATUS)) { 192 + if (pipeb_stats & vblank_status) { 218 193 vblank++; 219 194 drm_handle_vblank(dev, 1); 220 195 } 221 196 222 - if (pipeb_stats & I915_LEGACY_BLC_EVENT_STATUS) 197 + if ((pipeb_stats & I915_LEGACY_BLC_EVENT_STATUS) || 198 + (iir & I915_ASLE_INTERRUPT)) 223 199 opregion_asle_intr(dev); 224 - I915_WRITE(PIPEBSTAT, pipeb_stats); 200 + 201 + /* With MSI, interrupts are only generated when iir 202 + * transitions from zero to nonzero. If another bit got 203 + * set while we were handling the existing iir bits, then 204 + * we would never get another interrupt. 205 + * 206 + * This is fine on non-MSI as well, as if we hit this path 207 + * we avoid exiting the interrupt handler only to generate 208 + * another one. 209 + * 210 + * Note that for MSI this could cause a stray interrupt report 211 + * if an interrupt landed in the time between writing IIR and 212 + * the posting read. This should be rare enough to never 213 + * trigger the 99% of 100,000 interrupts test for disabling 214 + * stray interrupts. 215 + */ 216 + iir = new_iir; 225 217 } 226 218 227 - I915_WRITE(IIR, iir); 228 - if (dev->pdev->msi_enabled) 229 - I915_WRITE(IMR, dev_priv->irq_mask_reg); 230 - (void) I915_READ(IIR); /* Flush posted writes */ 231 - 232 - if (dev_priv->sarea_priv) 233 - dev_priv->sarea_priv->last_dispatch = 234 - READ_BREADCRUMB(dev_priv); 235 - 236 - if (iir & I915_USER_INTERRUPT) { 237 - dev_priv->mm.irq_gem_seqno = i915_get_gem_seqno(dev); 238 - DRM_WAKEUP(&dev_priv->irq_queue); 239 - } 240 - 241 - if (iir & I915_ASLE_INTERRUPT) 242 - opregion_asle_intr(dev); 243 - 244 - return IRQ_HANDLED; 219 + return ret; 245 220 } 246 221 247 222 static int i915_emit_irq(struct drm_device * dev) ··· 399 330 int i915_enable_vblank(struct drm_device *dev, int pipe) 400 331 { 401 332 drm_i915_private_t *dev_priv = (drm_i915_private_t *) dev->dev_private; 402 - u32 pipestat_reg = 0; 403 - u32 pipestat; 404 - u32 interrupt = 0; 405 333 unsigned long irqflags; 406 334 407 - switch (pipe) { 408 - case 0: 409 - pipestat_reg = PIPEASTAT; 410 - interrupt = I915_DISPLAY_PIPE_A_EVENT_INTERRUPT; 411 - break; 412 - case 1: 413 - pipestat_reg = PIPEBSTAT; 414 - interrupt = I915_DISPLAY_PIPE_B_EVENT_INTERRUPT; 415 - break; 416 - default: 417 - DRM_ERROR("tried to enable vblank on non-existent pipe %d\n", 418 - pipe); 419 - return 0; 420 - } 421 - 422 335 spin_lock_irqsave(&dev_priv->user_irq_lock, irqflags); 423 - /* Enabling vblank events in IMR comes before PIPESTAT write, or 424 - * there's a race where the PIPESTAT vblank bit gets set to 1, so 425 - * the OR of enabled PIPESTAT bits goes to 1, so the PIPExEVENT in 426 - * ISR flashes to 1, but the IIR bit doesn't get set to 1 because 427 - * IMR masks it. It doesn't ever get set after we clear the masking 428 - * in IMR because the ISR bit is edge, not level-triggered, on the 429 - * OR of PIPESTAT bits. 430 - */ 431 - i915_enable_irq(dev_priv, interrupt); 432 - pipestat = I915_READ(pipestat_reg); 433 336 if (IS_I965G(dev)) 434 - pipestat |= PIPE_START_VBLANK_INTERRUPT_ENABLE; 337 + i915_enable_pipestat(dev_priv, pipe, 338 + PIPE_START_VBLANK_INTERRUPT_ENABLE); 435 339 else 436 - pipestat |= PIPE_VBLANK_INTERRUPT_ENABLE; 437 - /* Clear any stale interrupt status */ 438 - pipestat |= (PIPE_START_VBLANK_INTERRUPT_STATUS | 439 - PIPE_VBLANK_INTERRUPT_STATUS); 440 - I915_WRITE(pipestat_reg, pipestat); 441 - (void) I915_READ(pipestat_reg); /* Posting read */ 340 + i915_enable_pipestat(dev_priv, pipe, 341 + PIPE_VBLANK_INTERRUPT_ENABLE); 442 342 spin_unlock_irqrestore(&dev_priv->user_irq_lock, irqflags); 443 - 444 343 return 0; 445 344 } 446 345 ··· 418 381 void i915_disable_vblank(struct drm_device *dev, int pipe) 419 382 { 420 383 drm_i915_private_t *dev_priv = (drm_i915_private_t *) dev->dev_private; 421 - u32 pipestat_reg = 0; 422 - u32 pipestat; 423 - u32 interrupt = 0; 424 384 unsigned long irqflags; 425 385 426 - switch (pipe) { 427 - case 0: 428 - pipestat_reg = PIPEASTAT; 429 - interrupt = I915_DISPLAY_PIPE_A_EVENT_INTERRUPT; 430 - break; 431 - case 1: 432 - pipestat_reg = PIPEBSTAT; 433 - interrupt = I915_DISPLAY_PIPE_B_EVENT_INTERRUPT; 434 - break; 435 - default: 436 - DRM_ERROR("tried to disable vblank on non-existent pipe %d\n", 437 - pipe); 438 - return; 439 - break; 440 - } 441 - 442 386 spin_lock_irqsave(&dev_priv->user_irq_lock, irqflags); 443 - i915_disable_irq(dev_priv, interrupt); 444 - pipestat = I915_READ(pipestat_reg); 445 - pipestat &= ~(PIPE_START_VBLANK_INTERRUPT_ENABLE | 446 - PIPE_VBLANK_INTERRUPT_ENABLE); 447 - /* Clear any stale interrupt status */ 448 - pipestat |= (PIPE_START_VBLANK_INTERRUPT_STATUS | 449 - PIPE_VBLANK_INTERRUPT_STATUS); 450 - I915_WRITE(pipestat_reg, pipestat); 451 - (void) I915_READ(pipestat_reg); /* Posting read */ 387 + i915_disable_pipestat(dev_priv, pipe, 388 + PIPE_VBLANK_INTERRUPT_ENABLE | 389 + PIPE_START_VBLANK_INTERRUPT_ENABLE); 452 390 spin_unlock_irqrestore(&dev_priv->user_irq_lock, irqflags); 453 391 } 454 392 ··· 488 476 drm_i915_private_t *dev_priv = (drm_i915_private_t *) dev->dev_private; 489 477 490 478 I915_WRITE(HWSTAM, 0xeffe); 479 + I915_WRITE(PIPEASTAT, 0); 480 + I915_WRITE(PIPEBSTAT, 0); 491 481 I915_WRITE(IMR, 0xffffffff); 492 482 I915_WRITE(IER, 0x0); 483 + (void) I915_READ(IER); 493 484 } 494 485 495 486 int i915_driver_irq_postinstall(struct drm_device *dev) 496 487 { 497 488 drm_i915_private_t *dev_priv = (drm_i915_private_t *) dev->dev_private; 498 - int ret, num_pipes = 2; 499 - 500 - /* Set initial unmasked IRQs to just the selected vblank pipes. */ 501 - dev_priv->irq_mask_reg = ~0; 502 - 503 - ret = drm_vblank_init(dev, num_pipes); 504 - if (ret) 505 - return ret; 506 489 507 490 dev_priv->vblank_pipe = DRM_I915_VBLANK_PIPE_A | DRM_I915_VBLANK_PIPE_B; 508 - dev_priv->irq_mask_reg &= ~I915_DISPLAY_PIPE_A_VBLANK_INTERRUPT; 509 - dev_priv->irq_mask_reg &= ~I915_DISPLAY_PIPE_B_VBLANK_INTERRUPT; 510 491 511 492 dev->max_vblank_count = 0xffffff; /* only 24 bits of frame count */ 512 493 513 - dev_priv->irq_mask_reg &= I915_INTERRUPT_ENABLE_MASK; 494 + /* Unmask the interrupts that we always want on. */ 495 + dev_priv->irq_mask_reg = ~I915_INTERRUPT_ENABLE_FIX; 514 496 515 - I915_WRITE(IMR, dev_priv->irq_mask_reg); 497 + dev_priv->pipestat[0] = 0; 498 + dev_priv->pipestat[1] = 0; 499 + 500 + /* Disable pipe interrupt enables, clear pending pipe status */ 501 + I915_WRITE(PIPEASTAT, I915_READ(PIPEASTAT) & 0x8000ffff); 502 + I915_WRITE(PIPEBSTAT, I915_READ(PIPEBSTAT) & 0x8000ffff); 503 + /* Clear pending interrupt status */ 504 + I915_WRITE(IIR, I915_READ(IIR)); 505 + 516 506 I915_WRITE(IER, I915_INTERRUPT_ENABLE_MASK); 507 + I915_WRITE(IMR, dev_priv->irq_mask_reg); 517 508 (void) I915_READ(IER); 518 509 519 510 opregion_enable_asle(dev); ··· 528 513 void i915_driver_irq_uninstall(struct drm_device * dev) 529 514 { 530 515 drm_i915_private_t *dev_priv = (drm_i915_private_t *) dev->dev_private; 531 - u32 temp; 532 516 533 517 if (!dev_priv) 534 518 return; ··· 535 521 dev_priv->vblank_pipe = 0; 536 522 537 523 I915_WRITE(HWSTAM, 0xffffffff); 524 + I915_WRITE(PIPEASTAT, 0); 525 + I915_WRITE(PIPEBSTAT, 0); 538 526 I915_WRITE(IMR, 0xffffffff); 539 527 I915_WRITE(IER, 0x0); 540 528 541 - temp = I915_READ(PIPEASTAT); 542 - I915_WRITE(PIPEASTAT, temp); 543 - temp = I915_READ(PIPEBSTAT); 544 - I915_WRITE(PIPEBSTAT, temp); 545 - temp = I915_READ(IIR); 546 - I915_WRITE(IIR, temp); 529 + I915_WRITE(PIPEASTAT, I915_READ(PIPEASTAT) & 0x8000ffff); 530 + I915_WRITE(PIPEBSTAT, I915_READ(PIPEBSTAT) & 0x8000ffff); 531 + I915_WRITE(IIR, I915_READ(IIR)); 547 532 }
+8 -10
drivers/gpu/drm/i915/i915_opregion.c
··· 235 235 struct opregion_asle *asle = dev_priv->opregion.asle; 236 236 237 237 if (asle) { 238 - u32 pipeb_stats = I915_READ(PIPEBSTAT); 239 238 if (IS_MOBILE(dev)) { 240 - /* Many devices trigger events with a write to the 241 - legacy backlight controller, so we need to ensure 242 - that it's able to generate interrupts */ 243 - I915_WRITE(PIPEBSTAT, pipeb_stats |= 244 - I915_LEGACY_BLC_EVENT_ENABLE); 245 - i915_enable_irq(dev_priv, I915_ASLE_INTERRUPT | 246 - I915_DISPLAY_PIPE_B_EVENT_INTERRUPT); 247 - } else 248 - i915_enable_irq(dev_priv, I915_ASLE_INTERRUPT); 239 + unsigned long irqflags; 240 + 241 + spin_lock_irqsave(&dev_priv->user_irq_lock, irqflags); 242 + i915_enable_pipestat(dev_priv, 1, 243 + I915_LEGACY_BLC_EVENT_ENABLE); 244 + spin_unlock_irqrestore(&dev_priv->user_irq_lock, 245 + irqflags); 246 + } 249 247 250 248 asle->tche = ASLE_ALS_EN | ASLE_BLC_EN | ASLE_PFIT_EN | 251 249 ASLE_PFMB_EN;
+6
drivers/gpu/drm/i915/i915_suspend.c
··· 244 244 if (IS_I965G(dev) && IS_MOBILE(dev)) 245 245 dev_priv->saveRENDERSTANDBY = I915_READ(MCHBAR_RENDER_STANDBY); 246 246 247 + /* Hardware status page */ 248 + dev_priv->saveHWS = I915_READ(HWS_PGA); 249 + 247 250 /* Display arbitration control */ 248 251 dev_priv->saveDSPARB = I915_READ(DSPARB); 249 252 ··· 375 372 /* Render Standby */ 376 373 if (IS_I965G(dev) && IS_MOBILE(dev)) 377 374 I915_WRITE(MCHBAR_RENDER_STANDBY, dev_priv->saveRENDERSTANDBY); 375 + 376 + /* Hardware status page */ 377 + I915_WRITE(HWS_PGA, dev_priv->saveHWS); 378 378 379 379 /* Display arbitration */ 380 380 I915_WRITE(DSPARB, dev_priv->saveDSPARB);
+8
drivers/gpu/drm/mga/mga_dma.c
··· 396 396 int mga_driver_load(struct drm_device * dev, unsigned long flags) 397 397 { 398 398 drm_mga_private_t *dev_priv; 399 + int ret; 399 400 400 401 dev_priv = drm_alloc(sizeof(drm_mga_private_t), DRM_MEM_DRIVER); 401 402 if (!dev_priv) ··· 415 414 dev->types[6] = _DRM_STAT_IRQ; 416 415 dev->types[7] = _DRM_STAT_PRIMARY; 417 416 dev->types[8] = _DRM_STAT_SECONDARY; 417 + 418 + ret = drm_vblank_init(dev, 1); 419 + 420 + if (ret) { 421 + (void) mga_driver_unload(dev); 422 + return ret; 423 + } 418 424 419 425 return 0; 420 426 }
-5
drivers/gpu/drm/mga/mga_irq.c
··· 152 152 int mga_driver_irq_postinstall(struct drm_device *dev) 153 153 { 154 154 drm_mga_private_t *dev_priv = (drm_mga_private_t *) dev->dev_private; 155 - int ret; 156 - 157 - ret = drm_vblank_init(dev, 1); 158 - if (ret) 159 - return ret; 160 155 161 156 DRM_INIT_WAITQUEUE(&dev_priv->fence_queue); 162 157
+6
drivers/gpu/drm/r128/r128_drv.c
··· 45 45 DRIVER_USE_AGP | DRIVER_USE_MTRR | DRIVER_PCI_DMA | DRIVER_SG | 46 46 DRIVER_HAVE_DMA | DRIVER_HAVE_IRQ | DRIVER_IRQ_SHARED, 47 47 .dev_priv_size = sizeof(drm_r128_buf_priv_t), 48 + .load = r128_driver_load, 48 49 .preclose = r128_driver_preclose, 49 50 .lastclose = r128_driver_lastclose, 50 51 .get_vblank_counter = r128_get_vblank_counter, ··· 84 83 .minor = DRIVER_MINOR, 85 84 .patchlevel = DRIVER_PATCHLEVEL, 86 85 }; 86 + 87 + int r128_driver_load(struct drm_device * dev, unsigned long flags) 88 + { 89 + return drm_vblank_init(dev, 1); 90 + } 87 91 88 92 static int __init r128_init(void) 89 93 {
+1
drivers/gpu/drm/r128/r128_drv.h
··· 159 159 extern int r128_driver_irq_postinstall(struct drm_device *dev); 160 160 extern void r128_driver_irq_uninstall(struct drm_device * dev); 161 161 extern void r128_driver_lastclose(struct drm_device * dev); 162 + extern int r128_driver_load(struct drm_device * dev, unsigned long flags); 162 163 extern void r128_driver_preclose(struct drm_device * dev, 163 164 struct drm_file *file_priv); 164 165
+1 -1
drivers/gpu/drm/r128/r128_irq.c
··· 102 102 103 103 int r128_driver_irq_postinstall(struct drm_device *dev) 104 104 { 105 - return drm_vblank_init(dev, 1); 105 + return 0; 106 106 } 107 107 108 108 void r128_driver_irq_uninstall(struct drm_device * dev)
+6
drivers/gpu/drm/radeon/radeon_cp.c
··· 1757 1757 if (ret != 0) 1758 1758 return ret; 1759 1759 1760 + ret = drm_vblank_init(dev, 2); 1761 + if (ret) { 1762 + radeon_driver_unload(dev); 1763 + return ret; 1764 + } 1765 + 1760 1766 DRM_DEBUG("%s card detected\n", 1761 1767 ((dev_priv->flags & RADEON_IS_AGP) ? "AGP" : (((dev_priv->flags & RADEON_IS_PCIE) ? "PCIE" : "PCI")))); 1762 1768 return ret;
-5
drivers/gpu/drm/radeon/radeon_irq.c
··· 337 337 { 338 338 drm_radeon_private_t *dev_priv = 339 339 (drm_radeon_private_t *) dev->dev_private; 340 - int ret; 341 340 342 341 atomic_set(&dev_priv->swi_emitted, 0); 343 342 DRM_INIT_WAITQUEUE(&dev_priv->swi_queue); 344 - 345 - ret = drm_vblank_init(dev, 2); 346 - if (ret) 347 - return ret; 348 343 349 344 dev->max_vblank_count = 0x001fffff; 350 345
-1
drivers/gpu/drm/via/via_irq.c
··· 314 314 if (!dev_priv) 315 315 return -EINVAL; 316 316 317 - drm_vblank_init(dev, 1); 318 317 status = VIA_READ(VIA_REG_INTERRUPT); 319 318 VIA_WRITE(VIA_REG_INTERRUPT, status | VIA_IRQ_GLOBAL 320 319 | dev_priv->irq_enable_mask);
+10 -1
drivers/gpu/drm/via/via_map.c
··· 107 107 ret = drm_sman_init(&dev_priv->sman, 2, 12, 8); 108 108 if (ret) { 109 109 drm_free(dev_priv, sizeof(*dev_priv), DRM_MEM_DRIVER); 110 + return ret; 110 111 } 111 - return ret; 112 + 113 + ret = drm_vblank_init(dev, 1); 114 + if (ret) { 115 + drm_sman_takedown(&dev_priv->sman); 116 + drm_free(dev_priv, sizeof(drm_via_private_t), DRM_MEM_DRIVER); 117 + return ret; 118 + } 119 + 120 + return 0; 112 121 } 113 122 114 123 int via_driver_unload(struct drm_device *dev)
+3 -3
drivers/hid/hid-apple.c
··· 400 400 { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_GEYSER4_HF_JIS), 401 401 .driver_data = APPLE_NUMLOCK_EMULATION | APPLE_HAS_FN | 402 402 APPLE_RDESC_JIS }, 403 - { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_ALU_WIRELESS_ANSI), 403 + { HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_ALU_WIRELESS_ANSI), 404 404 .driver_data = APPLE_NUMLOCK_EMULATION | APPLE_HAS_FN }, 405 - { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_ALU_WIRELESS_ISO), 405 + { HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_ALU_WIRELESS_ISO), 406 406 .driver_data = APPLE_NUMLOCK_EMULATION | APPLE_HAS_FN | 407 407 APPLE_ISO_KEYBOARD }, 408 - { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_ALU_WIRELESS_JIS), 408 + { HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_ALU_WIRELESS_JIS), 409 409 .driver_data = APPLE_NUMLOCK_EMULATION | APPLE_HAS_FN }, 410 410 { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING_ANSI), 411 411 .driver_data = APPLE_HAS_FN },
+6 -8
drivers/hid/hid-core.c
··· 1241 1241 { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_GEYSER4_HF_ANSI) }, 1242 1242 { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_GEYSER4_HF_ISO) }, 1243 1243 { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_GEYSER4_HF_JIS) }, 1244 - { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_ALU_WIRELESS_ANSI) }, 1245 - { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_ALU_WIRELESS_ISO) }, 1246 - { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_ALU_WIRELESS_JIS) }, 1244 + { HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_ALU_WIRELESS_ANSI) }, 1245 + { HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_ALU_WIRELESS_ISO) }, 1246 + { HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_ALU_WIRELESS_JIS) }, 1247 1247 { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING_ANSI) }, 1248 1248 { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING_ISO) }, 1249 1249 { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING_JIS) }, ··· 1266 1266 { HID_USB_DEVICE(USB_VENDOR_ID_DELL, USB_DEVICE_ID_DELL_SK8115) }, 1267 1267 { HID_USB_DEVICE(USB_VENDOR_ID_EZKEY, USB_DEVICE_ID_BTC_8193) }, 1268 1268 { HID_USB_DEVICE(USB_VENDOR_ID_GENERIC_13BA, USB_DEVICE_ID_GENERIC_13BA_KBD_MOUSE) }, 1269 + { HID_USB_DEVICE(USB_VENDOR_ID_GAMERON, USB_DEVICE_ID_GAMERON_DUAL_PSX_ADAPTOR) }, 1270 + { HID_USB_DEVICE(USB_VENDOR_ID_GAMERON, USB_DEVICE_ID_GAMERON_DUAL_PCS_ADAPTOR) }, 1271 + { HID_USB_DEVICE(USB_VENDOR_ID_GREENASIA, 0x0003) }, 1269 1272 { HID_USB_DEVICE(USB_VENDOR_ID_GYRATION, USB_DEVICE_ID_GYRATION_REMOTE) }, 1270 1273 { HID_USB_DEVICE(USB_VENDOR_ID_GYRATION, USB_DEVICE_ID_GYRATION_REMOTE_2) }, 1271 1274 { HID_USB_DEVICE(USB_VENDOR_ID_LABTEC, USB_DEVICE_ID_LABTEC_WIRELESS_KEYBOARD) }, ··· 1423 1420 { HID_USB_DEVICE(USB_VENDOR_ID_DELORME, USB_DEVICE_ID_DELORME_EARTHMATE) }, 1424 1421 { HID_USB_DEVICE(USB_VENDOR_ID_DELORME, USB_DEVICE_ID_DELORME_EM_LT20) }, 1425 1422 { HID_USB_DEVICE(USB_VENDOR_ID_ESSENTIAL_REALITY, USB_DEVICE_ID_ESSENTIAL_REALITY_P5) }, 1426 - { HID_USB_DEVICE(USB_VENDOR_ID_GAMERON, USB_DEVICE_ID_GAMERON_DUAL_PSX_ADAPTOR) }, 1427 1423 { HID_USB_DEVICE(USB_VENDOR_ID_GENERAL_TOUCH, 0x0001) }, 1428 1424 { HID_USB_DEVICE(USB_VENDOR_ID_GENERAL_TOUCH, 0x0002) }, 1429 1425 { HID_USB_DEVICE(USB_VENDOR_ID_GENERAL_TOUCH, 0x0003) }, ··· 1438 1436 { HID_USB_DEVICE(USB_VENDOR_ID_GOTOP, USB_DEVICE_ID_SUPER_Q2) }, 1439 1437 { HID_USB_DEVICE(USB_VENDOR_ID_GOTOP, USB_DEVICE_ID_GOGOPEN) }, 1440 1438 { HID_USB_DEVICE(USB_VENDOR_ID_GOTOP, USB_DEVICE_ID_PENPOWER) }, 1441 - { HID_USB_DEVICE(USB_VENDOR_ID_GREENASIA, 0x0003) }, 1442 1439 { HID_USB_DEVICE(USB_VENDOR_ID_GRETAGMACBETH, USB_DEVICE_ID_GRETAGMACBETH_HUEY) }, 1443 1440 { HID_USB_DEVICE(USB_VENDOR_ID_GRIFFIN, USB_DEVICE_ID_POWERMATE) }, 1444 1441 { HID_USB_DEVICE(USB_VENDOR_ID_GRIFFIN, USB_DEVICE_ID_SOUNDKNOB) }, ··· 1577 1576 { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING2_ANSI) }, 1578 1577 { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING2_ISO) }, 1579 1578 { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING2_JIS) }, 1580 - { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING3_ANSI) }, 1581 - { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING3_ISO) }, 1582 - { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING3_JIS) }, 1583 1579 { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_FOUNTAIN_TP_ONLY) }, 1584 1580 { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_GEYSER1_TP_ONLY) }, 1585 1581 { }
+1
drivers/hid/hid-ids.h
··· 163 163 164 164 #define USB_VENDOR_ID_GAMERON 0x0810 165 165 #define USB_DEVICE_ID_GAMERON_DUAL_PSX_ADAPTOR 0x0001 166 + #define USB_DEVICE_ID_GAMERON_DUAL_PCS_ADAPTOR 0x0002 166 167 167 168 #define USB_VENDOR_ID_GENERAL_TOUCH 0x0dfc 168 169
+2
drivers/hid/hid-pl.c
··· 178 178 static const struct hid_device_id pl_devices[] = { 179 179 { HID_USB_DEVICE(USB_VENDOR_ID_GAMERON, USB_DEVICE_ID_GAMERON_DUAL_PSX_ADAPTOR), 180 180 .driver_data = 1 }, /* Twin USB Joystick */ 181 + { HID_USB_DEVICE(USB_VENDOR_ID_GAMERON, USB_DEVICE_ID_GAMERON_DUAL_PCS_ADAPTOR), 182 + .driver_data = 1 }, /* Twin USB Joystick */ 181 183 { HID_USB_DEVICE(USB_VENDOR_ID_GREENASIA, 0x0003), }, /* GreenAsia Inc. USB Joystick */ 182 184 { } 183 185 };
+2 -16
drivers/hid/usbhid/hid-core.c
··· 796 796 if (insize > HID_MAX_BUFFER_SIZE) 797 797 insize = HID_MAX_BUFFER_SIZE; 798 798 799 - mutex_lock(&usbhid->setup); 800 799 if (hid_alloc_buffers(dev, hid)) { 801 800 ret = -ENOMEM; 802 801 goto fail; ··· 875 876 hid_dump_device(hid); 876 877 877 878 set_bit(HID_STARTED, &usbhid->iofl); 878 - mutex_unlock(&usbhid->setup); 879 879 880 880 return 0; 881 881 ··· 886 888 usbhid->urbout = NULL; 887 889 usbhid->urbctrl = NULL; 888 890 hid_free_buffers(dev, hid); 889 - mutex_unlock(&usbhid->setup); 890 891 return ret; 891 892 } 892 893 ··· 896 899 if (WARN_ON(!usbhid)) 897 900 return; 898 901 899 - mutex_lock(&usbhid->setup); 900 902 clear_bit(HID_STARTED, &usbhid->iofl); 901 903 spin_lock_irq(&usbhid->inlock); /* Sync with error handler */ 902 904 set_bit(HID_DISCONNECTED, &usbhid->iofl); ··· 924 928 usbhid->urbout = NULL; 925 929 926 930 hid_free_buffers(hid_to_usb_dev(hid), hid); 927 - mutex_unlock(&usbhid->setup); 928 931 } 929 932 930 933 static struct hid_ll_driver usb_hid_driver = { ··· 1011 1016 1012 1017 hid->driver_data = usbhid; 1013 1018 usbhid->hid = hid; 1014 - mutex_init(&usbhid->setup); /* needed on suspend/resume */ 1015 1019 1016 1020 ret = hid_add_device(hid); 1017 1021 if (ret) { ··· 1045 1051 struct hid_device *hid = usb_get_intfdata (intf); 1046 1052 struct usbhid_device *usbhid = hid->driver_data; 1047 1053 1048 - mutex_lock(&usbhid->setup); 1049 - if (!test_bit(HID_STARTED, &usbhid->iofl)) { 1050 - mutex_unlock(&usbhid->setup); 1054 + if (!test_bit(HID_STARTED, &usbhid->iofl)) 1051 1055 return 0; 1052 - } 1053 1056 1054 1057 spin_lock_irq(&usbhid->inlock); /* Sync with error handler */ 1055 1058 set_bit(HID_SUSPENDED, &usbhid->iofl); 1056 1059 spin_unlock_irq(&usbhid->inlock); 1057 1060 del_timer_sync(&usbhid->io_retry); 1058 1061 usb_kill_urb(usbhid->urbin); 1059 - mutex_unlock(&usbhid->setup); 1060 1062 dev_dbg(&intf->dev, "suspend\n"); 1061 1063 return 0; 1062 1064 } ··· 1063 1073 struct usbhid_device *usbhid = hid->driver_data; 1064 1074 int status; 1065 1075 1066 - mutex_lock(&usbhid->setup); 1067 - if (!test_bit(HID_STARTED, &usbhid->iofl)) { 1068 - mutex_unlock(&usbhid->setup); 1076 + if (!test_bit(HID_STARTED, &usbhid->iofl)) 1069 1077 return 0; 1070 - } 1071 1078 1072 1079 clear_bit(HID_SUSPENDED, &usbhid->iofl); 1073 1080 usbhid->retry_delay = 0; 1074 1081 status = hid_start_in(hid); 1075 - mutex_unlock(&usbhid->setup); 1076 1082 dev_dbg(&intf->dev, "resume status %d\n", status); 1077 1083 return status; 1078 1084 }
-1
drivers/hid/usbhid/usbhid.h
··· 74 74 dma_addr_t outbuf_dma; /* Output buffer dma */ 75 75 spinlock_t outlock; /* Output fifo spinlock */ 76 76 77 - struct mutex setup; 78 77 unsigned long iofl; /* I/O flags (CTRL_RUNNING, OUT_RUNNING) */ 79 78 struct timer_list io_retry; /* Retry timer */ 80 79 unsigned long stop_retry; /* Time to give up, in jiffies */
+1
drivers/hwmon/applesmc.c
··· 1564 1564 MODULE_AUTHOR("Nicolas Boichat"); 1565 1565 MODULE_DESCRIPTION("Apple SMC"); 1566 1566 MODULE_LICENSE("GPL v2"); 1567 + MODULE_DEVICE_TABLE(dmi, applesmc_whitelist);
+2 -2
drivers/i2c/busses/i2c-parport.c
··· 189 189 if (adapter_parm[type].init.val) 190 190 line_set(port, 1, &adapter_parm[type].init); 191 191 192 - parport_release(adapter->pdev); 193 - 194 192 if (i2c_bit_add_bus(&adapter->adapter) < 0) { 195 193 printk(KERN_ERR "i2c-parport: Unable to register with I2C\n"); 196 194 goto ERROR1; ··· 200 202 return; 201 203 202 204 ERROR1: 205 + parport_release(adapter->pdev); 203 206 parport_unregister_device(adapter->pdev); 204 207 ERROR0: 205 208 kfree(adapter); ··· 220 221 if (adapter_parm[type].init.val) 221 222 line_set(port, 0, &adapter_parm[type].init); 222 223 224 + parport_release(adapter->pdev); 223 225 parport_unregister_device(adapter->pdev); 224 226 if (prev) 225 227 prev->next = adapter->next;
+47 -18
drivers/i2c/chips/isp1301_omap.c
··· 25 25 #include <linux/slab.h> 26 26 #include <linux/interrupt.h> 27 27 #include <linux/platform_device.h> 28 + #include <linux/gpio.h> 28 29 #include <linux/usb/ch9.h> 29 30 #include <linux/usb/gadget.h> 30 31 #include <linux/usb.h> ··· 34 33 #include <linux/workqueue.h> 35 34 36 35 #include <asm/irq.h> 36 + #include <asm/mach-types.h> 37 + 37 38 #include <mach/usb.h> 39 + #include <mach/mux.h> 38 40 39 41 40 42 #ifndef DEBUG ··· 92 88 93 89 /*-------------------------------------------------------------------------*/ 94 90 95 - #ifdef CONFIG_MACH_OMAP_H2 96 - 97 91 /* board-specific PM hooks */ 98 92 99 - #include <asm/gpio.h> 100 - #include <mach/mux.h> 101 - #include <asm/mach-types.h> 102 - 93 + #if defined(CONFIG_MACH_OMAP_H2) || defined(CONFIG_MACH_OMAP_H3) 103 94 104 95 #if defined(CONFIG_TPS65010) || defined(CONFIG_TPS65010_MODULE) 105 96 ··· 115 116 int status = tps65010_set_vbus_draw(mA); 116 117 if (status < 0) 117 118 pr_debug(" VBUS %d mA error %d\n", mA, status); 119 + } 120 + 121 + static void enable_vbus_source(struct isp1301 *isp) 122 + { 123 + /* this board won't supply more than 8mA vbus power. 124 + * some boards can switch a 100ma "unit load" (or more). 125 + */ 126 + } 127 + 128 + 129 + /* products will deliver OTG messages with LEDs, GUI, etc */ 130 + static inline void notresponding(struct isp1301 *isp) 131 + { 132 + printk(KERN_NOTICE "OTG device not responding.\n"); 133 + } 134 + 135 + 136 + #endif 137 + 138 + #if defined(CONFIG_MACH_OMAP_H4) 139 + 140 + static void enable_vbus_draw(struct isp1301 *isp, unsigned mA) 141 + { 142 + /* H4 controls this by DIP switch S2.4; no soft control. 143 + * ON means the charger is always enabled. Leave it OFF 144 + * unless the OTG port is used only in B-peripheral mode. 145 + */ 118 146 } 119 147 120 148 static void enable_vbus_source(struct isp1301 *isp) ··· 360 334 * NOTE: guaranteeing certain response times might mean we shouldn't 361 335 * share keventd's work queue; a realtime task might be safest. 362 336 */ 363 - void 364 - isp1301_defer_work(struct isp1301 *isp, int work) 337 + static void isp1301_defer_work(struct isp1301 *isp, int work) 365 338 { 366 339 int status; 367 340 ··· 536 511 otg_ctrl = omap_readl(OTG_CTRL) & OTG_CTRL_MASK; 537 512 otg_ctrl &= ~OTG_XCEIV_INPUTS; 538 513 otg_ctrl &= ~(OTG_ID|OTG_ASESSVLD|OTG_VBUSVLD); 539 - 540 514 541 515 if (int_src & INTR_SESS_VLD) 542 516 otg_ctrl |= OTG_ASESSVLD; ··· 910 886 911 887 static int otg_remove(struct platform_device *dev) 912 888 { 913 - otg_dev = 0; 889 + otg_dev = NULL; 914 890 return 0; 915 891 } 916 892 917 - struct platform_driver omap_otg_driver = { 893 + static struct platform_driver omap_otg_driver = { 918 894 .probe = otg_probe, 919 895 .remove = otg_remove, 920 896 .driver = { ··· 1236 1212 1237 1213 isp = dev_get_drvdata(dev); 1238 1214 1215 + /* FIXME -- not with a "new style" driver, it doesn't!! */ 1216 + 1239 1217 /* ugly -- i2c hijacks our memory hook to wait_for_completion() */ 1240 1218 if (isp->i2c_release) 1241 1219 isp->i2c_release(dev); ··· 1259 1233 otg_unbind(isp); 1260 1234 #endif 1261 1235 if (machine_is_omap_h2()) 1262 - omap_free_gpio(2); 1236 + gpio_free(2); 1263 1237 1264 1238 isp->timer.data = 0; 1265 1239 set_bit(WORK_STOP, &isp->todo); ··· 1267 1241 flush_scheduled_work(); 1268 1242 1269 1243 put_device(&i2c->dev); 1270 - the_transceiver = 0; 1244 + the_transceiver = NULL; 1271 1245 1272 1246 return 0; 1273 1247 } ··· 1321 1295 if (!host) { 1322 1296 omap_writew(0, OTG_IRQ_EN); 1323 1297 power_down(isp); 1324 - isp->otg.host = 0; 1298 + isp->otg.host = NULL; 1325 1299 return 0; 1326 1300 } 1327 1301 ··· 1370 1344 isp1301_set_peripheral(struct otg_transceiver *otg, struct usb_gadget *gadget) 1371 1345 { 1372 1346 struct isp1301 *isp = container_of(otg, struct isp1301, otg); 1347 + #ifndef CONFIG_USB_OTG 1373 1348 u32 l; 1349 + #endif 1374 1350 1375 1351 if (!otg || isp != the_transceiver) 1376 1352 return -ENODEV; ··· 1382 1354 if (!isp->otg.default_a) 1383 1355 enable_vbus_draw(isp, 0); 1384 1356 usb_gadget_vbus_disconnect(isp->otg.gadget); 1385 - isp->otg.gadget = 0; 1357 + isp->otg.gadget = NULL; 1386 1358 power_down(isp); 1387 1359 return 0; 1388 1360 } ··· 1407 1379 power_up(isp); 1408 1380 isp->otg.state = OTG_STATE_B_IDLE; 1409 1381 1410 - if (machine_is_omap_h2()) 1382 + if (machine_is_omap_h2() || machine_is_omap_h3()) 1411 1383 isp1301_set_bits(isp, ISP1301_MODE_CONTROL_1, MC1_DAT_SE0); 1412 1384 1413 1385 isp1301_set_bits(isp, ISP1301_INTERRUPT_RISING, ··· 1527 1499 1528 1500 /*-------------------------------------------------------------------------*/ 1529 1501 1530 - static int __init isp1301_probe(struct i2c_client *i2c) 1502 + static int __init 1503 + isp1301_probe(struct i2c_client *i2c, const struct i2c_device_id *id) 1531 1504 { 1532 1505 int status; 1533 1506 struct isp1301 *isp; ··· 1676 1647 static void __exit isp_exit(void) 1677 1648 { 1678 1649 if (the_transceiver) 1679 - otg_set_transceiver(0); 1650 + otg_set_transceiver(NULL); 1680 1651 i2c_del_driver(&isp1301_driver); 1681 1652 } 1682 1653 module_exit(isp_exit);
+1 -1
drivers/i2c/i2c-core.c
··· 631 631 632 632 /* detach any active clients. This must be done first, because 633 633 * it can fail; in which case we give up. */ 634 - list_for_each_entry_safe(client, _n, &adap->clients, list) { 634 + list_for_each_entry_safe_reverse(client, _n, &adap->clients, list) { 635 635 struct i2c_driver *driver; 636 636 637 637 driver = client->driver;
+2 -2
drivers/ide/icside.c
··· 419 419 hw->chipset = ide_acorn; 420 420 } 421 421 422 - static int __init 422 + static int __devinit 423 423 icside_register_v5(struct icside_state *state, struct expansion_card *ec) 424 424 { 425 425 void __iomem *base; ··· 473 473 .swdma_mask = ATA_SWDMA2, 474 474 }; 475 475 476 - static int __init 476 + static int __devinit 477 477 icside_register_v6(struct icside_state *state, struct expansion_card *ec) 478 478 { 479 479 void __iomem *ioc_base, *easi_base;
+12 -13
drivers/ieee1394/highlevel.c
··· 46 46 47 47 static DEFINE_RWLOCK(addr_space_lock); 48 48 49 - /* addr_space list will have zero and max already included as bounds */ 50 - static struct hpsb_address_ops dummy_ops = { NULL, NULL, NULL, NULL }; 51 - static struct hpsb_address_serve dummy_zero_addr, dummy_max_addr; 52 - 53 49 54 50 static struct hl_host_info *hl_get_hostinfo(struct hpsb_highlevel *hl, 55 51 struct hpsb_host *host) ··· 477 481 return retval; 478 482 } 479 483 484 + static struct hpsb_address_ops dummy_ops; 485 + 486 + /* dummy address spaces as lower and upper bounds of the host's a.s. list */ 480 487 static void init_hpsb_highlevel(struct hpsb_host *host) 481 488 { 482 - INIT_LIST_HEAD(&dummy_zero_addr.host_list); 483 - INIT_LIST_HEAD(&dummy_zero_addr.hl_list); 484 - INIT_LIST_HEAD(&dummy_max_addr.host_list); 485 - INIT_LIST_HEAD(&dummy_max_addr.hl_list); 489 + INIT_LIST_HEAD(&host->dummy_zero_addr.host_list); 490 + INIT_LIST_HEAD(&host->dummy_zero_addr.hl_list); 491 + INIT_LIST_HEAD(&host->dummy_max_addr.host_list); 492 + INIT_LIST_HEAD(&host->dummy_max_addr.hl_list); 486 493 487 - dummy_zero_addr.op = dummy_max_addr.op = &dummy_ops; 494 + host->dummy_zero_addr.op = host->dummy_max_addr.op = &dummy_ops; 488 495 489 - dummy_zero_addr.start = dummy_zero_addr.end = 0; 490 - dummy_max_addr.start = dummy_max_addr.end = ((u64) 1) << 48; 496 + host->dummy_zero_addr.start = host->dummy_zero_addr.end = 0; 497 + host->dummy_max_addr.start = host->dummy_max_addr.end = ((u64) 1) << 48; 491 498 492 - list_add_tail(&dummy_zero_addr.host_list, &host->addr_space); 493 - list_add_tail(&dummy_max_addr.host_list, &host->addr_space); 499 + list_add_tail(&host->dummy_zero_addr.host_list, &host->addr_space); 500 + list_add_tail(&host->dummy_max_addr.host_list, &host->addr_space); 494 501 } 495 502 496 503 void highlevel_add_host(struct hpsb_host *host)
+4
drivers/ieee1394/hosts.h
··· 13 13 14 14 #include "ieee1394_types.h" 15 15 #include "csr.h" 16 + #include "highlevel.h" 16 17 17 18 struct hpsb_packet; 18 19 struct hpsb_iso; ··· 73 72 struct { DECLARE_BITMAP(map, 64); } tl_pool[ALL_NODES]; 74 73 75 74 struct csr_control csr; 75 + 76 + struct hpsb_address_serve dummy_zero_addr; 77 + struct hpsb_address_serve dummy_max_addr; 76 78 }; 77 79 78 80 enum devctl_cmd {
+10 -4
drivers/ieee1394/sbp2.c
··· 402 402 }, 403 403 /* iPod mini */ { 404 404 .firmware_revision = 0x0a2700, 405 + .model_id = 0x000022, 406 + .workarounds = SBP2_WORKAROUND_FIX_CAPACITY, 407 + }, 408 + /* iPod mini */ { 409 + .firmware_revision = 0x0a2700, 405 410 .model_id = 0x000023, 406 411 .workarounds = SBP2_WORKAROUND_FIX_CAPACITY, 407 412 }, ··· 895 890 return; 896 891 897 892 read_lock_irqsave(&sbp2_hi_logical_units_lock, flags); 893 + 898 894 list_for_each_entry(lu, &hi->logical_units, lu_list) 899 - if (likely(atomic_read(&lu->state) != 900 - SBP2LU_STATE_IN_SHUTDOWN)) { 901 - atomic_set(&lu->state, SBP2LU_STATE_IN_RESET); 895 + if (atomic_cmpxchg(&lu->state, 896 + SBP2LU_STATE_RUNNING, SBP2LU_STATE_IN_RESET) 897 + == SBP2LU_STATE_RUNNING) 902 898 scsi_block_requests(lu->shost); 903 - } 899 + 904 900 read_unlock_irqrestore(&sbp2_hi_logical_units_lock, flags); 905 901 } 906 902
+3 -1
drivers/infiniband/hw/ehca/ehca_classes.h
··· 163 163 /* struct for tracking if cqes have been reported to the application */ 164 164 struct ehca_qmap_entry { 165 165 u16 app_wr_id; 166 - u16 reported; 166 + u8 reported; 167 + u8 cqe_req; 167 168 }; 168 169 169 170 struct ehca_queue_map { ··· 172 171 unsigned int entries; 173 172 unsigned int tail; 174 173 unsigned int left_to_poll; 174 + unsigned int next_wqe_idx; /* Idx to first wqe to be flushed */ 175 175 }; 176 176 177 177 struct ehca_qp {
+1 -2
drivers/infiniband/hw/ehca/ehca_main.c
··· 994 994 if (printk_timed_ratelimit(&ehca_dmem_warn_time, 995 995 30 * 1000)) 996 996 ehca_gen_err("DMEM operations are not allowed" 997 - "as long as an ehca adapter is" 998 - "attached to the LPAR"); 997 + "in conjunction with eHCA"); 999 998 return NOTIFY_BAD; 1000 999 } 1001 1000 }
+20 -6
drivers/infiniband/hw/ehca/ehca_qp.c
··· 435 435 { 436 436 int i; 437 437 438 - qmap->tail = 0; 439 - for (i = 0; i < qmap->entries; i++) 438 + qmap->tail = qmap->entries - 1; 439 + qmap->left_to_poll = 0; 440 + qmap->next_wqe_idx = 0; 441 + for (i = 0; i < qmap->entries; i++) { 440 442 qmap->map[i].reported = 1; 443 + qmap->map[i].cqe_req = 0; 444 + } 441 445 } 442 446 443 447 /* ··· 1125 1121 void *wqe_v; 1126 1122 u64 q_ofs; 1127 1123 u32 wqe_idx; 1124 + unsigned int tail_idx; 1128 1125 1129 1126 /* convert real to abs address */ 1130 1127 wqe_p = wqe_p & (~(1UL << 63)); ··· 1138 1133 return -EFAULT; 1139 1134 } 1140 1135 1136 + tail_idx = (qmap->tail + 1) % qmap->entries; 1141 1137 wqe_idx = q_ofs / ipz_queue->qe_size; 1142 - if (wqe_idx < qmap->tail) 1143 - qmap->left_to_poll = (qmap->entries - qmap->tail) + wqe_idx; 1144 - else 1145 - qmap->left_to_poll = wqe_idx - qmap->tail; 1146 1138 1139 + /* check all processed wqes, whether a cqe is requested or not */ 1140 + while (tail_idx != wqe_idx) { 1141 + if (qmap->map[tail_idx].cqe_req) 1142 + qmap->left_to_poll++; 1143 + tail_idx = (tail_idx + 1) % qmap->entries; 1144 + } 1145 + /* save index in queue, where we have to start flushing */ 1146 + qmap->next_wqe_idx = wqe_idx; 1147 1147 return 0; 1148 1148 } 1149 1149 ··· 1195 1185 } else { 1196 1186 spin_lock_irqsave(&my_qp->send_cq->spinlock, flags); 1197 1187 my_qp->sq_map.left_to_poll = 0; 1188 + my_qp->sq_map.next_wqe_idx = (my_qp->sq_map.tail + 1) % 1189 + my_qp->sq_map.entries; 1198 1190 spin_unlock_irqrestore(&my_qp->send_cq->spinlock, flags); 1199 1191 1200 1192 spin_lock_irqsave(&my_qp->recv_cq->spinlock, flags); 1201 1193 my_qp->rq_map.left_to_poll = 0; 1194 + my_qp->rq_map.next_wqe_idx = (my_qp->rq_map.tail + 1) % 1195 + my_qp->rq_map.entries; 1202 1196 spin_unlock_irqrestore(&my_qp->recv_cq->spinlock, flags); 1203 1197 } 1204 1198
+33 -24
drivers/infiniband/hw/ehca/ehca_reqs.c
··· 179 179 180 180 qmap_entry->app_wr_id = get_app_wr_id(send_wr->wr_id); 181 181 qmap_entry->reported = 0; 182 + qmap_entry->cqe_req = 0; 182 183 183 184 switch (send_wr->opcode) { 184 185 case IB_WR_SEND: ··· 204 203 205 204 if ((send_wr->send_flags & IB_SEND_SIGNALED || 206 205 qp->init_attr.sq_sig_type == IB_SIGNAL_ALL_WR) 207 - && !hidden) 206 + && !hidden) { 208 207 wqe_p->wr_flag |= WQE_WRFLAG_REQ_SIGNAL_COM; 208 + qmap_entry->cqe_req = 1; 209 + } 209 210 210 211 if (send_wr->opcode == IB_WR_SEND_WITH_IMM || 211 212 send_wr->opcode == IB_WR_RDMA_WRITE_WITH_IMM) { ··· 572 569 qmap_entry = &my_qp->rq_map.map[rq_map_idx]; 573 570 qmap_entry->app_wr_id = get_app_wr_id(cur_recv_wr->wr_id); 574 571 qmap_entry->reported = 0; 572 + qmap_entry->cqe_req = 1; 575 573 576 574 wqe_cnt++; 577 575 } /* eof for cur_recv_wr */ ··· 710 706 goto repoll; 711 707 wc->qp = &my_qp->ib_qp; 712 708 713 - if (is_error) { 714 - /* 715 - * set left_to_poll to 0 because in error state, we will not 716 - * get any additional CQEs 717 - */ 718 - ehca_add_to_err_list(my_qp, 1); 719 - my_qp->sq_map.left_to_poll = 0; 720 - 721 - if (HAS_RQ(my_qp)) 722 - ehca_add_to_err_list(my_qp, 0); 723 - my_qp->rq_map.left_to_poll = 0; 724 - } 725 - 726 709 qmap_tail_idx = get_app_wr_id(cqe->work_request_id); 727 710 if (!(cqe->w_completion_flags & WC_SEND_RECEIVE_BIT)) 728 711 /* We got a send completion. */ ··· 717 726 else 718 727 /* We got a receive completion. */ 719 728 qmap = &my_qp->rq_map; 729 + 730 + /* advance the tail pointer */ 731 + qmap->tail = qmap_tail_idx; 732 + 733 + if (is_error) { 734 + /* 735 + * set left_to_poll to 0 because in error state, we will not 736 + * get any additional CQEs 737 + */ 738 + my_qp->sq_map.next_wqe_idx = (my_qp->sq_map.tail + 1) % 739 + my_qp->sq_map.entries; 740 + my_qp->sq_map.left_to_poll = 0; 741 + ehca_add_to_err_list(my_qp, 1); 742 + 743 + my_qp->rq_map.next_wqe_idx = (my_qp->rq_map.tail + 1) % 744 + my_qp->rq_map.entries; 745 + my_qp->rq_map.left_to_poll = 0; 746 + if (HAS_RQ(my_qp)) 747 + ehca_add_to_err_list(my_qp, 0); 748 + } 720 749 721 750 qmap_entry = &qmap->map[qmap_tail_idx]; 722 751 if (qmap_entry->reported) { ··· 748 737 749 738 wc->wr_id = replace_wr_id(cqe->work_request_id, qmap_entry->app_wr_id); 750 739 qmap_entry->reported = 1; 751 - 752 - /* this is a proper completion, we need to advance the tail pointer */ 753 - if (++qmap->tail == qmap->entries) 754 - qmap->tail = 0; 755 740 756 741 /* if left_to_poll is decremented to 0, add the QP to the error list */ 757 742 if (qmap->left_to_poll > 0) { ··· 812 805 else 813 806 qmap = &my_qp->rq_map; 814 807 815 - qmap_entry = &qmap->map[qmap->tail]; 808 + qmap_entry = &qmap->map[qmap->next_wqe_idx]; 816 809 817 810 while ((nr < num_entries) && (qmap_entry->reported == 0)) { 818 811 /* generate flush CQE */ 812 + 819 813 memset(wc, 0, sizeof(*wc)); 820 814 821 - offset = qmap->tail * ipz_queue->qe_size; 815 + offset = qmap->next_wqe_idx * ipz_queue->qe_size; 822 816 wqe = (struct ehca_wqe *)ipz_qeit_calc(ipz_queue, offset); 823 817 if (!wqe) { 824 818 ehca_err(cq->device, "Invalid wqe offset=%#lx on " ··· 858 850 859 851 wc->qp = &my_qp->ib_qp; 860 852 861 - /* mark as reported and advance tail pointer */ 853 + /* mark as reported and advance next_wqe pointer */ 862 854 qmap_entry->reported = 1; 863 - if (++qmap->tail == qmap->entries) 864 - qmap->tail = 0; 865 - qmap_entry = &qmap->map[qmap->tail]; 855 + qmap->next_wqe_idx++; 856 + if (qmap->next_wqe_idx == qmap->entries) 857 + qmap->next_wqe_idx = 0; 858 + qmap_entry = &qmap->map[qmap->next_wqe_idx]; 866 859 867 860 wc++; nr++; 868 861 }
+5
drivers/infiniband/hw/mlx4/cq.c
··· 343 343 { 344 344 struct mlx4_ib_dev *dev = to_mdev(ibcq->device); 345 345 struct mlx4_ib_cq *cq = to_mcq(ibcq); 346 + struct mlx4_mtt mtt; 346 347 int outst_cqe; 347 348 int err; 348 349 ··· 377 376 goto out; 378 377 } 379 378 379 + mtt = cq->buf.mtt; 380 + 380 381 err = mlx4_cq_resize(dev->dev, &cq->mcq, entries, &cq->resize_buf->buf.mtt); 381 382 if (err) 382 383 goto err_buf; 383 384 385 + mlx4_mtt_cleanup(dev->dev, &mtt); 384 386 if (ibcq->uobject) { 385 387 cq->buf = cq->resize_buf->buf; 386 388 cq->ibcq.cqe = cq->resize_buf->cqe; ··· 410 406 goto out; 411 407 412 408 err_buf: 409 + mlx4_mtt_cleanup(dev->dev, &cq->resize_buf->buf.mtt); 413 410 if (!ibcq->uobject) 414 411 mlx4_ib_free_cq_buf(dev, &cq->resize_buf->buf, 415 412 cq->resize_buf->cqe);
+3 -2
drivers/input/ff-memless.c
··· 397 397 { 398 398 struct ml_device *ml = dev->ff->private; 399 399 struct ml_effect_state *state = &ml->states[effect_id]; 400 + unsigned long flags; 400 401 401 - spin_lock_bh(&ml->timer_lock); 402 + spin_lock_irqsave(&ml->timer_lock, flags); 402 403 403 404 if (value > 0) { 404 405 debug("initiated play"); ··· 425 424 ml_play_effects(ml); 426 425 } 427 426 428 - spin_unlock_bh(&ml->timer_lock); 427 + spin_unlock_irqrestore(&ml->timer_lock, flags); 429 428 430 429 return 0; 431 430 }
+26 -1
drivers/input/keyboard/atkbd.c
··· 824 824 atkbd_disable(atkbd); 825 825 826 826 /* make sure we don't have a command in flight */ 827 - flush_scheduled_work(); 827 + cancel_delayed_work_sync(&atkbd->event_work); 828 828 829 829 sysfs_remove_group(&serio->dev.kobj, &atkbd_attribute_group); 830 830 input_unregister_device(atkbd->dev); ··· 865 865 for (i = 0; i < ARRAY_SIZE(forced_release_keys); i++) 866 866 __set_bit(forced_release_keys[i], 867 867 atkbd->force_release_mask); 868 + } 869 + 870 + /* 871 + * Inventec system with broken key release on volume keys 872 + */ 873 + static void atkbd_inventec_keymap_fixup(struct atkbd *atkbd) 874 + { 875 + const unsigned int forced_release_keys[] = { 876 + 0xae, 0xb0, 877 + }; 878 + int i; 879 + 880 + if (atkbd->set == 2) 881 + for (i = 0; i < ARRAY_SIZE(forced_release_keys); i++) 882 + __set_bit(forced_release_keys[i], 883 + atkbd->force_release_mask); 868 884 } 869 885 870 886 /* ··· 1483 1467 }, 1484 1468 .callback = atkbd_setup_fixup, 1485 1469 .driver_data = atkbd_hp_keymap_fixup, 1470 + }, 1471 + { 1472 + .ident = "Inventec Symphony", 1473 + .matches = { 1474 + DMI_MATCH(DMI_SYS_VENDOR, "INVENTEC"), 1475 + DMI_MATCH(DMI_PRODUCT_NAME, "SYMPHONY 6.0/7.0"), 1476 + }, 1477 + .callback = atkbd_setup_fixup, 1478 + .driver_data = atkbd_inventec_keymap_fixup, 1486 1479 }, 1487 1480 { } 1488 1481 };
+36 -1
drivers/input/misc/cm109.c
··· 42 42 43 43 static char *phone = "kip1000"; 44 44 module_param(phone, charp, S_IRUSR); 45 - MODULE_PARM_DESC(phone, "Phone name {kip1000, gtalk, usbph01}"); 45 + MODULE_PARM_DESC(phone, "Phone name {kip1000, gtalk, usbph01, atcom}"); 46 46 47 47 enum { 48 48 /* HID Registers */ ··· 254 254 case 0x28: return KEY_ESC; /* hangup */ 255 255 case 0x48: return KEY_LEFT; /* IN */ 256 256 case 0x88: return KEY_RIGHT; /* OUT */ 257 + default: return special_keymap(scancode); 258 + } 259 + } 260 + 261 + /* 262 + * Keymap for ATCom AU-100 263 + * http://www.atcom.cn/En_products_AU100.html 264 + * http://www.packetizer.com/products/au100/ 265 + * http://www.voip-info.org/wiki/view/AU-100 266 + * 267 + * Contributed by daniel@gimpelevich.san-francisco.ca.us 268 + */ 269 + static unsigned short keymap_atcom(int scancode) 270 + { 271 + switch (scancode) { /* phone key: */ 272 + case 0x82: return KEY_NUMERIC_0; /* 0 */ 273 + case 0x11: return KEY_NUMERIC_1; /* 1 */ 274 + case 0x12: return KEY_NUMERIC_2; /* 2 */ 275 + case 0x14: return KEY_NUMERIC_3; /* 3 */ 276 + case 0x21: return KEY_NUMERIC_4; /* 4 */ 277 + case 0x22: return KEY_NUMERIC_5; /* 5 */ 278 + case 0x24: return KEY_NUMERIC_6; /* 6 */ 279 + case 0x41: return KEY_NUMERIC_7; /* 7 */ 280 + case 0x42: return KEY_NUMERIC_8; /* 8 */ 281 + case 0x44: return KEY_NUMERIC_9; /* 9 */ 282 + case 0x84: return KEY_NUMERIC_POUND; /* # */ 283 + case 0x81: return KEY_NUMERIC_STAR; /* * */ 284 + case 0x18: return KEY_ENTER; /* pickup */ 285 + case 0x28: return KEY_ESC; /* hangup */ 286 + case 0x48: return KEY_LEFT; /* left arrow */ 287 + case 0x88: return KEY_RIGHT; /* right arrow */ 257 288 default: return special_keymap(scancode); 258 289 } 259 290 } ··· 871 840 keymap = keymap_usbph01; 872 841 printk(KERN_INFO KBUILD_MODNAME ": " 873 842 "Keymap for Allied-Telesis Corega USBPH01 phone loaded\n"); 843 + } else if (!strcasecmp(phone, "atcom")) { 844 + keymap = keymap_atcom; 845 + printk(KERN_INFO KBUILD_MODNAME ": " 846 + "Keymap for ATCom AU-100 phone loaded\n"); 874 847 } else { 875 848 printk(KERN_ERR KBUILD_MODNAME ": " 876 849 "Unsupported phone: %s\n", phone);
+1 -1
drivers/input/mouse/hgpk.c
··· 125 125 */ 126 126 static int hgpk_validate_byte(unsigned char *packet) 127 127 { 128 - return (packet[0] & 0x0C) == 0x08; 128 + return (packet[0] & 0x0C) != 0x08; 129 129 } 130 130 131 131 static void hgpk_process_packet(struct psmouse *psmouse)
+14
drivers/input/serio/i8042-x86ia64io.h
··· 337 337 DMI_MATCH(DMI_PRODUCT_NAME, "2656"), 338 338 }, 339 339 }, 340 + { 341 + .ident = "Dell XPS M1530", 342 + .matches = { 343 + DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."), 344 + DMI_MATCH(DMI_PRODUCT_NAME, "XPS M1530"), 345 + }, 346 + }, 347 + { 348 + .ident = "Compal HEL80I", 349 + .matches = { 350 + DMI_MATCH(DMI_SYS_VENDOR, "COMPAL"), 351 + DMI_MATCH(DMI_PRODUCT_NAME, "HEL80I"), 352 + }, 353 + }, 340 354 { } 341 355 }; 342 356
+7 -6
drivers/input/tablet/wacom.h
··· 66 66 * - Support Intuos3 4x6 67 67 * v1.47 (pc) - Added support for Bamboo 68 68 * v1.48 (pc) - Added support for Bamboo1, BambooFun, and Cintiq 12WX 69 + * v1.49 (pc) - Added support for USB Tablet PC (0x90, 0x93, and 0x9A) 69 70 */ 70 71 71 72 /* ··· 87 86 /* 88 87 * Version Information 89 88 */ 90 - #define DRIVER_VERSION "v1.48" 89 + #define DRIVER_VERSION "v1.49" 91 90 #define DRIVER_AUTHOR "Vojtech Pavlik <vojtech@ucw.cz>" 92 91 #define DRIVER_DESC "USB Wacom Graphire and Wacom Intuos tablet driver" 93 92 #define DRIVER_LICENSE "GPL" ··· 104 103 struct usb_device *usbdev; 105 104 struct usb_interface *intf; 106 105 struct urb *irq; 107 - struct wacom_wac * wacom_wac; 106 + struct wacom_wac *wacom_wac; 108 107 struct mutex lock; 109 108 unsigned int open:1; 110 109 char phys[32]; 111 110 }; 112 111 113 112 struct wacom_combo { 114 - struct wacom * wacom; 115 - struct urb * urb; 113 + struct wacom *wacom; 114 + struct urb *urb; 116 115 }; 117 116 118 117 extern int wacom_wac_irq(struct wacom_wac * wacom_wac, void * wcombo); ··· 133 132 extern void input_dev_bee(struct input_dev *input_dev, struct wacom_wac *wacom_wac); 134 133 extern __u16 wacom_le16_to_cpu(unsigned char *data); 135 134 extern __u16 wacom_be16_to_cpu(unsigned char *data); 136 - extern struct wacom_features * get_wacom_feature(const struct usb_device_id *id); 137 - extern const struct usb_device_id * get_device_table(void); 135 + extern struct wacom_features *get_wacom_feature(const struct usb_device_id *id); 136 + extern const struct usb_device_id *get_device_table(void); 138 137 139 138 #endif
+199 -29
drivers/input/tablet/wacom_sys.c
··· 14 14 #include "wacom.h" 15 15 #include "wacom_wac.h" 16 16 17 + /* defines to get HID report descriptor */ 18 + #define HID_DEVICET_HID (USB_TYPE_CLASS | 0x01) 19 + #define HID_DEVICET_REPORT (USB_TYPE_CLASS | 0x02) 20 + #define HID_USAGE_UNDEFINED 0x00 21 + #define HID_USAGE_PAGE 0x05 22 + #define HID_USAGE_PAGE_DIGITIZER 0x0d 23 + #define HID_USAGE_PAGE_DESKTOP 0x01 24 + #define HID_USAGE 0x09 25 + #define HID_USAGE_X 0x30 26 + #define HID_USAGE_Y 0x31 27 + #define HID_USAGE_X_TILT 0x3d 28 + #define HID_USAGE_Y_TILT 0x3e 29 + #define HID_USAGE_FINGER 0x22 30 + #define HID_USAGE_STYLUS 0x20 31 + #define HID_COLLECTION 0xc0 32 + 33 + enum { 34 + WCM_UNDEFINED = 0, 35 + WCM_DESKTOP, 36 + WCM_DIGITIZER, 37 + }; 38 + 39 + struct hid_descriptor { 40 + struct usb_descriptor_header header; 41 + __le16 bcdHID; 42 + u8 bCountryCode; 43 + u8 bNumDescriptors; 44 + u8 bDescriptorType; 45 + __le16 wDescriptorLength; 46 + } __attribute__ ((packed)); 47 + 48 + /* defines to get/set USB message */ 17 49 #define USB_REQ_GET_REPORT 0x01 18 50 #define USB_REQ_SET_REPORT 0x09 51 + #define WAC_HID_FEATURE_REPORT 0x03 19 52 20 53 static int usb_get_report(struct usb_interface *intf, unsigned char type, 21 54 unsigned char id, void *buf, int size) ··· 113 80 void wacom_report_key(void *wcombo, unsigned int key_type, int key_data) 114 81 { 115 82 input_report_key(get_input_dev((struct wacom_combo *)wcombo), key_type, key_data); 116 - return; 117 83 } 118 84 119 85 void wacom_report_abs(void *wcombo, unsigned int abs_type, int abs_data) 120 86 { 121 87 input_report_abs(get_input_dev((struct wacom_combo *)wcombo), abs_type, abs_data); 122 - return; 123 88 } 124 89 125 90 void wacom_report_rel(void *wcombo, unsigned int rel_type, int rel_data) 126 91 { 127 92 input_report_rel(get_input_dev((struct wacom_combo *)wcombo), rel_type, rel_data); 128 - return; 129 93 } 130 94 131 95 void wacom_input_event(void *wcombo, unsigned int type, unsigned int code, int value) 132 96 { 133 97 input_event(get_input_dev((struct wacom_combo *)wcombo), type, code, value); 134 - return; 135 98 } 136 99 137 100 __u16 wacom_be16_to_cpu(unsigned char *data) ··· 147 118 void wacom_input_sync(void *wcombo) 148 119 { 149 120 input_sync(get_input_dev((struct wacom_combo *)wcombo)); 150 - return; 151 121 } 152 122 153 123 static int wacom_open(struct input_dev *dev) ··· 188 160 189 161 void input_dev_mo(struct input_dev *input_dev, struct wacom_wac *wacom_wac) 190 162 { 191 - input_dev->keybit[BIT_WORD(BTN_LEFT)] |= BIT_MASK(BTN_1) | 163 + input_dev->keybit[BIT_WORD(BTN_MISC)] |= BIT_MASK(BTN_1) | 192 164 BIT_MASK(BTN_5); 193 165 input_set_abs_params(input_dev, ABS_WHEEL, 0, 71, 0, 0); 194 166 } ··· 198 170 input_dev->evbit[0] |= BIT_MASK(EV_MSC); 199 171 input_dev->mscbit[0] |= BIT_MASK(MSC_SERIAL); 200 172 input_dev->keybit[BIT_WORD(BTN_DIGI)] |= BIT_MASK(BTN_TOOL_FINGER); 201 - input_dev->keybit[BIT_WORD(BTN_LEFT)] |= BIT_MASK(BTN_0) | 173 + input_dev->keybit[BIT_WORD(BTN_MISC)] |= BIT_MASK(BTN_0) | 202 174 BIT_MASK(BTN_4); 203 175 } 204 176 ··· 206 178 { 207 179 input_dev->evbit[0] |= BIT_MASK(EV_REL); 208 180 input_dev->relbit[0] |= BIT_MASK(REL_WHEEL); 209 - input_dev->keybit[BIT_WORD(BTN_LEFT)] |= BIT_MASK(BTN_LEFT) | 181 + input_dev->keybit[BIT_WORD(BTN_MOUSE)] |= BIT_MASK(BTN_LEFT) | 210 182 BIT_MASK(BTN_RIGHT) | BIT_MASK(BTN_MIDDLE); 211 183 input_dev->keybit[BIT_WORD(BTN_DIGI)] |= BIT_MASK(BTN_TOOL_RUBBER) | 212 184 BIT_MASK(BTN_TOOL_MOUSE) | BIT_MASK(BTN_STYLUS2); ··· 216 188 void input_dev_i3s(struct input_dev *input_dev, struct wacom_wac *wacom_wac) 217 189 { 218 190 input_dev->keybit[BIT_WORD(BTN_DIGI)] |= BIT_MASK(BTN_TOOL_FINGER); 219 - input_dev->keybit[BIT_WORD(BTN_LEFT)] |= BIT_MASK(BTN_0) | 191 + input_dev->keybit[BIT_WORD(BTN_MISC)] |= BIT_MASK(BTN_0) | 220 192 BIT_MASK(BTN_1) | BIT_MASK(BTN_2) | BIT_MASK(BTN_3); 221 193 input_set_abs_params(input_dev, ABS_RX, 0, 4096, 0, 0); 222 194 input_set_abs_params(input_dev, ABS_Z, -900, 899, 0, 0); ··· 224 196 225 197 void input_dev_i3(struct input_dev *input_dev, struct wacom_wac *wacom_wac) 226 198 { 227 - input_dev->keybit[BIT_WORD(BTN_LEFT)] |= BIT_MASK(BTN_4) | 199 + input_dev->keybit[BIT_WORD(BTN_MISC)] |= BIT_MASK(BTN_4) | 228 200 BIT_MASK(BTN_5) | BIT_MASK(BTN_6) | BIT_MASK(BTN_7); 229 201 input_set_abs_params(input_dev, ABS_RY, 0, 4096, 0, 0); 230 202 } 231 203 232 204 void input_dev_bee(struct input_dev *input_dev, struct wacom_wac *wacom_wac) 233 205 { 234 - input_dev->keybit[BIT_WORD(BTN_LEFT)] |= BIT_MASK(BTN_8) | BIT_MASK(BTN_9); 206 + input_dev->keybit[BIT_WORD(BTN_MISC)] |= BIT_MASK(BTN_8) | BIT_MASK(BTN_9); 235 207 } 236 208 237 209 void input_dev_i(struct input_dev *input_dev, struct wacom_wac *wacom_wac) ··· 239 211 input_dev->evbit[0] |= BIT_MASK(EV_MSC) | BIT_MASK(EV_REL); 240 212 input_dev->mscbit[0] |= BIT_MASK(MSC_SERIAL); 241 213 input_dev->relbit[0] |= BIT_MASK(REL_WHEEL); 242 - input_dev->keybit[BIT_WORD(BTN_LEFT)] |= BIT_MASK(BTN_LEFT) | 214 + input_dev->keybit[BIT_WORD(BTN_MOUSE)] |= BIT_MASK(BTN_LEFT) | 243 215 BIT_MASK(BTN_RIGHT) | BIT_MASK(BTN_MIDDLE) | 244 216 BIT_MASK(BTN_SIDE) | BIT_MASK(BTN_EXTRA); 245 217 input_dev->keybit[BIT_WORD(BTN_DIGI)] |= BIT_MASK(BTN_TOOL_RUBBER) | ··· 256 228 257 229 void input_dev_pl(struct input_dev *input_dev, struct wacom_wac *wacom_wac) 258 230 { 259 - input_dev->keybit[BIT_WORD(BTN_DIGI)] |= BIT_MASK(BTN_STYLUS2) | 260 - BIT_MASK(BTN_TOOL_RUBBER); 231 + input_dev->keybit[BIT_WORD(BTN_DIGI)] |= BIT_MASK(BTN_STYLUS2); 261 232 } 262 233 263 234 void input_dev_pt(struct input_dev *input_dev, struct wacom_wac *wacom_wac) ··· 264 237 input_dev->keybit[BIT_WORD(BTN_DIGI)] |= BIT_MASK(BTN_TOOL_RUBBER); 265 238 } 266 239 240 + static int wacom_parse_hid(struct usb_interface *intf, struct hid_descriptor *hid_desc, 241 + struct wacom_wac *wacom_wac) 242 + { 243 + struct usb_device *dev = interface_to_usbdev(intf); 244 + struct wacom_features *features = wacom_wac->features; 245 + char limit = 0, result = 0; 246 + int i = 0, usage = WCM_UNDEFINED, finger = 0, pen = 0; 247 + unsigned char *report; 248 + 249 + report = kzalloc(hid_desc->wDescriptorLength, GFP_KERNEL); 250 + if (!report) 251 + return -ENOMEM; 252 + 253 + /* retrive report descriptors */ 254 + do { 255 + result = usb_control_msg(dev, usb_rcvctrlpipe(dev, 0), 256 + USB_REQ_GET_DESCRIPTOR, 257 + USB_RECIP_INTERFACE | USB_DIR_IN, 258 + HID_DEVICET_REPORT << 8, 259 + intf->altsetting[0].desc.bInterfaceNumber, /* interface */ 260 + report, 261 + hid_desc->wDescriptorLength, 262 + 5000); /* 5 secs */ 263 + } while (result < 0 && limit++ < 5); 264 + 265 + if (result < 0) 266 + goto out; 267 + 268 + for (i = 0; i < hid_desc->wDescriptorLength; i++) { 269 + 270 + switch (report[i]) { 271 + case HID_USAGE_PAGE: 272 + switch (report[i + 1]) { 273 + case HID_USAGE_PAGE_DIGITIZER: 274 + usage = WCM_DIGITIZER; 275 + i++; 276 + break; 277 + 278 + case HID_USAGE_PAGE_DESKTOP: 279 + usage = WCM_DESKTOP; 280 + i++; 281 + break; 282 + } 283 + break; 284 + 285 + case HID_USAGE: 286 + switch (report[i + 1]) { 287 + case HID_USAGE_X: 288 + if (usage == WCM_DESKTOP) { 289 + if (finger) { 290 + features->touch_x_max = 291 + features->touch_y_max = 292 + wacom_le16_to_cpu(&report[i + 3]); 293 + features->x_max = 294 + wacom_le16_to_cpu(&report[i + 6]); 295 + i += 7; 296 + } else if (pen) { 297 + features->x_max = 298 + wacom_le16_to_cpu(&report[i + 3]); 299 + i += 4; 300 + } 301 + } else if (usage == WCM_DIGITIZER) { 302 + /* max pressure isn't reported 303 + features->pressure_max = (unsigned short) 304 + (report[i+4] << 8 | report[i + 3]); 305 + */ 306 + features->pressure_max = 255; 307 + i += 4; 308 + } 309 + break; 310 + 311 + case HID_USAGE_Y: 312 + if (usage == WCM_DESKTOP) 313 + features->y_max = 314 + wacom_le16_to_cpu(&report[i + 3]); 315 + i += 4; 316 + break; 317 + 318 + case HID_USAGE_FINGER: 319 + finger = 1; 320 + i++; 321 + break; 322 + 323 + case HID_USAGE_STYLUS: 324 + pen = 1; 325 + i++; 326 + break; 327 + 328 + case HID_USAGE_UNDEFINED: 329 + if (usage == WCM_DESKTOP && finger) /* capacity */ 330 + features->pressure_max = 331 + wacom_le16_to_cpu(&report[i + 3]); 332 + i += 4; 333 + break; 334 + } 335 + break; 336 + 337 + case HID_COLLECTION: 338 + /* reset UsagePage ans Finger */ 339 + finger = usage = 0; 340 + break; 341 + } 342 + } 343 + 344 + result = 0; 345 + 346 + out: 347 + kfree(report); 348 + return result; 349 + } 350 + 267 351 static int wacom_probe(struct usb_interface *intf, const struct usb_device_id *id) 268 352 { 269 353 struct usb_device *dev = interface_to_usbdev(intf); 354 + struct usb_host_interface *interface = intf->cur_altsetting; 270 355 struct usb_endpoint_descriptor *endpoint; 271 356 struct wacom *wacom; 272 357 struct wacom_wac *wacom_wac; 358 + struct wacom_features *features; 273 359 struct input_dev *input_dev; 274 360 int error = -ENOMEM; 275 361 char rep_data[2], limit = 0; 362 + struct hid_descriptor *hid_desc; 276 363 277 364 wacom = kzalloc(sizeof(struct wacom), GFP_KERNEL); 278 365 wacom_wac = kzalloc(sizeof(struct wacom_wac), GFP_KERNEL); ··· 409 268 usb_make_path(dev, wacom->phys, sizeof(wacom->phys)); 410 269 strlcat(wacom->phys, "/input0", sizeof(wacom->phys)); 411 270 412 - wacom_wac->features = get_wacom_feature(id); 413 - BUG_ON(wacom_wac->features->pktlen > 10); 271 + wacom_wac->features = features = get_wacom_feature(id); 272 + BUG_ON(features->pktlen > 10); 414 273 415 274 input_dev->name = wacom_wac->features->name; 416 275 wacom->wacom_wac = wacom_wac; ··· 423 282 input_dev->open = wacom_open; 424 283 input_dev->close = wacom_close; 425 284 285 + endpoint = &intf->cur_altsetting->endpoint[0].desc; 286 + 287 + /* TabletPC need to retrieve the physical and logical maximum from report descriptor */ 288 + if (wacom_wac->features->type == TABLETPC) { 289 + if (usb_get_extra_descriptor(interface, HID_DEVICET_HID, &hid_desc)) { 290 + if (usb_get_extra_descriptor(&interface->endpoint[0], 291 + HID_DEVICET_REPORT, &hid_desc)) { 292 + printk("wacom: can not retrive extra class descriptor\n"); 293 + goto fail2; 294 + } 295 + } 296 + error = wacom_parse_hid(intf, hid_desc, wacom_wac); 297 + if (error) 298 + goto fail2; 299 + } 300 + 426 301 input_dev->evbit[0] |= BIT_MASK(EV_KEY) | BIT_MASK(EV_ABS); 427 302 input_dev->keybit[BIT_WORD(BTN_DIGI)] |= BIT_MASK(BTN_TOOL_PEN) | 428 303 BIT_MASK(BTN_TOUCH) | BIT_MASK(BTN_STYLUS); 429 - input_set_abs_params(input_dev, ABS_X, 0, wacom_wac->features->x_max, 4, 0); 430 - input_set_abs_params(input_dev, ABS_Y, 0, wacom_wac->features->y_max, 4, 0); 431 - input_set_abs_params(input_dev, ABS_PRESSURE, 0, wacom_wac->features->pressure_max, 0, 0); 304 + input_set_abs_params(input_dev, ABS_X, 0, features->x_max, 4, 0); 305 + input_set_abs_params(input_dev, ABS_Y, 0, features->y_max, 4, 0); 306 + input_set_abs_params(input_dev, ABS_PRESSURE, 0, features->pressure_max, 0, 0); 307 + if (features->type == TABLETPC) { 308 + input_dev->keybit[BIT_WORD(BTN_DIGI)] |= BIT_MASK(BTN_TOOL_DOUBLETAP); 309 + input_set_abs_params(input_dev, ABS_RX, 0, features->touch_x_max, 4, 0); 310 + input_set_abs_params(input_dev, ABS_RY, 0, features->touch_y_max, 4, 0); 311 + } 432 312 input_dev->absbit[BIT_WORD(ABS_MISC)] |= BIT_MASK(ABS_MISC); 433 313 434 314 wacom_init_input_dev(input_dev, wacom_wac); 435 - 436 - endpoint = &intf->cur_altsetting->endpoint[0].desc; 437 315 438 316 usb_fill_int_urb(wacom->irq, dev, 439 317 usb_rcvintpipe(dev, endpoint->bEndpointAddress), ··· 465 305 if (error) 466 306 goto fail3; 467 307 468 - /* Ask the tablet to report tablet data. Repeat until it succeeds */ 469 - do { 470 - rep_data[0] = 2; 471 - rep_data[1] = 2; 472 - usb_set_report(intf, 3, 2, rep_data, 2); 473 - usb_get_report(intf, 3, 2, rep_data, 2); 474 - } while (rep_data[1] != 2 && limit++ < 5); 308 + /* 309 + * Ask the tablet to report tablet data if it is not a Tablet PC. 310 + * Repeat until it succeeds 311 + */ 312 + if (wacom_wac->features->type != TABLETPC) { 313 + do { 314 + rep_data[0] = 2; 315 + rep_data[1] = 2; 316 + error = usb_set_report(intf, WAC_HID_FEATURE_REPORT, 317 + 2, rep_data, 2); 318 + if (error >= 0) 319 + error = usb_get_report(intf, 320 + WAC_HID_FEATURE_REPORT, 2, 321 + rep_data, 2); 322 + } while ((error < 0 || rep_data[1] != 2) && limit++ < 5); 323 + } 475 324 476 325 usb_set_intfdata(intf, wacom); 477 326 return 0; ··· 502 333 usb_kill_urb(wacom->irq); 503 334 input_unregister_device(wacom->dev); 504 335 usb_free_urb(wacom->irq); 505 - usb_buffer_free(interface_to_usbdev(intf), 10, wacom->wacom_wac->data, wacom->data_dma); 336 + usb_buffer_free(interface_to_usbdev(intf), 10, 337 + wacom->wacom_wac->data, wacom->data_dma); 506 338 kfree(wacom->wacom_wac); 507 339 kfree(wacom); 508 340 }
+146 -14
drivers/input/tablet/wacom_wac.c
··· 535 535 return 1; 536 536 } 537 537 538 + int wacom_tpc_irq(struct wacom_wac *wacom, void *wcombo) 539 + { 540 + char *data = wacom->data; 541 + int prox = 0, pressure; 542 + static int stylusInProx, touchInProx = 1, touchOut; 543 + struct urb *urb = ((struct wacom_combo *)wcombo)->urb; 544 + 545 + dbg("wacom_tpc_irq: received report #%d", data[0]); 546 + 547 + if (urb->actual_length == 5 || data[0] == 6) { /* Touch data */ 548 + if (urb->actual_length == 5) { /* with touch */ 549 + prox = data[0] & 0x03; 550 + } else { /* with capacity */ 551 + prox = data[1] & 0x03; 552 + } 553 + 554 + if (!stylusInProx) { /* stylus not in prox */ 555 + if (prox) { 556 + if (touchInProx) { 557 + wacom->tool[1] = BTN_TOOL_DOUBLETAP; 558 + wacom->id[0] = TOUCH_DEVICE_ID; 559 + if (urb->actual_length != 5) { 560 + wacom_report_abs(wcombo, ABS_X, wacom_le16_to_cpu(&data[2])); 561 + wacom_report_abs(wcombo, ABS_Y, wacom_le16_to_cpu(&data[4])); 562 + wacom_report_abs(wcombo, ABS_PRESSURE, wacom_le16_to_cpu(&data[6])); 563 + wacom_report_key(wcombo, BTN_TOUCH, wacom_le16_to_cpu(&data[6])); 564 + } else { 565 + wacom_report_abs(wcombo, ABS_X, wacom_le16_to_cpu(&data[1])); 566 + wacom_report_abs(wcombo, ABS_Y, wacom_le16_to_cpu(&data[3])); 567 + wacom_report_key(wcombo, BTN_TOUCH, 1); 568 + } 569 + wacom_report_abs(wcombo, ABS_MISC, wacom->id[0]); 570 + wacom_report_key(wcombo, wacom->tool[1], prox & 0x01); 571 + touchOut = 1; 572 + return 1; 573 + } 574 + } else { 575 + wacom_report_abs(wcombo, ABS_MISC, wacom->id[0]); 576 + wacom_report_key(wcombo, wacom->tool[1], prox & 0x01); 577 + wacom_report_key(wcombo, BTN_TOUCH, 0); 578 + touchOut = 0; 579 + touchInProx = 1; 580 + return 1; 581 + } 582 + } else if (touchOut || !prox) { /* force touch out-prox */ 583 + wacom_report_abs(wcombo, ABS_MISC, TOUCH_DEVICE_ID); 584 + wacom_report_key(wcombo, BTN_TOUCH, 0); 585 + touchOut = 0; 586 + touchInProx = 1; 587 + return 1; 588 + } 589 + } else if (data[0] == 2) { /* Penabled */ 590 + prox = data[1] & 0x20; 591 + 592 + touchInProx = 0; 593 + 594 + wacom->id[0] = ERASER_DEVICE_ID; 595 + 596 + /* 597 + * if going from out of proximity into proximity select between the eraser 598 + * and the pen based on the state of the stylus2 button, choose eraser if 599 + * pressed else choose pen. if not a proximity change from out to in, send 600 + * an out of proximity for previous tool then a in for new tool. 601 + */ 602 + if (prox) { /* in prox */ 603 + if (!wacom->tool[0]) { 604 + /* Going into proximity select tool */ 605 + wacom->tool[1] = (data[1] & 0x08) ? BTN_TOOL_RUBBER : BTN_TOOL_PEN; 606 + if (wacom->tool[1] == BTN_TOOL_PEN) 607 + wacom->id[0] = STYLUS_DEVICE_ID; 608 + } else if (wacom->tool[1] == BTN_TOOL_RUBBER && !(data[1] & 0x08)) { 609 + /* 610 + * was entered with stylus2 pressed 611 + * report out proximity for previous tool 612 + */ 613 + wacom_report_abs(wcombo, ABS_MISC, wacom->id[0]); 614 + wacom_report_key(wcombo, wacom->tool[1], 0); 615 + wacom_input_sync(wcombo); 616 + 617 + /* set new tool */ 618 + wacom->tool[1] = BTN_TOOL_PEN; 619 + wacom->id[0] = STYLUS_DEVICE_ID; 620 + return 0; 621 + } 622 + if (wacom->tool[1] != BTN_TOOL_RUBBER) { 623 + /* Unknown tool selected default to pen tool */ 624 + wacom->tool[1] = BTN_TOOL_PEN; 625 + wacom->id[0] = STYLUS_DEVICE_ID; 626 + } 627 + wacom_report_key(wcombo, BTN_STYLUS, data[1] & 0x02); 628 + wacom_report_key(wcombo, BTN_STYLUS2, data[1] & 0x10); 629 + wacom_report_abs(wcombo, ABS_X, wacom_le16_to_cpu(&data[2])); 630 + wacom_report_abs(wcombo, ABS_Y, wacom_le16_to_cpu(&data[4])); 631 + pressure = ((data[7] & 0x01) << 8) | data[6]; 632 + if (pressure < 0) 633 + pressure = wacom->features->pressure_max + pressure + 1; 634 + wacom_report_abs(wcombo, ABS_PRESSURE, pressure); 635 + wacom_report_key(wcombo, BTN_TOUCH, pressure); 636 + } else { 637 + wacom_report_abs(wcombo, ABS_PRESSURE, 0); 638 + wacom_report_key(wcombo, BTN_STYLUS, 0); 639 + wacom_report_key(wcombo, BTN_STYLUS2, 0); 640 + wacom_report_key(wcombo, BTN_TOUCH, 0); 641 + } 642 + wacom_report_key(wcombo, wacom->tool[1], prox); 643 + wacom_report_abs(wcombo, ABS_MISC, wacom->id[0]); 644 + stylusInProx = prox; 645 + wacom->tool[0] = prox; 646 + return 1; 647 + } 648 + return 0; 649 + } 650 + 538 651 int wacom_wac_irq(struct wacom_wac *wacom_wac, void *wcombo) 539 652 { 540 653 switch (wacom_wac->features->type) { 541 654 case PENPARTNER: 542 - return (wacom_penpartner_irq(wacom_wac, wcombo)); 543 - break; 655 + return wacom_penpartner_irq(wacom_wac, wcombo); 656 + 544 657 case PL: 545 - return (wacom_pl_irq(wacom_wac, wcombo)); 546 - break; 658 + return wacom_pl_irq(wacom_wac, wcombo); 659 + 547 660 case WACOM_G4: 548 661 case GRAPHIRE: 549 662 case WACOM_MO: 550 - return (wacom_graphire_irq(wacom_wac, wcombo)); 551 - break; 663 + return wacom_graphire_irq(wacom_wac, wcombo); 664 + 552 665 case PTU: 553 - return (wacom_ptu_irq(wacom_wac, wcombo)); 554 - break; 666 + return wacom_ptu_irq(wacom_wac, wcombo); 667 + 555 668 case INTUOS: 556 669 case INTUOS3S: 557 670 case INTUOS3: 558 671 case INTUOS3L: 559 672 case CINTIQ: 560 673 case WACOM_BEE: 561 - return (wacom_intuos_irq(wacom_wac, wcombo)); 562 - break; 674 + return wacom_intuos_irq(wacom_wac, wcombo); 675 + 676 + case TABLETPC: 677 + return wacom_tpc_irq(wacom_wac, wcombo); 678 + 563 679 default: 564 680 return 0; 565 681 } ··· 702 586 /* fall through */ 703 587 case INTUOS3S: 704 588 input_dev_i3s(input_dev, wacom_wac); 589 + /* fall through */ 705 590 case INTUOS: 706 591 input_dev_i(input_dev, wacom_wac); 707 592 break; 708 593 case PL: 709 594 case PTU: 595 + case TABLETPC: 710 596 input_dev_pl(input_dev, wacom_wac); 711 - break; 597 + /* fall through */ 712 598 case PENPARTNER: 713 599 input_dev_pt(input_dev, wacom_wac); 714 600 break; ··· 729 611 { "Wacom Graphire4 6x8", 8, 16704, 12064, 511, 63, WACOM_G4 }, 730 612 { "Wacom BambooFun 4x5", 9, 14760, 9225, 511, 63, WACOM_MO }, 731 613 { "Wacom BambooFun 6x8", 9, 21648, 13530, 511, 63, WACOM_MO }, 614 + { "Wacom Bamboo1 Medium",8, 16704, 12064, 511, 63, GRAPHIRE }, 732 615 { "Wacom Volito", 8, 5104, 3712, 511, 63, GRAPHIRE }, 733 616 { "Wacom PenStation2", 8, 3250, 2320, 255, 63, GRAPHIRE }, 734 617 { "Wacom Volito2 4x5", 8, 5104, 3712, 511, 63, GRAPHIRE }, ··· 769 650 { "Wacom Cintiq 21UX", 10, 87200, 65600, 1023, 63, CINTIQ }, 770 651 { "Wacom Cintiq 20WSX", 10, 86680, 54180, 1023, 63, WACOM_BEE }, 771 652 { "Wacom Cintiq 12WX", 10, 53020, 33440, 1023, 63, WACOM_BEE }, 653 + { "Wacom DTU1931", 8, 37832, 30305, 511, 0, PL }, 654 + { "Wacom ISDv4 90", 8, 26202, 16325, 255, 0, TABLETPC }, 655 + { "Wacom ISDv4 93", 8, 26202, 16325, 255, 0, TABLETPC }, 656 + { "Wacom ISDv4 9A", 8, 26202, 16325, 255, 0, TABLETPC }, 772 657 { "Wacom Intuos2 6x8", 10, 20320, 16240, 1023, 31, INTUOS }, 773 658 { } 774 659 }; ··· 788 665 { USB_DEVICE(USB_VENDOR_ID_WACOM, 0x16) }, 789 666 { USB_DEVICE(USB_VENDOR_ID_WACOM, 0x17) }, 790 667 { USB_DEVICE(USB_VENDOR_ID_WACOM, 0x18) }, 668 + { USB_DEVICE(USB_VENDOR_ID_WACOM, 0x19) }, 791 669 { USB_DEVICE(USB_VENDOR_ID_WACOM, 0x60) }, 792 670 { USB_DEVICE(USB_VENDOR_ID_WACOM, 0x61) }, 793 671 { USB_DEVICE(USB_VENDOR_ID_WACOM, 0x62) }, ··· 828 704 { USB_DEVICE(USB_VENDOR_ID_WACOM, 0x3F) }, 829 705 { USB_DEVICE(USB_VENDOR_ID_WACOM, 0xC5) }, 830 706 { USB_DEVICE(USB_VENDOR_ID_WACOM, 0xC6) }, 707 + { USB_DEVICE(USB_VENDOR_ID_WACOM, 0xC7) }, 708 + { USB_DEVICE(USB_VENDOR_ID_WACOM, 0x90) }, 709 + { USB_DEVICE(USB_VENDOR_ID_WACOM, 0x93) }, 710 + { USB_DEVICE(USB_VENDOR_ID_WACOM, 0x9A) }, 831 711 { USB_DEVICE(USB_VENDOR_ID_WACOM, 0x47) }, 832 712 { } 833 713 }; 834 714 835 - const struct usb_device_id * get_device_table(void) { 836 - const struct usb_device_id * id_table = wacom_ids; 715 + const struct usb_device_id *get_device_table(void) 716 + { 717 + const struct usb_device_id *id_table = wacom_ids; 718 + 837 719 return id_table; 838 720 } 839 721 840 - struct wacom_features * get_wacom_feature(const struct usb_device_id * id) { 722 + struct wacom_features * get_wacom_feature(const struct usb_device_id *id) 723 + { 841 724 int index = id - wacom_ids; 842 725 struct wacom_features *wf = &wacom_features[index]; 726 + 843 727 return wf; 844 728 } 845 729
+4
drivers/input/tablet/wacom_wac.h
··· 10 10 #define WACOM_WAC_H 11 11 12 12 #define STYLUS_DEVICE_ID 0x02 13 + #define TOUCH_DEVICE_ID 0x03 13 14 #define CURSOR_DEVICE_ID 0x06 14 15 #define ERASER_DEVICE_ID 0x0A 15 16 #define PAD_DEVICE_ID 0x0F ··· 28 27 CINTIQ, 29 28 WACOM_BEE, 30 29 WACOM_MO, 30 + TABLETPC, 31 31 MAX_TYPE 32 32 }; 33 33 ··· 40 38 int pressure_max; 41 39 int distance_max; 42 40 int type; 41 + int touch_x_max; 42 + int touch_y_max; 43 43 }; 44 44 45 45 struct wacom_wac {
+1 -1
drivers/input/touchscreen/elo.c
··· 262 262 input_set_abs_params(dev, ABS_PRESSURE, 0, 255, 0, 0); 263 263 264 264 printk(KERN_INFO "elo: %sTouch touchscreen, fw: %02x.%02x, " 265 - "features: %x02x, controller: 0x%02x\n", 265 + "features: 0x%02x, controller: 0x%02x\n", 266 266 elo_types[(packet[1] -'0') & 0x03], 267 267 packet[5], packet[4], packet[3], packet[7]); 268 268
+3 -3
drivers/input/xen-kbdfront.c
··· 323 323 { "" } 324 324 }; 325 325 326 - static struct xenbus_driver xenkbd = { 326 + static struct xenbus_driver xenkbd_driver = { 327 327 .name = "vkbd", 328 328 .owner = THIS_MODULE, 329 329 .ids = xenkbd_ids, ··· 342 342 if (xen_initial_domain()) 343 343 return -ENODEV; 344 344 345 - return xenbus_register_frontend(&xenkbd); 345 + return xenbus_register_frontend(&xenkbd_driver); 346 346 } 347 347 348 348 static void __exit xenkbd_cleanup(void) 349 349 { 350 - xenbus_unregister_driver(&xenkbd); 350 + xenbus_unregister_driver(&xenkbd_driver); 351 351 } 352 352 353 353 module_init(xenkbd_init);
+13 -3
drivers/isdn/hisax/config.c
··· 1213 1213 memcpy(&cards[i], &cards[i + 1], sizeof(cards[i])); 1214 1214 } 1215 1215 1216 - static int HiSax_inithardware(int *busy_flag) 1216 + static int __init HiSax_inithardware(int *busy_flag) 1217 1217 { 1218 1218 int foundcards = 0; 1219 1219 int i = 0; ··· 1542 1542 printk(KERN_INFO "HiSax module removed\n"); 1543 1543 } 1544 1544 1545 - int hisax_init_pcmcia(void *pcm_iob, int *busy_flag, struct IsdnCard *card) 1545 + #ifdef CONFIG_HOTPLUG 1546 + 1547 + int __devinit hisax_init_pcmcia(void *pcm_iob, int *busy_flag, struct IsdnCard *card) 1546 1548 { 1547 1549 u_char ids[16]; 1548 1550 int ret = -1; ··· 1565 1563 } 1566 1564 1567 1565 EXPORT_SYMBOL(hisax_init_pcmcia); 1566 + #endif 1567 + 1568 1568 EXPORT_SYMBOL(HiSax_closecard); 1569 1569 1570 1570 #include "hisax_if.h" ··· 1583 1579 static void hisax_bc_close(struct BCState *bcs); 1584 1580 static void hisax_bh(struct work_struct *work); 1585 1581 static void EChannel_proc_rcv(struct hisax_d_if *d_if); 1582 + 1583 + static int hisax_setup_card_dynamic(struct IsdnCard *card) 1584 + { 1585 + return 2; 1586 + } 1586 1587 1587 1588 int hisax_register(struct hisax_d_if *hisax_d_if, struct hisax_b_if *b_if[], 1588 1589 char *name, int protocol) ··· 1608 1599 cards[i].protocol = protocol; 1609 1600 sprintf(id, "%s%d", name, i); 1610 1601 nrcards++; 1611 - retval = checkcard(i, id, NULL, hisax_d_if->owner, hisax_cs_setup_card); 1602 + retval = checkcard(i, id, NULL, hisax_d_if->owner, 1603 + hisax_setup_card_dynamic); 1612 1604 if (retval == 0) { // yuck 1613 1605 cards[i].typ = 0; 1614 1606 nrcards--;
+5 -5
drivers/macintosh/rack-meter.c
··· 288 288 cancel_rearming_delayed_work(&rm->cpu[1].sniffer); 289 289 } 290 290 291 - static int rackmeter_setup(struct rackmeter *rm) 291 + static int __devinit rackmeter_setup(struct rackmeter *rm) 292 292 { 293 293 pr_debug("rackmeter: setting up i2s..\n"); 294 294 rackmeter_setup_i2s(rm); ··· 582 582 { } 583 583 }; 584 584 585 - static struct macio_driver rackmeter_drv = { 585 + static struct macio_driver rackmeter_driver = { 586 586 .name = "rackmeter", 587 587 .owner = THIS_MODULE, 588 588 .match_table = rackmeter_match, 589 589 .probe = rackmeter_probe, 590 - .remove = rackmeter_remove, 590 + .remove = __devexit_p(rackmeter_remove), 591 591 .shutdown = rackmeter_shutdown, 592 592 }; 593 593 ··· 596 596 { 597 597 pr_debug("rackmeter_init()\n"); 598 598 599 - return macio_register_driver(&rackmeter_drv); 599 + return macio_register_driver(&rackmeter_driver); 600 600 } 601 601 602 602 static void __exit rackmeter_exit(void) 603 603 { 604 604 pr_debug("rackmeter_exit()\n"); 605 605 606 - macio_unregister_driver(&rackmeter_drv); 606 + macio_unregister_driver(&rackmeter_driver); 607 607 } 608 608 609 609 module_init(rackmeter_init);
+1 -1
drivers/media/dvb/dm1105/dm1105.c
··· 376 376 pci_free_consistent(dm1105dvb->pdev, 6*DM1105_DMA_BYTES, dm1105dvb->ts_buf, dm1105dvb->dma_addr); 377 377 } 378 378 379 - static void __devinit dm1105dvb_enable_irqs(struct dm1105dvb *dm1105dvb) 379 + static void dm1105dvb_enable_irqs(struct dm1105dvb *dm1105dvb) 380 380 { 381 381 outb(INTMAK_ALLMASK, dm_io_mem(DM1105_INTMAK)); 382 382 outb(1, dm_io_mem(DM1105_CR));
+4 -1
drivers/media/dvb/dvb-core/dvb_frontend.c
··· 585 585 if (fe->ops.set_voltage) 586 586 fe->ops.set_voltage(fe, SEC_VOLTAGE_OFF); 587 587 if (fe->ops.tuner_ops.sleep) { 588 + if (fe->ops.i2c_gate_ctrl) 589 + fe->ops.i2c_gate_ctrl(fe, 1); 588 590 fe->ops.tuner_ops.sleep(fe); 589 591 if (fe->ops.i2c_gate_ctrl) 590 592 fe->ops.i2c_gate_ctrl(fe, 0); ··· 936 934 int is_legacy_delivery_system(fe_delivery_system_t s) 937 935 { 938 936 if((s == SYS_UNDEFINED) || (s == SYS_DVBC_ANNEX_AC) || 939 - (s == SYS_DVBC_ANNEX_B) || (s == SYS_DVBT) || (s == SYS_DVBS)) 937 + (s == SYS_DVBC_ANNEX_B) || (s == SYS_DVBT) || (s == SYS_DVBS) || 938 + (s == SYS_ATSC)) 940 939 return 1; 941 940 942 941 return 0;
+2 -6
drivers/media/dvb/dvb-usb/af9015.c
··· 681 681 goto error; 682 682 } 683 683 684 - /* firmware is running, reconnect device in the usb bus */ 685 - req.cmd = RECONNECT_USB; 686 - ret = af9015_rw_udev(udev, &req); 687 - if (ret) 688 - err("reconnect failed: %d", ret); 689 - 690 684 error: 691 685 return ret; 692 686 } ··· 1202 1208 .usb_ctrl = DEVICE_SPECIFIC, 1203 1209 .download_firmware = af9015_download_firmware, 1204 1210 .firmware = "dvb-usb-af9015.fw", 1211 + .no_reconnect = 1, 1205 1212 1206 1213 .size_of_priv = sizeof(struct af9015_state), \ 1207 1214 ··· 1301 1306 .usb_ctrl = DEVICE_SPECIFIC, 1302 1307 .download_firmware = af9015_download_firmware, 1303 1308 .firmware = "dvb-usb-af9015.fw", 1309 + .no_reconnect = 1, 1304 1310 1305 1311 .size_of_priv = sizeof(struct af9015_state), \ 1306 1312
+4 -1
drivers/media/dvb/dvb-usb/dib0700.h
··· 22 22 23 23 #define REQUEST_I2C_READ 0x2 24 24 #define REQUEST_I2C_WRITE 0x3 25 - #define REQUEST_POLL_RC 0x4 25 + #define REQUEST_POLL_RC 0x4 /* deprecated in firmware v1.20 */ 26 26 #define REQUEST_JUMPRAM 0x8 27 27 #define REQUEST_SET_CLOCK 0xB 28 28 #define REQUEST_SET_GPIO 0xC ··· 40 40 u16 mt2060_if1[2]; 41 41 u8 rc_toggle; 42 42 u8 rc_counter; 43 + u8 rc_func_version; 43 44 u8 is_dib7000pc; 44 45 u8 fw_use_new_i2c_api; 45 46 u8 disable_streaming_master_mode; 46 47 }; 47 48 49 + extern int dib0700_get_version(struct dvb_usb_device *d, u32 *hwversion, 50 + u32 *romversion, u32 *ramversion, u32 *fwtype); 48 51 extern int dib0700_set_gpio(struct dvb_usb_device *, enum dib07x0_gpios gpio, u8 gpio_dir, u8 gpio_val); 49 52 extern int dib0700_ctrl_clock(struct dvb_usb_device *d, u32 clk_MHz, u8 clock_out_gp3); 50 53 extern int dib0700_ctrl_rd(struct dvb_usb_device *d, u8 *tx, u8 txlen, u8 *rx, u8 rxlen);
+16
drivers/media/dvb/dvb-usb/dib0700_core.c
··· 19 19 20 20 DVB_DEFINE_MOD_OPT_ADAPTER_NR(adapter_nr); 21 21 22 + 23 + int dib0700_get_version(struct dvb_usb_device *d, u32 *hwversion, 24 + u32 *romversion, u32 *ramversion, u32 *fwtype) 25 + { 26 + u8 b[16]; 27 + int ret = usb_control_msg(d->udev, usb_rcvctrlpipe(d->udev, 0), 28 + REQUEST_GET_VERSION, 29 + USB_TYPE_VENDOR | USB_DIR_IN, 0, 0, 30 + b, sizeof(b), USB_CTRL_GET_TIMEOUT); 31 + *hwversion = (b[0] << 24) | (b[1] << 16) | (b[2] << 8) | b[3]; 32 + *romversion = (b[4] << 24) | (b[5] << 16) | (b[6] << 8) | b[7]; 33 + *ramversion = (b[8] << 24) | (b[9] << 16) | (b[10] << 8) | b[11]; 34 + *fwtype = (b[12] << 24) | (b[13] << 16) | (b[14] << 8) | b[15]; 35 + return ret; 36 + } 37 + 22 38 /* expecting rx buffer: request data[0] data[1] ... data[2] */ 23 39 static int dib0700_ctrl_wr(struct dvb_usb_device *d, u8 *tx, u8 txlen) 24 40 {
+138 -1
drivers/media/dvb/dvb-usb/dib0700_devices.c
··· 38 38 } 39 39 }; 40 40 41 + 41 42 static struct dibx000_agc_config bristol_dib3000p_mt2060_agc_config = { 42 43 .band_caps = BAND_VHF | BAND_UHF, 43 44 .setup = (1 << 8) | (5 << 5) | (0 << 4) | (0 << 3) | (0 << 2) | (2 << 0), ··· 452 451 453 452 /* Number of keypresses to ignore before start repeating */ 454 453 #define RC_REPEAT_DELAY 2 454 + #define RC_REPEAT_DELAY_V1_20 5 455 455 456 - static int dib0700_rc_query(struct dvb_usb_device *d, u32 *event, int *state) 456 + 457 + 458 + /* Used by firmware versions < 1.20 (deprecated) */ 459 + static int dib0700_rc_query_legacy(struct dvb_usb_device *d, u32 *event, 460 + int *state) 457 461 { 458 462 u8 key[4]; 459 463 int i; ··· 533 527 err("Unknown remote controller key: %2X %2X %2X %2X", (int) key[3-2], (int) key[3-3], (int) key[3-1], (int) key[3]); 534 528 d->last_event = 0; 535 529 return 0; 530 + } 531 + 532 + /* This is the structure of the RC response packet starting in firmware 1.20 */ 533 + struct dib0700_rc_response { 534 + u8 report_id; 535 + u8 data_state; 536 + u8 system_msb; 537 + u8 system_lsb; 538 + u8 data; 539 + u8 not_data; 540 + }; 541 + 542 + /* This supports the new IR response format for firmware v1.20 */ 543 + static int dib0700_rc_query_v1_20(struct dvb_usb_device *d, u32 *event, 544 + int *state) 545 + { 546 + struct dvb_usb_rc_key *keymap = d->props.rc_key_map; 547 + struct dib0700_state *st = d->priv; 548 + struct dib0700_rc_response poll_reply; 549 + u8 buf[6]; 550 + int i; 551 + int status; 552 + int actlen; 553 + int found = 0; 554 + 555 + /* Set initial results in case we exit the function early */ 556 + *event = 0; 557 + *state = REMOTE_NO_KEY_PRESSED; 558 + 559 + /* Firmware v1.20 provides RC data via bulk endpoint 1 */ 560 + status = usb_bulk_msg(d->udev, usb_rcvbulkpipe(d->udev, 1), buf, 561 + sizeof(buf), &actlen, 50); 562 + if (status < 0) { 563 + /* No data available (meaning no key press) */ 564 + return 0; 565 + } 566 + 567 + if (actlen != sizeof(buf)) { 568 + /* We didn't get back the 6 byte message we expected */ 569 + err("Unexpected RC response size [%d]", actlen); 570 + return -1; 571 + } 572 + 573 + poll_reply.report_id = buf[0]; 574 + poll_reply.data_state = buf[1]; 575 + poll_reply.system_msb = buf[2]; 576 + poll_reply.system_lsb = buf[3]; 577 + poll_reply.data = buf[4]; 578 + poll_reply.not_data = buf[5]; 579 + 580 + /* 581 + info("rid=%02x ds=%02x sm=%02x sl=%02x d=%02x nd=%02x\n", 582 + poll_reply.report_id, poll_reply.data_state, 583 + poll_reply.system_msb, poll_reply.system_lsb, 584 + poll_reply.data, poll_reply.not_data); 585 + */ 586 + 587 + if ((poll_reply.data + poll_reply.not_data) != 0xff) { 588 + /* Key failed integrity check */ 589 + err("key failed integrity check: %02x %02x %02x %02x", 590 + poll_reply.system_msb, poll_reply.system_lsb, 591 + poll_reply.data, poll_reply.not_data); 592 + return -1; 593 + } 594 + 595 + /* Find the key in the map */ 596 + for (i = 0; i < d->props.rc_key_map_size; i++) { 597 + if (keymap[i].custom == poll_reply.system_lsb && 598 + keymap[i].data == poll_reply.data) { 599 + *event = keymap[i].event; 600 + found = 1; 601 + break; 602 + } 603 + } 604 + 605 + if (found == 0) { 606 + err("Unknown remote controller key: %02x %02x %02x %02x", 607 + poll_reply.system_msb, poll_reply.system_lsb, 608 + poll_reply.data, poll_reply.not_data); 609 + d->last_event = 0; 610 + return 0; 611 + } 612 + 613 + if (poll_reply.data_state == 1) { 614 + /* New key hit */ 615 + st->rc_counter = 0; 616 + *event = keymap[i].event; 617 + *state = REMOTE_KEY_PRESSED; 618 + d->last_event = keymap[i].event; 619 + } else if (poll_reply.data_state == 2) { 620 + /* Key repeated */ 621 + st->rc_counter++; 622 + 623 + /* prevents unwanted double hits */ 624 + if (st->rc_counter > RC_REPEAT_DELAY_V1_20) { 625 + *event = d->last_event; 626 + *state = REMOTE_KEY_PRESSED; 627 + st->rc_counter = RC_REPEAT_DELAY_V1_20; 628 + } 629 + } else { 630 + err("Unknown data state [%d]", poll_reply.data_state); 631 + } 632 + 633 + return 0; 634 + } 635 + 636 + static int dib0700_rc_query(struct dvb_usb_device *d, u32 *event, int *state) 637 + { 638 + struct dib0700_state *st = d->priv; 639 + 640 + /* Because some people may have improperly named firmware files, 641 + let's figure out whether to use the new firmware call or the legacy 642 + call based on the firmware version embedded in the file */ 643 + if (st->rc_func_version == 0) { 644 + u32 hwver, romver, ramver, fwtype; 645 + int ret = dib0700_get_version(d, &hwver, &romver, &ramver, 646 + &fwtype); 647 + if (ret < 0) { 648 + err("Could not determine version info"); 649 + return -1; 650 + } 651 + if (ramver < 0x10200) 652 + st->rc_func_version = 1; 653 + else 654 + st->rc_func_version = 2; 655 + } 656 + 657 + if (st->rc_func_version == 2) 658 + return dib0700_rc_query_v1_20(d, event, state); 659 + else 660 + return dib0700_rc_query_legacy(d, event, state); 536 661 } 537 662 538 663 static struct dvb_usb_rc_key dib0700_rc_keys[] = {
+14 -5
drivers/media/dvb/dvb-usb/usb-urb.c
··· 135 135 136 136 static int usb_bulk_urb_init(struct usb_data_stream *stream) 137 137 { 138 - int i; 138 + int i, j; 139 139 140 140 if ((i = usb_allocate_stream_buffers(stream,stream->props.count, 141 141 stream->props.u.bulk.buffersize)) < 0) ··· 143 143 144 144 /* allocate the URBs */ 145 145 for (i = 0; i < stream->props.count; i++) { 146 - if ((stream->urb_list[i] = usb_alloc_urb(0,GFP_ATOMIC)) == NULL) 146 + stream->urb_list[i] = usb_alloc_urb(0, GFP_ATOMIC); 147 + if (!stream->urb_list[i]) { 148 + deb_mem("not enough memory for urb_alloc_urb!.\n"); 149 + for (j = 0; j < i; j++) 150 + usb_free_urb(stream->urb_list[i]); 147 151 return -ENOMEM; 148 - 152 + } 149 153 usb_fill_bulk_urb( stream->urb_list[i], stream->udev, 150 154 usb_rcvbulkpipe(stream->udev,stream->props.endpoint), 151 155 stream->buf_list[i], ··· 174 170 for (i = 0; i < stream->props.count; i++) { 175 171 struct urb *urb; 176 172 int frame_offset = 0; 177 - if ((stream->urb_list[i] = 178 - usb_alloc_urb(stream->props.u.isoc.framesperurb,GFP_ATOMIC)) == NULL) 173 + 174 + stream->urb_list[i] = usb_alloc_urb(stream->props.u.isoc.framesperurb, GFP_ATOMIC); 175 + if (!stream->urb_list[i]) { 176 + deb_mem("not enough memory for urb_alloc_urb!\n"); 177 + for (j = 0; j < i; j++) 178 + usb_free_urb(stream->urb_list[i]); 179 179 return -ENOMEM; 180 + } 180 181 181 182 urb = stream->urb_list[i]; 182 183
+1 -1
drivers/media/dvb/siano/sms-cards.c
··· 95 95 [SMS1XXX_BOARD_HAUPPAUGE_WINDHAM] = { 96 96 .name = "Hauppauge WinTV MiniStick", 97 97 .type = SMS_NOVA_B0, 98 - .fw[DEVICE_MODE_DVBT_BDA] = "sms1xxx-hcw-55xxx-dvbt-01.fw", 98 + .fw[DEVICE_MODE_DVBT_BDA] = "sms1xxx-hcw-55xxx-dvbt-02.fw", 99 99 }, 100 100 }; 101 101
+14 -1
drivers/media/dvb/ttusb-budget/dvb-ttusb-budget.c
··· 808 808 ISO_BUF_COUNT, 809 809 &ttusb->iso_dma_handle); 810 810 811 + if (!ttusb->iso_buffer) { 812 + dprintk("%s: pci_alloc_consistent - not enough memory\n", 813 + __func__); 814 + return -ENOMEM; 815 + } 816 + 811 817 memset(ttusb->iso_buffer, 0, 812 818 ISO_FRAME_SIZE * FRAMES_PER_ISO_BUF * ISO_BUF_COUNT); 813 819 ··· 1665 1659 1666 1660 ttusb_setup_interfaces(ttusb); 1667 1661 1668 - ttusb_alloc_iso_urbs(ttusb); 1662 + result = ttusb_alloc_iso_urbs(ttusb); 1663 + if (result < 0) { 1664 + dprintk("%s: ttusb_alloc_iso_urbs - failed\n", __func__); 1665 + mutex_unlock(&ttusb->semi2c); 1666 + kfree(ttusb); 1667 + return result; 1668 + } 1669 + 1669 1670 if (ttusb_init_controller(ttusb)) 1670 1671 printk("ttusb_init_controller: error\n"); 1671 1672
+7
drivers/media/dvb/ttusb-dec/ttusb_dec.c
··· 1157 1157 ISO_BUF_COUNT), 1158 1158 &dec->iso_dma_handle); 1159 1159 1160 + if (!dec->iso_buffer) { 1161 + dprintk("%s: pci_alloc_consistent - not enough memory\n", 1162 + __func__); 1163 + return -ENOMEM; 1164 + } 1165 + 1160 1166 memset(dec->iso_buffer, 0, 1161 1167 ISO_FRAME_SIZE * (FRAMES_PER_ISO_BUF * ISO_BUF_COUNT)); 1162 1168 ··· 1260 1254 dec->irq_buffer = usb_buffer_alloc(dec->udev,IRQ_PACKET_SIZE, 1261 1255 GFP_ATOMIC, &dec->irq_dma_handle); 1262 1256 if(!dec->irq_buffer) { 1257 + usb_free_urb(dec->irq_urb); 1263 1258 return -ENOMEM; 1264 1259 } 1265 1260 usb_fill_int_urb(dec->irq_urb, dec->udev,dec->irq_pipe,
+16 -17
drivers/media/video/em28xx/em28xx-audio.c
··· 62 62 63 63 dprintk("Stopping isoc\n"); 64 64 for (i = 0; i < EM28XX_AUDIO_BUFS; i++) { 65 - usb_kill_urb(dev->adev->urb[i]); 65 + usb_unlink_urb(dev->adev->urb[i]); 66 66 usb_free_urb(dev->adev->urb[i]); 67 67 dev->adev->urb[i] = NULL; 68 68 } ··· 75 75 struct em28xx *dev = urb->context; 76 76 int i; 77 77 unsigned int oldptr; 78 - unsigned long flags; 79 78 int period_elapsed = 0; 80 79 int status; 81 80 unsigned char *cp; ··· 95 96 if (!length) 96 97 continue; 97 98 98 - spin_lock_irqsave(&dev->adev->slock, flags); 99 - 100 99 oldptr = dev->adev->hwptr_done_capture; 100 + if (oldptr + length >= runtime->buffer_size) { 101 + unsigned int cnt = 102 + runtime->buffer_size - oldptr; 103 + memcpy(runtime->dma_area + oldptr * stride, cp, 104 + cnt * stride); 105 + memcpy(runtime->dma_area, cp + cnt * stride, 106 + length * stride - cnt * stride); 107 + } else { 108 + memcpy(runtime->dma_area + oldptr * stride, cp, 109 + length * stride); 110 + } 111 + 112 + snd_pcm_stream_lock(substream); 113 + 101 114 dev->adev->hwptr_done_capture += length; 102 115 if (dev->adev->hwptr_done_capture >= 103 116 runtime->buffer_size) ··· 124 113 period_elapsed = 1; 125 114 } 126 115 127 - spin_unlock_irqrestore(&dev->adev->slock, flags); 128 - 129 - if (oldptr + length >= runtime->buffer_size) { 130 - unsigned int cnt = 131 - runtime->buffer_size - oldptr; 132 - memcpy(runtime->dma_area + oldptr * stride, cp, 133 - cnt * stride); 134 - memcpy(runtime->dma_area, cp + cnt * stride, 135 - length * stride - cnt * stride); 136 - } else { 137 - memcpy(runtime->dma_area + oldptr * stride, cp, 138 - length * stride); 139 - } 116 + snd_pcm_stream_unlock(substream); 140 117 } 141 118 if (period_elapsed) 142 119 snd_pcm_period_elapsed(substream);
+36 -22
drivers/media/video/em28xx/em28xx-core.c
··· 69 69 int ret, byte; 70 70 71 71 if (dev->state & DEV_DISCONNECTED) 72 - return(-ENODEV); 72 + return -ENODEV; 73 + 74 + if (len > URB_MAX_CTRL_SIZE) 75 + return -EINVAL; 73 76 74 77 em28xx_regdbg("req=%02x, reg=%02x ", req, reg); 75 78 79 + mutex_lock(&dev->ctrl_urb_lock); 76 80 ret = usb_control_msg(dev->udev, usb_rcvctrlpipe(dev->udev, 0), req, 77 81 USB_DIR_IN | USB_TYPE_VENDOR | USB_RECIP_DEVICE, 78 - 0x0000, reg, buf, len, HZ); 82 + 0x0000, reg, dev->urb_buf, len, HZ); 83 + if (ret < 0) { 84 + if (reg_debug) 85 + printk(" failed!\n"); 86 + mutex_unlock(&dev->ctrl_urb_lock); 87 + return ret; 88 + } 89 + 90 + if (len) 91 + memcpy(buf, dev->urb_buf, len); 92 + 93 + mutex_unlock(&dev->ctrl_urb_lock); 79 94 80 95 if (reg_debug) { 81 - printk(ret < 0 ? " failed!\n" : "%02x values: ", ret); 96 + printk("%02x values: ", ret); 82 97 for (byte = 0; byte < len; byte++) 83 98 printk(" %02x", (unsigned char)buf[byte]); 84 - 85 99 printk("\n"); 86 100 } 87 101 ··· 116 102 117 103 em28xx_regdbg("req=%02x, reg=%02x:", req, reg); 118 104 105 + mutex_lock(&dev->ctrl_urb_lock); 119 106 ret = usb_control_msg(dev->udev, usb_rcvctrlpipe(dev->udev, 0), req, 120 107 USB_DIR_IN | USB_TYPE_VENDOR | USB_RECIP_DEVICE, 121 - 0x0000, reg, &val, 1, HZ); 108 + 0x0000, reg, dev->urb_buf, 1, HZ); 109 + val = dev->urb_buf[0]; 110 + mutex_unlock(&dev->ctrl_urb_lock); 111 + 112 + if (ret < 0) { 113 + printk(" failed!\n"); 114 + return ret; 115 + } 122 116 123 117 if (reg_debug) 124 - printk(ret < 0 ? " failed!\n" : 125 - "%02x\n", (unsigned char) val); 126 - 127 - if (ret < 0) 128 - return ret; 118 + printk("%02x\n", (unsigned char) val); 129 119 130 120 return val; 131 121 } ··· 148 130 { 149 131 int ret; 150 132 151 - /*usb_control_msg seems to expect a kmalloced buffer */ 152 - unsigned char *bufs; 153 - 154 133 if (dev->state & DEV_DISCONNECTED) 155 134 return -ENODEV; 156 135 157 - if (len < 1) 136 + if ((len < 1) || (len > URB_MAX_CTRL_SIZE)) 158 137 return -EINVAL; 159 138 160 - bufs = kmalloc(len, GFP_KERNEL); 161 - 162 139 em28xx_regdbg("req=%02x reg=%02x:", req, reg); 163 - 164 140 if (reg_debug) { 165 141 int i; 166 142 for (i = 0; i < len; ++i) ··· 162 150 printk("\n"); 163 151 } 164 152 165 - if (!bufs) 166 - return -ENOMEM; 167 - memcpy(bufs, buf, len); 153 + mutex_lock(&dev->ctrl_urb_lock); 154 + memcpy(dev->urb_buf, buf, len); 168 155 ret = usb_control_msg(dev->udev, usb_sndctrlpipe(dev->udev, 0), req, 169 156 USB_DIR_OUT | USB_TYPE_VENDOR | USB_RECIP_DEVICE, 170 - 0x0000, reg, bufs, len, HZ); 157 + 0x0000, reg, dev->urb_buf, len, HZ); 158 + mutex_unlock(&dev->ctrl_urb_lock); 159 + 171 160 if (dev->wait_after_write) 172 161 msleep(dev->wait_after_write); 173 162 174 - kfree(bufs); 175 163 return ret; 176 164 } 177 165 ··· 282 270 break; 283 271 case EM28XX_AMUX_LINE_IN: 284 272 input = EM28XX_AUDIO_SRC_LINE; 273 + video = disable; 274 + line = enable; 285 275 break; 286 276 case EM28XX_AMUX_AC97_VIDEO: 287 277 input = EM28XX_AUDIO_SRC_LINE;
+6 -4
drivers/media/video/em28xx/em28xx-i2c.c
··· 337 337 /* Check if board has eeprom */ 338 338 err = i2c_master_recv(&dev->i2c_client, &buf, 0); 339 339 if (err < 0) { 340 - em28xx_errdev("%s: i2c_master_recv failed! err [%d]\n", 341 - __func__, err); 342 - return err; 340 + em28xx_errdev("board has no eeprom\n"); 341 + memset(eedata, 0, len); 342 + return -ENODEV; 343 343 } 344 344 345 345 buf = 0; ··· 609 609 dev->i2c_client.adapter = &dev->i2c_adap; 610 610 611 611 retval = em28xx_i2c_eeprom(dev, dev->eedata, sizeof(dev->eedata)); 612 - if (retval < 0) { 612 + if ((retval < 0) && (retval != -ENODEV)) { 613 613 em28xx_errdev("%s: em28xx_i2_eeprom failed! retval [%d]\n", 614 614 __func__, retval); 615 + 615 616 return retval; 616 617 } 617 618 618 619 if (i2c_scan) 619 620 em28xx_do_i2c_scan(dev); 621 + 620 622 return 0; 621 623 } 622 624
+81 -59
drivers/media/video/em28xx/em28xx-video.c
··· 73 73 MODULE_LICENSE("GPL"); 74 74 75 75 static LIST_HEAD(em28xx_devlist); 76 + static DEFINE_MUTEX(em28xx_devlist_mutex); 76 77 77 78 static unsigned int card[] = {[0 ... (EM28XX_MAXBOARDS - 1)] = UNSET }; 78 79 static unsigned int video_nr[] = {[0 ... (EM28XX_MAXBOARDS - 1)] = UNSET }; ··· 1520 1519 struct em28xx_fh *fh; 1521 1520 enum v4l2_buf_type fh_type = 0; 1522 1521 1523 - lock_kernel(); 1522 + mutex_lock(&em28xx_devlist_mutex); 1524 1523 list_for_each_entry(h, &em28xx_devlist, devlist) { 1525 1524 if (h->vdev->minor == minor) { 1526 1525 dev = h; ··· 1536 1535 dev = h; 1537 1536 } 1538 1537 } 1539 - if (NULL == dev) { 1540 - unlock_kernel(); 1538 + mutex_unlock(&em28xx_devlist_mutex); 1539 + if (NULL == dev) 1541 1540 return -ENODEV; 1542 - } 1541 + 1542 + mutex_lock(&dev->lock); 1543 1543 1544 1544 em28xx_videodbg("open minor=%d type=%s users=%d\n", 1545 1545 minor, v4l2_type_names[fh_type], dev->users); ··· 1549 1547 fh = kzalloc(sizeof(struct em28xx_fh), GFP_KERNEL); 1550 1548 if (!fh) { 1551 1549 em28xx_errdev("em28xx-video.c: Out of memory?!\n"); 1552 - unlock_kernel(); 1550 + mutex_unlock(&dev->lock); 1553 1551 return -ENOMEM; 1554 1552 } 1555 - mutex_lock(&dev->lock); 1556 1553 fh->dev = dev; 1557 1554 fh->radio = radio; 1558 1555 fh->type = fh_type; ··· 1585 1584 sizeof(struct em28xx_buffer), fh); 1586 1585 1587 1586 mutex_unlock(&dev->lock); 1588 - unlock_kernel(); 1589 1587 1590 1588 return errCode; 1591 1589 } ··· 1871 1871 { 1872 1872 struct em28xx *dev = NULL; 1873 1873 1874 + mutex_lock(&em28xx_devlist_mutex); 1874 1875 mutex_lock(&em28xx_extension_devlist_lock); 1875 1876 list_add_tail(&ops->next, &em28xx_extension_devlist); 1876 1877 list_for_each_entry(dev, &em28xx_devlist, devlist) { ··· 1880 1879 } 1881 1880 printk(KERN_INFO "Em28xx: Initialized (%s) extension\n", ops->name); 1882 1881 mutex_unlock(&em28xx_extension_devlist_lock); 1882 + mutex_unlock(&em28xx_devlist_mutex); 1883 1883 return 0; 1884 1884 } 1885 1885 EXPORT_SYMBOL(em28xx_register_extension); ··· 1889 1887 { 1890 1888 struct em28xx *dev = NULL; 1891 1889 1890 + mutex_lock(&em28xx_devlist_mutex); 1892 1891 list_for_each_entry(dev, &em28xx_devlist, devlist) { 1893 1892 if (dev) 1894 1893 ops->fini(dev); ··· 1899 1896 printk(KERN_INFO "Em28xx: Removed (%s) extension\n", ops->name); 1900 1897 list_del(&ops->next); 1901 1898 mutex_unlock(&em28xx_extension_devlist_lock); 1899 + mutex_unlock(&em28xx_devlist_mutex); 1902 1900 } 1903 1901 EXPORT_SYMBOL(em28xx_unregister_extension); 1904 1902 ··· 1925 1921 } 1926 1922 1927 1923 1924 + static int register_analog_devices(struct em28xx *dev) 1925 + { 1926 + int ret; 1927 + 1928 + /* allocate and fill video video_device struct */ 1929 + dev->vdev = em28xx_vdev_init(dev, &em28xx_video_template, "video"); 1930 + if (!dev->vdev) { 1931 + em28xx_errdev("cannot allocate video_device.\n"); 1932 + return -ENODEV; 1933 + } 1934 + 1935 + /* register v4l2 video video_device */ 1936 + ret = video_register_device(dev->vdev, VFL_TYPE_GRABBER, 1937 + video_nr[dev->devno]); 1938 + if (ret) { 1939 + em28xx_errdev("unable to register video device (error=%i).\n", 1940 + ret); 1941 + return ret; 1942 + } 1943 + 1944 + /* Allocate and fill vbi video_device struct */ 1945 + dev->vbi_dev = em28xx_vdev_init(dev, &em28xx_video_template, "vbi"); 1946 + 1947 + /* register v4l2 vbi video_device */ 1948 + ret = video_register_device(dev->vbi_dev, VFL_TYPE_VBI, 1949 + vbi_nr[dev->devno]); 1950 + if (ret < 0) { 1951 + em28xx_errdev("unable to register vbi device\n"); 1952 + return ret; 1953 + } 1954 + 1955 + if (em28xx_boards[dev->model].radio.type == EM28XX_RADIO) { 1956 + dev->radio_dev = em28xx_vdev_init(dev, &em28xx_radio_template, "radio"); 1957 + if (!dev->radio_dev) { 1958 + em28xx_errdev("cannot allocate video_device.\n"); 1959 + return -ENODEV; 1960 + } 1961 + ret = video_register_device(dev->radio_dev, VFL_TYPE_RADIO, 1962 + radio_nr[dev->devno]); 1963 + if (ret < 0) { 1964 + em28xx_errdev("can't register radio device\n"); 1965 + return ret; 1966 + } 1967 + em28xx_info("Registered radio device as /dev/radio%d\n", 1968 + dev->radio_dev->num); 1969 + } 1970 + 1971 + em28xx_info("V4L2 device registered as /dev/video%d and /dev/vbi%d\n", 1972 + dev->vdev->num, dev->vbi_dev->num); 1973 + 1974 + return 0; 1975 + } 1976 + 1977 + 1928 1978 /* 1929 1979 * em28xx_init_dev() 1930 1980 * allocates and inits the device structs, registers i2c bus and v4l device ··· 1994 1936 1995 1937 dev->udev = udev; 1996 1938 mutex_init(&dev->lock); 1939 + mutex_init(&dev->ctrl_urb_lock); 1997 1940 spin_lock_init(&dev->slock); 1998 1941 init_waitqueue_head(&dev->open); 1999 1942 init_waitqueue_head(&dev->wait_frame); ··· 2012 1953 errCode = em28xx_config(dev); 2013 1954 if (errCode) { 2014 1955 em28xx_errdev("error configuring device\n"); 2015 - em28xx_devused &= ~(1<<dev->devno); 2016 - kfree(dev); 2017 1956 return -ENOMEM; 2018 1957 } 2019 1958 ··· 2058 2001 return errCode; 2059 2002 } 2060 2003 2061 - list_add_tail(&dev->devlist, &em28xx_devlist); 2062 - 2063 - /* allocate and fill video video_device struct */ 2064 - dev->vdev = em28xx_vdev_init(dev, &em28xx_video_template, "video"); 2065 - if (NULL == dev->vdev) { 2066 - em28xx_errdev("cannot allocate video_device.\n"); 2067 - goto fail_unreg; 2068 - } 2069 - 2070 - /* register v4l2 video video_device */ 2071 - retval = video_register_device(dev->vdev, VFL_TYPE_GRABBER, 2072 - video_nr[dev->devno]); 2073 - if (retval) { 2074 - em28xx_errdev("unable to register video device (error=%i).\n", 2075 - retval); 2076 - goto fail_unreg; 2077 - } 2078 - 2079 - /* Allocate and fill vbi video_device struct */ 2080 - dev->vbi_dev = em28xx_vdev_init(dev, &em28xx_video_template, "vbi"); 2081 - /* register v4l2 vbi video_device */ 2082 - if (video_register_device(dev->vbi_dev, VFL_TYPE_VBI, 2083 - vbi_nr[dev->devno]) < 0) { 2084 - em28xx_errdev("unable to register vbi device\n"); 2085 - retval = -ENODEV; 2086 - goto fail_unreg; 2087 - } 2088 - 2089 - if (em28xx_boards[dev->model].radio.type == EM28XX_RADIO) { 2090 - dev->radio_dev = em28xx_vdev_init(dev, &em28xx_radio_template, "radio"); 2091 - if (NULL == dev->radio_dev) { 2092 - em28xx_errdev("cannot allocate video_device.\n"); 2093 - goto fail_unreg; 2094 - } 2095 - retval = video_register_device(dev->radio_dev, VFL_TYPE_RADIO, 2096 - radio_nr[dev->devno]); 2097 - if (retval < 0) { 2098 - em28xx_errdev("can't register radio device\n"); 2099 - goto fail_unreg; 2100 - } 2101 - em28xx_info("Registered radio device as /dev/radio%d\n", 2102 - dev->radio_dev->num); 2103 - } 2104 - 2105 2004 /* init video dma queues */ 2106 2005 INIT_LIST_HEAD(&dev->vidq.active); 2107 2006 INIT_LIST_HEAD(&dev->vidq.queued); ··· 2084 2071 2085 2072 video_mux(dev, 0); 2086 2073 2087 - em28xx_info("V4L2 device registered as /dev/video%d and /dev/vbi%d\n", 2088 - dev->vdev->num, dev->vbi_dev->num); 2074 + mutex_lock(&em28xx_devlist_mutex); 2075 + list_add_tail(&dev->devlist, &em28xx_devlist); 2076 + retval = register_analog_devices(dev); 2077 + if (retval < 0) { 2078 + em28xx_release_resources(dev); 2079 + mutex_unlock(&em28xx_devlist_mutex); 2080 + goto fail_reg_devices; 2081 + } 2089 2082 2090 2083 mutex_lock(&em28xx_extension_devlist_lock); 2091 2084 if (!list_empty(&em28xx_extension_devlist)) { ··· 2101 2082 } 2102 2083 } 2103 2084 mutex_unlock(&em28xx_extension_devlist_lock); 2085 + mutex_unlock(&em28xx_devlist_mutex); 2104 2086 2105 2087 return 0; 2106 2088 2107 - fail_unreg: 2108 - em28xx_release_resources(dev); 2089 + fail_reg_devices: 2109 2090 mutex_unlock(&dev->lock); 2110 - kfree(dev); 2111 2091 return retval; 2112 2092 } 2113 2093 ··· 2249 2231 2250 2232 /* allocate device struct */ 2251 2233 retval = em28xx_init_dev(&dev, udev, nr); 2252 - if (retval) 2234 + if (retval) { 2235 + em28xx_devused &= ~(1<<dev->devno); 2236 + kfree(dev); 2237 + 2253 2238 return retval; 2239 + } 2254 2240 2255 2241 em28xx_info("Found %s\n", em28xx_boards[dev->model].name); 2256 2242
+6
drivers/media/video/em28xx/em28xx.h
··· 102 102 #define EM28XX_MIN_BUF 4 103 103 #define EM28XX_DEF_BUF 8 104 104 105 + /*Limits the max URB message size */ 106 + #define URB_MAX_CTRL_SIZE 80 107 + 105 108 /* Params for validated field */ 106 109 #define EM28XX_BOARD_NOT_VALIDATED 1 107 110 #define EM28XX_BOARD_VALIDATED 0 ··· 433 430 434 431 /* locks */ 435 432 struct mutex lock; 433 + struct mutex ctrl_urb_lock; /* protects urb_buf */ 436 434 /* spinlock_t queue_lock; */ 437 435 struct list_head inqueue, outqueue; 438 436 wait_queue_head_t open, wait_frame, wait_stream; ··· 455 451 unsigned int *alt_max_pkt_size; /* array of wMaxPacketSize */ 456 452 struct urb *urb[EM28XX_NUM_BUFS]; /* urb for isoc transfers */ 457 453 char *transfer_buffer[EM28XX_NUM_BUFS]; /* transfer buffers for isoc transfer */ 454 + char urb_buf[URB_MAX_CTRL_SIZE]; /* urb control msg buffer */ 455 + 458 456 /* helper funcs that call usb_control_msg */ 459 457 int (*em28xx_write_regs) (struct em28xx *dev, u16 reg, 460 458 char *buf, int len);
+3
drivers/media/video/gspca/conex.c
··· 846 846 return 0; 847 847 } 848 848 849 + /* called on streamoff with alt 0 and on disconnect */ 849 850 static void sd_stop0(struct gspca_dev *gspca_dev) 850 851 { 851 852 int retry = 50; 852 853 854 + if (!gspca_dev->present) 855 + return; 853 856 reg_w_val(gspca_dev, 0x0000, 0x00); 854 857 reg_r(gspca_dev, 0x0002, 1); 855 858 reg_w_val(gspca_dev, 0x0053, 0x00);
+8
drivers/media/video/gspca/finepix.c
··· 276 276 /* Stop the state machine */ 277 277 if (dev->state != FPIX_NOP) 278 278 wait_for_completion(&dev->can_close); 279 + } 280 + 281 + /* called on streamoff with alt 0 and disconnect */ 282 + static void sd_stop0(struct gspca_dev *gspca_dev) 283 + { 284 + struct usb_fpix *dev = (struct usb_fpix *) gspca_dev; 279 285 280 286 usb_free_urb(dev->control_urb); 281 287 dev->control_urb = NULL; ··· 391 385 error: 392 386 /* Free the ressources */ 393 387 sd_stopN(gspca_dev); 388 + sd_stop0(gspca_dev); 394 389 return ret; 395 390 } 396 391 ··· 432 425 .init = sd_init, 433 426 .start = sd_start, 434 427 .stopN = sd_stopN, 428 + .stop0 = sd_stop0, 435 429 }; 436 430 437 431 /* -- device connect -- */
+30 -26
drivers/media/video/gspca/gspca.c
··· 646 646 { 647 647 gspca_dev->streaming = 0; 648 648 atomic_set(&gspca_dev->nevent, 0); 649 - if (gspca_dev->present) { 650 - if (gspca_dev->sd_desc->stopN) 651 - gspca_dev->sd_desc->stopN(gspca_dev); 652 - destroy_urbs(gspca_dev); 653 - gspca_set_alt0(gspca_dev); 654 - if (gspca_dev->sd_desc->stop0) 655 - gspca_dev->sd_desc->stop0(gspca_dev); 656 - PDEBUG(D_STREAM, "stream off OK"); 657 - } 649 + if (gspca_dev->present 650 + && gspca_dev->sd_desc->stopN) 651 + gspca_dev->sd_desc->stopN(gspca_dev); 652 + destroy_urbs(gspca_dev); 653 + gspca_set_alt0(gspca_dev); 654 + if (gspca_dev->sd_desc->stop0) 655 + gspca_dev->sd_desc->stop0(gspca_dev); 656 + PDEBUG(D_STREAM, "stream off OK"); 658 657 } 659 658 660 659 static void gspca_set_default_mode(struct gspca_dev *gspca_dev) ··· 862 863 int ret; 863 864 864 865 PDEBUG(D_STREAM, "%s open", current->comm); 865 - gspca_dev = (struct gspca_dev *) video_devdata(file); 866 + gspca_dev = video_drvdata(file); 866 867 if (mutex_lock_interruptible(&gspca_dev->queue_lock)) 867 868 return -ERESTARTSYS; 868 869 if (!gspca_dev->present) { ··· 874 875 ret = -EBUSY; 875 876 goto out; 876 877 } 878 + 879 + /* protect the subdriver against rmmod */ 880 + if (!try_module_get(gspca_dev->module)) { 881 + ret = -ENODEV; 882 + goto out; 883 + } 884 + 877 885 gspca_dev->users++; 878 886 879 887 /* one more user */ ··· 890 884 #ifdef GSPCA_DEBUG 891 885 /* activate the v4l2 debug */ 892 886 if (gspca_debug & D_V4L2) 893 - gspca_dev->vdev.debug |= V4L2_DEBUG_IOCTL 887 + gspca_dev->vdev->debug |= V4L2_DEBUG_IOCTL 894 888 | V4L2_DEBUG_IOCTL_ARG; 895 889 else 896 - gspca_dev->vdev.debug &= ~(V4L2_DEBUG_IOCTL 890 + gspca_dev->vdev->debug &= ~(V4L2_DEBUG_IOCTL 897 891 | V4L2_DEBUG_IOCTL_ARG); 898 892 #endif 899 893 ret = 0; ··· 927 921 gspca_dev->memory = GSPCA_MEMORY_NO; 928 922 } 929 923 file->private_data = NULL; 924 + module_put(gspca_dev->module); 930 925 mutex_unlock(&gspca_dev->queue_lock); 931 926 932 927 PDEBUG(D_STREAM, "close done"); ··· 1755 1748 return ret; 1756 1749 } 1757 1750 1758 - static void dev_release(struct video_device *vfd) 1759 - { 1760 - /* nothing */ 1761 - } 1762 - 1763 1751 static struct file_operations dev_fops = { 1764 1752 .owner = THIS_MODULE, 1765 1753 .open = dev_open, ··· 1802 1800 .name = "gspca main driver", 1803 1801 .fops = &dev_fops, 1804 1802 .ioctl_ops = &dev_ioctl_ops, 1805 - .release = dev_release, /* mandatory */ 1803 + .release = video_device_release, 1806 1804 .minor = -1, 1807 1805 }; 1808 1806 ··· 1871 1869 init_waitqueue_head(&gspca_dev->wq); 1872 1870 1873 1871 /* init video stuff */ 1874 - memcpy(&gspca_dev->vdev, &gspca_template, sizeof gspca_template); 1875 - gspca_dev->vdev.parent = &dev->dev; 1876 - memcpy(&gspca_dev->fops, &dev_fops, sizeof gspca_dev->fops); 1877 - gspca_dev->vdev.fops = &gspca_dev->fops; 1878 - gspca_dev->fops.owner = module; /* module protection */ 1872 + gspca_dev->vdev = video_device_alloc(); 1873 + memcpy(gspca_dev->vdev, &gspca_template, sizeof gspca_template); 1874 + gspca_dev->vdev->parent = &dev->dev; 1875 + gspca_dev->module = module; 1879 1876 gspca_dev->present = 1; 1880 - ret = video_register_device(&gspca_dev->vdev, 1877 + video_set_drvdata(gspca_dev->vdev, gspca_dev); 1878 + ret = video_register_device(gspca_dev->vdev, 1881 1879 VFL_TYPE_GRABBER, 1882 1880 video_nr); 1883 1881 if (ret < 0) { 1884 1882 err("video_register_device err %d", ret); 1883 + video_device_release(gspca_dev->vdev); 1885 1884 goto out; 1886 1885 } 1887 1886 ··· 1890 1887 PDEBUG(D_PROBE, "probe ok"); 1891 1888 return 0; 1892 1889 out: 1893 - kref_put(&gspca_dev->kref, gspca_delete); 1890 + kfree(gspca_dev->usb_buf); 1891 + kfree(gspca_dev); 1894 1892 return ret; 1895 1893 } 1896 1894 EXPORT_SYMBOL(gspca_dev_probe); ··· 1909 1905 usb_set_intfdata(intf, NULL); 1910 1906 1911 1907 /* We don't want people trying to open up the device */ 1912 - video_unregister_device(&gspca_dev->vdev); 1908 + video_unregister_device(gspca_dev->vdev); 1913 1909 1914 1910 gspca_dev->present = 0; 1915 1911 gspca_dev->streaming = 0;
+3 -3
drivers/media/video/gspca/gspca.h
··· 97 97 cam_pkt_op pkt_scan; 98 98 /* optional operations */ 99 99 cam_v_op stopN; /* called on stream off - main alt */ 100 - cam_v_op stop0; /* called on stream off - alt 0 */ 100 + cam_v_op stop0; /* called on stream off & disconnect - alt 0 */ 101 101 cam_v_op dq_callback; /* called when a frame has been dequeued */ 102 102 cam_jpg_op get_jcomp; 103 103 cam_jpg_op set_jcomp; ··· 120 120 }; 121 121 122 122 struct gspca_dev { 123 - struct video_device vdev; /* !! must be the first item */ 124 - struct file_operations fops; 123 + struct video_device *vdev; 124 + struct module *module; /* subdriver handling the device */ 125 125 struct usb_device *dev; 126 126 struct kref kref; 127 127 struct file *capt_file; /* file doing video capture */
+3
drivers/media/video/gspca/pac7311.c
··· 749 749 reg_w(gspca_dev, 0x78, 0x44); /* Bit_0=start stream, Bit_6=LED */ 750 750 } 751 751 752 + /* called on streamoff with alt 0 and on disconnect */ 752 753 static void sd_stop0(struct gspca_dev *gspca_dev) 753 754 { 754 755 struct sd *sd = (struct sd *) gspca_dev; 755 756 757 + if (!gspca_dev->present) 758 + return; 756 759 if (sd->sensor == SENSOR_PAC7302) { 757 760 reg_w(gspca_dev, 0xff, 0x01); 758 761 reg_w(gspca_dev, 0x78, 0x40);
+3
drivers/media/video/gspca/spca501.c
··· 2022 2022 reg_write(gspca_dev->dev, SPCA501_REG_CTLRL, 0x01, 0x00); 2023 2023 } 2024 2024 2025 + /* called on streamoff with alt 0 and on disconnect */ 2025 2026 static void sd_stop0(struct gspca_dev *gspca_dev) 2026 2027 { 2028 + if (!gspca_dev->present) 2029 + return; 2027 2030 reg_write(gspca_dev->dev, SPCA501_REG_CTLRL, 0x05, 0x00); 2028 2031 } 2029 2032
+4
drivers/media/video/gspca/spca505.c
··· 742 742 reg_write(gspca_dev->dev, 0x02, 0x00, 0x00); 743 743 } 744 744 745 + /* called on streamoff with alt 0 and on disconnect */ 745 746 static void sd_stop0(struct gspca_dev *gspca_dev) 746 747 { 748 + if (!gspca_dev->present) 749 + return; 750 + 747 751 /* This maybe reset or power control */ 748 752 reg_write(gspca_dev->dev, 0x03, 0x03, 0x20); 749 753 reg_write(gspca_dev->dev, 0x03, 0x01, 0x0);
+3
drivers/media/video/gspca/spca561.c
··· 766 766 } 767 767 } 768 768 769 + /* called on streamoff with alt 0 and on disconnect */ 769 770 static void sd_stop0(struct gspca_dev *gspca_dev) 770 771 { 771 772 struct sd *sd = (struct sd *) gspca_dev; 772 773 774 + if (!gspca_dev->present) 775 + return; 773 776 if (sd->chip_revision == Rev012A) { 774 777 reg_w_val(gspca_dev->dev, 0x8118, 0x29); 775 778 reg_w_val(gspca_dev->dev, 0x8114, 0x08);
+3
drivers/media/video/gspca/vc032x.c
··· 1633 1633 reg_w(dev, 0xa0, 0x09, 0xb003); 1634 1634 } 1635 1635 1636 + /* called on streamoff with alt 0 and on disconnect */ 1636 1637 static void sd_stop0(struct gspca_dev *gspca_dev) 1637 1638 { 1638 1639 struct usb_device *dev = gspca_dev->dev; 1639 1640 1641 + if (!gspca_dev->present) 1642 + return; 1640 1643 reg_w(dev, 0x89, 0xffff, 0xffff); 1641 1644 } 1642 1645
+3
drivers/media/video/gspca/zc3xx.c
··· 7336 7336 return 0; 7337 7337 } 7338 7338 7339 + /* called on streamoff with alt 0 and on disconnect */ 7339 7340 static void sd_stop0(struct gspca_dev *gspca_dev) 7340 7341 { 7341 7342 struct sd *sd = (struct sd *) gspca_dev; 7342 7343 7344 + if (!gspca_dev->present) 7345 + return; 7343 7346 send_unknown(gspca_dev->dev, sd->sensor); 7344 7347 } 7345 7348
+1 -1
drivers/media/video/s2255drv.c
··· 192 192 #define S2255_FW_FAILED 3 193 193 #define S2255_FW_DISCONNECTING 4 194 194 195 - #define S2255_FW_MARKER 0x22552f2f 195 + #define S2255_FW_MARKER cpu_to_le32(0x22552f2f) 196 196 /* 2255 read states */ 197 197 #define S2255_READ_IDLE 0 198 198 #define S2255_READ_FRAME 1
+2 -2
drivers/misc/sony-laptop.c
··· 1038 1038 goto outinput; 1039 1039 } 1040 1040 1041 - if (!acpi_video_backlight_support()) { 1042 - printk(KERN_INFO DRV_PFX "Sony: Brightness ignored, must be " 1041 + if (acpi_video_backlight_support()) { 1042 + printk(KERN_INFO DRV_PFX "brightness ignored, must be " 1043 1043 "controlled by ACPI video driver\n"); 1044 1044 } else if (ACPI_SUCCESS(acpi_get_handle(sony_nc_acpi_handle, "GBRT", 1045 1045 &handle))) {
+45 -12
drivers/misc/thinkpad_acpi.c
··· 5318 5318 5319 5319 static u8 fan_control_initial_status; 5320 5320 static u8 fan_control_desired_level; 5321 + static u8 fan_control_resume_level; 5321 5322 static int fan_watchdog_maxinterval; 5322 5323 5323 5324 static struct mutex fan_mutex; ··· 5441 5440 5442 5441 case TPACPI_FAN_WR_ACPI_FANS: 5443 5442 case TPACPI_FAN_WR_TPEC: 5444 - if ((level != TP_EC_FAN_AUTO) && 5445 - (level != TP_EC_FAN_FULLSPEED) && 5443 + if (!(level & TP_EC_FAN_AUTO) && 5444 + !(level & TP_EC_FAN_FULLSPEED) && 5446 5445 ((level < 0) || (level > 7))) 5447 5446 return -EINVAL; 5448 5447 ··· 6006 6005 6007 6006 static void fan_suspend(pm_message_t state) 6008 6007 { 6008 + int rc; 6009 + 6009 6010 if (!fan_control_allowed) 6010 6011 return; 6011 6012 6012 6013 /* Store fan status in cache */ 6013 - fan_get_status_safe(NULL); 6014 + fan_control_resume_level = 0; 6015 + rc = fan_get_status_safe(&fan_control_resume_level); 6016 + if (rc < 0) 6017 + printk(TPACPI_NOTICE 6018 + "failed to read fan level for later " 6019 + "restore during resume: %d\n", rc); 6020 + 6021 + /* if it is undefined, don't attempt to restore it. 6022 + * KEEP THIS LAST */ 6014 6023 if (tp_features.fan_ctrl_status_undef) 6015 - fan_control_desired_level = TP_EC_FAN_AUTO; 6024 + fan_control_resume_level = 0; 6016 6025 } 6017 6026 6018 6027 static void fan_resume(void) 6019 6028 { 6020 - u8 saved_fan_level; 6021 6029 u8 current_level = 7; 6022 6030 bool do_set = false; 6031 + int rc; 6023 6032 6024 6033 /* DSDT *always* updates status on resume */ 6025 6034 tp_features.fan_ctrl_status_undef = 0; 6026 6035 6027 - saved_fan_level = fan_control_desired_level; 6028 6036 if (!fan_control_allowed || 6037 + !fan_control_resume_level || 6029 6038 (fan_get_status_safe(&current_level) < 0)) 6030 6039 return; 6031 6040 6032 6041 switch (fan_control_access_mode) { 6033 6042 case TPACPI_FAN_WR_ACPI_SFAN: 6034 - do_set = (saved_fan_level > current_level); 6043 + /* never decrease fan level */ 6044 + do_set = (fan_control_resume_level > current_level); 6035 6045 break; 6036 6046 case TPACPI_FAN_WR_ACPI_FANS: 6037 6047 case TPACPI_FAN_WR_TPEC: 6038 - do_set = ((saved_fan_level & TP_EC_FAN_FULLSPEED) || 6039 - (saved_fan_level == 7 && 6040 - !(current_level & TP_EC_FAN_FULLSPEED))); 6048 + /* never decrease fan level, scale is: 6049 + * TP_EC_FAN_FULLSPEED > 7 >= TP_EC_FAN_AUTO 6050 + * 6051 + * We expect the firmware to set either 7 or AUTO, but we 6052 + * handle FULLSPEED out of paranoia. 6053 + * 6054 + * So, we can safely only restore FULLSPEED or 7, anything 6055 + * else could slow the fan. Restoring AUTO is useless, at 6056 + * best that's exactly what the DSDT already set (it is the 6057 + * slower it uses). 6058 + * 6059 + * Always keep in mind that the DSDT *will* have set the 6060 + * fans to what the vendor supposes is the best level. We 6061 + * muck with it only to speed the fan up. 6062 + */ 6063 + if (fan_control_resume_level != 7 && 6064 + !(fan_control_resume_level & TP_EC_FAN_FULLSPEED)) 6065 + return; 6066 + else 6067 + do_set = !(current_level & TP_EC_FAN_FULLSPEED) && 6068 + (current_level != fan_control_resume_level); 6041 6069 break; 6042 6070 default: 6043 6071 return; ··· 6074 6044 if (do_set) { 6075 6045 printk(TPACPI_NOTICE 6076 6046 "restoring fan level to 0x%02x\n", 6077 - saved_fan_level); 6078 - fan_set_level_safe(saved_fan_level); 6047 + fan_control_resume_level); 6048 + rc = fan_set_level_safe(fan_control_resume_level); 6049 + if (rc < 0) 6050 + printk(TPACPI_NOTICE 6051 + "failed to restore fan level: %d\n", rc); 6079 6052 } 6080 6053 } 6081 6054
+1 -1
drivers/mtd/ubi/eba.c
··· 1022 1022 } 1023 1023 1024 1024 /* 1025 - * OK, now the LEB is locked and we can safely start moving iy. Since 1025 + * OK, now the LEB is locked and we can safely start moving it. Since 1026 1026 * this function utilizes thie @ubi->peb1_buf buffer which is shared 1027 1027 * with some other functions, so lock the buffer by taking the 1028 1028 * @ubi->buf_mutex.
+1 -1
drivers/mtd/ubi/scan.c
··· 320 320 } 321 321 322 322 err = ubi_io_read_data(ubi, buf, pnum, 0, len); 323 - if (err && err != UBI_IO_BITFLIPS) 323 + if (err && err != UBI_IO_BITFLIPS && err != -EBADMSG) 324 324 goto out_free_buf; 325 325 326 326 data_crc = be32_to_cpu(vid_hdr->data_crc);
+2 -1
drivers/mtd/ubi/wl.c
··· 1396 1396 ubi_msg("%s: %d consecutive failures", 1397 1397 ubi->bgt_name, WL_MAX_FAILURES); 1398 1398 ubi_ro_mode(ubi); 1399 - break; 1399 + ubi->thread_enabled = 0; 1400 + continue; 1400 1401 } 1401 1402 } else 1402 1403 failures = 0;
+2 -1
drivers/net/Kconfig
··· 1825 1825 1826 1826 config FEC_MPC52xx 1827 1827 tristate "MPC52xx FEC driver" 1828 - depends on PPC_MPC52xx && PPC_BESTCOMM_FEC 1828 + depends on PPC_MPC52xx && PPC_BESTCOMM 1829 1829 select CRC32 1830 1830 select PHYLIB 1831 + select PPC_BESTCOMM_FEC 1831 1832 ---help--- 1832 1833 This option enables support for the MPC5200's on-chip 1833 1834 Fast Ethernet Controller
+4 -5
drivers/net/ixgbe/ixgbe_main.c
··· 2330 2330 * Once we know the feature-set enabled for the device, we'll cache 2331 2331 * the register offset the descriptor ring is assigned to. 2332 2332 **/ 2333 - static void __devinit ixgbe_cache_ring_register(struct ixgbe_adapter *adapter) 2333 + static void ixgbe_cache_ring_register(struct ixgbe_adapter *adapter) 2334 2334 { 2335 2335 int feature_mask = 0, rss_i; 2336 2336 int i, txr_idx, rxr_idx; ··· 2367 2367 * number of queues at compile-time. The polling_netdev array is 2368 2368 * intended for Multiqueue, but should work fine with a single queue. 2369 2369 **/ 2370 - static int __devinit ixgbe_alloc_queues(struct ixgbe_adapter *adapter) 2370 + static int ixgbe_alloc_queues(struct ixgbe_adapter *adapter) 2371 2371 { 2372 2372 int i; 2373 2373 ··· 2408 2408 * Attempt to configure the interrupts using the best available 2409 2409 * capabilities of the hardware and the kernel. 2410 2410 **/ 2411 - static int __devinit ixgbe_set_interrupt_capability(struct ixgbe_adapter 2412 - *adapter) 2411 + static int ixgbe_set_interrupt_capability(struct ixgbe_adapter *adapter) 2413 2412 { 2414 2413 int err = 0; 2415 2414 int vector, v_budget; ··· 2500 2501 * - Hardware queue count (num_*_queues) 2501 2502 * - defined by miscellaneous hardware support/features (RSS, etc.) 2502 2503 **/ 2503 - static int __devinit ixgbe_init_interrupt_scheme(struct ixgbe_adapter *adapter) 2504 + static int ixgbe_init_interrupt_scheme(struct ixgbe_adapter *adapter) 2504 2505 { 2505 2506 int err; 2506 2507
+8
drivers/net/mlx4/main.c
··· 753 753 struct mlx4_priv *priv = mlx4_priv(dev); 754 754 int err; 755 755 int port; 756 + __be32 ib_port_default_caps; 756 757 757 758 err = mlx4_init_uar_table(dev); 758 759 if (err) { ··· 853 852 } 854 853 855 854 for (port = 1; port <= dev->caps.num_ports; port++) { 855 + ib_port_default_caps = 0; 856 + err = mlx4_get_port_ib_caps(dev, port, &ib_port_default_caps); 857 + if (err) 858 + mlx4_warn(dev, "failed to get port %d default " 859 + "ib capabilities (%d). Continuing with " 860 + "caps = 0\n", port, err); 861 + dev->caps.ib_port_def_cap[port] = ib_port_default_caps; 856 862 err = mlx4_SET_PORT(dev, port); 857 863 if (err) { 858 864 mlx4_err(dev, "Failed to set port %d, aborting\n",
+1
drivers/net/mlx4/mlx4.h
··· 385 385 void mlx4_init_vlan_table(struct mlx4_dev *dev, struct mlx4_vlan_table *table); 386 386 387 387 int mlx4_SET_PORT(struct mlx4_dev *dev, u8 port); 388 + int mlx4_get_port_ib_caps(struct mlx4_dev *dev, u8 port, __be32 *caps); 388 389 389 390 #endif /* MLX4_H */
+38 -1
drivers/net/mlx4/port.c
··· 258 258 } 259 259 EXPORT_SYMBOL_GPL(mlx4_unregister_vlan); 260 260 261 + int mlx4_get_port_ib_caps(struct mlx4_dev *dev, u8 port, __be32 *caps) 262 + { 263 + struct mlx4_cmd_mailbox *inmailbox, *outmailbox; 264 + u8 *inbuf, *outbuf; 265 + int err; 266 + 267 + inmailbox = mlx4_alloc_cmd_mailbox(dev); 268 + if (IS_ERR(inmailbox)) 269 + return PTR_ERR(inmailbox); 270 + 271 + outmailbox = mlx4_alloc_cmd_mailbox(dev); 272 + if (IS_ERR(outmailbox)) { 273 + mlx4_free_cmd_mailbox(dev, inmailbox); 274 + return PTR_ERR(outmailbox); 275 + } 276 + 277 + inbuf = inmailbox->buf; 278 + outbuf = outmailbox->buf; 279 + memset(inbuf, 0, 256); 280 + memset(outbuf, 0, 256); 281 + inbuf[0] = 1; 282 + inbuf[1] = 1; 283 + inbuf[2] = 1; 284 + inbuf[3] = 1; 285 + *(__be16 *) (&inbuf[16]) = cpu_to_be16(0x0015); 286 + *(__be32 *) (&inbuf[20]) = cpu_to_be32(port); 287 + 288 + err = mlx4_cmd_box(dev, inmailbox->dma, outmailbox->dma, port, 3, 289 + MLX4_CMD_MAD_IFC, MLX4_CMD_TIME_CLASS_C); 290 + if (!err) 291 + *caps = *(__be32 *) (outbuf + 84); 292 + mlx4_free_cmd_mailbox(dev, inmailbox); 293 + mlx4_free_cmd_mailbox(dev, outmailbox); 294 + return err; 295 + } 296 + 261 297 int mlx4_SET_PORT(struct mlx4_dev *dev, u8 port) 262 298 { 263 299 struct mlx4_cmd_mailbox *mailbox; ··· 309 273 ((u8 *) mailbox->buf)[3] = 6; 310 274 ((__be16 *) mailbox->buf)[4] = cpu_to_be16(1 << 15); 311 275 ((__be16 *) mailbox->buf)[6] = cpu_to_be16(1 << 15); 312 - } 276 + } else 277 + ((__be32 *) mailbox->buf)[1] = dev->caps.ib_port_def_cap[port]; 313 278 err = mlx4_cmd(dev, mailbox->dma, port, is_eth, MLX4_CMD_SET_PORT, 314 279 MLX4_CMD_TIME_CLASS_B); 315 280
+1 -1
drivers/net/pcmcia/ibmtr_cs.c
··· 349 349 return 0; 350 350 } 351 351 352 - static int ibmtr_resume(struct pcmcia_device *link) 352 + static int __devinit ibmtr_resume(struct pcmcia_device *link) 353 353 { 354 354 ibmtr_dev_t *info = link->priv; 355 355 struct net_device *dev = info->dev;
+5 -5
drivers/net/smc911x.c
··· 1735 1735 * This routine has a simple purpose -- make the SMC chip generate an 1736 1736 * interrupt, so an auto-detect routine can detect it, and find the IRQ, 1737 1737 */ 1738 - static int __init smc911x_findirq(struct net_device *dev) 1738 + static int __devinit smc911x_findirq(struct net_device *dev) 1739 1739 { 1740 1740 struct smc911x_local *lp = netdev_priv(dev); 1741 1741 int timeout = 20; ··· 1799 1799 * o actually GRAB the irq. 1800 1800 * o GRAB the region 1801 1801 */ 1802 - static int __init smc911x_probe(struct net_device *dev) 1802 + static int __devinit smc911x_probe(struct net_device *dev) 1803 1803 { 1804 1804 struct smc911x_local *lp = netdev_priv(dev); 1805 1805 int i, retval; ··· 2048 2048 * 0 --> there is a device 2049 2049 * anything else, error 2050 2050 */ 2051 - static int smc911x_drv_probe(struct platform_device *pdev) 2051 + static int __devinit smc911x_drv_probe(struct platform_device *pdev) 2052 2052 { 2053 2053 #ifdef SMC_DYNAMIC_BUS_CONFIG 2054 2054 struct smc911x_platdata *pd = pdev->dev.platform_data; ··· 2124 2124 return ret; 2125 2125 } 2126 2126 2127 - static int smc911x_drv_remove(struct platform_device *pdev) 2127 + static int __devexit smc911x_drv_remove(struct platform_device *pdev) 2128 2128 { 2129 2129 struct net_device *ndev = platform_get_drvdata(pdev); 2130 2130 struct smc911x_local *lp = netdev_priv(ndev); ··· 2195 2195 2196 2196 static struct platform_driver smc911x_driver = { 2197 2197 .probe = smc911x_drv_probe, 2198 - .remove = smc911x_drv_remove, 2198 + .remove = __devexit_p(smc911x_drv_remove), 2199 2199 .suspend = smc911x_drv_suspend, 2200 2200 .resume = smc911x_drv_resume, 2201 2201 .driver = {
+5 -5
drivers/net/smc91x.c
··· 1696 1696 * I just deleted auto_irq.c, since it was never built... 1697 1697 * --jgarzik 1698 1698 */ 1699 - static int __init smc_findirq(struct smc_local *lp) 1699 + static int __devinit smc_findirq(struct smc_local *lp) 1700 1700 { 1701 1701 void __iomem *ioaddr = lp->base; 1702 1702 int timeout = 20; ··· 1770 1770 * o actually GRAB the irq. 1771 1771 * o GRAB the region 1772 1772 */ 1773 - static int __init smc_probe(struct net_device *dev, void __iomem *ioaddr, 1773 + static int __devinit smc_probe(struct net_device *dev, void __iomem *ioaddr, 1774 1774 unsigned long irq_flags) 1775 1775 { 1776 1776 struct smc_local *lp = netdev_priv(dev); ··· 2126 2126 * 0 --> there is a device 2127 2127 * anything else, error 2128 2128 */ 2129 - static int smc_drv_probe(struct platform_device *pdev) 2129 + static int __devinit smc_drv_probe(struct platform_device *pdev) 2130 2130 { 2131 2131 struct smc91x_platdata *pd = pdev->dev.platform_data; 2132 2132 struct smc_local *lp; ··· 2240 2240 return ret; 2241 2241 } 2242 2242 2243 - static int smc_drv_remove(struct platform_device *pdev) 2243 + static int __devexit smc_drv_remove(struct platform_device *pdev) 2244 2244 { 2245 2245 struct net_device *ndev = platform_get_drvdata(pdev); 2246 2246 struct smc_local *lp = netdev_priv(ndev); ··· 2305 2305 2306 2306 static struct platform_driver smc_driver = { 2307 2307 .probe = smc_drv_probe, 2308 - .remove = smc_drv_remove, 2308 + .remove = __devexit_p(smc_drv_remove), 2309 2309 .suspend = smc_drv_suspend, 2310 2310 .resume = smc_drv_resume, 2311 2311 .driver = {
+3 -3
drivers/net/xen-netfront.c
··· 1785 1785 return 0; 1786 1786 } 1787 1787 1788 - static struct xenbus_driver netfront = { 1788 + static struct xenbus_driver netfront_driver = { 1789 1789 .name = "vif", 1790 1790 .owner = THIS_MODULE, 1791 1791 .ids = netfront_ids, ··· 1805 1805 1806 1806 printk(KERN_INFO "Initialising Xen virtual ethernet driver.\n"); 1807 1807 1808 - return xenbus_register_frontend(&netfront); 1808 + return xenbus_register_frontend(&netfront_driver); 1809 1809 } 1810 1810 module_init(netif_init); 1811 1811 ··· 1815 1815 if (xen_initial_domain()) 1816 1816 return; 1817 1817 1818 - xenbus_unregister_driver(&netfront); 1818 + xenbus_unregister_driver(&netfront_driver); 1819 1819 } 1820 1820 module_exit(netif_exit); 1821 1821
+2
drivers/parport/parport_serial.c
··· 70 70 * parallel ports and <S> is the number of serial ports. 71 71 */ 72 72 card->numports = (dev->subsystem_device & 0xf0) >> 4; 73 + if (card->numports > ARRAY_SIZE(card->addr)) 74 + card->numports = ARRAY_SIZE(card->addr); 73 75 return 0; 74 76 } 75 77
+1 -1
drivers/pci/pci.c
··· 2042 2042 return 0; 2043 2043 } 2044 2044 2045 - static int __devinit pci_setup(char *str) 2045 + static int __init pci_setup(char *str) 2046 2046 { 2047 2047 while (str) { 2048 2048 char *k = strchr(str, ',');
+2 -2
drivers/rapidio/rio-scan.c
··· 879 879 * link, then start recursive peer enumeration. Returns %0 if 880 880 * enumeration succeeds or %-EBUSY if enumeration fails. 881 881 */ 882 - int rio_enum_mport(struct rio_mport *mport) 882 + int __devinit rio_enum_mport(struct rio_mport *mport) 883 883 { 884 884 struct rio_net *net = NULL; 885 885 int rc = 0; ··· 972 972 * peer discovery. Returns %0 if discovery succeeds or %-EBUSY 973 973 * on failure. 974 974 */ 975 - int rio_disc_mport(struct rio_mport *mport) 975 + int __devinit rio_disc_mport(struct rio_mport *mport) 976 976 { 977 977 struct rio_net *net = NULL; 978 978 int enum_timeout_flag = 0;
+1 -1
drivers/rapidio/rio.c
··· 467 467 468 468 device_initcall(rio_init); 469 469 470 - int rio_init_mports(void) 470 + int __devinit rio_init_mports(void) 471 471 { 472 472 int rc = 0; 473 473 struct rio_mport *port;
+4
drivers/scsi/advansys.c
··· 13872 13872 advansys_wide_free_mem(boardp); 13873 13873 free_irq(boardp->irq, shost); 13874 13874 err_free_dma: 13875 + #ifdef CONFIG_ISA 13875 13876 if (shost->dma_channel != NO_ISA_DMA) 13876 13877 free_dma(shost->dma_channel); 13878 + #endif 13877 13879 err_free_proc: 13878 13880 kfree(boardp->prtbuf); 13879 13881 err_unmap: ··· 13896 13894 ASC_DBG(1, "begin\n"); 13897 13895 scsi_remove_host(shost); 13898 13896 free_irq(board->irq, shost); 13897 + #ifdef CONFIG_ISA 13899 13898 if (shost->dma_channel != NO_ISA_DMA) { 13900 13899 ASC_DBG(1, "free_dma()\n"); 13901 13900 free_dma(shost->dma_channel); 13902 13901 } 13902 + #endif 13903 13903 if (ASC_NARROW_BOARD(board)) { 13904 13904 dma_unmap_single(board->dev, 13905 13905 board->dvc_var.asc_dvc_var.overrun_dma,
+6 -6
drivers/scsi/gdth.c
··· 588 588 .remove = gdth_pci_remove_one, 589 589 }; 590 590 591 - static void gdth_pci_remove_one(struct pci_dev *pdev) 591 + static void __devexit gdth_pci_remove_one(struct pci_dev *pdev) 592 592 { 593 593 gdth_ha_str *ha = pci_get_drvdata(pdev); 594 594 ··· 600 600 pci_disable_device(pdev); 601 601 } 602 602 603 - static int gdth_pci_init_one(struct pci_dev *pdev, 603 + static int __devinit gdth_pci_init_one(struct pci_dev *pdev, 604 604 const struct pci_device_id *ent) 605 605 { 606 606 ushort vendor = pdev->vendor; ··· 853 853 #endif /* CONFIG_ISA */ 854 854 855 855 #ifdef CONFIG_PCI 856 - static int gdth_init_pci(struct pci_dev *pdev, gdth_pci_str *pcistr, 856 + static int __devinit gdth_init_pci(struct pci_dev *pdev, gdth_pci_str *pcistr, 857 857 gdth_ha_str *ha) 858 858 { 859 859 register gdt6_dpram_str __iomem *dp6_ptr; ··· 1237 1237 1238 1238 /* controller protocol functions */ 1239 1239 1240 - static void __init gdth_enable_int(gdth_ha_str *ha) 1240 + static void __devinit gdth_enable_int(gdth_ha_str *ha) 1241 1241 { 1242 1242 ulong flags; 1243 1243 gdt2_dpram_str __iomem *dp2_ptr; ··· 1553 1553 1554 1554 /* search for devices */ 1555 1555 1556 - static int __init gdth_search_drives(gdth_ha_str *ha) 1556 + static int __devinit gdth_search_drives(gdth_ha_str *ha) 1557 1557 { 1558 1558 ushort cdev_cnt, i; 1559 1559 int ok; ··· 4935 4935 #endif /* CONFIG_EISA */ 4936 4936 4937 4937 #ifdef CONFIG_PCI 4938 - static int gdth_pci_probe_one(gdth_pci_str *pcistr, 4938 + static int __devinit gdth_pci_probe_one(gdth_pci_str *pcistr, 4939 4939 gdth_ha_str **ha_out) 4940 4940 { 4941 4941 struct Scsi_Host *shp;
+2 -2
drivers/serial/uartlite.c
··· 286 286 287 287 static int ulite_request_port(struct uart_port *port) 288 288 { 289 - pr_debug("ulite console: port=%p; port->mapbase=%x\n", 290 - port, port->mapbase); 289 + pr_debug("ulite console: port=%p; port->mapbase=%llx\n", 290 + port, (unsigned long long) port->mapbase); 291 291 292 292 if (!request_mem_region(port->mapbase, ULITE_REGION, "uartlite")) { 293 293 dev_err(port->dev, "Memory region busy\n");
+16 -10
drivers/spi/au1550_spi.c
··· 369 369 dma_rx_addr = t->rx_dma; 370 370 371 371 /* 372 - * check if buffers are already dma mapped, map them otherwise 372 + * check if buffers are already dma mapped, map them otherwise: 373 + * - first map the TX buffer, so cache data gets written to memory 374 + * - then map the RX buffer, so that cache entries (with 375 + * soon-to-be-stale data) get removed 373 376 * use rx buffer in place of tx if tx buffer was not provided 374 377 * use temp rx buffer (preallocated or realloc to fit) for rx dma 375 378 */ 379 + if (t->tx_buf) { 380 + if (t->tx_dma == 0) { /* if DMA_ADDR_INVALID, map it */ 381 + dma_tx_addr = dma_map_single(hw->dev, 382 + (void *)t->tx_buf, 383 + t->len, DMA_TO_DEVICE); 384 + if (dma_mapping_error(hw->dev, dma_tx_addr)) 385 + dev_err(hw->dev, "tx dma map error\n"); 386 + } 387 + } 388 + 376 389 if (t->rx_buf) { 377 390 if (t->rx_dma == 0) { /* if DMA_ADDR_INVALID, map it */ 378 391 dma_rx_addr = dma_map_single(hw->dev, ··· 409 396 dma_sync_single_for_device(hw->dev, dma_rx_addr, 410 397 t->len, DMA_FROM_DEVICE); 411 398 } 412 - if (t->tx_buf) { 413 - if (t->tx_dma == 0) { /* if DMA_ADDR_INVALID, map it */ 414 - dma_tx_addr = dma_map_single(hw->dev, 415 - (void *)t->tx_buf, 416 - t->len, DMA_TO_DEVICE); 417 - if (dma_mapping_error(hw->dev, dma_tx_addr)) 418 - dev_err(hw->dev, "tx dma map error\n"); 419 - } 420 - } else { 399 + 400 + if (!t->tx_buf) { 421 401 dma_sync_single_for_device(hw->dev, dma_rx_addr, 422 402 t->len, DMA_BIDIRECTIONAL); 423 403 hw->tx = hw->rx;
+4 -1
drivers/spi/mpc52xx_psc_spi.c
··· 142 142 unsigned rfalarm; 143 143 unsigned send_at_once = MPC52xx_PSC_BUFSIZE; 144 144 unsigned recv_at_once; 145 + int last_block = 0; 145 146 146 147 if (!t->tx_buf && !t->rx_buf && t->len) 147 148 return -EINVAL; ··· 152 151 while (rb < t->len) { 153 152 if (t->len - rb > MPC52xx_PSC_BUFSIZE) { 154 153 rfalarm = MPC52xx_PSC_RFALARM; 154 + last_block = 0; 155 155 } else { 156 156 send_at_once = t->len - sb; 157 157 rfalarm = MPC52xx_PSC_BUFSIZE - (t->len - rb); 158 + last_block = 1; 158 159 } 159 160 160 161 dev_dbg(&spi->dev, "send %d bytes...\n", send_at_once); 161 162 for (; send_at_once; sb++, send_at_once--) { 162 163 /* set EOF flag before the last word is sent */ 163 - if (send_at_once == 1) 164 + if (send_at_once == 1 && last_block) 164 165 out_8(&psc->ircr2, 0x01); 165 166 166 167 if (tx_buf)
+13 -12
drivers/spi/spi_imx.c
··· 1456 1456 struct device *dev = &pdev->dev; 1457 1457 struct spi_imx_master *platform_info; 1458 1458 struct spi_master *master; 1459 - struct driver_data *drv_data = NULL; 1459 + struct driver_data *drv_data; 1460 1460 struct resource *res; 1461 1461 int irq, status = 0; 1462 1462 ··· 1466 1466 status = -ENODEV; 1467 1467 goto err_no_pdata; 1468 1468 } 1469 - 1470 - drv_data->clk = clk_get(&pdev->dev, "perclk2"); 1471 - if (IS_ERR(drv_data->clk)) { 1472 - dev_err(&pdev->dev, "probe - cannot get get\n"); 1473 - status = PTR_ERR(drv_data->clk); 1474 - goto err_no_clk; 1475 - } 1476 - clk_enable(drv_data->clk); 1477 1469 1478 1470 /* Allocate master with space for drv_data */ 1479 1471 master = spi_alloc_master(dev, sizeof(struct driver_data)); ··· 1486 1494 master->transfer = transfer; 1487 1495 1488 1496 drv_data->dummy_dma_buf = SPI_DUMMY_u32; 1497 + 1498 + drv_data->clk = clk_get(&pdev->dev, "perclk2"); 1499 + if (IS_ERR(drv_data->clk)) { 1500 + dev_err(&pdev->dev, "probe - cannot get clock\n"); 1501 + status = PTR_ERR(drv_data->clk); 1502 + goto err_no_clk; 1503 + } 1504 + clk_enable(drv_data->clk); 1489 1505 1490 1506 /* Find and map resources */ 1491 1507 res = platform_get_resource(pdev, IORESOURCE_MEM, 0); ··· 1630 1630 kfree(drv_data->ioarea); 1631 1631 1632 1632 err_no_iores: 1633 + clk_disable(drv_data->clk); 1634 + clk_put(drv_data->clk); 1635 + 1636 + err_no_clk: 1633 1637 spi_master_put(master); 1634 1638 1635 1639 err_no_pdata: 1636 - clk_disable(drv_data->clk); 1637 - clk_put(drv_data->clk); 1638 - err_no_clk: 1639 1640 err_no_mem: 1640 1641 return status; 1641 1642 }
+2 -1
drivers/spi/spi_s3c24xx_gpio.c
··· 34 34 35 35 static inline struct s3c2410_spigpio *spidev_to_sg(struct spi_device *spi) 36 36 { 37 - return spi->controller_data; 37 + return spi_master_get_devdata(spi->master); 38 38 } 39 39 40 40 static inline void setsck(struct spi_device *dev, int on) ··· 118 118 /* setup spi bitbang adaptor */ 119 119 sp->bitbang.master = spi_master_get(master); 120 120 sp->bitbang.master->bus_num = info->bus_num; 121 + sp->bitbang.master->num_chipselect = info->num_chipselect; 121 122 sp->bitbang.chipselect = s3c2410_spigpio_chipselect; 122 123 123 124 sp->bitbang.txrx_word[SPI_MODE_0] = s3c2410_spigpio_txrx_mode0;
+3 -1
drivers/spi/spidev.c
··· 597 597 } 598 598 mutex_unlock(&device_list_lock); 599 599 600 - if (status != 0) 600 + if (status == 0) 601 + spi_set_drvdata(spi, spidev); 602 + else 601 603 kfree(spidev); 602 604 603 605 return status;
+3
drivers/usb/gadget/fsl_qe_udc.c
··· 2363 2363 nuke(loop_ep, -ESHUTDOWN); 2364 2364 spin_unlock_irqrestore(&udc_controller->lock, flags); 2365 2365 2366 + /* report disconnect; the controller is already quiesced */ 2367 + driver->disconnect(&udc_controller->gadget); 2368 + 2366 2369 /* unbind gadget and unhook driver. */ 2367 2370 driver->unbind(&udc_controller->gadget); 2368 2371 udc_controller->gadget.dev.driver = NULL;
+3
drivers/usb/gadget/fsl_usb2_udc.c
··· 1836 1836 nuke(loop_ep, -ESHUTDOWN); 1837 1837 spin_unlock_irqrestore(&udc_controller->lock, flags); 1838 1838 1839 + /* report disconnect; the controller is already quiesced */ 1840 + driver->disconnect(&udc_controller->gadget); 1841 + 1839 1842 /* unbind gadget and unhook driver. */ 1840 1843 driver->unbind(&udc_controller->gadget); 1841 1844 udc_controller->gadget.dev.driver = NULL;
+7 -7
drivers/usb/gadget/pxa25x_udc.c
··· 141 141 142 142 if (mach->gpio_vbus) { 143 143 int value = gpio_get_value(mach->gpio_vbus); 144 - return mach->gpio_vbus_inverted ? !value : value; 144 + 145 + if (mach->gpio_vbus_inverted) 146 + return !value; 147 + else 148 + return !!value; 145 149 } 146 150 if (mach->udc_is_connected) 147 151 return mach->udc_is_connected(); ··· 986 982 struct pxa25x_udc *udc; 987 983 988 984 udc = container_of(_gadget, struct pxa25x_udc, gadget); 989 - udc->vbus = (is_active != 0); 985 + udc->vbus = is_active; 990 986 DMSG("vbus %s\n", is_active ? "supplied" : "inactive"); 991 987 pullup(udc); 992 988 return 0; ··· 1403 1399 static irqreturn_t udc_vbus_irq(int irq, void *_dev) 1404 1400 { 1405 1401 struct pxa25x_udc *dev = _dev; 1406 - int vbus = gpio_get_value(dev->mach->gpio_vbus); 1407 1402 1408 - if (dev->mach->gpio_vbus_inverted) 1409 - vbus = !vbus; 1410 - 1411 - pxa25x_udc_vbus_session(&dev->gadget, vbus); 1403 + pxa25x_udc_vbus_session(&dev->gadget, is_vbus_present()); 1412 1404 return IRQ_HANDLED; 1413 1405 } 1414 1406
+6 -3
drivers/usb/host/ehci-pci.c
··· 169 169 } 170 170 break; 171 171 case PCI_VENDOR_ID_ATI: 172 - /* SB700 old version has a bug in EHCI controller, 172 + /* SB600 and old version of SB700 have a bug in EHCI controller, 173 173 * which causes usb devices lose response in some cases. 174 174 */ 175 - if (pdev->device == 0x4396) { 175 + if ((pdev->device == 0x4386) || (pdev->device == 0x4396)) { 176 176 p_smbus = pci_get_device(PCI_VENDOR_ID_ATI, 177 177 PCI_DEVICE_ID_ATI_SBX00_SMBUS, 178 178 NULL); 179 179 if (!p_smbus) 180 180 break; 181 181 rev = p_smbus->revision; 182 - if ((rev == 0x3a) || (rev == 0x3b)) { 182 + if ((pdev->device == 0x4386) || (rev == 0x3a) 183 + || (rev == 0x3b)) { 183 184 u8 tmp; 185 + ehci_info(ehci, "applying AMD SB600/SB700 USB " 186 + "freeze workaround\n"); 184 187 pci_read_config_byte(pdev, 0x53, &tmp); 185 188 pci_write_config_byte(pdev, 0x53, tmp | (1<<3)); 186 189 }
+5 -7
drivers/usb/host/ehci.h
··· 183 183 * the async ring; just the I/O watchdog. Note that if a 184 184 * SHRINK were pending, OFF would never be requested. 185 185 */ 186 - enum ehci_timer_action oldactions = ehci->actions; 186 + if (timer_pending(&ehci->watchdog) 187 + && ((BIT(TIMER_ASYNC_SHRINK) | BIT(TIMER_ASYNC_OFF)) 188 + & ehci->actions)) 189 + return; 187 190 188 191 if (!test_and_set_bit (action, &ehci->actions)) { 189 192 unsigned long t; 190 - 191 - if (timer_pending(&ehci->watchdog) 192 - && ((BIT(TIMER_ASYNC_SHRINK) | BIT(TIMER_ASYNC_OFF)) 193 - & oldactions)) 194 - return; 195 193 196 194 switch (action) { 197 195 case TIMER_IO_WATCHDOG: ··· 206 208 t = DIV_ROUND_UP(EHCI_SHRINK_FRAMES * HZ, 1000) + 1; 207 209 break; 208 210 } 209 - mod_timer(&ehci->watchdog, round_jiffies(t + jiffies)); 211 + mod_timer(&ehci->watchdog, t + jiffies); 210 212 } 211 213 } 212 214
+1
drivers/usb/serial/console.c
··· 135 135 err("no more memory"); 136 136 goto reset_open_count; 137 137 } 138 + kref_init(&tty->kref); 138 139 termios = kzalloc(sizeof(*termios), GFP_KERNEL); 139 140 if (!termios) { 140 141 retval = -ENOMEM;
+35
drivers/usb/serial/option.c
··· 224 224 #define ONDA_VENDOR_ID 0x19d2 225 225 #define ONDA_PRODUCT_MSA501HS 0x0001 226 226 #define ONDA_PRODUCT_ET502HS 0x0002 227 + #define ONDA_PRODUCT_MT503HS 0x0200 227 228 228 229 #define BANDRICH_VENDOR_ID 0x1A8D 229 230 #define BANDRICH_PRODUCT_C100_1 0x1002 ··· 414 413 { USB_DEVICE(AXESSTEL_VENDOR_ID, AXESSTEL_PRODUCT_MV110H) }, 415 414 { USB_DEVICE(ONDA_VENDOR_ID, ONDA_PRODUCT_MSA501HS) }, 416 415 { USB_DEVICE(ONDA_VENDOR_ID, ONDA_PRODUCT_ET502HS) }, 416 + { USB_DEVICE(ONDA_VENDOR_ID, 0x0003) }, 417 + { USB_DEVICE(ONDA_VENDOR_ID, 0x0004) }, 418 + { USB_DEVICE(ONDA_VENDOR_ID, 0x0005) }, 419 + { USB_DEVICE(ONDA_VENDOR_ID, 0x0006) }, 420 + { USB_DEVICE(ONDA_VENDOR_ID, 0x0007) }, 421 + { USB_DEVICE(ONDA_VENDOR_ID, 0x0008) }, 422 + { USB_DEVICE(ONDA_VENDOR_ID, 0x0009) }, 423 + { USB_DEVICE(ONDA_VENDOR_ID, 0x000a) }, 424 + { USB_DEVICE(ONDA_VENDOR_ID, 0x000b) }, 425 + { USB_DEVICE(ONDA_VENDOR_ID, 0x000c) }, 426 + { USB_DEVICE(ONDA_VENDOR_ID, 0x000d) }, 427 + { USB_DEVICE(ONDA_VENDOR_ID, 0x000e) }, 428 + { USB_DEVICE(ONDA_VENDOR_ID, 0x000f) }, 429 + { USB_DEVICE(ONDA_VENDOR_ID, 0x0010) }, 430 + { USB_DEVICE(ONDA_VENDOR_ID, 0x0011) }, 431 + { USB_DEVICE(ONDA_VENDOR_ID, 0x0012) }, 432 + { USB_DEVICE(ONDA_VENDOR_ID, 0x0013) }, 433 + { USB_DEVICE(ONDA_VENDOR_ID, 0x0014) }, 434 + { USB_DEVICE(ONDA_VENDOR_ID, 0x0015) }, 435 + { USB_DEVICE(ONDA_VENDOR_ID, 0x0016) }, 436 + { USB_DEVICE(ONDA_VENDOR_ID, 0x0017) }, 437 + { USB_DEVICE(ONDA_VENDOR_ID, 0x0018) }, 438 + { USB_DEVICE(ONDA_VENDOR_ID, 0x0019) }, 439 + { USB_DEVICE(ONDA_VENDOR_ID, 0x0020) }, 440 + { USB_DEVICE(ONDA_VENDOR_ID, 0x0021) }, 441 + { USB_DEVICE(ONDA_VENDOR_ID, 0x0022) }, 442 + { USB_DEVICE(ONDA_VENDOR_ID, 0x0023) }, 443 + { USB_DEVICE(ONDA_VENDOR_ID, 0x0024) }, 444 + { USB_DEVICE(ONDA_VENDOR_ID, 0x0025) }, 445 + { USB_DEVICE(ONDA_VENDOR_ID, 0x0026) }, 446 + { USB_DEVICE(ONDA_VENDOR_ID, 0x0027) }, 447 + { USB_DEVICE(ONDA_VENDOR_ID, 0x0028) }, 448 + { USB_DEVICE(ONDA_VENDOR_ID, 0x0029) }, 449 + { USB_DEVICE(ONDA_VENDOR_ID, ONDA_PRODUCT_MT503HS) }, 417 450 { USB_DEVICE(YISO_VENDOR_ID, YISO_PRODUCT_U893) }, 418 451 { USB_DEVICE(BANDRICH_VENDOR_ID, BANDRICH_PRODUCT_C100_1) }, 419 452 { USB_DEVICE(BANDRICH_VENDOR_ID, BANDRICH_PRODUCT_C100_2) },
+19
drivers/usb/storage/unusual_devs.h
··· 318 318 US_SC_SCSI, US_PR_KARMA, rio_karma_init, 0), 319 319 #endif 320 320 321 + /* Reported by Tamas Kerecsen <kerecsen@bigfoot.com> 322 + * Obviously the PROM has not been customized by the VAR; 323 + * the Vendor and Product string descriptors are: 324 + * Generic Mass Storage (PROTOTYPE--Remember to change idVendor) 325 + * Generic Manufacturer (PROTOTYPE--Remember to change idVendor) 326 + */ 327 + UNUSUAL_DEV( 0x045e, 0xffff, 0x0000, 0x0000, 328 + "Mitac", 329 + "GPS", 330 + US_SC_DEVICE, US_PR_DEVICE, NULL, 331 + US_FL_MAX_SECTORS_64 ), 332 + 321 333 /* 322 334 * This virtual floppy is found in Sun equipment (x4600, x4200m2, etc.) 323 335 * Reported by Pete Zaitcev <zaitcev@redhat.com> ··· 386 374 UNUSUAL_DEV( 0x04b0, 0x0401, 0x0200, 0x0200, 387 375 "NIKON", 388 376 "NIKON DSC D100", 377 + US_SC_DEVICE, US_PR_DEVICE, NULL, 378 + US_FL_FIX_CAPACITY), 379 + 380 + /* Reported by Tobias Kunze Briseno <t-linux@fictive.com> */ 381 + UNUSUAL_DEV( 0x04b0, 0x0403, 0x0200, 0x0200, 382 + "NIKON", 383 + "NIKON DSC D2H", 389 384 US_SC_DEVICE, US_PR_DEVICE, NULL, 390 385 US_FL_FIX_CAPACITY), 391 386
+12 -9
drivers/video/aty/radeon_accel.c
··· 174 174 const struct fb_image *image, 175 175 u32 fg, u32 bg) 176 176 { 177 - unsigned int src_bytes, dwords; 177 + unsigned int dwords; 178 178 u32 *bits; 179 179 180 180 radeonfb_set_creg(rinfo, DP_GUI_MASTER_CNTL, &rinfo->dp_gui_mc_cache, 181 181 rinfo->dp_gui_mc_base | 182 - GMC_BRUSH_NONE | 182 + GMC_BRUSH_NONE | GMC_DST_CLIP_LEAVE | 183 183 GMC_SRC_DATATYPE_MONO_FG_BG | 184 184 ROP3_S | 185 185 GMC_BYTE_ORDER_MSB_TO_LSB | ··· 188 188 DST_X_LEFT_TO_RIGHT | DST_Y_TOP_TO_BOTTOM); 189 189 radeonfb_set_creg(rinfo, DP_SRC_FRGD_CLR, &rinfo->dp_src_fg_cache, fg); 190 190 radeonfb_set_creg(rinfo, DP_SRC_BKGD_CLR, &rinfo->dp_src_bg_cache, bg); 191 - 192 - radeon_fifo_wait(rinfo, 1); 193 - OUTREG(DST_Y_X, (image->dy << 16) | image->dx); 194 191 195 192 /* Ensure the dst cache is flushed and the engine idle before 196 193 * issuing the operation. ··· 202 205 203 206 /* X here pads width to a multiple of 32 and uses the clipper to 204 207 * adjust the result. Is that really necessary ? Things seem to 205 - * work ok for me without that and the doco doesn't seem to imply 208 + * work ok for me without that and the doco doesn't seem to imply] 206 209 * there is such a restriction. 207 210 */ 208 - OUTREG(DST_WIDTH_HEIGHT, (image->width << 16) | image->height); 211 + radeon_fifo_wait(rinfo, 4); 212 + OUTREG(SC_TOP_LEFT, (image->dy << 16) | image->dx); 213 + OUTREG(SC_BOTTOM_RIGHT, ((image->dy + image->height) << 16) | 214 + (image->dx + image->width)); 215 + OUTREG(DST_Y_X, (image->dy << 16) | image->dx); 209 216 210 - src_bytes = (((image->width * image->depth) + 7) / 8) * image->height; 211 - dwords = (src_bytes + 3) / 4; 217 + OUTREG(DST_HEIGHT_WIDTH, (image->height << 16) | ((image->width + 31) & ~31)); 218 + 219 + dwords = (image->width + 31) >> 5; 220 + dwords *= image->height; 212 221 bits = (u32*)(image->data); 213 222 214 223 while(dwords >= 8) {
+18
drivers/video/aty/radeon_base.c
··· 1875 1875 info->fbops = &radeonfb_ops; 1876 1876 info->screen_base = rinfo->fb_base; 1877 1877 info->screen_size = rinfo->mapped_vram; 1878 + 1878 1879 /* Fill fix common fields */ 1879 1880 strlcpy(info->fix.id, rinfo->name, sizeof(info->fix.id)); 1880 1881 info->fix.smem_start = rinfo->fb_base_phys; ··· 1890 1889 info->fix.mmio_len = RADEON_REGSIZE; 1891 1890 info->fix.accel = FB_ACCEL_ATI_RADEON; 1892 1891 1892 + /* Allocate colormap */ 1893 1893 fb_alloc_cmap(&info->cmap, 256, 0); 1894 1894 1895 + /* Setup pixmap used for acceleration */ 1896 + #define PIXMAP_SIZE (2048 * 4) 1897 + 1898 + info->pixmap.addr = kmalloc(PIXMAP_SIZE, GFP_KERNEL); 1899 + if (!info->pixmap.addr) { 1900 + printk(KERN_ERR "radeonfb: Failed to allocate pixmap !\n"); 1901 + noaccel = 1; 1902 + goto bail; 1903 + } 1904 + info->pixmap.size = PIXMAP_SIZE; 1905 + info->pixmap.flags = FB_PIXMAP_SYSTEM; 1906 + info->pixmap.scan_align = 4; 1907 + info->pixmap.buf_align = 4; 1908 + info->pixmap.access_align = 32; 1909 + 1910 + bail: 1895 1911 if (noaccel) 1896 1912 info->flags |= FBINFO_HWACCEL_DISABLED; 1897 1913
+3 -6
drivers/video/console/fbcon.c
··· 2389 2389 2390 2390 if (!fbcon_is_inactive(vc, info)) { 2391 2391 if (ops->blank_state != blank) { 2392 - int ret = 1; 2393 - 2394 2392 ops->blank_state = blank; 2395 2393 fbcon_cursor(vc, blank ? CM_ERASE : CM_DRAW); 2396 2394 ops->cursor_flash = (!blank); 2397 2395 2398 - if (info->fbops->fb_blank) 2399 - ret = info->fbops->fb_blank(blank, info); 2400 - if (ret) 2401 - fbcon_generic_blank(vc, info, blank); 2396 + if (!(info->flags & FBINFO_MISC_USEREVENT)) 2397 + if (fb_blank(info, blank)) 2398 + fbcon_generic_blank(vc, info, blank); 2402 2399 } 2403 2400 2404 2401 if (!blank)
-1
drivers/video/omap/Makefile
··· 23 23 objs-$(CONFIG_ARCH_OMAP16XX)$(CONFIG_MACH_OMAP_INNOVATOR) += lcd_inn1610.o 24 24 objs-$(CONFIG_ARCH_OMAP15XX)$(CONFIG_MACH_OMAP_INNOVATOR) += lcd_inn1510.o 25 25 objs-y$(CONFIG_MACH_OMAP_OSK) += lcd_osk.o 26 - objs-y$(CONFIG_MACH_SX1) += lcd_sx1.o 27 26 28 27 omapfb-objs := $(objs-yy) 29 28
-327
drivers/video/omap/lcd_sx1.c
··· 1 - /* 2 - * LCD panel support for the Siemens SX1 mobile phone 3 - * 4 - * Current version : Vovan888@gmail.com, great help from FCA00000 5 - * 6 - * This program is free software; you can redistribute it and/or modify it 7 - * under the terms of the GNU General Public License as published by the 8 - * Free Software Foundation; either version 2 of the License, or (at your 9 - * option) any later version. 10 - * 11 - * This program is distributed in the hope that it will be useful, but 12 - * WITHOUT ANY WARRANTY; without even the implied warranty of 13 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 - * General Public License for more details. 15 - * 16 - * You should have received a copy of the GNU General Public License along 17 - * with this program; if not, write to the Free Software Foundation, Inc., 18 - * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 19 - */ 20 - 21 - #include <linux/module.h> 22 - #include <linux/platform_device.h> 23 - #include <linux/delay.h> 24 - #include <linux/io.h> 25 - 26 - #include <mach/gpio.h> 27 - #include <mach/omapfb.h> 28 - #include <mach/mcbsp.h> 29 - #include <mach/mux.h> 30 - 31 - /* 32 - * OMAP310 GPIO registers 33 - */ 34 - #define GPIO_DATA_INPUT 0xfffce000 35 - #define GPIO_DATA_OUTPUT 0xfffce004 36 - #define GPIO_DIR_CONTROL 0xfffce008 37 - #define GPIO_INT_CONTROL 0xfffce00c 38 - #define GPIO_INT_MASK 0xfffce010 39 - #define GPIO_INT_STATUS 0xfffce014 40 - #define GPIO_PIN_CONTROL 0xfffce018 41 - 42 - 43 - #define A_LCD_SSC_RD 3 44 - #define A_LCD_SSC_SD 7 45 - #define _A_LCD_RESET 9 46 - #define _A_LCD_SSC_CS 12 47 - #define _A_LCD_SSC_A0 13 48 - 49 - #define DSP_REG 0xE1017024 50 - 51 - const unsigned char INIT_1[12] = { 52 - 0x1C, 0x02, 0x88, 0x00, 0x1E, 0xE0, 0x00, 0xDC, 0x00, 0x02, 0x00 53 - }; 54 - 55 - const unsigned char INIT_2[127] = { 56 - 0x15, 0x00, 0x29, 0x00, 0x3E, 0x00, 0x51, 0x00, 57 - 0x65, 0x00, 0x7A, 0x00, 0x8D, 0x00, 0xA1, 0x00, 58 - 0xB6, 0x00, 0xC7, 0x00, 0xD8, 0x00, 0xEB, 0x00, 59 - 0xFB, 0x00, 0x0B, 0x01, 0x1B, 0x01, 0x27, 0x01, 60 - 0x34, 0x01, 0x41, 0x01, 0x4C, 0x01, 0x55, 0x01, 61 - 0x5F, 0x01, 0x68, 0x01, 0x70, 0x01, 0x78, 0x01, 62 - 0x7E, 0x01, 0x86, 0x01, 0x8C, 0x01, 0x94, 0x01, 63 - 0x9B, 0x01, 0xA1, 0x01, 0xA4, 0x01, 0xA9, 0x01, 64 - 0xAD, 0x01, 0xB2, 0x01, 0xB7, 0x01, 0xBC, 0x01, 65 - 0xC0, 0x01, 0xC4, 0x01, 0xC8, 0x01, 0xCB, 0x01, 66 - 0xCF, 0x01, 0xD2, 0x01, 0xD5, 0x01, 0xD8, 0x01, 67 - 0xDB, 0x01, 0xE0, 0x01, 0xE3, 0x01, 0xE6, 0x01, 68 - 0xE8, 0x01, 0xEB, 0x01, 0xEE, 0x01, 0xF1, 0x01, 69 - 0xF3, 0x01, 0xF8, 0x01, 0xF9, 0x01, 0xFC, 0x01, 70 - 0x00, 0x02, 0x03, 0x02, 0x07, 0x02, 0x09, 0x02, 71 - 0x0E, 0x02, 0x13, 0x02, 0x1C, 0x02, 0x00 72 - }; 73 - 74 - const unsigned char INIT_3[15] = { 75 - 0x14, 0x26, 0x33, 0x3D, 0x45, 0x4D, 0x53, 0x59, 76 - 0x5E, 0x63, 0x67, 0x6D, 0x71, 0x78, 0xFF 77 - }; 78 - 79 - static void epson_sendbyte(int flag, unsigned char byte) 80 - { 81 - int i, shifter = 0x80; 82 - 83 - if (!flag) 84 - gpio_set_value(_A_LCD_SSC_A0, 0); 85 - mdelay(2); 86 - gpio_set_value(A_LCD_SSC_RD, 1); 87 - 88 - gpio_set_value(A_LCD_SSC_SD, flag); 89 - 90 - OMAP_MCBSP_WRITE(OMAP1510_MCBSP3_BASE, PCR0, 0x2200); 91 - OMAP_MCBSP_WRITE(OMAP1510_MCBSP3_BASE, PCR0, 0x2202); 92 - for (i = 0; i < 8; i++) { 93 - OMAP_MCBSP_WRITE(OMAP1510_MCBSP3_BASE, PCR0, 0x2200); 94 - gpio_set_value(A_LCD_SSC_SD, shifter & byte); 95 - OMAP_MCBSP_WRITE(OMAP1510_MCBSP3_BASE, PCR0, 0x2202); 96 - shifter >>= 1; 97 - } 98 - gpio_set_value(_A_LCD_SSC_A0, 1); 99 - } 100 - 101 - static void init_system(void) 102 - { 103 - omap_mcbsp_request(OMAP_MCBSP3); 104 - omap_mcbsp_stop(OMAP_MCBSP3); 105 - } 106 - 107 - static void setup_GPIO(void) 108 - { 109 - /* new wave */ 110 - gpio_request(A_LCD_SSC_RD, "lcd_ssc_rd"); 111 - gpio_request(A_LCD_SSC_SD, "lcd_ssc_sd"); 112 - gpio_request(_A_LCD_RESET, "lcd_reset"); 113 - gpio_request(_A_LCD_SSC_CS, "lcd_ssc_cs"); 114 - gpio_request(_A_LCD_SSC_A0, "lcd_ssc_a0"); 115 - 116 - /* set GPIOs to output, with initial data */ 117 - gpio_direction_output(A_LCD_SSC_RD, 1); 118 - gpio_direction_output(A_LCD_SSC_SD, 0); 119 - gpio_direction_output(_A_LCD_RESET, 0); 120 - gpio_direction_output(_A_LCD_SSC_CS, 1); 121 - gpio_direction_output(_A_LCD_SSC_A0, 1); 122 - } 123 - 124 - static void display_init(void) 125 - { 126 - int i; 127 - 128 - omap_cfg_reg(MCBSP3_CLKX); 129 - 130 - mdelay(2); 131 - setup_GPIO(); 132 - mdelay(2); 133 - 134 - /* reset LCD */ 135 - gpio_set_value(A_LCD_SSC_SD, 1); 136 - epson_sendbyte(0, 0x25); 137 - 138 - gpio_set_value(_A_LCD_RESET, 0); 139 - mdelay(10); 140 - gpio_set_value(_A_LCD_RESET, 1); 141 - 142 - gpio_set_value(_A_LCD_SSC_CS, 1); 143 - mdelay(2); 144 - gpio_set_value(_A_LCD_SSC_CS, 0); 145 - 146 - /* init LCD, phase 1 */ 147 - epson_sendbyte(0, 0xCA); 148 - for (i = 0; i < 10; i++) 149 - epson_sendbyte(1, INIT_1[i]); 150 - gpio_set_value(_A_LCD_SSC_CS, 1); 151 - gpio_set_value(_A_LCD_SSC_CS, 0); 152 - 153 - /* init LCD phase 2 */ 154 - epson_sendbyte(0, 0xCB); 155 - for (i = 0; i < 125; i++) 156 - epson_sendbyte(1, INIT_2[i]); 157 - gpio_set_value(_A_LCD_SSC_CS, 1); 158 - gpio_set_value(_A_LCD_SSC_CS, 0); 159 - 160 - /* init LCD phase 2a */ 161 - epson_sendbyte(0, 0xCC); 162 - for (i = 0; i < 14; i++) 163 - epson_sendbyte(1, INIT_3[i]); 164 - gpio_set_value(_A_LCD_SSC_CS, 1); 165 - gpio_set_value(_A_LCD_SSC_CS, 0); 166 - 167 - /* init LCD phase 3 */ 168 - epson_sendbyte(0, 0xBC); 169 - epson_sendbyte(1, 0x08); 170 - gpio_set_value(_A_LCD_SSC_CS, 1); 171 - gpio_set_value(_A_LCD_SSC_CS, 0); 172 - 173 - /* init LCD phase 4 */ 174 - epson_sendbyte(0, 0x07); 175 - epson_sendbyte(1, 0x05); 176 - gpio_set_value(_A_LCD_SSC_CS, 1); 177 - gpio_set_value(_A_LCD_SSC_CS, 0); 178 - 179 - /* init LCD phase 5 */ 180 - epson_sendbyte(0, 0x94); 181 - gpio_set_value(_A_LCD_SSC_CS, 1); 182 - gpio_set_value(_A_LCD_SSC_CS, 0); 183 - 184 - /* init LCD phase 6 */ 185 - epson_sendbyte(0, 0xC6); 186 - epson_sendbyte(1, 0x80); 187 - gpio_set_value(_A_LCD_SSC_CS, 1); 188 - mdelay(100); /* used to be 1000 */ 189 - gpio_set_value(_A_LCD_SSC_CS, 0); 190 - 191 - /* init LCD phase 7 */ 192 - epson_sendbyte(0, 0x16); 193 - epson_sendbyte(1, 0x02); 194 - epson_sendbyte(1, 0x00); 195 - epson_sendbyte(1, 0xB1); 196 - epson_sendbyte(1, 0x00); 197 - gpio_set_value(_A_LCD_SSC_CS, 1); 198 - gpio_set_value(_A_LCD_SSC_CS, 0); 199 - 200 - /* init LCD phase 8 */ 201 - epson_sendbyte(0, 0x76); 202 - epson_sendbyte(1, 0x00); 203 - epson_sendbyte(1, 0x00); 204 - epson_sendbyte(1, 0xDB); 205 - epson_sendbyte(1, 0x00); 206 - gpio_set_value(_A_LCD_SSC_CS, 1); 207 - gpio_set_value(_A_LCD_SSC_CS, 0); 208 - 209 - /* init LCD phase 9 */ 210 - epson_sendbyte(0, 0xAF); 211 - gpio_set_value(_A_LCD_SSC_CS, 1); 212 - } 213 - 214 - static int sx1_panel_init(struct lcd_panel *panel, struct omapfb_device *fbdev) 215 - { 216 - return 0; 217 - } 218 - 219 - static void sx1_panel_cleanup(struct lcd_panel *panel) 220 - { 221 - } 222 - 223 - static void sx1_panel_disable(struct lcd_panel *panel) 224 - { 225 - printk(KERN_INFO "SX1: LCD panel disable\n"); 226 - sx1_setmmipower(0); 227 - gpio_set_value(_A_LCD_SSC_CS, 1); 228 - 229 - epson_sendbyte(0, 0x25); 230 - gpio_set_value(_A_LCD_SSC_CS, 0); 231 - 232 - epson_sendbyte(0, 0xAE); 233 - gpio_set_value(_A_LCD_SSC_CS, 1); 234 - mdelay(100); 235 - gpio_set_value(_A_LCD_SSC_CS, 0); 236 - 237 - epson_sendbyte(0, 0x95); 238 - gpio_set_value(_A_LCD_SSC_CS, 1); 239 - } 240 - 241 - static int sx1_panel_enable(struct lcd_panel *panel) 242 - { 243 - printk(KERN_INFO "lcd_sx1: LCD panel enable\n"); 244 - init_system(); 245 - display_init(); 246 - 247 - sx1_setmmipower(1); 248 - sx1_setbacklight(0x18); 249 - sx1_setkeylight (0x06); 250 - return 0; 251 - } 252 - 253 - 254 - static unsigned long sx1_panel_get_caps(struct lcd_panel *panel) 255 - { 256 - return 0; 257 - } 258 - 259 - struct lcd_panel sx1_panel = { 260 - .name = "sx1", 261 - .config = OMAP_LCDC_PANEL_TFT | OMAP_LCDC_INV_VSYNC | 262 - OMAP_LCDC_INV_HSYNC | OMAP_LCDC_INV_PIX_CLOCK | 263 - OMAP_LCDC_INV_OUTPUT_EN, 264 - 265 - .x_res = 176, 266 - .y_res = 220, 267 - .data_lines = 16, 268 - .bpp = 16, 269 - .hsw = 5, 270 - .hfp = 5, 271 - .hbp = 5, 272 - .vsw = 2, 273 - .vfp = 1, 274 - .vbp = 1, 275 - .pixel_clock = 1500, 276 - 277 - .init = sx1_panel_init, 278 - .cleanup = sx1_panel_cleanup, 279 - .enable = sx1_panel_enable, 280 - .disable = sx1_panel_disable, 281 - .get_caps = sx1_panel_get_caps, 282 - }; 283 - 284 - static int sx1_panel_probe(struct platform_device *pdev) 285 - { 286 - omapfb_register_panel(&sx1_panel); 287 - return 0; 288 - } 289 - 290 - static int sx1_panel_remove(struct platform_device *pdev) 291 - { 292 - return 0; 293 - } 294 - 295 - static int sx1_panel_suspend(struct platform_device *pdev, pm_message_t mesg) 296 - { 297 - return 0; 298 - } 299 - 300 - static int sx1_panel_resume(struct platform_device *pdev) 301 - { 302 - return 0; 303 - } 304 - 305 - struct platform_driver sx1_panel_driver = { 306 - .probe = sx1_panel_probe, 307 - .remove = sx1_panel_remove, 308 - .suspend = sx1_panel_suspend, 309 - .resume = sx1_panel_resume, 310 - .driver = { 311 - .name = "lcd_sx1", 312 - .owner = THIS_MODULE, 313 - }, 314 - }; 315 - 316 - static int sx1_panel_drv_init(void) 317 - { 318 - return platform_driver_register(&sx1_panel_driver); 319 - } 320 - 321 - static void sx1_panel_drv_cleanup(void) 322 - { 323 - platform_driver_unregister(&sx1_panel_driver); 324 - } 325 - 326 - module_init(sx1_panel_drv_init); 327 - module_exit(sx1_panel_drv_cleanup);
+4 -1
drivers/video/pxafb.c
··· 804 804 805 805 static int pxafb_smart_init(struct pxafb_info *fbi) 806 806 { 807 + if (!(fbi->lccr0 | LCCR0_LCDT)) 808 + return 0; 809 + 807 810 fbi->smart_thread = kthread_run(pxafb_smart_thread, fbi, 808 811 "lcd_refresh"); 809 812 if (IS_ERR(fbi->smart_thread)) { ··· 1375 1372 fbi->cmap_inverse = inf->cmap_inverse; 1376 1373 fbi->cmap_static = inf->cmap_static; 1377 1374 1378 - switch (lcd_conn & 0xf) { 1375 + switch (lcd_conn & LCD_TYPE_MASK) { 1379 1376 case LCD_TYPE_MONO_STN: 1380 1377 fbi->lccr0 = LCCR0_CMS; 1381 1378 break;
+3 -3
drivers/video/xen-fbfront.c
··· 668 668 { "" } 669 669 }; 670 670 671 - static struct xenbus_driver xenfb = { 671 + static struct xenbus_driver xenfb_driver = { 672 672 .name = "vfb", 673 673 .owner = THIS_MODULE, 674 674 .ids = xenfb_ids, ··· 687 687 if (xen_initial_domain()) 688 688 return -ENODEV; 689 689 690 - return xenbus_register_frontend(&xenfb); 690 + return xenbus_register_frontend(&xenfb_driver); 691 691 } 692 692 693 693 static void __exit xenfb_cleanup(void) 694 694 { 695 - xenbus_unregister_driver(&xenfb); 695 + xenbus_unregister_driver(&xenfb_driver); 696 696 } 697 697 698 698 module_init(xenfb_init);
+3 -2
drivers/video/xilinxfb.c
··· 298 298 299 299 /* Put a banner in the log (for DEBUG) */ 300 300 dev_dbg(dev, "regs: phys=%lx, virt=%p\n", physaddr, drvdata->regs); 301 - dev_dbg(dev, "fb: phys=%p, virt=%p, size=%x\n", 302 - (void*)drvdata->fb_phys, drvdata->fb_virt, fbsize); 301 + dev_dbg(dev, "fb: phys=%llx, virt=%p, size=%x\n", 302 + (unsigned long long) drvdata->fb_phys, drvdata->fb_virt, 303 + fbsize); 303 304 304 305 return 0; /* success */ 305 306
+1 -1
drivers/w1/masters/Kconfig
··· 36 36 37 37 config W1_MASTER_DS1WM 38 38 tristate "Maxim DS1WM 1-wire busmaster" 39 - depends on W1 && ARM 39 + depends on W1 && ARM && HAVE_CLK 40 40 help 41 41 Say Y here to enable the DS1WM 1-wire driver, such as that 42 42 in HP iPAQ devices like h5xxx, h2200, and ASIC3-based like
+1
fs/buffer.c
··· 878 878 spin_unlock(&buffer_mapping->private_lock); 879 879 } 880 880 } 881 + EXPORT_SYMBOL(invalidate_inode_buffers); 881 882 882 883 /* 883 884 * Remove any clean buffers from the inode's buffer list. This is called
+56 -21
fs/cifs/file.c
··· 1475 1475 cFYI(1, ("write_end for page %p from pos %lld with %d bytes", 1476 1476 page, pos, copied)); 1477 1477 1478 - if (!PageUptodate(page) && copied == PAGE_CACHE_SIZE) 1478 + if (PageChecked(page)) { 1479 + if (copied == len) 1480 + SetPageUptodate(page); 1481 + ClearPageChecked(page); 1482 + } else if (!PageUptodate(page) && copied == PAGE_CACHE_SIZE) 1479 1483 SetPageUptodate(page); 1480 1484 1481 1485 if (!PageUptodate(page)) { ··· 2066 2062 { 2067 2063 pgoff_t index = pos >> PAGE_CACHE_SHIFT; 2068 2064 loff_t offset = pos & (PAGE_CACHE_SIZE - 1); 2065 + loff_t page_start = pos & PAGE_MASK; 2066 + loff_t i_size; 2067 + struct page *page; 2068 + int rc = 0; 2069 2069 2070 2070 cFYI(1, ("write_begin from %lld len %d", (long long)pos, len)); 2071 2071 2072 - *pagep = __grab_cache_page(mapping, index); 2073 - if (!*pagep) 2074 - return -ENOMEM; 2072 + page = __grab_cache_page(mapping, index); 2073 + if (!page) { 2074 + rc = -ENOMEM; 2075 + goto out; 2076 + } 2075 2077 2076 - if (PageUptodate(*pagep)) 2077 - return 0; 2078 + if (PageUptodate(page)) 2079 + goto out; 2078 2080 2079 - /* If we are writing a full page it will be up to date, 2080 - no need to read from the server */ 2081 - if (len == PAGE_CACHE_SIZE && flags & AOP_FLAG_UNINTERRUPTIBLE) 2082 - return 0; 2081 + /* 2082 + * If we write a full page it will be up to date, no need to read from 2083 + * the server. If the write is short, we'll end up doing a sync write 2084 + * instead. 2085 + */ 2086 + if (len == PAGE_CACHE_SIZE) 2087 + goto out; 2088 + 2089 + /* 2090 + * optimize away the read when we have an oplock, and we're not 2091 + * expecting to use any of the data we'd be reading in. That 2092 + * is, when the page lies beyond the EOF, or straddles the EOF 2093 + * and the write will cover all of the existing data. 2094 + */ 2095 + if (CIFS_I(mapping->host)->clientCanCacheRead) { 2096 + i_size = i_size_read(mapping->host); 2097 + if (page_start >= i_size || 2098 + (offset == 0 && (pos + len) >= i_size)) { 2099 + zero_user_segments(page, 0, offset, 2100 + offset + len, 2101 + PAGE_CACHE_SIZE); 2102 + /* 2103 + * PageChecked means that the parts of the page 2104 + * to which we're not writing are considered up 2105 + * to date. Once the data is copied to the 2106 + * page, it can be set uptodate. 2107 + */ 2108 + SetPageChecked(page); 2109 + goto out; 2110 + } 2111 + } 2083 2112 2084 2113 if ((file->f_flags & O_ACCMODE) != O_WRONLY) { 2085 - int rc; 2086 - 2087 - /* might as well read a page, it is fast enough */ 2088 - rc = cifs_readpage_worker(file, *pagep, &offset); 2089 - 2090 - /* we do not need to pass errors back 2091 - e.g. if we do not have read access to the file 2092 - because cifs_write_end will attempt synchronous writes 2093 - -- shaggy */ 2114 + /* 2115 + * might as well read a page, it is fast enough. If we get 2116 + * an error, we don't need to return it. cifs_write_end will 2117 + * do a sync write instead since PG_uptodate isn't set. 2118 + */ 2119 + cifs_readpage_worker(file, page, &page_start); 2094 2120 } else { 2095 2121 /* we could try using another file handle if there is one - 2096 2122 but how would we lock it to prevent close of that handle 2097 2123 racing with this read? In any case 2098 2124 this will be written out by write_end so is fine */ 2099 2125 } 2100 - 2101 - return 0; 2126 + out: 2127 + *pagep = page; 2128 + return rc; 2102 2129 } 2103 2130 2104 2131 const struct address_space_operations cifs_addr_ops = {
+77 -8
fs/eventpoll.c
··· 102 102 103 103 #define EP_UNACTIVE_PTR ((void *) -1L) 104 104 105 + #define EP_ITEM_COST (sizeof(struct epitem) + sizeof(struct eppoll_entry)) 106 + 105 107 struct epoll_filefd { 106 108 struct file *file; 107 109 int fd; ··· 202 200 * holding ->lock. 203 201 */ 204 202 struct epitem *ovflist; 203 + 204 + /* The user that created the eventpoll descriptor */ 205 + struct user_struct *user; 205 206 }; 206 207 207 208 /* Wait structure used by the poll hooks */ ··· 232 227 }; 233 228 234 229 /* 230 + * Configuration options available inside /proc/sys/fs/epoll/ 231 + */ 232 + /* Maximum number of epoll devices, per user */ 233 + static int max_user_instances __read_mostly; 234 + /* Maximum number of epoll watched descriptors, per user */ 235 + static int max_user_watches __read_mostly; 236 + 237 + /* 235 238 * This mutex is used to serialize ep_free() and eventpoll_release_file(). 236 239 */ 237 - static struct mutex epmutex; 240 + static DEFINE_MUTEX(epmutex); 238 241 239 242 /* Safe wake up implementation */ 240 243 static struct poll_safewake psw; ··· 252 239 253 240 /* Slab cache used to allocate "struct eppoll_entry" */ 254 241 static struct kmem_cache *pwq_cache __read_mostly; 242 + 243 + #ifdef CONFIG_SYSCTL 244 + 245 + #include <linux/sysctl.h> 246 + 247 + static int zero; 248 + 249 + ctl_table epoll_table[] = { 250 + { 251 + .procname = "max_user_instances", 252 + .data = &max_user_instances, 253 + .maxlen = sizeof(int), 254 + .mode = 0644, 255 + .proc_handler = &proc_dointvec_minmax, 256 + .extra1 = &zero, 257 + }, 258 + { 259 + .procname = "max_user_watches", 260 + .data = &max_user_watches, 261 + .maxlen = sizeof(int), 262 + .mode = 0644, 263 + .proc_handler = &proc_dointvec_minmax, 264 + .extra1 = &zero, 265 + }, 266 + { .ctl_name = 0 } 267 + }; 268 + #endif /* CONFIG_SYSCTL */ 255 269 256 270 257 271 /* Setup the structure that is used as key for the RB tree */ ··· 442 402 /* At this point it is safe to free the eventpoll item */ 443 403 kmem_cache_free(epi_cache, epi); 444 404 405 + atomic_dec(&ep->user->epoll_watches); 406 + 445 407 DNPRINTK(3, (KERN_INFO "[%p] eventpoll: ep_remove(%p, %p)\n", 446 408 current, ep, file)); 447 409 ··· 491 449 492 450 mutex_unlock(&epmutex); 493 451 mutex_destroy(&ep->mtx); 452 + atomic_dec(&ep->user->epoll_devs); 453 + free_uid(ep->user); 494 454 kfree(ep); 495 455 } 496 456 ··· 576 532 577 533 static int ep_alloc(struct eventpoll **pep) 578 534 { 579 - struct eventpoll *ep = kzalloc(sizeof(*ep), GFP_KERNEL); 535 + int error; 536 + struct user_struct *user; 537 + struct eventpoll *ep; 580 538 581 - if (!ep) 582 - return -ENOMEM; 539 + user = get_current_user(); 540 + error = -EMFILE; 541 + if (unlikely(atomic_read(&user->epoll_devs) >= 542 + max_user_instances)) 543 + goto free_uid; 544 + error = -ENOMEM; 545 + ep = kzalloc(sizeof(*ep), GFP_KERNEL); 546 + if (unlikely(!ep)) 547 + goto free_uid; 583 548 584 549 spin_lock_init(&ep->lock); 585 550 mutex_init(&ep->mtx); ··· 597 544 INIT_LIST_HEAD(&ep->rdllist); 598 545 ep->rbr = RB_ROOT; 599 546 ep->ovflist = EP_UNACTIVE_PTR; 547 + ep->user = user; 600 548 601 549 *pep = ep; 602 550 603 551 DNPRINTK(3, (KERN_INFO "[%p] eventpoll: ep_alloc() ep=%p\n", 604 552 current, ep)); 605 553 return 0; 554 + 555 + free_uid: 556 + free_uid(user); 557 + return error; 606 558 } 607 559 608 560 /* ··· 761 703 struct epitem *epi; 762 704 struct ep_pqueue epq; 763 705 764 - error = -ENOMEM; 706 + if (unlikely(atomic_read(&ep->user->epoll_watches) >= 707 + max_user_watches)) 708 + return -ENOSPC; 765 709 if (!(epi = kmem_cache_alloc(epi_cache, GFP_KERNEL))) 766 - goto error_return; 710 + return -ENOMEM; 767 711 768 712 /* Item initialization follow here ... */ 769 713 INIT_LIST_HEAD(&epi->rdllink); ··· 795 735 * install process. Namely an allocation for a wait queue failed due 796 736 * high memory pressure. 797 737 */ 738 + error = -ENOMEM; 798 739 if (epi->nwait < 0) 799 740 goto error_unregister; 800 741 ··· 826 765 827 766 spin_unlock_irqrestore(&ep->lock, flags); 828 767 768 + atomic_inc(&ep->user->epoll_watches); 769 + 829 770 /* We have to call this outside the lock */ 830 771 if (pwake) 831 772 ep_poll_safewake(&psw, &ep->poll_wait); ··· 852 789 spin_unlock_irqrestore(&ep->lock, flags); 853 790 854 791 kmem_cache_free(epi_cache, epi); 855 - error_return: 792 + 856 793 return error; 857 794 } 858 795 ··· 1141 1078 flags & O_CLOEXEC); 1142 1079 if (fd < 0) 1143 1080 ep_free(ep); 1081 + atomic_inc(&ep->user->epoll_devs); 1144 1082 1145 1083 error_return: 1146 1084 DNPRINTK(3, (KERN_INFO "[%p] eventpoll: sys_epoll_create(%d) = %d\n", ··· 1363 1299 1364 1300 static int __init eventpoll_init(void) 1365 1301 { 1366 - mutex_init(&epmutex); 1302 + struct sysinfo si; 1303 + 1304 + si_meminfo(&si); 1305 + max_user_instances = 128; 1306 + max_user_watches = (((si.totalram - si.totalhigh) / 32) << PAGE_SHIFT) / 1307 + EP_ITEM_COST; 1367 1308 1368 1309 /* Initialize the structure used to perform safe poll wait head wake ups */ 1369 1310 ep_poll_safewake_init(&psw);
+2 -6
fs/ntfs/debug.h
··· 30 30 31 31 extern int debug_msgs; 32 32 33 - #if 0 /* Fool kernel-doc since it doesn't do macros yet */ 33 + extern void __ntfs_debug(const char *file, int line, const char *function, 34 + const char *format, ...) __attribute__ ((format (printf, 4, 5))); 34 35 /** 35 36 * ntfs_debug - write a debug level message to syslog 36 37 * @f: a printf format string containing the message ··· 40 39 * ntfs_debug() writes a DEBUG level message to the syslog but only if the 41 40 * driver was compiled with -DDEBUG. Otherwise, the call turns into a NOP. 42 41 */ 43 - static void ntfs_debug(const char *f, ...); 44 - #endif 45 - 46 - extern void __ntfs_debug (const char *file, int line, const char *function, 47 - const char *format, ...) __attribute__ ((format (printf, 4, 5))); 48 42 #define ntfs_debug(f, a...) \ 49 43 __ntfs_debug(__FILE__, __LINE__, __func__, f, ##a) 50 44
+4 -11
fs/ocfs2/buffer_head_io.c
··· 112 112 bh = bhs[i]; 113 113 114 114 if (buffer_jbd(bh)) { 115 - mlog(ML_ERROR, 115 + mlog(ML_BH_IO, 116 116 "trying to sync read a jbd " 117 117 "managed bh (blocknr = %llu), skipping\n", 118 118 (unsigned long long)bh->b_blocknr); ··· 147 147 for (i = nr; i > 0; i--) { 148 148 bh = bhs[i - 1]; 149 149 150 - if (buffer_jbd(bh)) { 151 - mlog(ML_ERROR, 152 - "the journal got the buffer while it was " 153 - "locked for io! (blocknr = %llu)\n", 154 - (unsigned long long)bh->b_blocknr); 155 - BUG(); 156 - } 150 + /* No need to wait on the buffer if it's managed by JBD. */ 151 + if (!buffer_jbd(bh)) 152 + wait_on_buffer(bh); 157 153 158 - wait_on_buffer(bh); 159 154 if (!buffer_uptodate(bh)) { 160 155 /* Status won't be cleared from here on out, 161 156 * so we can safely record this and loop back ··· 246 251 ignore_cache = 1; 247 252 } 248 253 249 - /* XXX: Can we ever get this and *not* have the cached 250 - * flag set? */ 251 254 if (buffer_jbd(bh)) { 252 255 if (ignore_cache) 253 256 mlog(ML_BH_IO, "trying to sync read a jbd "
+3 -1
fs/ocfs2/dlm/dlmfs.c
··· 608 608 0, (SLAB_HWCACHE_ALIGN|SLAB_RECLAIM_ACCOUNT| 609 609 SLAB_MEM_SPREAD), 610 610 dlmfs_init_once); 611 - if (!dlmfs_inode_cache) 611 + if (!dlmfs_inode_cache) { 612 + status = -ENOMEM; 612 613 goto bail; 614 + } 613 615 cleanup_inode = 1; 614 616 615 617 user_dlm_worker = create_singlethread_workqueue("user_dlm");
+1 -1
fs/ocfs2/dlm/userdlm.h
··· 33 33 #include <linux/workqueue.h> 34 34 35 35 /* user_lock_res->l_flags flags. */ 36 - #define USER_LOCK_ATTACHED (0x00000001) /* have we initialized 36 + #define USER_LOCK_ATTACHED (0x00000001) /* we have initialized 37 37 * the lvb */ 38 38 #define USER_LOCK_BUSY (0x00000002) /* we are currently in 39 39 * dlm_lock */
+1 -2
fs/ocfs2/dlmglue.c
··· 2841 2841 2842 2842 lockres_clear_flags(lockres, OCFS2_LOCK_BUSY); 2843 2843 lockres->l_unlock_action = OCFS2_UNLOCK_INVALID; 2844 - spin_unlock_irqrestore(&lockres->l_lock, flags); 2845 - 2846 2844 wake_up(&lockres->l_event); 2845 + spin_unlock_irqrestore(&lockres->l_lock, flags); 2847 2846 2848 2847 mlog_exit_void(); 2849 2848 }
+1 -1
fs/ocfs2/ocfs2.h
··· 85 85 }; 86 86 87 87 /* ocfs2_lock_res->l_flags flags. */ 88 - #define OCFS2_LOCK_ATTACHED (0x00000001) /* have we initialized 88 + #define OCFS2_LOCK_ATTACHED (0x00000001) /* we have initialized 89 89 * the lvb */ 90 90 #define OCFS2_LOCK_BUSY (0x00000002) /* we are currently in 91 91 * dlm_lock */
+3
fs/ocfs2/stack_user.c
··· 740 740 741 741 static void *user_dlm_lvb(union ocfs2_dlm_lksb *lksb) 742 742 { 743 + if (!lksb->lksb_fsdlm.sb_lvbptr) 744 + lksb->lksb_fsdlm.sb_lvbptr = (char *)lksb + 745 + sizeof(struct dlm_lksb); 743 746 return (void *)(lksb->lksb_fsdlm.sb_lvbptr); 744 747 } 745 748
+1
fs/udf/inode.c
··· 106 106 udf_truncate_tail_extent(inode); 107 107 unlock_kernel(); 108 108 write_inode_now(inode, 0); 109 + invalidate_inode_buffers(inode); 109 110 } 110 111 iinfo = UDF_I(inode); 111 112 kfree(iinfo->i_ext.i_data);
+2 -2
include/acpi/acpredef.h
··· 167 167 {.info = {"_BFS", 1, 0}}, 168 168 {.info = {"_BIF", 0, ACPI_RTYPE_PACKAGE}}, {.ret_info = {ACPI_PTYPE1_FIXED, ACPI_RTYPE_INTEGER, 169 169 9, 170 - ACPI_RTYPE_STRING, 4, 0}}, /* fixed (9 Int),(4 Str) */ 170 + ACPI_RTYPE_STRING | ACPI_RTYPE_BUFFER, 4, 0}}, /* fixed (9 Int),(4 Str) */ 171 171 {.info = {"_BLT", 3, 0}}, 172 172 {.info = {"_BMC", 1, 0}}, 173 173 {.info = {"_BMD", 0, ACPI_RTYPE_PACKAGE}}, {.ret_info = {ACPI_PTYPE1_FIXED, ACPI_RTYPE_INTEGER, 5, 0, 0, 0}}, /* fixed (5 Int) */ ··· 346 346 347 347 /* Acpi 1.0 defined _WAK with no return value. Later, it was changed to return a package */ 348 348 349 - {.info = {"_WAK", 1, ACPI_RTYPE_NONE | ACPI_RTYPE_PACKAGE}}, 349 + {.info = {"_WAK", 1, ACPI_RTYPE_NONE | ACPI_RTYPE_INTEGER | ACPI_RTYPE_PACKAGE}}, 350 350 {.ret_info = {ACPI_PTYPE1_FIXED, ACPI_RTYPE_INTEGER, 2, 0, 0, 0}}, /* fixed (2 Int), but is optional */ 351 351 {.ret_info = {0, 0, 0, 0, 0, 0}} /* Table terminator */ 352 352 };
+1
include/drm/drmP.h
··· 1151 1151 extern void drm_handle_vblank(struct drm_device *dev, int crtc); 1152 1152 extern int drm_vblank_get(struct drm_device *dev, int crtc); 1153 1153 extern void drm_vblank_put(struct drm_device *dev, int crtc); 1154 + extern void drm_vblank_cleanup(struct drm_device *dev); 1154 1155 /* Modesetting support */ 1155 1156 extern int drm_modeset_ctl(struct drm_device *dev, void *data, 1156 1157 struct drm_file *file_priv);
-2
include/linux/compat.h
··· 252 252 compat_long_t request, 253 253 compat_ulong_t addr, compat_ulong_t data); 254 254 255 - #ifdef __ARCH_WANT_COMPAT_SYS_PTRACE 256 255 extern long compat_arch_ptrace(struct task_struct *child, compat_long_t request, 257 256 compat_ulong_t addr, compat_ulong_t data); 258 257 asmlinkage long compat_sys_ptrace(compat_long_t request, compat_long_t pid, 259 258 compat_long_t addr, compat_long_t data); 260 - #endif /* __ARCH_WANT_COMPAT_SYS_PTRACE */ 261 259 262 260 /* 263 261 * epoll (fs/eventpoll.c) compat bits follow ...
+2
include/linux/highmem.h
··· 63 63 #endif /* CONFIG_HIGHMEM */ 64 64 65 65 /* when CONFIG_HIGHMEM is not set these will be plain clear/copy_page */ 66 + #ifndef clear_user_highpage 66 67 static inline void clear_user_highpage(struct page *page, unsigned long vaddr) 67 68 { 68 69 void *addr = kmap_atomic(page, KM_USER0); 69 70 clear_user_page(addr, vaddr, page); 70 71 kunmap_atomic(addr, KM_USER0); 71 72 } 73 + #endif 72 74 73 75 #ifndef __HAVE_ARCH_ALLOC_ZEROED_USER_HIGHPAGE 74 76 /**
+2 -1
include/linux/idr.h
··· 52 52 unsigned long bitmap; /* A zero bit means "space here" */ 53 53 struct idr_layer *ary[1<<IDR_BITS]; 54 54 int count; /* When zero, we can release it */ 55 + int layer; /* distance from leaf */ 55 56 struct rcu_head rcu_head; 56 57 }; 57 58 58 59 struct idr { 59 60 struct idr_layer *top; 60 61 struct idr_layer *id_free; 61 - int layers; 62 + int layers; /* only valid without concurrent changes */ 62 63 int id_free_cnt; 63 64 spinlock_t lock; 64 65 };
+3 -8
include/linux/irq.h
··· 63 63 #define IRQ_MOVE_PENDING 0x00200000 /* need to re-target IRQ destination */ 64 64 #define IRQ_NO_BALANCING 0x00400000 /* IRQ is excluded from balancing */ 65 65 #define IRQ_SPURIOUS_DISABLED 0x00800000 /* IRQ was disabled by the spurious trap */ 66 - #define IRQ_MOVE_PCNTXT 0x01000000 /* IRQ migration from process context */ 66 + #define IRQ_MOVE_PCNTXT 0x01000000 /* IRQ migration from process context */ 67 + #define IRQ_AFFINITY_SET 0x02000000 /* IRQ affinity was set from userspace*/ 67 68 68 69 #ifdef CONFIG_IRQ_PER_CPU 69 70 # define CHECK_IRQ_PER_CPU(var) ((var) & IRQ_PER_CPU) ··· 131 130 132 131 /** 133 132 * struct irq_desc - interrupt descriptor 134 - * 133 + * @irq: interrupt number for this descriptor 135 134 * @handle_irq: highlevel irq-events handler [if NULL, __do_IRQ()] 136 135 * @chip: low level interrupt hardware access 137 136 * @msi_desc: MSI descriptor ··· 150 149 * @cpu: cpu index useful for balancing 151 150 * @pending_mask: pending rebalanced interrupts 152 151 * @dir: /proc/irq/ procfs entry 153 - * @affinity_entry: /proc/irq/smp_affinity procfs entry on SMP 154 152 * @name: flow handler name for /proc/interrupts output 155 153 */ 156 154 struct irq_desc { ··· 210 210 211 211 #ifdef CONFIG_GENERIC_PENDING_IRQ 212 212 213 - void set_pending_irq(unsigned int irq, cpumask_t mask); 214 213 void move_native_irq(int irq); 215 214 void move_masked_irq(int irq); 216 215 ··· 224 225 } 225 226 226 227 static inline void move_masked_irq(int irq) 227 - { 228 - } 229 - 230 - static inline void set_pending_irq(unsigned int irq, cpumask_t mask) 231 228 { 232 229 } 233 230
+1
include/linux/libata.h
··· 375 375 ATA_HORKAGE_BRIDGE_OK = (1 << 10), /* no bridge limits */ 376 376 ATA_HORKAGE_ATAPI_MOD16_DMA = (1 << 11), /* use ATAPI DMA for commands 377 377 not multiple of 16 bytes */ 378 + ATA_HORKAGE_FIRMWARE_WARN = (1 << 12), /* firwmare update warning */ 378 379 379 380 /* DMA mask for user DMA control: User visible values; DO NOT 380 381 renumber */
+1 -1
include/linux/memory.h
··· 91 91 92 92 #ifdef CONFIG_MEMORY_HOTPLUG 93 93 #define hotplug_memory_notifier(fn, pri) { \ 94 - static struct notifier_block fn##_mem_nb = \ 94 + static __meminitdata struct notifier_block fn##_mem_nb =\ 95 95 { .notifier_call = fn, .priority = pri }; \ 96 96 register_memory_notifier(&fn##_mem_nb); \ 97 97 }
+1
include/linux/mlx4/device.h
··· 179 179 int num_ports; 180 180 int vl_cap[MLX4_MAX_PORTS + 1]; 181 181 int ib_mtu_cap[MLX4_MAX_PORTS + 1]; 182 + __be32 ib_port_def_cap[MLX4_MAX_PORTS + 1]; 182 183 u64 def_mac[MLX4_MAX_PORTS + 1]; 183 184 int eth_mtu_cap[MLX4_MAX_PORTS + 1]; 184 185 int gid_table_len[MLX4_MAX_PORTS + 1];
+2 -2
include/linux/page_cgroup.h
··· 17 17 struct list_head lru; /* per cgroup LRU list */ 18 18 }; 19 19 20 - void __init pgdat_page_cgroup_init(struct pglist_data *pgdat); 20 + void __meminit pgdat_page_cgroup_init(struct pglist_data *pgdat); 21 21 void __init page_cgroup_init(void); 22 22 struct page_cgroup *lookup_page_cgroup(struct page *page); 23 23 ··· 91 91 #else /* CONFIG_CGROUP_MEM_RES_CTLR */ 92 92 struct page_cgroup; 93 93 94 - static inline void pgdat_page_cgroup_init(struct pglist_data *pgdat) 94 + static inline void __meminit pgdat_page_cgroup_init(struct pglist_data *pgdat) 95 95 { 96 96 } 97 97
+4
include/linux/sched.h
··· 630 630 atomic_t inotify_watches; /* How many inotify watches does this user have? */ 631 631 atomic_t inotify_devs; /* How many inotify devs does this user have opened? */ 632 632 #endif 633 + #ifdef CONFIG_EPOLL 634 + atomic_t epoll_devs; /* The number of epoll descriptors currently open */ 635 + atomic_t epoll_watches; /* The number of file descriptors currently watched */ 636 + #endif 633 637 #ifdef CONFIG_POSIX_MQUEUE 634 638 /* protected by mq_lock */ 635 639 unsigned long mq_bytes; /* How many bytes can be allocated to mqueue? */
+1 -1
kernel/cpu.c
··· 462 462 * It must be called by the arch code on the new cpu, before the new cpu 463 463 * enables interrupts and before the "boot" cpu returns from __cpu_up(). 464 464 */ 465 - void notify_cpu_starting(unsigned int cpu) 465 + void __cpuinit notify_cpu_starting(unsigned int cpu) 466 466 { 467 467 unsigned long val = CPU_STARTING; 468 468
+1 -1
kernel/cpuset.c
··· 585 585 int i, j, k; /* indices for partition finding loops */ 586 586 cpumask_t *doms; /* resulting partition; i.e. sched domains */ 587 587 struct sched_domain_attr *dattr; /* attributes for custom domains */ 588 - int ndoms; /* number of sched domains in result */ 588 + int ndoms = 0; /* number of sched domains in result */ 589 589 int nslot; /* next empty doms[] cpumask_t slot */ 590 590 591 591 doms = NULL;
+2
kernel/irq/internals.h
··· 25 25 struct irqaction *action) { } 26 26 #endif 27 27 28 + extern int irq_select_affinity_usr(unsigned int irq); 29 + 28 30 /* 29 31 * Debugging printout: 30 32 */
+53 -15
kernel/irq/manage.c
··· 82 82 int irq_set_affinity(unsigned int irq, cpumask_t cpumask) 83 83 { 84 84 struct irq_desc *desc = irq_to_desc(irq); 85 + unsigned long flags; 85 86 86 87 if (!desc->chip->set_affinity) 87 88 return -EINVAL; 88 89 90 + spin_lock_irqsave(&desc->lock, flags); 91 + 89 92 #ifdef CONFIG_GENERIC_PENDING_IRQ 90 93 if (desc->status & IRQ_MOVE_PCNTXT || desc->status & IRQ_DISABLED) { 91 - unsigned long flags; 92 - 93 - spin_lock_irqsave(&desc->lock, flags); 94 94 desc->affinity = cpumask; 95 95 desc->chip->set_affinity(irq, cpumask); 96 - spin_unlock_irqrestore(&desc->lock, flags); 97 - } else 98 - set_pending_irq(irq, cpumask); 96 + } else { 97 + desc->status |= IRQ_MOVE_PENDING; 98 + desc->pending_mask = cpumask; 99 + } 99 100 #else 100 101 desc->affinity = cpumask; 101 102 desc->chip->set_affinity(irq, cpumask); 102 103 #endif 104 + desc->status |= IRQ_AFFINITY_SET; 105 + spin_unlock_irqrestore(&desc->lock, flags); 103 106 return 0; 104 107 } 105 108 ··· 110 107 /* 111 108 * Generic version of the affinity autoselector. 112 109 */ 113 - int irq_select_affinity(unsigned int irq) 110 + int do_irq_select_affinity(unsigned int irq, struct irq_desc *desc) 114 111 { 115 112 cpumask_t mask; 116 - struct irq_desc *desc; 117 113 118 114 if (!irq_can_set_affinity(irq)) 119 115 return 0; 120 116 121 117 cpus_and(mask, cpu_online_map, irq_default_affinity); 122 118 123 - desc = irq_to_desc(irq); 119 + /* 120 + * Preserve an userspace affinity setup, but make sure that 121 + * one of the targets is online. 122 + */ 123 + if (desc->status & (IRQ_AFFINITY_SET | IRQ_NO_BALANCING)) { 124 + if (cpus_intersects(desc->affinity, cpu_online_map)) 125 + mask = desc->affinity; 126 + else 127 + desc->status &= ~IRQ_AFFINITY_SET; 128 + } 129 + 124 130 desc->affinity = mask; 125 131 desc->chip->set_affinity(irq, mask); 126 132 127 133 return 0; 128 134 } 135 + #else 136 + static inline int do_irq_select_affinity(unsigned int irq, struct irq_desc *d) 137 + { 138 + return irq_select_affinity(irq); 139 + } 129 140 #endif 130 141 142 + /* 143 + * Called when affinity is set via /proc/irq 144 + */ 145 + int irq_select_affinity_usr(unsigned int irq) 146 + { 147 + struct irq_desc *desc = irq_to_desc(irq); 148 + unsigned long flags; 149 + int ret; 150 + 151 + spin_lock_irqsave(&desc->lock, flags); 152 + ret = do_irq_select_affinity(irq, desc); 153 + spin_unlock_irqrestore(&desc->lock, flags); 154 + 155 + return ret; 156 + } 157 + 158 + #else 159 + static inline int do_irq_select_affinity(int irq, struct irq_desc *desc) 160 + { 161 + return 0; 162 + } 131 163 #endif 132 164 133 165 /** ··· 365 327 * IRQF_TRIGGER_* but the PIC does not support multiple 366 328 * flow-types? 367 329 */ 368 - pr_warning("No set_type function for IRQ %d (%s)\n", irq, 330 + pr_debug("No set_type function for IRQ %d (%s)\n", irq, 369 331 chip ? (chip->name ? : "unknown") : "unknown"); 370 332 return 0; 371 333 } ··· 483 445 /* Undo nested disables: */ 484 446 desc->depth = 1; 485 447 448 + /* Exclude IRQ from balancing if requested */ 449 + if (new->flags & IRQF_NOBALANCING) 450 + desc->status |= IRQ_NO_BALANCING; 451 + 486 452 /* Set default affinity mask once everything is setup */ 487 - irq_select_affinity(irq); 453 + do_irq_select_affinity(irq, desc); 488 454 489 455 } else if ((new->flags & IRQF_TRIGGER_MASK) 490 456 && (new->flags & IRQF_TRIGGER_MASK) ··· 500 458 } 501 459 502 460 *p = new; 503 - 504 - /* Exclude IRQ from balancing */ 505 - if (new->flags & IRQF_NOBALANCING) 506 - desc->status |= IRQ_NO_BALANCING; 507 461 508 462 /* Reset broken irq detection when installing new handler */ 509 463 desc->irq_count = 0;
-11
kernel/irq/migration.c
··· 1 1 2 2 #include <linux/irq.h> 3 3 4 - void set_pending_irq(unsigned int irq, cpumask_t mask) 5 - { 6 - struct irq_desc *desc = irq_to_desc(irq); 7 - unsigned long flags; 8 - 9 - spin_lock_irqsave(&desc->lock, flags); 10 - desc->status |= IRQ_MOVE_PENDING; 11 - desc->pending_mask = mask; 12 - spin_unlock_irqrestore(&desc->lock, flags); 13 - } 14 - 15 4 void move_masked_irq(int irq) 16 5 { 17 6 struct irq_desc *desc = irq_to_desc(irq);
+1 -1
kernel/irq/proc.c
··· 62 62 if (!cpus_intersects(new_value, cpu_online_map)) 63 63 /* Special case for empty set - allow the architecture 64 64 code to set default SMP affinity. */ 65 - return irq_select_affinity(irq) ? -EINVAL : count; 65 + return irq_select_affinity_usr(irq) ? -EINVAL : count; 66 66 67 67 irq_set_affinity(irq, new_value); 68 68
+2 -2
kernel/lockdep.c
··· 3276 3276 { 3277 3277 printk("Lock dependency validator: Copyright (c) 2006 Red Hat, Inc., Ingo Molnar\n"); 3278 3278 3279 - printk("... MAX_LOCKDEP_SUBCLASSES: %lu\n", MAX_LOCKDEP_SUBCLASSES); 3279 + printk("... MAX_LOCKDEP_SUBCLASSES: %lu\n", MAX_LOCKDEP_SUBCLASSES); 3280 3280 printk("... MAX_LOCK_DEPTH: %lu\n", MAX_LOCK_DEPTH); 3281 3281 printk("... MAX_LOCKDEP_KEYS: %lu\n", MAX_LOCKDEP_KEYS); 3282 - printk("... CLASSHASH_SIZE: %lu\n", CLASSHASH_SIZE); 3282 + printk("... CLASSHASH_SIZE: %lu\n", CLASSHASH_SIZE); 3283 3283 printk("... MAX_LOCKDEP_ENTRIES: %lu\n", MAX_LOCKDEP_ENTRIES); 3284 3284 printk("... MAX_LOCKDEP_CHAINS: %lu\n", MAX_LOCKDEP_CHAINS); 3285 3285 printk("... CHAINHASH_SIZE: %lu\n", CHAINHASH_SIZE);
+1
kernel/panic.c
··· 167 167 * 'M' - System experienced a machine check exception. 168 168 * 'B' - System has hit bad_page. 169 169 * 'U' - Userspace-defined naughtiness. 170 + * 'D' - Kernel has oopsed before 170 171 * 'A' - ACPI table overridden. 171 172 * 'W' - Taint on warning. 172 173 * 'C' - modules from drivers/staging are loaded.
+2 -2
kernel/profile.c
··· 351 351 put_cpu(); 352 352 } 353 353 354 - static int __devinit profile_cpu_callback(struct notifier_block *info, 354 + static int __cpuinit profile_cpu_callback(struct notifier_block *info, 355 355 unsigned long action, void *__cpu) 356 356 { 357 357 int node, cpu = (unsigned long)__cpu; ··· 596 596 #define create_hash_tables() ({ 0; }) 597 597 #endif 598 598 599 - int create_proc_profile(void) 599 + int __ref create_proc_profile(void) /* false positive from hotcpu_notifier */ 600 600 { 601 601 struct proc_dir_entry *entry; 602 602
+2 -2
kernel/ptrace.c
··· 612 612 return (copied == sizeof(data)) ? 0 : -EIO; 613 613 } 614 614 615 - #if defined CONFIG_COMPAT && defined __ARCH_WANT_COMPAT_SYS_PTRACE 615 + #if defined CONFIG_COMPAT 616 616 #include <linux/compat.h> 617 617 618 618 int compat_ptrace_request(struct task_struct *child, compat_long_t request, ··· 709 709 unlock_kernel(); 710 710 return ret; 711 711 } 712 - #endif /* CONFIG_COMPAT && __ARCH_WANT_COMPAT_SYS_PTRACE */ 712 + #endif /* CONFIG_COMPAT */
+3 -2
kernel/sched.c
··· 1453 1453 static unsigned long cpu_avg_load_per_task(int cpu) 1454 1454 { 1455 1455 struct rq *rq = cpu_rq(cpu); 1456 + unsigned long nr_running = ACCESS_ONCE(rq->nr_running); 1456 1457 1457 - if (rq->nr_running) 1458 - rq->avg_load_per_task = rq->load.weight / rq->nr_running; 1458 + if (nr_running) 1459 + rq->avg_load_per_task = rq->load.weight / nr_running; 1459 1460 else 1460 1461 rq->avg_load_per_task = 0; 1461 1462
+10
kernel/sysctl.c
··· 176 176 #ifdef CONFIG_INOTIFY_USER 177 177 extern struct ctl_table inotify_table[]; 178 178 #endif 179 + #ifdef CONFIG_EPOLL 180 + extern struct ctl_table epoll_table[]; 181 + #endif 179 182 180 183 #ifdef HAVE_ARCH_PICK_MMAP_LAYOUT 181 184 int sysctl_legacy_va_layout; ··· 1328 1325 .child = inotify_table, 1329 1326 }, 1330 1327 #endif 1328 + #ifdef CONFIG_EPOLL 1329 + { 1330 + .procname = "epoll", 1331 + .mode = 0555, 1332 + .child = epoll_table, 1333 + }, 1334 + #endif 1331 1335 #endif 1332 1336 { 1333 1337 .ctl_name = KERN_SETUID_DUMPABLE,
+1 -1
kernel/trace/ring_buffer.c
··· 1215 1215 1216 1216 out: 1217 1217 if (resched) 1218 - preempt_enable_notrace(); 1218 + preempt_enable_no_resched_notrace(); 1219 1219 else 1220 1220 preempt_enable_notrace(); 1221 1221 return NULL;
+7 -9
kernel/trace/trace_mmiotrace.c
··· 18 18 19 19 static struct trace_array *mmio_trace_array; 20 20 static bool overrun_detected; 21 + static unsigned long prev_overruns; 21 22 22 23 static void mmio_reset_data(struct trace_array *tr) 23 24 { 24 25 int cpu; 25 26 26 27 overrun_detected = false; 28 + prev_overruns = 0; 27 29 tr->time_start = ftrace_now(tr->cpu); 28 30 29 31 for_each_online_cpu(cpu) ··· 130 128 131 129 static unsigned long count_overruns(struct trace_iterator *iter) 132 130 { 133 - int cpu; 134 131 unsigned long cnt = 0; 135 - /* FIXME: */ 136 - #if 0 137 - for_each_online_cpu(cpu) { 138 - cnt += iter->overrun[cpu]; 139 - iter->overrun[cpu] = 0; 140 - } 141 - #endif 142 - (void)cpu; 132 + unsigned long over = ring_buffer_overruns(iter->tr->buffer); 133 + 134 + if (over > prev_overruns) 135 + cnt = over - prev_overruns; 136 + prev_overruns = over; 143 137 return cnt; 144 138 } 145 139
+15 -9
kernel/trace/trace_stack.c
··· 184 184 static void * 185 185 t_next(struct seq_file *m, void *v, loff_t *pos) 186 186 { 187 - long i = (long)m->private; 187 + long i; 188 188 189 189 (*pos)++; 190 190 191 - i++; 191 + if (v == SEQ_START_TOKEN) 192 + i = 0; 193 + else { 194 + i = *(long *)v; 195 + i++; 196 + } 192 197 193 198 if (i >= max_stack_trace.nr_entries || 194 199 stack_dump_trace[i] == ULONG_MAX) ··· 206 201 207 202 static void *t_start(struct seq_file *m, loff_t *pos) 208 203 { 209 - void *t = &m->private; 204 + void *t = SEQ_START_TOKEN; 210 205 loff_t l = 0; 211 206 212 207 local_irq_disable(); 213 208 __raw_spin_lock(&max_stack_lock); 209 + 210 + if (*pos == 0) 211 + return SEQ_START_TOKEN; 214 212 215 213 for (; t && l < *pos; t = t_next(m, t, &l)) 216 214 ; ··· 243 235 244 236 static int t_show(struct seq_file *m, void *v) 245 237 { 246 - long i = *(long *)v; 238 + long i; 247 239 int size; 248 240 249 - if (i < 0) { 241 + if (v == SEQ_START_TOKEN) { 250 242 seq_printf(m, " Depth Size Location" 251 243 " (%d entries)\n" 252 244 " ----- ---- --------\n", 253 245 max_stack_trace.nr_entries); 254 246 return 0; 255 247 } 248 + 249 + i = *(long *)v; 256 250 257 251 if (i >= max_stack_trace.nr_entries || 258 252 stack_dump_trace[i] == ULONG_MAX) ··· 285 275 int ret; 286 276 287 277 ret = seq_open(file, &stack_trace_seq_ops); 288 - if (!ret) { 289 - struct seq_file *m = file->private_data; 290 - m->private = (void *)-1; 291 - } 292 278 293 279 return ret; 294 280 }
+12 -2
lib/idr.c
··· 185 185 new = get_from_free_list(idp); 186 186 if (!new) 187 187 return -1; 188 + new->layer = l-1; 188 189 rcu_assign_pointer(p->ary[m], new); 189 190 p->count++; 190 191 } ··· 211 210 if (unlikely(!p)) { 212 211 if (!(p = get_from_free_list(idp))) 213 212 return -1; 213 + p->layer = 0; 214 214 layers = 1; 215 215 } 216 216 /* ··· 239 237 } 240 238 new->ary[0] = p; 241 239 new->count = 1; 240 + new->layer = layers-1; 242 241 if (p->bitmap == IDR_FULL) 243 242 __set_bit(0, &new->bitmap); 244 243 p = new; ··· 496 493 int n; 497 494 struct idr_layer *p; 498 495 499 - n = idp->layers * IDR_BITS; 500 496 p = rcu_dereference(idp->top); 497 + if (!p) 498 + return NULL; 499 + n = (p->layer+1) * IDR_BITS; 501 500 502 501 /* Mask off upper bits we don't use for the search. */ 503 502 id &= MAX_ID_MASK; 504 503 505 504 if (id >= (1 << n)) 506 505 return NULL; 506 + BUG_ON(n == 0); 507 507 508 508 while (n > 0 && p) { 509 509 n -= IDR_BITS; 510 + BUG_ON(n != p->layer*IDR_BITS); 510 511 p = rcu_dereference(p->ary[(id >> n) & IDR_MASK]); 511 512 } 512 513 return((void *)p); ··· 589 582 int n; 590 583 struct idr_layer *p, *old_p; 591 584 592 - n = idp->layers * IDR_BITS; 593 585 p = idp->top; 586 + if (!p) 587 + return ERR_PTR(-EINVAL); 588 + 589 + n = (p->layer+1) * IDR_BITS; 594 590 595 591 id &= MAX_ID_MASK; 596 592
+5 -4
mm/memory_hotplug.c
··· 189 189 pgdat->node_start_pfn; 190 190 } 191 191 192 - static int __add_zone(struct zone *zone, unsigned long phys_start_pfn) 192 + static int __meminit __add_zone(struct zone *zone, unsigned long phys_start_pfn) 193 193 { 194 194 struct pglist_data *pgdat = zone->zone_pgdat; 195 195 int nr_pages = PAGES_PER_SECTION; ··· 216 216 return 0; 217 217 } 218 218 219 - static int __add_section(struct zone *zone, unsigned long phys_start_pfn) 219 + static int __meminit __add_section(struct zone *zone, unsigned long phys_start_pfn) 220 220 { 221 221 int nr_pages = PAGES_PER_SECTION; 222 222 int ret; ··· 273 273 * call this function after deciding the zone to which to 274 274 * add the new pages. 275 275 */ 276 - int __add_pages(struct zone *zone, unsigned long phys_start_pfn, 276 + int __ref __add_pages(struct zone *zone, unsigned long phys_start_pfn, 277 277 unsigned long nr_pages) 278 278 { 279 279 unsigned long i; ··· 470 470 } 471 471 472 472 473 - int add_memory(int nid, u64 start, u64 size) 473 + /* we are OK calling __meminit stuff here - we have CONFIG_MEMORY_HOTPLUG */ 474 + int __ref add_memory(int nid, u64 start, u64 size) 474 475 { 475 476 pg_data_t *pgdat = NULL; 476 477 int new_pgdat = 0;
+36 -20
mm/page_cgroup.c
··· 21 21 #if !defined(CONFIG_SPARSEMEM) 22 22 23 23 24 - void __init pgdat_page_cgroup_init(struct pglist_data *pgdat) 24 + void __meminit pgdat_page_cgroup_init(struct pglist_data *pgdat) 25 25 { 26 26 pgdat->node_page_cgroup = NULL; 27 27 } ··· 97 97 return section->page_cgroup + pfn; 98 98 } 99 99 100 - int __meminit init_section_page_cgroup(unsigned long pfn) 100 + /* __alloc_bootmem...() is protected by !slab_available() */ 101 + int __init_refok init_section_page_cgroup(unsigned long pfn) 101 102 { 102 103 struct mem_section *section; 103 104 struct page_cgroup *base, *pc; ··· 107 106 108 107 section = __pfn_to_section(pfn); 109 108 110 - if (section->page_cgroup) 111 - return 0; 112 - 113 - nid = page_to_nid(pfn_to_page(pfn)); 114 - 115 - table_size = sizeof(struct page_cgroup) * PAGES_PER_SECTION; 116 - if (slab_is_available()) { 117 - base = kmalloc_node(table_size, GFP_KERNEL, nid); 118 - if (!base) 119 - base = vmalloc_node(table_size, nid); 120 - } else { 121 - base = __alloc_bootmem_node_nopanic(NODE_DATA(nid), table_size, 109 + if (!section->page_cgroup) { 110 + nid = page_to_nid(pfn_to_page(pfn)); 111 + table_size = sizeof(struct page_cgroup) * PAGES_PER_SECTION; 112 + if (slab_is_available()) { 113 + base = kmalloc_node(table_size, GFP_KERNEL, nid); 114 + if (!base) 115 + base = vmalloc_node(table_size, nid); 116 + } else { 117 + base = __alloc_bootmem_node_nopanic(NODE_DATA(nid), 118 + table_size, 122 119 PAGE_SIZE, __pa(MAX_DMA_ADDRESS)); 120 + } 121 + } else { 122 + /* 123 + * We don't have to allocate page_cgroup again, but 124 + * address of memmap may be changed. So, we have to initialize 125 + * again. 126 + */ 127 + base = section->page_cgroup + pfn; 128 + table_size = 0; 129 + /* check address of memmap is changed or not. */ 130 + if (base->page == pfn_to_page(pfn)) 131 + return 0; 123 132 } 124 133 125 134 if (!base) { ··· 169 158 } 170 159 } 171 160 172 - int online_page_cgroup(unsigned long start_pfn, 161 + int __meminit online_page_cgroup(unsigned long start_pfn, 173 162 unsigned long nr_pages, 174 163 int nid) 175 164 { ··· 194 183 return -ENOMEM; 195 184 } 196 185 197 - int offline_page_cgroup(unsigned long start_pfn, 186 + int __meminit offline_page_cgroup(unsigned long start_pfn, 198 187 unsigned long nr_pages, int nid) 199 188 { 200 189 unsigned long start, end, pfn; ··· 208 197 209 198 } 210 199 211 - static int page_cgroup_callback(struct notifier_block *self, 200 + static int __meminit page_cgroup_callback(struct notifier_block *self, 212 201 unsigned long action, void *arg) 213 202 { 214 203 struct memory_notify *mn = arg; ··· 218 207 ret = online_page_cgroup(mn->start_pfn, 219 208 mn->nr_pages, mn->status_change_nid); 220 209 break; 221 - case MEM_CANCEL_ONLINE: 222 210 case MEM_OFFLINE: 223 211 offline_page_cgroup(mn->start_pfn, 224 212 mn->nr_pages, mn->status_change_nid); 225 213 break; 214 + case MEM_CANCEL_ONLINE: 226 215 case MEM_GOING_OFFLINE: 227 216 break; 228 217 case MEM_ONLINE: 229 218 case MEM_CANCEL_OFFLINE: 230 219 break; 231 220 } 232 - ret = notifier_from_errno(ret); 221 + 222 + if (ret) 223 + ret = notifier_from_errno(ret); 224 + else 225 + ret = NOTIFY_OK; 226 + 233 227 return ret; 234 228 } 235 229 ··· 264 248 " want\n"); 265 249 } 266 250 267 - void __init pgdat_page_cgroup_init(struct pglist_data *pgdat) 251 + void __meminit pgdat_page_cgroup_init(struct pglist_data *pgdat) 268 252 { 269 253 return; 270 254 }
+4 -2
mm/slub.c
··· 2931 2931 case MEM_CANCEL_OFFLINE: 2932 2932 break; 2933 2933 } 2934 - 2935 - ret = notifier_from_errno(ret); 2934 + if (ret) 2935 + ret = notifier_from_errno(ret); 2936 + else 2937 + ret = NOTIFY_OK; 2936 2938 return ret; 2937 2939 } 2938 2940
+1 -1
mm/sparse.c
··· 570 570 * set. If this is <=0, then that means that the passed-in 571 571 * map was not consumed and must be freed. 572 572 */ 573 - int sparse_add_one_section(struct zone *zone, unsigned long start_pfn, 573 + int __meminit sparse_add_one_section(struct zone *zone, unsigned long start_pfn, 574 574 int nr_pages) 575 575 { 576 576 unsigned long section_nr = pfn_to_section_nr(start_pfn);
+16 -4
mm/vmalloc.c
··· 77 77 78 78 BUG_ON(addr >= end); 79 79 pgd = pgd_offset_k(addr); 80 - flush_cache_vunmap(addr, end); 81 80 do { 82 81 next = pgd_addr_end(addr, end); 83 82 if (pgd_none_or_clear_bad(pgd)) ··· 542 543 } 543 544 544 545 /* 545 - * Free and unmap a vmap area 546 + * Free and unmap a vmap area, caller ensuring flush_cache_vunmap had been 547 + * called for the correct range previously. 546 548 */ 547 - static void free_unmap_vmap_area(struct vmap_area *va) 549 + static void free_unmap_vmap_area_noflush(struct vmap_area *va) 548 550 { 549 551 va->flags |= VM_LAZY_FREE; 550 552 atomic_add((va->va_end - va->va_start) >> PAGE_SHIFT, &vmap_lazy_nr); 551 553 if (unlikely(atomic_read(&vmap_lazy_nr) > lazy_max_pages())) 552 554 try_purge_vmap_area_lazy(); 555 + } 556 + 557 + /* 558 + * Free and unmap a vmap area 559 + */ 560 + static void free_unmap_vmap_area(struct vmap_area *va) 561 + { 562 + flush_cache_vunmap(va->va_start, va->va_end); 563 + free_unmap_vmap_area_noflush(va); 553 564 } 554 565 555 566 static struct vmap_area *find_vmap_area(unsigned long addr) ··· 743 734 spin_unlock(&vmap_block_tree_lock); 744 735 BUG_ON(tmp != vb); 745 736 746 - free_unmap_vmap_area(vb->va); 737 + free_unmap_vmap_area_noflush(vb->va); 747 738 call_rcu(&vb->rcu_head, rcu_free_vb); 748 739 } 749 740 ··· 805 796 806 797 BUG_ON(size & ~PAGE_MASK); 807 798 BUG_ON(size > PAGE_SIZE*VMAP_MAX_ALLOC); 799 + 800 + flush_cache_vunmap((unsigned long)addr, (unsigned long)addr + size); 801 + 808 802 order = get_order(size); 809 803 810 804 offset = (unsigned long)addr & (VMAP_BLOCK_SIZE - 1);
+1 -1
mm/vmscan.c
··· 1248 1248 list_add(&page->lru, &l_inactive); 1249 1249 } 1250 1250 1251 + spin_lock_irq(&zone->lru_lock); 1251 1252 /* 1252 1253 * Count referenced pages from currently used mappings as 1253 1254 * rotated, even though they are moved to the inactive list. ··· 1264 1263 1265 1264 pgmoved = 0; 1266 1265 lru = LRU_BASE + file * LRU_FILE; 1267 - spin_lock_irq(&zone->lru_lock); 1268 1266 while (!list_empty(&l_inactive)) { 1269 1267 page = lru_to_page(&l_inactive); 1270 1268 prefetchw_prev_lru_page(page, &l_inactive, flags);
+7 -3
scripts/kernel-doc
··· 378 378 # print STDERR "parameter def '$1' = '$contents'\n"; 379 379 $name = $1; 380 380 $parameterdescs{$name} = $contents; 381 + } elsif ($name eq "@\.\.\.") { 382 + # print STDERR "parameter def '...' = '$contents'\n"; 383 + $name = "..."; 384 + $parameterdescs{$name} = $contents; 381 385 } else { 382 386 # print STDERR "other section '$name' = '$contents'\n"; 383 387 if (defined($sections{$name}) && ($sections{$name} ne "")) { ··· 1592 1588 1593 1589 if ($type eq "" && $param =~ /\.\.\.$/) 1594 1590 { 1595 - $type=""; 1596 - $parameterdescs{$param} = "variable arguments"; 1591 + if (!defined $parameterdescs{$param} || $parameterdescs{$param} eq "") { 1592 + $parameterdescs{$param} = "variable arguments"; 1593 + } 1597 1594 } 1598 1595 elsif ($type eq "" && ($param eq "" or $param eq "void")) 1599 1596 { 1600 - $type=""; 1601 1597 $param="void"; 1602 1598 $parameterdescs{void} = "no arguments"; 1603 1599 }
+2 -2
sound/pci/hda/hda_codec.c
··· 1436 1436 { 1437 1437 hda_nid_t *d; 1438 1438 1439 - snd_hda_codec_write(codec, nid, 0, verb, val); 1439 + snd_hda_codec_write_cache(codec, nid, 0, verb, val); 1440 1440 d = codec->slave_dig_outs; 1441 1441 if (!d) 1442 1442 return; 1443 1443 for (; *d; d++) 1444 - snd_hda_codec_write(codec, *d, 0, verb, val); 1444 + snd_hda_codec_write_cache(codec, *d, 0, verb, val); 1445 1445 } 1446 1446 1447 1447 static inline void set_dig_out_convert(struct hda_codec *codec, hda_nid_t nid,
+124 -60
sound/pci/hda/patch_sigmatel.c
··· 70 70 71 71 enum { 72 72 STAC_92HD73XX_REF, 73 - STAC_DELL_M6, 73 + STAC_DELL_M6_AMIC, 74 + STAC_DELL_M6_DMIC, 75 + STAC_DELL_M6_BOTH, 74 76 STAC_DELL_EQ, 75 77 STAC_92HD73XX_MODELS 76 78 }; ··· 86 84 STAC_92HD71BXX_REF, 87 85 STAC_DELL_M4_1, 88 86 STAC_DELL_M4_2, 87 + STAC_DELL_M4_3, 89 88 STAC_HP_M4, 90 89 STAC_92HD71BXX_MODELS 91 90 }; ··· 140 137 unsigned int num_mixers; 141 138 142 139 int board_config; 140 + unsigned int eapd_switch: 1; 143 141 unsigned int surr_switch: 1; 144 142 unsigned int line_switch: 1; 145 143 unsigned int mic_switch: 1; ··· 1604 1600 1605 1601 static unsigned int *stac92hd73xx_brd_tbl[STAC_92HD73XX_MODELS] = { 1606 1602 [STAC_92HD73XX_REF] = ref92hd73xx_pin_configs, 1607 - [STAC_DELL_M6] = dell_m6_pin_configs, 1603 + [STAC_DELL_M6_AMIC] = dell_m6_pin_configs, 1604 + [STAC_DELL_M6_DMIC] = dell_m6_pin_configs, 1605 + [STAC_DELL_M6_BOTH] = dell_m6_pin_configs, 1608 1606 [STAC_DELL_EQ] = dell_m6_pin_configs, 1609 1607 }; 1610 1608 1611 1609 static const char *stac92hd73xx_models[STAC_92HD73XX_MODELS] = { 1612 1610 [STAC_92HD73XX_REF] = "ref", 1613 - [STAC_DELL_M6] = "dell-m6", 1611 + [STAC_DELL_M6_AMIC] = "dell-m6-amic", 1612 + [STAC_DELL_M6_DMIC] = "dell-m6-dmic", 1613 + [STAC_DELL_M6_BOTH] = "dell-m6", 1614 1614 [STAC_DELL_EQ] = "dell-eq", 1615 1615 }; 1616 1616 ··· 1623 1615 SND_PCI_QUIRK(PCI_VENDOR_ID_INTEL, 0x2668, 1624 1616 "DFI LanParty", STAC_92HD73XX_REF), 1625 1617 SND_PCI_QUIRK(PCI_VENDOR_ID_DELL, 0x0254, 1626 - "unknown Dell", STAC_DELL_M6), 1618 + "Dell Studio 1535", STAC_DELL_M6_DMIC), 1627 1619 SND_PCI_QUIRK(PCI_VENDOR_ID_DELL, 0x0255, 1628 - "unknown Dell", STAC_DELL_M6), 1620 + "unknown Dell", STAC_DELL_M6_DMIC), 1629 1621 SND_PCI_QUIRK(PCI_VENDOR_ID_DELL, 0x0256, 1630 - "unknown Dell", STAC_DELL_M6), 1622 + "unknown Dell", STAC_DELL_M6_BOTH), 1631 1623 SND_PCI_QUIRK(PCI_VENDOR_ID_DELL, 0x0257, 1632 - "unknown Dell", STAC_DELL_M6), 1624 + "unknown Dell", STAC_DELL_M6_BOTH), 1633 1625 SND_PCI_QUIRK(PCI_VENDOR_ID_DELL, 0x025e, 1634 - "unknown Dell", STAC_DELL_M6), 1626 + "unknown Dell", STAC_DELL_M6_AMIC), 1635 1627 SND_PCI_QUIRK(PCI_VENDOR_ID_DELL, 0x025f, 1636 - "unknown Dell", STAC_DELL_M6), 1628 + "unknown Dell", STAC_DELL_M6_AMIC), 1637 1629 SND_PCI_QUIRK(PCI_VENDOR_ID_DELL, 0x0271, 1638 - "unknown Dell", STAC_DELL_M6), 1630 + "unknown Dell", STAC_DELL_M6_DMIC), 1631 + SND_PCI_QUIRK(PCI_VENDOR_ID_DELL, 0x0272, 1632 + "unknown Dell", STAC_DELL_M6_DMIC), 1633 + SND_PCI_QUIRK(PCI_VENDOR_ID_DELL, 0x029f, 1634 + "Dell Studio 1537", STAC_DELL_M6_DMIC), 1639 1635 {} /* terminator */ 1640 1636 }; 1641 1637 ··· 1682 1670 0x40f000f0, 0x044413b0, 0x044413b0, 1683 1671 }; 1684 1672 1673 + static unsigned int dell_m4_3_pin_configs[11] = { 1674 + 0x0421101f, 0x04a11221, 0x90a70330, 0x90170110, 1675 + 0x40f000f0, 0x40f000f0, 0x40f000f0, 0x90a000f0, 1676 + 0x40f000f0, 0x044413b0, 0x044413b0, 1677 + }; 1678 + 1685 1679 static unsigned int *stac92hd71bxx_brd_tbl[STAC_92HD71BXX_MODELS] = { 1686 1680 [STAC_92HD71BXX_REF] = ref92hd71bxx_pin_configs, 1687 1681 [STAC_DELL_M4_1] = dell_m4_1_pin_configs, 1688 1682 [STAC_DELL_M4_2] = dell_m4_2_pin_configs, 1683 + [STAC_DELL_M4_3] = dell_m4_3_pin_configs, 1689 1684 [STAC_HP_M4] = NULL, 1690 1685 }; 1691 1686 ··· 1700 1681 [STAC_92HD71BXX_REF] = "ref", 1701 1682 [STAC_DELL_M4_1] = "dell-m4-1", 1702 1683 [STAC_DELL_M4_2] = "dell-m4-2", 1684 + [STAC_DELL_M4_3] = "dell-m4-3", 1703 1685 [STAC_HP_M4] = "hp-m4", 1704 1686 }; 1705 1687 ··· 1736 1716 "unknown Dell", STAC_DELL_M4_2), 1737 1717 SND_PCI_QUIRK(PCI_VENDOR_ID_DELL, 0x0264, 1738 1718 "unknown Dell", STAC_DELL_M4_2), 1719 + SND_PCI_QUIRK(PCI_VENDOR_ID_DELL, 0x02aa, 1720 + "unknown Dell", STAC_DELL_M4_3), 1739 1721 {} /* terminator */ 1740 1722 }; 1741 1723 ··· 2899 2877 cfg->hp_outs && !spec->multiout.hp_nid) 2900 2878 spec->multiout.hp_nid = nid; 2901 2879 2902 - if (cfg->hp_outs > 1) { 2880 + if (cfg->hp_outs > 1 && cfg->line_out_type == AUTO_PIN_LINE_OUT) { 2903 2881 err = stac92xx_add_control(spec, 2904 2882 STAC_CTL_WIDGET_HP_SWITCH, 2905 2883 "Headphone as Line Out Switch", ··· 3705 3683 AC_VERB_SET_POWER_STATE, AC_PWRST_D3); 3706 3684 } 3707 3685 3686 + static void stac_toggle_power_map(struct hda_codec *codec, hda_nid_t nid, 3687 + int enable); 3688 + 3708 3689 static int stac92xx_init(struct hda_codec *codec) 3709 3690 { 3710 3691 struct sigmatel_spec *spec = codec->spec; 3711 3692 struct auto_pin_cfg *cfg = &spec->autocfg; 3693 + unsigned int gpio; 3712 3694 int i; 3713 3695 3714 3696 snd_hda_sequence_write(codec, spec->init); ··· 3723 3697 snd_hda_codec_write_cache(codec, 3724 3698 spec->adc_nids[i], 0, 3725 3699 AC_VERB_SET_POWER_STATE, AC_PWRST_D3); 3700 + 3701 + /* set up GPIO */ 3702 + gpio = spec->gpio_data; 3703 + /* turn on EAPD statically when spec->eapd_switch isn't set. 3704 + * otherwise, unsol event will turn it on/off dynamically 3705 + */ 3706 + if (!spec->eapd_switch) 3707 + gpio |= spec->eapd_mask; 3708 + stac_gpio_set(codec, spec->gpio_mask, spec->gpio_dir, gpio); 3709 + 3726 3710 /* set up pins */ 3727 3711 if (spec->hp_detect) { 3728 3712 /* Enable unsolicited responses on the HP widget */ ··· 3772 3736 for (i = 0; i < spec->num_dmics; i++) 3773 3737 stac92xx_auto_set_pinctl(codec, spec->dmic_nids[i], 3774 3738 AC_PINCTL_IN_EN); 3775 - for (i = 0; i < spec->num_pwrs; i++) { 3776 - int event = is_nid_hp_pin(cfg, spec->pwr_nids[i]) 3777 - ? STAC_HP_EVENT : STAC_PWR_EVENT; 3778 - int pinctl = snd_hda_codec_read(codec, spec->pwr_nids[i], 3779 - 0, AC_VERB_GET_PIN_WIDGET_CONTROL, 0); 3780 - int def_conf = snd_hda_codec_read(codec, spec->pwr_nids[i], 3781 - 0, AC_VERB_GET_CONFIG_DEFAULT, 0); 3782 - def_conf = get_defcfg_connect(def_conf); 3783 - /* outputs are only ports capable of power management 3784 - * any attempts on powering down a input port cause the 3785 - * referenced VREF to act quirky. 3786 - */ 3787 - if (pinctl & AC_PINCTL_IN_EN) 3788 - continue; 3789 - /* skip any ports that don't have jacks since presence 3790 - * detection is useless */ 3791 - if (def_conf && def_conf != AC_JACK_PORT_FIXED) 3792 - continue; 3793 - enable_pin_detect(codec, spec->pwr_nids[i], event | i); 3794 - codec->patch_ops.unsol_event(codec, (event | i) << 26); 3795 - } 3796 - if (spec->dac_list) 3797 - stac92xx_power_down(codec); 3798 3739 if (cfg->dig_out_pin) 3799 3740 stac92xx_auto_set_pinctl(codec, cfg->dig_out_pin, 3800 3741 AC_PINCTL_OUT_EN); 3801 3742 if (cfg->dig_in_pin) 3802 3743 stac92xx_auto_set_pinctl(codec, cfg->dig_in_pin, 3803 3744 AC_PINCTL_IN_EN); 3745 + for (i = 0; i < spec->num_pwrs; i++) { 3746 + hda_nid_t nid = spec->pwr_nids[i]; 3747 + int pinctl, def_conf; 3748 + int event = STAC_PWR_EVENT; 3804 3749 3805 - stac_gpio_set(codec, spec->gpio_mask, 3806 - spec->gpio_dir, spec->gpio_data); 3750 + if (is_nid_hp_pin(cfg, nid) && spec->hp_detect) 3751 + continue; /* already has an unsol event */ 3807 3752 3753 + pinctl = snd_hda_codec_read(codec, nid, 0, 3754 + AC_VERB_GET_PIN_WIDGET_CONTROL, 0); 3755 + /* outputs are only ports capable of power management 3756 + * any attempts on powering down a input port cause the 3757 + * referenced VREF to act quirky. 3758 + */ 3759 + if (pinctl & AC_PINCTL_IN_EN) 3760 + continue; 3761 + def_conf = snd_hda_codec_read(codec, nid, 0, 3762 + AC_VERB_GET_CONFIG_DEFAULT, 0); 3763 + def_conf = get_defcfg_connect(def_conf); 3764 + /* skip any ports that don't have jacks since presence 3765 + * detection is useless */ 3766 + if (def_conf != AC_JACK_PORT_COMPLEX) { 3767 + if (def_conf != AC_JACK_PORT_NONE) 3768 + stac_toggle_power_map(codec, nid, 1); 3769 + continue; 3770 + } 3771 + enable_pin_detect(codec, spec->pwr_nids[i], event | i); 3772 + codec->patch_ops.unsol_event(codec, (event | i) << 26); 3773 + } 3774 + if (spec->dac_list) 3775 + stac92xx_power_down(codec); 3808 3776 return 0; 3809 3777 } 3810 3778 ··· 3941 3901 for (i = 0; i < cfg->speaker_outs; i++) 3942 3902 stac92xx_reset_pinctl(codec, cfg->speaker_pins[i], 3943 3903 AC_PINCTL_OUT_EN); 3944 - if (spec->eapd_mask) 3904 + if (spec->eapd_mask && spec->eapd_switch) 3945 3905 stac_gpio_set(codec, spec->gpio_mask, 3946 3906 spec->gpio_dir, spec->gpio_data & 3947 3907 ~spec->eapd_mask); ··· 3956 3916 for (i = 0; i < cfg->speaker_outs; i++) 3957 3917 stac92xx_set_pinctl(codec, cfg->speaker_pins[i], 3958 3918 AC_PINCTL_OUT_EN); 3959 - if (spec->eapd_mask) 3919 + if (spec->eapd_mask && spec->eapd_switch) 3960 3920 stac_gpio_set(codec, spec->gpio_mask, 3961 3921 spec->gpio_dir, spec->gpio_data | 3962 3922 spec->eapd_mask); ··· 3973 3933 } 3974 3934 } 3975 3935 3976 - static void stac92xx_pin_sense(struct hda_codec *codec, int idx) 3936 + static void stac_toggle_power_map(struct hda_codec *codec, hda_nid_t nid, 3937 + int enable) 3977 3938 { 3978 3939 struct sigmatel_spec *spec = codec->spec; 3979 - hda_nid_t nid = spec->pwr_nids[idx]; 3980 - int presence, val; 3981 - val = snd_hda_codec_read(codec, codec->afg, 0, 0x0fec, 0x0) 3982 - & 0x000000ff; 3983 - presence = get_hp_pin_presence(codec, nid); 3940 + unsigned int idx, val; 3941 + 3942 + for (idx = 0; idx < spec->num_pwrs; idx++) { 3943 + if (spec->pwr_nids[idx] == nid) 3944 + break; 3945 + } 3946 + if (idx >= spec->num_pwrs) 3947 + return; 3984 3948 3985 3949 /* several codecs have two power down bits */ 3986 3950 if (spec->pwr_mapping) ··· 3992 3948 else 3993 3949 idx = 1 << idx; 3994 3950 3995 - if (presence) 3951 + val = snd_hda_codec_read(codec, codec->afg, 0, 0x0fec, 0x0) & 0xff; 3952 + if (enable) 3996 3953 val &= ~idx; 3997 3954 else 3998 3955 val |= idx; 3999 3956 4000 3957 /* power down unused output ports */ 4001 3958 snd_hda_codec_write(codec, codec->afg, 0, 0x7ec, val); 4002 - }; 3959 + } 3960 + 3961 + static void stac92xx_pin_sense(struct hda_codec *codec, hda_nid_t nid) 3962 + { 3963 + stac_toggle_power_map(codec, nid, get_hp_pin_presence(codec, nid)); 3964 + } 4003 3965 4004 3966 static void stac92xx_unsol_event(struct hda_codec *codec, unsigned int res) 4005 3967 { ··· 4289 4239 case STAC_DELL_EQ: 4290 4240 spec->init = dell_eq_core_init; 4291 4241 /* fallthru */ 4292 - case STAC_DELL_M6: 4242 + case STAC_DELL_M6_AMIC: 4243 + case STAC_DELL_M6_DMIC: 4244 + case STAC_DELL_M6_BOTH: 4293 4245 spec->num_smuxes = 0; 4294 4246 spec->mixer = &stac92hd73xx_6ch_mixer[DELL_M6_MIXER]; 4295 4247 spec->amp_nids = &stac92hd73xx_amp_nids[DELL_M6_AMP]; 4248 + spec->eapd_switch = 0; 4296 4249 spec->num_amps = 1; 4297 4250 4298 4251 if (!spec->init) 4299 4252 spec->init = dell_m6_core_init; 4300 - switch (codec->subsystem_id) { 4301 - case 0x1028025e: /* Analog Mics */ 4302 - case 0x1028025f: 4253 + switch (spec->board_config) { 4254 + case STAC_DELL_M6_AMIC: /* Analog Mics */ 4303 4255 stac92xx_set_config_reg(codec, 0x0b, 0x90A70170); 4304 4256 spec->num_dmics = 0; 4305 4257 spec->private_dimux.num_items = 1; 4306 4258 break; 4307 - case 0x10280271: /* Digital Mics */ 4308 - case 0x10280272: 4309 - case 0x10280254: 4310 - case 0x10280255: 4259 + case STAC_DELL_M6_DMIC: /* Digital Mics */ 4311 4260 stac92xx_set_config_reg(codec, 0x13, 0x90A60160); 4312 4261 spec->num_dmics = 1; 4313 4262 spec->private_dimux.num_items = 2; 4314 4263 break; 4315 - case 0x10280256: /* Both */ 4316 - case 0x10280057: 4264 + case STAC_DELL_M6_BOTH: /* Both */ 4317 4265 stac92xx_set_config_reg(codec, 0x0b, 0x90A70170); 4318 4266 stac92xx_set_config_reg(codec, 0x13, 0x90A60160); 4319 4267 spec->num_dmics = 1; ··· 4322 4274 default: 4323 4275 spec->num_dmics = STAC92HD73XX_NUM_DMICS; 4324 4276 spec->num_smuxes = ARRAY_SIZE(stac92hd73xx_smux_nids); 4277 + spec->eapd_switch = 1; 4325 4278 } 4326 4279 if (spec->board_config > STAC_92HD73XX_REF) { 4327 4280 /* GPIO0 High = Enable EAPD */ ··· 4468 4419 4469 4420 static int stac92hd71xx_suspend(struct hda_codec *codec, pm_message_t state) 4470 4421 { 4422 + struct sigmatel_spec *spec = codec->spec; 4423 + 4471 4424 stac92hd71xx_set_power_state(codec, AC_PWRST_D3); 4425 + if (spec->eapd_mask) 4426 + stac_gpio_set(codec, spec->gpio_mask, 4427 + spec->gpio_dir, spec->gpio_data & 4428 + ~spec->eapd_mask); 4472 4429 return 0; 4473 4430 }; 4474 4431 ··· 4617 4562 4618 4563 switch (spec->board_config) { 4619 4564 case STAC_HP_M4: 4620 - spec->num_dmics = 0; 4621 - spec->num_smuxes = 0; 4622 - spec->num_dmuxes = 0; 4623 - 4624 4565 /* enable internal microphone */ 4625 4566 stac92xx_set_config_reg(codec, 0x0e, 0x01813040); 4626 4567 stac92xx_auto_set_pinctl(codec, 0x0e, 4627 4568 AC_PINCTL_IN_EN | AC_PINCTL_VREF_80); 4569 + /* fallthru */ 4570 + case STAC_DELL_M4_2: 4571 + spec->num_dmics = 0; 4572 + spec->num_smuxes = 0; 4573 + spec->num_dmuxes = 0; 4574 + break; 4575 + case STAC_DELL_M4_1: 4576 + case STAC_DELL_M4_3: 4577 + spec->num_dmics = 1; 4578 + spec->num_smuxes = 0; 4579 + spec->num_dmuxes = 0; 4628 4580 break; 4629 4581 default: 4630 4582 spec->num_dmics = STAC92HD71BXX_NUM_DMICS; ··· 4868 4806 spec->num_pwrs = 0; 4869 4807 spec->aloopback_mask = 0x40; 4870 4808 spec->aloopback_shift = 0; 4809 + spec->eapd_switch = 1; 4871 4810 4872 4811 err = stac92xx_parse_auto_config(codec, 0x1e, 0x20); 4873 4812 if (!err) { ··· 4949 4886 4950 4887 spec->aloopback_mask = 0x40; 4951 4888 spec->aloopback_shift = 0; 4889 + spec->eapd_switch = 1; 4952 4890 spec->multiout.dac_nids = spec->dac_nids; 4953 4891 4954 4892 switch (spec->board_config){
+2 -1
sound/soc/fsl/Kconfig
··· 20 20 21 21 config SND_SOC_MPC5200_I2S 22 22 tristate "Freescale MPC5200 PSC in I2S mode driver" 23 + depends on SND_SOC && PPC_MPC52xx && PPC_BESTCOMM 23 24 select SND_SOC_OF_SIMPLE 24 - depends on SND_SOC && PPC_MPC52xx 25 + select PPC_BESTCOMM_GEN_BD 25 26 help 26 27 Say Y here to support the MPC5200 PSCs in I2S mode.
+3 -3
sound/sound_core.c
··· 457 457 458 458 void unregister_sound_midi(int unit) 459 459 { 460 - return sound_remove_unit(&chains[2], unit); 460 + sound_remove_unit(&chains[2], unit); 461 461 } 462 462 463 463 EXPORT_SYMBOL(unregister_sound_midi); ··· 474 474 475 475 void unregister_sound_dsp(int unit) 476 476 { 477 - return sound_remove_unit(&chains[3], unit); 477 + sound_remove_unit(&chains[3], unit); 478 478 } 479 479 480 480 ··· 507 507 return NULL; 508 508 } 509 509 510 - int soundcore_open(struct inode *inode, struct file *file) 510 + static int soundcore_open(struct inode *inode, struct file *file) 511 511 { 512 512 int chain; 513 513 int unit = iminor(inode);